TY - GEN
T1 - Pacman
T2 - 18th IEEE International Symposium on High Performance Computer Architecture, HPCA - 18 2012
AU - Qi, Shanxiang
AU - Otsuki, Norimasa
AU - Nogueira, Lois Orosa
AU - Muzahid, Abdullah
AU - Torrellas, Josep
PY - 2012
Y1 - 2012
N2 - Data races are a major contributor to parallel software unreliability. A type of race that is both common and typically harmful is the Asymmetric data race. It occurs when at least one of the racing threads is inside a critical section. Current proposals that target them are software-based. They slow down execution and require significant compiler, operating system (OS), or application changes. This paper proposes the first scheme to tolerate asymmetric data races in production runs with negligible execution overhead. The scheme, called Pacman, exploits cache coherence hardware to temporarily protect the variables that a thread accesses in a critical section from other threads' requests. Unlike previous schemes, Pacman induces negligible slowdown, needs no support from the compiler or (in the baseline design) from the OS, and requires no application source code changes. In addition, its hardware is relatively unintrusive. We test Pacman with the SPLASH-2, PARSEC, Sphinx 3, and Apache codes, and discover two unreported asymmetric data races.
AB - Data races are a major contributor to parallel software unreliability. A type of race that is both common and typically harmful is the Asymmetric data race. It occurs when at least one of the racing threads is inside a critical section. Current proposals that target them are software-based. They slow down execution and require significant compiler, operating system (OS), or application changes. This paper proposes the first scheme to tolerate asymmetric data races in production runs with negligible execution overhead. The scheme, called Pacman, exploits cache coherence hardware to temporarily protect the variables that a thread accesses in a critical section from other threads' requests. Unlike previous schemes, Pacman induces negligible slowdown, needs no support from the compiler or (in the baseline design) from the OS, and requires no application source code changes. In addition, its hardware is relatively unintrusive. We test Pacman with the SPLASH-2, PARSEC, Sphinx 3, and Apache codes, and discover two unreported asymmetric data races.
UR - http://www.scopus.com/inward/record.url?scp=84860320617&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84860320617&partnerID=8YFLogxK
U2 - 10.1109/HPCA.2012.6169039
DO - 10.1109/HPCA.2012.6169039
M3 - Conference contribution
AN - SCOPUS:84860320617
SN - 9781467308243
T3 - Proceedings - International Symposium on High-Performance Computer Architecture
SP - 349
EP - 360
BT - Proceedings - 18th IEEE International Symposium on High Performance Computer Architecture, HPCA - 18 2012
Y2 - 25 February 2012 through 29 February 2012
ER -