Non-intrusive on-the-fly data race detection using execution replay
Michiel Ronsse, Koen De Bosschere

TL;DR
This paper introduces a practical, non-intrusive method for detecting data races in parallel programs by combining execution replay with on-the-fly detection, minimizing overhead and avoiding Heisenbugs.
Contribution
It presents a novel integration of execution replay with real-time data race detection that operates with minimal performance impact and memory usage.
Findings
Enables continuous, non-intrusive data race detection during execution.
Uses multilevel bitmaps and snooped matrix clocks to reduce memory overhead.
Eliminates Heisenbugs by allowing tracing to run constantly.
Abstract
This paper presents a practical solution for detecting data races in parallel programs. The solution consists of a combination of execution replay (RecPlay) with automatic on-the-fly data race detection. This combination enables us to perform the data race detection on an unaltered execution (almost no probe effect). Furthermore, the usage of multilevel bitmaps and snooped matrix clocks limits the amount of memory used. As the record phase of RecPlay is highly efficient, there is no need to switch it off, hereby eliminating the possibility of Heisenbugs because tracing can be left on all the time.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed systems and fault tolerance · Advanced Data Storage Technologies
