@inproceedings{da2bad119ca54fc783804d34648eab2b,
title = "Chimera: Hybrid program analysis for determinism",
abstract = "Chimera1 uses a new hybrid program analysis to provide deterministic replay for commodity multiprocessor systems. Chimera leverages the insight that it is easy to provide deterministic multiprocessor replay for data-race-free programs (one can just record nondeterministic inputs and the order of synchronization operations), so if we can somehow transform an arbitrary program to be datarace- free, then we can provide deterministic replay cheaply for that program. To perform this transformation, Chimera uses a sound static data-race detector to find all potential data-races. It then instruments pairs of potentially racing instructions with a weak-lock, which provides sufficient guarantees to allow deterministic replay but does not guarantee mutual exclusion. Unsurprisingly, a large fraction of data-races found by the static tool are false data-races, and instrumenting them each of them with a weak-lock results in prohibitively high overhead. Chimera drastically reduces this cost from 53x to 1.39x by increasing the granularity of weak-locks without significantly compromising on parallelism. This is achieved by employing a combination of profiling and symbolic analysis techniques that target the sources of imprecision in the static data-race detector. We find that performance overhead for deterministic recording is 2.4\% on average for Apache and desktop applications and about 86\% for scientific applications.",
keywords = "Data-race detection, Determinism, Profiling, Replay, Static analysis, Symbolic range analysis",
author = "Dongyoon Lee and Chen, \{Peter M.\} and Jason Flinn and Satish Narayanasamy",
year = "2012",
doi = "10.1145/2254064.2254119",
language = "English",
isbn = "9781450312059",
series = "Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)",
pages = "463--474",
booktitle = "PLDI'12 - Proceedings of the 2012 ACM SIGPLAN Conference on Programming Language Design and Implementation",
note = "33rd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI'12 ; Conference date: 11-06-2012 Through 16-06-2012",
}