@inproceedings{71347c3e70c64d63ad99abaf8a2d13c4,
title = "JANUS: Exploiting parallelism via hindsight",
abstract = "This paper addresses the problem of reducing unnecessary conflicts in optimistic synchronization. Optimistic synchronization must ensure that any two concurrently executing transactions that commit are properly synchronized. Conflict detection is an approximate check for this condition. For efficiency, the traditional approach to conflict detection conservatively checks that the memory locations mutually accessed by two concurrent transactions are accessed only for reading. We present JANUS, a parallelization system that performs conflict detection by considering sequences of operations and their composite effect on the system's state. This is done efficiently, such that the runtime overhead due to conflict detection is on a par with that of write-conflict-based detection. In certain common scenarios, this mode of refinement dramatically improves the precision of conflict detection, thereby reducing the number of false conflicts. Our empirical evaluation of JANUS shows that this precision gain reduces the abort rate by an order of magnitude (22x on average), and achieves a speedup of up to 2:5x, on a suite of real-world benchmarks where no parallelism is exploited by the standard approach.",
keywords = "Concurrency, Conflict detection, Speculative execution, Transactional memory",
author = "Omer Tripp and Roman Manevich and John Field and Mooly Sagiv",
year = "2012",
month = jul,
day = "9",
doi = "10.1145/2254064.2254083",
language = "American English",
isbn = "9781450312059",
series = "Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)",
pages = "145--155",
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",
}