Dividing Transactional Memories by Zero Aleksandar Dragojević Rachid Guerraoui Michał Kapałka EPFL, Switzerland Transact 2008 Michał Kapałka (EPFL) STMBench7 Transact 2008 1 / 20
A TM Story TM implementations evaluated with skip lists, hash tables, … Michał Kapałka (EPFL) STMBench7 Transact 2008 2 / 20
A TM Story TM implementations evaluated with skip lists, hash tables, … Michał Kapałka (EPFL) STMBench7 Transact 2008 2 / 20
A TM Story STMBench7 a benchmark for all TMs Michał Kapałka (EPFL) STMBench7 Transact 2008 3 / 20
A TM Story . Transact 2008 STMBench7 Michał Kapałka (EPFL) TL2, TinySTM . Segmentation fault RSTM . . exception: OutOfMemory . DSTM2 . STMBench7 . 4 / 20
A TM Story . Transact 2008 STMBench7 Michał Kapałka (EPFL) TL2, TinySTM . Segmentation fault RSTM . . exception: OutOfMemory . DSTM2 . STMBench7 . 4 / 20
A TM Story . Transact 2008 STMBench7 Michał Kapałka (EPFL) TL2, TinySTM . Segmentation fault RSTM . . exception: OutOfMemory . DSTM2 . STMBench7 . 4 / 20
A TM Story . Transact 2008 STMBench7 Michał Kapałka (EPFL) TL2, TinySTM . Segmentation fault RSTM . . exception: OutOfMemory . DSTM2 . STMBench7 . 4 / 20
A TM Story . Transact 2008 STMBench7 Michał Kapałka (EPFL) TL2, TinySTM . Segmentation fault RSTM . . exception: OutOfMemory . DSTM2 . STMBench7 . 4 / 20
A TM Story . Transact 2008 STMBench7 Michał Kapałka (EPFL) TL2, TinySTM . Segmentation fault RSTM . . exception: OutOfMemory . DSTM2 . STMBench7 . 4 / 20
? Michał Kapałka (EPFL) STMBench7 Transact 2008 5 / 20
The Goal of STMBench7 Test performance and usability Michał Kapałka (EPFL) STMBench7 Transact 2008 6 / 20
My Goal Today Show that STMBench7 is a valuable tool for measuring performance & usability of TMs Michał Kapałka (EPFL) STMBench7 Transact 2008 7 / 20
Outline 1 STMBench7 2 Performance results examples Michał Kapałka (EPFL) STMBench7 Transact 2008 8 / 20
The STMBench7 Benchmark for TMs Real-world workload Transact 2008 STMBench7 Michał Kapałka (EPFL) throughput Latency, . op3 . structure Data . Thread 3 . Thread 2 . Thread 1 . . operations Various-length dynamic structure Large, complex & (CAD/CAM/…) 9 / 20 op1 . op2 . ⇓
STMBench7 Main Tree Assemblies . … . 7 levels . Complex (CA) . . Base Assemblies (BA) Michał Kapałka (EPFL) STMBench7 Transact 2008 BA BA . CA . . Module . Manual . CA . CA . . CA . … . … . … 10 / 20
STMBench7 Design Library . … . … . Base Assemblies (BA) Composite Parts . (CP) . Atomic Parts (AP) . Michał Kapałka (EPFL) STMBench7 Transact 2008 . AP Graph . . . BA . … . BA CP Doc . CP . … . CP . 11 / 20 + indexes
STMBench7 Features Large data structure unforgiving for large per-object overheads Short and long operations “explode” non-linear algorithms Complex access patterns test policies, not only raw performance Complex objects, inheritance OO features check Use of standard libraries usability test Michał Kapałka (EPFL) STMBench7 Transact 2008 12 / 20
Outline 1 STMBench7 2 Performance results examples Michał Kapałka (EPFL) STMBench7 Transact 2008 13 / 20
Lock-Based vs. Obstruction-Free Urban legend: obstruction-free TMs inherently slow lock-based TMs much faster Michał Kapałka (EPFL) STMBench7 Transact 2008 14 / 20
Lock-Based vs. Obstruction-Free Threads . 8 . 4 . 1 . . . kTx / s . . . . . . . 16 24 . . Transact 2008 STMBench7 Michał Kapałka (EPFL) . TinySTM . RSTM TL2 . . 4 . 3 . 2 . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 / 20 4 × 2-core Opteron
Contention Management Contention management and Conflict detection mechanism How are those connected? Michał Kapałka (EPFL) STMBench7 Transact 2008 16 / 20
Contention Management . 4 . 1 . Threads . kTx / s . . . 8 . . . . . . . . . . . . . eager Greedy Transact 2008 STMBench7 Michał Kapałka (EPFL) lazy Greedy . lazy Polka . eager Polka . . 16 4 . 3 . 2 . 1 . 24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 / 20
Contention Management . 4 . 1 . Threads . kTx / s . . . 8 . . . . . . . . . . . . . eager Greedy Transact 2008 STMBench7 Michał Kapałka (EPFL) lazy Greedy . lazy Polka . eager Polka . . 16 4 . 3 . 2 . 1 . 24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 / 20
Performance: General Observation Policy Per-access overhead Michał Kapałka (EPFL) STMBench7 Transact 2008 18 / 20 >
Summary STMBench7 a benchmark for all TMs Evaluate performance & usability in a (possibly) realistic setting (and discover bugs…) Michał Kapałka (EPFL) STMBench7 Transact 2008 19 / 20
STMBench7 lpd.epfl.ch/site/research/tmeval free (BSD-style license) Michał Kapałka (EPFL) STMBench7 Transact 2008 20 / 20
Recommend
More recommend