Abstract:Data races make parallel programs hard to understand. Precise race detection that stops an execution on first occurrence of a race addresses this problem, but it comes with significant overhead. In this work, we exploit the insight that precisely detecting only write-after-write (WAW) and read-afterwrite (RAW) races suffices to provide cleaner semantics for racy programs. We demonstrate that stopping an execution only when these races occur ensures that synchronizationfree-regions appear to be executed in isol… Show more
“…Both schemes implement precise data race detection, however, it is only needed during a short window within which instruction reordering can occur, which simplies the implementation and allows for almost-negligible performance overheads. Other hardware schemes enforce stronger memory consistency models design to preserve sequential consistency or related properties [25,30,47,51]. SC violation detectors ignore data races where at least one access occurs outside of the current detection window.…”
Section: Related Workmentioning
confidence: 99%
“…An extensive body of prior work on static, dynamic, and hybrid techniques for general data race checking with software or hardware support has yielded suitable assistants for debugging and testing programs with data races (e.g., [1,9,12,15,20,37,46,47,55,58]). Yet existing approaches remain limited by missing true data races, reporting false data races, or incurring large run-time overheads.…”
Data race detection is a useful dynamic analysis for multithreaded programs that is a key building block in record-and-replay, enforcing strong consistency models, and detecting concurrency bugs. Existing software race detectors are precise but slow, and hardware support for precise data race detection relies on assumptions like type safety that many programs violate in practice. We propose P, a fully precise hardware-supported data race detector. P exploits new insights into the redundancy of race detection metadata to reduce storage overheads. P also adopts new race detection metadata encodings that accelerate the common case while preserving soundness and completeness. When bounded hardware resources are exhausted, P falls back to a software race detector to preserve correctness. P does not assume that target programs are type safe, and is thus suitable for race detection on arbitrary code. Our evaluation of P on several PARSEC benchmarks shows that performance overheads range from negligible to 2.6x, with an average overhead of just 1.5x. Moreover, P outperforms the state-of-the-art Radish hardware race detector by 4.6x. CCS CONCEPTS • Computer systems organization → Multicore architectures; • Software and its engineering → Software maintenance tools;
“…Both schemes implement precise data race detection, however, it is only needed during a short window within which instruction reordering can occur, which simplies the implementation and allows for almost-negligible performance overheads. Other hardware schemes enforce stronger memory consistency models design to preserve sequential consistency or related properties [25,30,47,51]. SC violation detectors ignore data races where at least one access occurs outside of the current detection window.…”
Section: Related Workmentioning
confidence: 99%
“…An extensive body of prior work on static, dynamic, and hybrid techniques for general data race checking with software or hardware support has yielded suitable assistants for debugging and testing programs with data races (e.g., [1,9,12,15,20,37,46,47,55,58]). Yet existing approaches remain limited by missing true data races, reporting false data races, or incurring large run-time overheads.…”
Data race detection is a useful dynamic analysis for multithreaded programs that is a key building block in record-and-replay, enforcing strong consistency models, and detecting concurrency bugs. Existing software race detectors are precise but slow, and hardware support for precise data race detection relies on assumptions like type safety that many programs violate in practice. We propose P, a fully precise hardware-supported data race detector. P exploits new insights into the redundancy of race detection metadata to reduce storage overheads. P also adopts new race detection metadata encodings that accelerate the common case while preserving soundness and completeness. When bounded hardware resources are exhausted, P falls back to a software race detector to preserve correctness. P does not assume that target programs are type safe, and is thus suitable for race detection on arbitrary code. Our evaluation of P on several PARSEC benchmarks shows that performance overheads range from negligible to 2.6x, with an average overhead of just 1.5x. Moreover, P outperforms the state-of-the-art Radish hardware race detector by 4.6x. CCS CONCEPTS • Computer systems organization → Multicore architectures; • Software and its engineering → Software maintenance tools;
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.