A programming language perspective on transactional memory consistency

Hagit Attiya, Alexey Gotsman, Sandeep Hans, Noam Rinetzky

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

Abstract

Transactional memory (TM) has been hailed as a paradigm for simplifying concurrent programming. While several consistency conditions have been suggested for TM, they fall short of formalizing the intuitive semantics of atomic blocks, the interface through which a TM is used in a programming language. To close this gap, we formalize the intuitive expectations of a programmer as observational refinement between TM implementations: a concrete TM observationally refines an abstract one if every user-observable behavior of a program using the former can be reproduced if the program uses the latter. This allows the programmer to reason about the behavior of a program using the intuitive semantics formalized by the abstract TM; the observational refinement relation implies that the conclusions will carry over to the case when the program uses the concrete TM. We show that, for a particular programming language and notions of observable behavior, a variant of the well-known consistency condition of opacity is sufficient for observational refinement, and its restriction to complete histories is furthermore necessary. Our results suggest a new approach to evaluating and comparing TM consistency conditions. They can also reduce the effort of proving that a TM implements its programming language interface correctly, by only requiring its developer to show that it satisfies the corresponding consistency condition.

Original languageEnglish
Title of host publicationPODC 2013 - Proceedings of the 2013 ACM Symposium on Principles of Distributed Computing
Pages309-318
Number of pages10
DOIs
StatePublished - 2013
Event2013 ACM Symposium on Principles of Distributed Computing, PODC 2013 - Montreal, QC, Canada
Duration: 22 Jul 201324 Jul 2013

Publication series

NameProceedings of the Annual ACM Symposium on Principles of Distributed Computing

Conference

Conference2013 ACM Symposium on Principles of Distributed Computing, PODC 2013
Country/TerritoryCanada
CityMontreal, QC
Period22/07/1324/07/13

Keywords

  • Atomic blocks
  • Observational refinement
  • Transactional memory

All Science Journal Classification (ASJC) codes

  • Software
  • Hardware and Architecture
  • Computer Networks and Communications

Fingerprint

Dive into the research topics of 'A programming language perspective on transactional memory consistency'. Together they form a unique fingerprint.

Cite this