Software and Hardware Support for Data-Race Exceptions

Software and Hardware Support for Data-Race Exceptions

[1]  Satish Narayanasamy,et al.  DoublePlay: parallelizing sequential logging and replay , 2011, ASPLOS XVI.

[2]  Robert H. B. Netzer,et al.  Debugging race conditions in message-passing programs , 1996, SPDT '96.

[3]  Brandon Lucia,et al.  A case for system support for concurrency exceptions , 2009 .

[4]  Dawson R. Engler,et al.  RacerX: effective, static detection of race conditions and deadlocks , 2003, SOSP '03.

[5]  Dan Grossman,et al.  RADISH: always-on sound and complete Ra D etection i n S oftware and H ardware , 2012, ISCA 2012.

[6]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.

[7]  Thomas R. Gross,et al.  Static conflict analysis for multi-threaded object-oriented programs , 2003, PLDI '03.

[8]  Satish Narayanasamy,et al.  LiteRace: effective sampling for lightweight data-race detection , 2009, PLDI '09.

[9]  Josep Torrellas,et al.  SigRace: signature-based data race detection , 2009, ISCA '09.

[10]  Michael Burrows,et al.  Eraser: a dynamic data race detector for multithreaded programs , 1997, TOCS.

[11]  Zhiqiang Ma,et al.  A theory of data race detection , 2006, PADTAD '06.

[12]  Vivek Sarkar,et al.  Practical Permissions for Race-Free Parallelism , 2012, ECOOP.

[13]  Damien Doligez,et al.  A concurrent, generational garbage collector for a multithreaded implementation of ML , 1993, POPL '93.

[14]  Maurice Herlihy,et al.  Virtualizing transactional memory , 2005, 32nd International Symposium on Computer Architecture (ISCA'05).

[15]  Robert D. Blumofe,et al.  Scheduling multithreaded computations by work stealing , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[16]  Robert H. B. Netzer Race condition detection for debugging of shared-memoryparallel programs , 1991 .

[17]  Edith Schonberg,et al.  Detecting access anomalies in programs with critical sections , 1991, PADD '91.

[18]  Assaf Schuster,et al.  Efficient on-the-fly data race detection in multithreaded C++ programs , 2003, PPoPP '03.

[19]  David F. Bacon,et al.  Guava: a dialect of Java without data races , 2000, OOPSLA '00.

[20]  Raja Das,et al.  MulticoreSDK: a practical and efficient data race detector for real-world applications , 2009, PADTAD '09.

[21]  Marek Olszewski,et al.  Kendo: efficient deterministic multithreading in software , 2009, ASPLOS.

[22]  Luis Ceze,et al.  Accelerating Data Race Detection with Minimal Hardware Support , 2011, Euro-Par.

[23]  Jeffrey Overbey,et al.  A type and effect system for deterministic parallel Java , 2009, OOPSLA 2009.

[24]  Bowen Alpern,et al.  Implementing jalapeño in Java , 1999, OOPSLA '99.

[25]  Jingling Xue,et al.  Acculock: Accurate and efficient detection of data races , 2011, International Symposium on Code Generation and Optimization (CGO 2011).

[26]  Manu Sridharan,et al.  Effective race detection for event-driven programs , 2013, OOPSLA.

[27]  Satish Narayanasamy,et al.  Efficient processor support for DRFx, a memory model with exceptions , 2011, ASPLOS XVI.

[28]  Harish Patil,et al.  Pin: building customized program analysis tools with dynamic instrumentation , 2005, PLDI '05.

[29]  Stephen N. Freund,et al.  Velodrome: a sound and complete dynamic atomicity checker for multithreaded programs , 2008, PLDI '08.

[30]  Robert H. B. Netzer,et al.  Detecting data races on weak memory systems , 1991, [1991] Proceedings. The 18th Annual International Symposium on Computer Architecture.

[31]  Milos Prvulovic,et al.  CORD: cost-effective (and nearly overhead-free) order-recording and data race detection , 2006, The Twelfth International Symposium on High-Performance Computer Architecture, 2006..

[32]  Koen De Bosschere,et al.  RecPlay: a fully integrated practical record/replay system , 1999, TOCS.

[33]  Jong-Deok Choi,et al.  Race Frontier: reproducing data races in parallel-program debugging , 1991, PPOPP '91.

[34]  Dan Grossman,et al.  Enforcing isolation and ordering in STM , 2007, PLDI '07.

[35]  Charles E. Leiserson,et al.  Detecting data races in Cilk programs that use locks , 1998, SPAA '98.

[36]  Martin C. Rinard,et al.  Pointer and escape analysis for multithreaded programs , 2001, PPoPP '01.

[37]  Danny Dig,et al.  Practical static race detection for Java parallel loops , 2013, ISSTA.

[38]  Jong-Deok Choi,et al.  Hybrid dynamic data race detection , 2003, PPoPP '03.

[39]  Stephen A. Edwards,et al.  Simple and fast biased locks , 2010, 2010 19th International Conference on Parallel Architectures and Compilation Techniques (PACT).

[40]  Koushik Sen,et al.  Scaling data race detection for partitioned global address space programs , 2013, ICS '13.

[41]  Martin C. Rinard,et al.  A parameterized type system for race-free Java programs , 2001, OOPSLA '01.

[42]  Kiyokuni Kawachiya,et al.  Lock reservation: Java locks can mostly do without atomic operations , 2002, OOPSLA '02.

[43]  Satish Narayanasamy,et al.  DRFX: a simple and efficient memory model for concurrent programming languages , 2010, PLDI '10.

[44]  Edith Schonberg,et al.  An empirical comparison of monitoring algorithms for access anomaly detection , 2011, PPOPP '90.

[45]  J. Torrellas,et al.  ReEnact: using thread-level speculation mechanisms to debug data races in multithreaded codes , 2003, 30th Annual International Symposium on Computer Architecture, 2003. Proceedings..

[46]  Sarita V. Adve,et al.  Shared Memory Consistency Models: A Tutorial , 1996, Computer.

[47]  Stephen N. Freund,et al.  Adversarial memory for detecting destructive races , 2010, PLDI '10.

[48]  Pin Zhou,et al.  HARD: Hardware-Assisted Lockset-based Race Detection , 2007, 2007 IEEE 13th International Symposium on High Performance Computer Architecture.

[49]  Hans-Juergen Boehm,et al.  How to Miscompile Programs with "Benign" Data Races , 2011, HotPar.

[50]  Jason Flinn,et al.  Uniparallel Execution and its Uses , 2011 .

[51]  Sevÿc ´ õk Safe Optimisations for Shared-Memory Concurrent Programs , 2011 .

[52]  Jong-Deok Choi,et al.  Efficient and precise datarace detection for multithreaded object-oriented programs , 2002, PLDI '02.

[53]  Brandon Lucia,et al.  Conflict exceptions: simplifying concurrent language semantics with precise hardware exceptions for data-races , 2010, ISCA.

[54]  Yannis Smaragdakis,et al.  Sound predictive race detection in polynomial time , 2012, POPL '12.

[55]  Filip Pizlo,et al.  Fine-grained adaptive biased locking , 2011, PPPJ.

[56]  Amer Diwan,et al.  The DaCapo benchmarks: java benchmarking development and analysis , 2006, OOPSLA '06.

[57]  Mark D. Hill,et al.  Weak ordering—a new definition , 1998, ISCA '98.

[58]  Hans-Juergen Boehm,et al.  HP Laboratories , 2006 .

[59]  Koen De Bosschere,et al.  TRaDe: A Topological Approach to On-the-Fly Race Detection in Java Programs , 2001, Java Virtual Machine Research and Technology Symposium.

[60]  Milo M. K. Martin,et al.  Hardbound: architectural support for spatial safety of the C programming language , 2008, ASPLOS.

[61]  Tachio Terauchi,et al.  Checking race freedom via linear programming , 2008, PLDI '08.

[62]  David Padua,et al.  Debugging Fortran on a shared memory machine , 1987 .

[63]  Michael D. Bond,et al.  LarkTM: Efficient, Strongly Atomic Software Transactional Memory , 2012 .

[64]  Samuel P. Midkiff,et al.  A two-phase escape analysis for parallel Java programs , 2006, 2006 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[65]  Stephen N. Freund,et al.  The RoadRunner Dynamic Analysis Framework for Concurrent Programs , 2010, PASTE '10.

[66]  Parosh Aziz Abdulla,et al.  Static Detection of Race Conditions in Erlang , 2009 .

[67]  John M. Mellor-Crummey,et al.  On-the-fly detection of data races for programs with nested fork-join parallelism , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[68]  Dan Grossman,et al.  Type-safe multithreading in cyclone , 2003, TLDI '03.

[69]  Dan Grossman,et al.  IFRit: interference-free regions for dynamic data-race detection , 2012, OOPSLA '12.

[70]  Martin C. Rinard,et al.  ACM Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), November 2002 Ownership Types for Safe Programming: Preventing Data Races and Deadlocks , 2022 .

[71]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[72]  Jong-Deok Choi,et al.  Escape analysis for Java , 1999, OOPSLA '99.

[73]  Stephen J. Fink,et al.  Design, implementation and evaluation of adaptive recompilation with on-stack replacement , 2003, International Symposium on Code Generation and Optimization, 2003. CGO 2003..

[74]  Serdar Tasiran,et al.  Goldilocks: a race and transaction-aware java runtime , 2007, PLDI '07.

[75]  Guy E. Blelloch,et al.  NESL: A Nested Data-Parallel Language , 1992 .

[76]  Swarnendu Biswas,et al.  OCTET: capturing and controlling cross-thread dependences efficiently , 2013, OOPSLA.

[77]  Stephen N. Freund,et al.  RedCard: Redundant Check Elimination for Dynamic Race Detectors , 2013, ECOOP.

[78]  Hans-Juergen Boehm,et al.  Extended sequential reasoning for data-race-free programs , 2011, MSPC '11.

[79]  George Candea,et al.  Data races vs. data race bugs: telling the difference with portend , 2012, ASPLOS XVII.

[80]  Martín Abadi,et al.  Types for safe locking: Static race detection for Java , 2006, TOPL.

[81]  Emin Gün Sirer,et al.  Static Analyses for Eliminating Unnecessary Synchronization from Java Programs , 1999, SAS.

[82]  Brandon Lucia,et al.  DMP: deterministic shared memory multiprocessing , 2009, IEEE Micro.

[83]  Sorin Lerner,et al.  RELAY: static race detection on millions of lines of code , 2007, ESEC-FSE '07.

[84]  Hans-Juergen Boehm,et al.  Foundations of the C++ concurrency memory model , 2008, PLDI '08.

[85]  Dan Grossman,et al.  CoreDet: a compiler and runtime system for deterministic multithreaded execution , 2010, ASPLOS XV.

[86]  James R. Larus,et al.  Protocol-based data-race detection , 1998, SPDT '98.

[87]  Satish Narayanasamy,et al.  Detecting and surviving data races using complementary schedules , 2011, SOSP.

[88]  Jong-Deok Choi,et al.  An efficient cache-based access anomaly detection scheme , 1991, ASPLOS IV.

[89]  Darko Kirovski,et al.  Detecting and tolerating asymmetric races , 2009, PPoPP '09.

[90]  Barton P. Miller,et al.  Improving the accuracy of data race detection , 1991, PPOPP '91.

[91]  Dan Grossman,et al.  RADISH: Always-on sound and complete race detection in software and hardware , 2012, 2012 39th Annual International Symposium on Computer Architecture (ISCA).

[92]  Dan Grossman,et al.  Data-race exceptions have benefits beyond the memory model , 2011, MSPC '11.

[93]  Perry Cheng,et al.  Oil and water? High performance garbage collection in Java with MMTk , 2004, Proceedings. 26th International Conference on Software Engineering.

[94]  Janak H. Patel,et al.  A low-overhead coherence solution for multiprocessors with private cache memories , 1984, ISCA '84.

[95]  Junfeng Yang,et al.  Bypassing Races in Live Applications with Execution Filters , 2010, OSDI.

[96]  Dan Grossman,et al.  Composable specifications for structured shared-memory communication , 2010, OOPSLA.

[97]  Beverly A. Sanders,et al.  Java Memory Model-Aware Model Checking , 2012, TACAS.

[98]  Hans-Juergen Boehm,et al.  You don't know jack about shared variables or memory models , 2011, Commun. ACM.

[99]  Konstantin Serebryany,et al.  ThreadSanitizer: data race detection in practice , 2009, WBIA '09.

[100]  Stephen N. Freund,et al.  Type-based race detection for Java , 2000, PLDI '00.

[101]  L.A. Smith,et al.  A Parallel Java Grande Benchmark Suite , 2001, ACM/IEEE SC 2001 Conference (SC'01).

[102]  Michael D. Bond,et al.  Drinking from Both Glasses : Adaptively Combining Pessimistic and Optimistic Synchronization for Efficient Parallel Runtime Support ∗ , 2014 .

[103]  George Candea,et al.  RaceMob: crowdsourced data race detection , 2013, SOSP.

[104]  Dan Grossman,et al.  Low-level detection of language-level data races with LARD , 2014, ASPLOS.

[105]  Wenguang Chen,et al.  RACEZ: a lightweight and non-invasive race detection tool for production applications , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[106]  Satish Narayanasamy,et al.  Automatically classifying benign and harmful data races using replay analysis , 2007, PLDI '07.

[107]  Assaf Schuster,et al.  Toward Integration of Data Race Detection in DSM Systems , 1999, J. Parallel Distributed Comput..

[108]  Koen De Bosschere,et al.  Accordion Clocks: Logical Clocks for Data Race Detection , 2001, Euro-Par.

[109]  Koushik Sen,et al.  Efficient data race detection for distributed memory parallel programs , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[110]  Franz Wotawa,et al.  Fault Detection in Multi-Threaded C++ Server Applications , 2007, Electron. Notes Theor. Comput. Sci..

[111]  Sebastian Burckhardt,et al.  Effective Data-Race Detection for the Kernel , 2010, OSDI.

[112]  Philip Levis,et al.  The nesC language: a holistic approach to networked embedded systems , 2003, SIGP.

[113]  Alexander Aiken,et al.  Effective static race detection for Java , 2006, PLDI '06.

[114]  Filip Pizlo,et al.  A study of concurrent real-time garbage collectors , 2008, PLDI '08.

[115]  Colin J. Fidge,et al.  Logical time in distributed computing systems , 1991, Computer.

[116]  Thomas A. Henzinger,et al.  Race checking by context inference , 2004, PLDI '04.

[117]  Laura Effinger-Dean Dan Grossman Region-Based Dynamic Separation for STM Haskell , 2010 .

[118]  Witawas Srisa-an,et al.  SOS: saving time in dynamic race detection with stationary analysis , 2011, OOPSLA '11.

[119]  Erik Ruf,et al.  Effective synchronization removal for Java , 2000, PLDI '00.

[120]  Marek Olszewski,et al.  Aikido: accelerating shared data dynamic analyses , 2012, ASPLOS XVII.

[121]  Jeremy Manson,et al.  The Java memory model , 2005, POPL '05.

[122]  Satish Narayanasamy,et al.  Parallelizing data race detection , 2013, ASPLOS '13.

[123]  Hiroyasu Nishiyama,et al.  Detecting Data Races Using Dynamic Escape Analysis Based on Read Barrier , 2004, Virtual Machine Research and Technology Symposium.

[124]  Thomas R. Gross,et al.  Object race detection , 2001, OOPSLA '01.

[125]  Rajiv Gupta,et al.  ECMon: exposing cache events for monitoring , 2009, ISCA '09.

[126]  Barton P. Miller,et al.  What are race conditions?: Some issues and formalizations , 1992, LOPL.

[127]  David Detlefs,et al.  Eliminating synchronization-related atomic operations with biased locking and bulk rebiasing , 2006, OOPSLA '06.

[128]  Jeffrey S. Foster,et al.  LOCKSMITH: context-sensitive correlation analysis for race detection , 2006, PLDI '06.

[129]  Jong-Deok Choi,et al.  Techniques for debugging parallel programs with flowback analysis , 1991, TOPL.

[130]  Stephen N. Freund,et al.  FastTrack: efficient and precise dynamic race detection , 2009, PLDI '09.

[131]  Thomas R. Gross,et al.  A time-aware type system for data-race protection and guaranteed initialization , 2010, OOPSLA.

[132]  Friedemann Mattern,et al.  Virtual Time and Global States of Distributed Systems , 2002 .

[133]  Michael D. Bond,et al.  PACER: proportional detection of data races , 2010, PLDI '10.