Checkpoints and continuations instead of nested transactions

Eric Koskinen, Maurice Herlihy

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

29 Scopus citations

Abstract

We present a mechanism for partially aborting transactions through the use of data structure checkpoints and control-flow continuations. In particular, we show that boosted transactions [9] already have built-in restoration points and afford a simple, efficient implementation. Our mechanism is far simpler than previous work, which relied on complex nesting schemes to establish checkpoints. We demonstrate syntactic advantages and we quantify the overhead of checkpoints and explore several examples, illustrating the utility of partially aborting transactions. We additionally present a novel queue-based spin lock which allows threads to timeout and differ in priority. Unlike the known lock due to Craig [5], our lock is more efficient for priority schemes of few levels.

Original languageEnglish
Title of host publicationSPAA'08 - Proceedings of the 20th Annual Symposium on Parallelism in Algorithms and Architectures
Pages160-168
Number of pages9
DOIs
StatePublished - 2008
Event20th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA'08 - Munich, Germany
Duration: 14 Jun 200816 Jun 2008

Publication series

NameAnnual ACM Symposium on Parallelism in Algorithms and Architectures

Conference

Conference20th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA'08
Country/TerritoryGermany
CityMunich
Period14/06/0816/06/08

Keywords

  • Boosting
  • Checkpoints
  • Concurrency
  • Continuations
  • Parallel programming
  • Transactional memory

Fingerprint

Dive into the research topics of 'Checkpoints and continuations instead of nested transactions'. Together they form a unique fingerprint.

Cite this