Grasping the gap between blocking and non-blocking transactional memories

Petr Kuznetsov, Srivatsan Ravi

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

Abstract

Transactional memory (TM) is an inherently optimistic synchronization abstraction: it allows concurrent processes to execute sequences of shared-data accesses (transactions) speculatively, with an option of aborting them in the future. Early TM designs avoided using locks and relied on non-blocking synchronization to ensure obstruction freedom: a transaction that encounters no step contention is not allowed to abort. However, it was later observed that obstruction-free TMs perform poorly and, as a result, state-of-the-art TM implementations are nowadays blocking, allowing aborts because of data conflicts rather than step contention. In this paper, we explain this shift in the TM practice theoretically, via complexity bounds. We prove a few important lower bounds on obstruction-free TMs. Then we present a lock-based TM implementation that beats all of these lower bounds. In sum, our results exhibit a considerable complexity gap between non-blocking and blocking TM implementations.

Original languageEnglish
Title of host publicationDistributed Computing - 29th International Symposium, DISC 2015, Proceedings
EditorsYoram Moses
PublisherSpringer Verlag
Pages232-247
Number of pages16
ISBN (Print)9783662486528
DOIs
Publication statusPublished - 1 Jan 2015
Event29th International Symposium on Distributed Computing, DISC 2015 - Tokyo, Japan
Duration: 7 Oct 20159 Oct 2015

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume9363
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference29th International Symposium on Distributed Computing, DISC 2015
Country/TerritoryJapan
CityTokyo
Period7/10/159/10/15

Fingerprint

Dive into the research topics of 'Grasping the gap between blocking and non-blocking transactional memories'. Together they form a unique fingerprint.

Cite this