Characterizing Transactional Memory Consistency Conditions Using Observational Refinement

Hagit Attiya, Alexey Gotsman, Sandeep Hans, Noam Rinetzky

Research output: Contribution to journalArticlepeer-review

Abstract

Transactional memory (TM) facilitates the development of concurrent applications by letting a programmer designate certain code blocks as atomic. The common approach to stating TM correctness is through a consistency condition that restricts the possible TM executions. Unfortunately, existing consistency conditions fall short of formalizing the intuitive semantics of atomic blocks through which programmers use a TM. To close this gap, we formalize programmer expectations as observational refinement between TM implementations. This states that properties of a program using a concrete TM implementation can be established by analyzing its behavior with an abstract TM, serving as a specification of the concrete one. We show that a variant of Transactional Memory Specification (TMS), a TM consistency condition, is equivalent to observational refinement for a programming language where local variables are rolled back upon a transaction abort. We thereby establish that TMS is the weakest acceptable condition for this case. We then propose a new consistency condition, called Strong Transactional Memory Specification (STMS), and show that it is equivalent to observational refinement for a language where local variables are not rolled back upon aborts. Finally, we show that under certain natural assumptions on TM implementations, STMS is equivalent to a variant of a well-known condition of opacity. Our results suggest a new approach to evaluating TM consistency conditions and enable TM implementors and language designers to make better-informed decisions.

Original languageEnglish
Article numberY
JournalJournal of the ACM
Volume65
Issue number1
DOIs
StatePublished - Jan 2018

Keywords

  • Transactions
  • correctness conditions
  • opacity
  • Transactional Memory Specification
  • TMS
  • Strong Transactional Memory Specification
  • STMS
  • atomicity

All Science Journal Classification (ASJC) codes

  • Software
  • Control and Systems Engineering
  • Information Systems
  • Hardware and Architecture
  • Artificial Intelligence

Fingerprint

Dive into the research topics of 'Characterizing Transactional Memory Consistency Conditions Using Observational Refinement'. Together they form a unique fingerprint.

Cite this