JANUS: Exploiting parallelism via hindsight

Omer Tripp, Roman Manevich, John Field, Mooly Sagiv

Research output: Contribution to journalArticlepeer-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
Pages (from-to)145-155
Number of pages11
JournalACM SIGPLAN Notices
Volume47
Issue number6
DOIs
StatePublished - Aug 2012

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