Download presentation
Presentation is loading. Please wait.
Published byLizeth Hemenway Modified over 9 years ago
1
Michael Bond Milind Kulkarni Man Cao Minjia Zhang Meisam Fathi Salmi Swarnendu Biswas Aritra Sengupta Jipeng Huang Ohio State Purdue
2
Parallel programming is mainstream Shared memory with locks Challenge: performance & correctness
3
Help express parallelism better Eliminate concurrency errors Diagnose production bugs Deal with nondeterminism Need practical runtime support
4
Atomicity checking Data race detection Record & replay Transactional memory DRF/SC enforcement Deterministic execution Need practical runtime support
5
Atomicity checking Data race detection Record & replay Transactional memory DRF/SC enforcement Deterministic execution Track dependencesControl dependences Need practical runtime support o.f = … … = o.f
6
Atomicity checking Data race detection Record & replay Transactional memory DRF/SC enforcement Deterministic execution Track dependencesControl dependences Need practical runtime support o.f = … … = o.f
7
Atomicity checking Data race detection Record & replay Transactional memory DRF/SC enforcement Deterministic execution Track dependencesControl dependences Need practical runtime support o.f = … … = o.f Commodity (software-only) approaches slow programs by several times
8
Atomicity checking Data race detection Record & replay Transactional memory DRF/SC enforcement Deterministic execution Track dependencesControl dependences o.f = … check … = o.f check Need practical runtime support Commodity (software-only) approaches slow programs by several times
9
Atomicity checking Data race detection Record & replay Transactional memory DRF/SC enforcement Deterministic execution Track dependencesControl dependences o.f = … check … = o.f check Need practical runtime support Any access could race add synchronization at every access
10
Octet Framework for runtime support HB edges all dependences Atomicity of analysis & access Concurrency control mechanism Synchronization cross-thread dependence Qualitative performance improvement
11
Octet Framework for runtime support HB edges all dependences Atomicity of analysis & access Concurrency control mechanism Synchronization cross-thread dependence Qualitative performance improvement Proofs!
12
Octet tracks ownership Each object’s state Є { WrEx T, RdEx T, RdSh c }
13
wr o.f T1T2 write check o’s state = WrEx T1 Time
14
wr o.f T1T2 read check write check o’s state = WrEx T1 Time
15
wr o.f T1T2 read check write check o’s state = WrEx T1 Time
16
wr o.f T1T2 safe point write check read check o’s state = WrEx T1 Time
17
wr o.f T1T2 safe point write check read check o’s state = WrEx T1 Implicit safe point Time
18
wr o.f T1T2 safe point write check read check o’s state = WrEx T1 Time
19
wr o.f T1T2 safe point write check read check o’s state = RdEx T2 Time
20
wr o.f T1T2 rd o.f safe point write check read check o’s state = RdEx T2 Time
21
wr o.f T1T2 rd o.f safe point read check write check o’s state = RdEx T2 T3T4
22
wr o.f T1T2 rd o.f T3 safe point T4 read check write check read check o’s state = RdEx T2
23
wr o.f T1T2 rd o.f T3 safe point T4 read check write check read check o’s state = RdSh c
24
wr o.f T1T2 rd o.f T3 safe point T4 read check write check read check o’s state = RdSh c
25
wr o.f T1T2 rd o.f T3 safe point rd o.f T4 read check write check read check o’s state = RdSh c
26
wr o.f T1T2 rd o.f T3 safe point rd o.f T4 read check write check read check o’s state = RdSh c Sharing detection [von Praun & Gross ’ 01 ] Comparison in our paper Distributed shared memory Shasta [Scales et al. ’ 96 ] Biased locking [Kawachiya et al. ’ 02 ] [Russell & Detlefs ’ 06 ] [Hindman & Grossman ’ 06 ]
27
Atomicity checking Data race detection Record & replay Transactional memory DRF/SC enforcement Deterministic execution Practical runtime support Track dependencesControl dependences Framework for runtime support Concurrency control mechanism Octet
28
wr o.f T1T2 rd o.f T3 safe point rd o.f T4 read check write check read check Dependence recorder records happens-before edges
29
Implementation in Jikes RVM Publicly available http://jikesrvm.org/Research+Archive Parallel programs DaCapo Benchmarks 2006 & 2009 SPEC JBB 2000 & 2005 Parallel platform 32 cores (AMD Opteron 6272 )
34
Octet helps enable practical runtime support for reliable, scalable concurrency Framework for runtime support HB edges all dependences Atomicity of analysis & access Concurrency control mechanism Synchronization cross-thread dependence Qualitative performance improvement
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.