TY - GEN
T1 - JANUS
T2 - 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI'12
AU - Tripp, Omer
AU - Manevich, Roman
AU - Field, John
AU - Sagiv, Mooly
PY - 2012/7/9
Y1 - 2012/7/9
N2 - 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.
AB - 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.
KW - Concurrency
KW - Conflict detection
KW - Speculative execution
KW - Transactional memory
UR - http://www.scopus.com/inward/record.url?scp=84863438990&partnerID=8YFLogxK
U2 - 10.1145/2254064.2254083
DO - 10.1145/2254064.2254083
M3 - Conference contribution
AN - SCOPUS:84863438990
SN - 9781450312059
T3 - Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
SP - 145
EP - 155
BT - PLDI'12 - Proceedings of the 2012 ACM SIGPLAN Conference on Programming Language Design and Implementation
Y2 - 11 June 2012 through 16 June 2012
ER -