TY - GEN
T1 - ProRace
T2 - 22nd International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2017
AU - Zhang, Tong
AU - Jung, Changhee
AU - Lee, Dongyoon
N1 - Publisher Copyright: © 2017 ACM.
PY - 2017/4/4
Y1 - 2017/4/4
N2 - 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.
AB - 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.
UR - https://www.scopus.com/pages/publications/85022051680
U2 - 10.1145/3037697.3037708
DO - 10.1145/3037697.3037708
M3 - Conference contribution
T3 - International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS
SP - 149
EP - 162
BT - ASPLOS 2017 - 22nd International Conference on Architectural Support for Programming Languages and Operating Systems
PB - Association for Computing Machinery
Y2 - 8 April 2017 through 12 April 2017
ER -