JANUS: Exploiting parallelism via hindsight

Omer Tripp, Roman Manevich, John Field, Mooly Sagiv

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

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.

Original languageEnglish
Title of host publicationPLDI'12 - Proceedings of the 2012 ACM SIGPLAN Conference on Programming Language Design and Implementation
Pages145-155
Number of pages11
DOIs
StatePublished - 2012
Event33rd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI'12 - Beijing, China
Duration: 11 Jun 201216 Jun 2012

Publication series

NameProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)

Conference

Conference33rd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI'12
Country/TerritoryChina
CityBeijing
Period11/06/1216/06/12

Keywords

  • Concurrency
  • Conflict detection
  • Speculative execution
  • Transactional memory

Fingerprint

Dive into the research topics of 'JANUS: Exploiting parallelism via hindsight'. Together they form a unique fingerprint.

Cite this