TY - GEN
T1 - AtomTracker
T2 - 43rd Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2010
AU - Muzahid, Abdullah
AU - Otsuki, Norimasa
AU - Torrellas, Josep
N1 - Copyright:
Copyright 2011 Elsevier B.V., All rights reserved.
PY - 2010
Y1 - 2010
N2 - A particularly insidious type of concurrency bug is atomicity violations. While there has been substantial work on automatic detection of atomicity violations, each existing technique has focused on a certain type of atomic region. To address this limitation, this paper presents AtomTracker, a comprehensive approach to atomic region inference and violation detection. AtomTracker is the first scheme to (1) automatically infer generic atomic regions (not limited by issues such as the number of variables accessed, the number of instructions included, or the type of code construct the region is embedded in) and (2) automatically detect violations of them at runtime with negligible execution overhead. AtomTracker provides novel algorithms to infer generic atomic regions and to detect atomicity violations of them. Moreover, we present a hardware implementation of the violation detection algorithm that leverages cache coherence state transitions in a multiprocessor. In our evaluation, we take eight atomicity violation bugs from real-world codes like Apache, MySql, and Mozilla, and show that AtomTracker detects them all. In addition, AtomTracker automatically infers all of the atomic regions in a set of microbenchmarks accurately. Finally, we also show that the hardware implementation induces a negligible execution time overhead of 0.2-4.0% and, therefore, enables AtomTracker to find atomicity violations on-the-fly in production runs.
AB - A particularly insidious type of concurrency bug is atomicity violations. While there has been substantial work on automatic detection of atomicity violations, each existing technique has focused on a certain type of atomic region. To address this limitation, this paper presents AtomTracker, a comprehensive approach to atomic region inference and violation detection. AtomTracker is the first scheme to (1) automatically infer generic atomic regions (not limited by issues such as the number of variables accessed, the number of instructions included, or the type of code construct the region is embedded in) and (2) automatically detect violations of them at runtime with negligible execution overhead. AtomTracker provides novel algorithms to infer generic atomic regions and to detect atomicity violations of them. Moreover, we present a hardware implementation of the violation detection algorithm that leverages cache coherence state transitions in a multiprocessor. In our evaluation, we take eight atomicity violation bugs from real-world codes like Apache, MySql, and Mozilla, and show that AtomTracker detects them all. In addition, AtomTracker automatically infers all of the atomic regions in a set of microbenchmarks accurately. Finally, we also show that the hardware implementation induces a negligible execution time overhead of 0.2-4.0% and, therefore, enables AtomTracker to find atomicity violations on-the-fly in production runs.
UR - http://www.scopus.com/inward/record.url?scp=79951698023&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=79951698023&partnerID=8YFLogxK
U2 - 10.1109/MICRO.2010.32
DO - 10.1109/MICRO.2010.32
M3 - Conference contribution
AN - SCOPUS:79951698023
SN - 9780769542997
T3 - Proceedings of the Annual International Symposium on Microarchitecture, MICRO
SP - 287
EP - 297
BT - Proceedings - 43rd Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2010
Y2 - 4 December 2010 through 8 December 2010
ER -