Transactions as the foundation of a memory consistency model

  • Authors:
  • Luke Dalessandro;Michael L. Scott;Michael F. Spear

  • Affiliations:
  • Department of Computer Science, University of Rochester;Department of Computer Science, University of Rochester;Department of Computer Science and Engineering, Lehigh University

  • Venue:
  • DISC'10 Proceedings of the 24th international conference on Distributed computing
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

We argue that traditional synchronization objects, such as locks, conditions, and atomic/volatile variables, should be defined in terms of transactions, rather than the other way around. A traditional critical section, in particular, is a region of code, bracketed by transactions, in which certain data have been privatized. We base our memory model on the notion of strict serializability (SS), and show that selective relaxation of the relationship between program order and transaction order can allow the implementation of transaction-based locks to be as efficient as conventional locks. We also show that condition synchronization can be accommodated without explicit mention of speculation, opacity, or aborted transactions. Finally, we compare SS to the notion of strong isolation (SI), arguing that SI is neither sufficient for transactional sequential consistency (TSC) nor necessary in programs that are transactional data-race free (TDRF).