A Single-Version STM that Is Multi-Versioned Permissive

Hagit Attiya, Eshcar Hillel

Research output: Contribution to journalArticlepeer-review

Abstract

We present PermiSTM, a single-version STM that satisfies a practical notion of permissiveness, usually associated with keeping many versions: it never aborts read-only transactions, and it aborts other transactions only due to a conflicting transaction (writing to a common data item), thereby avoiding spurious aborts. PermiSTM also avoids unnecessary contention on the memory, being disjoint-access parallel. We first present a variant of PermiSTM that uses k-compare-single-swap primitive. Then we present a variant with similar properties using only cas, and show how the livelocks it may incur can be avoided with best-effort hardware transactions.

Original languageEnglish
Pages (from-to)425-446
Number of pages22
JournalTheory of Computing Systems
Volume51
Issue number4
DOIs
StatePublished - Nov 2012

Keywords

  • Best-effort hardware transactional memory
  • Compare-and-swap
  • Disjoint access parallelism
  • Permissiveness
  • Transactional memory
  • Versions
  • k-compare-single-swap

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • Computational Theory and Mathematics

Fingerprint

Dive into the research topics of 'A Single-Version STM that Is Multi-Versioned Permissive'. Together they form a unique fingerprint.

Cite this