Affiliation:
1. Virginia Tech, Blacksburg, VA, USA
Abstract
This paper presents ProRace, a dynamic data race detector practical for production runs. It is lightweight, but still offers high race detection capability. To track memory accesses, ProRace leverages instruction sampling using the performance monitoring unit (PMU) in commodity processors. Our PMU driver enables ProRace to sample more memory accesses at a lower cost compared to the state-of-the-art Linux driver. Moreover, ProRace uses PMU-provided execution contexts including register states and program path, and reconstructs unsampled memory accesses offline. This technique allows \ProRace to overcome inherent limitations of sampling and improve the detection coverage by performing data race detection on the trace with not only sampled but also reconstructed memory accesses. Experiments using racy production software including
apache
and
mysql
shows that, with a reasonable offline cost, ProRace incurs only 2.6% overhead at runtime with 27.5% detection probability with a sampling period of 10,000.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Diagnosing Kernel Concurrency Failures with AITIA;Proceedings of the Eighteenth European Conference on Computer Systems;2023-05-08
2. BiRD: Race Detection in Software Binaries under Relaxed Memory Models;ACM Transactions on Software Engineering and Methodology;2022-07-12
3. Summary of Data Races Solution Algorithms for Multithreaded Programs;Advances in Intelligent Systems and Computing;2020-12-18
4. Sampler: PMU-Based Sampling to Detect Memory Errors Latent in Production Software;2018 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO);2018-10