Presentation is loading. Please wait.

Presentation is loading. Please wait.

Michael Bond Milind Kulkarni Man Cao Minjia Zhang Meisam Fathi Salmi Swarnendu Biswas Aritra Sengupta Jipeng Huang Ohio State Purdue.

Similar presentations


Presentation on theme: "Michael Bond Milind Kulkarni Man Cao Minjia Zhang Meisam Fathi Salmi Swarnendu Biswas Aritra Sengupta Jipeng Huang Ohio State Purdue."— Presentation transcript:

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 Parallel programs DaCapo Benchmarks 2006 & 2009 SPEC JBB 2000 & 2005 Parallel platform 32 cores (AMD Opteron 6272 )

30

31

32

33

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


Download ppt "Michael Bond Milind Kulkarni Man Cao Minjia Zhang Meisam Fathi Salmi Swarnendu Biswas Aritra Sengupta Jipeng Huang Ohio State Purdue."

Similar presentations


Ads by Google