Goldilocks: a race-aware Java runtime

作者: Tayfun Elmas , Shaz Qadeer , Serdar Tasiran

DOI: 10.1145/1839676.1839698

关键词:

摘要: We present GOLDILOCKS, a Java runtime that monitors program executions and throws DataRaceException when data race is about to occur. This prevents racy accesses from taking place, allows conditions be handled before they cause errors may difficult diagnose later. The valuable debugging tool, and, if supported with reasonable computational overhead, can an important safety feature for deployed programs. Experiments by us others on race-aware runtimes indicate thatthe viable mechanism enforce the of multithreaded An benefit in our are guaranteed free thus sequentially consistent as per Memory Model. strong guarantee provides easy-to-use, clean semantics programmers, helps rule out many concurrency-related possibilities errors. To support DataRaceException, incorporates novel Goldilocks algorithm precise dynamic detection. general, intuitive, handle different synchronization patterns uniformly.

参考文章(21)
Tayfun Elmas, Shaz Qadeer, Serdar Tasiran, Goldilocks: Efficiently Computing the Happens-Before Relation Using Locksets Lecture Notes in Computer Science. pp. 193- 208 ,(2006) , 10.1007/11940197_13
Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro, Thomas Anderson, Eraser: a dynamic data race detector for multithreaded programs ACM Transactions on Computer Systems. ,vol. 15, pp. 391- 411 ,(1997) , 10.1145/265924.265927
Michiel Ronsse, Koen De Bosschere, RecPlay: a fully integrated practical record/replay system ACM Transactions on Computer Systems. ,vol. 17, pp. 133- 152 ,(1999) , 10.1145/312203.312214
Guang-Ien Cheng, Mingdong Feng, Charles E. Leiserson, Keith H. Randall, Andrew F. Stark, Detecting data races in Cilk programs that use locks acm symposium on parallel algorithms and architectures. pp. 298- 309 ,(1998) , 10.1145/277651.277696
Jeremy Manson, William Pugh, Sarita V. Adve, The Java memory model symposium on principles of programming languages. ,vol. 40, pp. 378- 391 ,(2005) , 10.1145/1040305.1040336
Nir Shavit, Dan Touitou, Software transactional memory principles of distributed computing. pp. 204- 213 ,(1995) , 10.1145/224964.224987
Mark Christiaens, Koen De Bosschere, TRaDe: Data Race Detection for Java international conference on computational science. pp. 761- 770 ,(2001) , 10.1007/3-540-45718-6_81
Yuan Yu, Tom Rodeheffer, Wei Chen, RaceTrack: efficient detection of data race conditions via adaptive tracking symposium on operating systems principles. ,vol. 39, pp. 221- 234 ,(2005) , 10.1145/1095809.1095832
Brandon Lucia, Luis Ceze, Karin Strauss, Shaz Qadeer, Hans-J. Boehm, Conflict exceptions Proceedings of the 37th annual international symposium on Computer architecture - ISCA '10. ,vol. 38, pp. 210- 221 ,(2010) , 10.1145/1815961.1815987