TY - GEN
T1 - TxRace
T2 - 21st International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2016
AU - Zhang, Tong
AU - Lee, Dongyoon
AU - Jung, Changhee
N1 - Publisher Copyright:
© 2016 ACM.
PY - 2016/3/25
Y1 - 2016/3/25
N2 - Detecting data races is important for debugging sharedmemory multithreaded programs, but the high runtime overhead prevents the wide use of dynamic data race detectors. This paper presents TxRace, a new software data race detector that leverages commodity hardware transactional memory (HTM) to speed up data race detection. TxRace instruments a multithreaded program to transform synchronization-free regions into transactions, and exploits the conflict detection mechanism of HTM for lightweight data race detection at runtime. However, the limitations of the current best-effort commodity HTMs expose several challenges in using them for data race detection: (1) lack of ability to pinpoint racy instructions, (2) false positives caused by cache line granularity of conflict detection, and (3) transactional aborts for non-conflict reasons (e.g., capacity or unknown). To overcome these challenges, TxRace performs lightweight HTM-based data race detection at first, and occasionally switches to slow yet precise data race detection only for the small fraction of execution intervals in which potential races are reported by HTM. According to the experimental results, TxRace reduces the average runtime overhead of dynamic data race detection from 11.68x to 4.65x with only a small number of false negatives.
AB - Detecting data races is important for debugging sharedmemory multithreaded programs, but the high runtime overhead prevents the wide use of dynamic data race detectors. This paper presents TxRace, a new software data race detector that leverages commodity hardware transactional memory (HTM) to speed up data race detection. TxRace instruments a multithreaded program to transform synchronization-free regions into transactions, and exploits the conflict detection mechanism of HTM for lightweight data race detection at runtime. However, the limitations of the current best-effort commodity HTMs expose several challenges in using them for data race detection: (1) lack of ability to pinpoint racy instructions, (2) false positives caused by cache line granularity of conflict detection, and (3) transactional aborts for non-conflict reasons (e.g., capacity or unknown). To overcome these challenges, TxRace performs lightweight HTM-based data race detection at first, and occasionally switches to slow yet precise data race detection only for the small fraction of execution intervals in which potential races are reported by HTM. According to the experimental results, TxRace reduces the average runtime overhead of dynamic data race detection from 11.68x to 4.65x with only a small number of false negatives.
KW - Concurrency bug detection
KW - Data race
KW - Dynamic program analysis
KW - Hardware transactional memory
UR - https://www.scopus.com/pages/publications/84975230214
U2 - 10.1145/2872362.2872384
DO - 10.1145/2872362.2872384
M3 - Conference contribution
AN - SCOPUS:84975230214
T3 - International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS
SP - 159
EP - 173
BT - ASPLOS 2016 - 21st International Conference on Architectural Support for Programming Languages and Operating Systems
PB - Association for Computing Machinery
Y2 - 2 April 2016 through 6 April 2016
ER -