How Live Can a Transactional Memory Be

This paper asks how much liveness a transactional memory (TM) implementation can guarantee. We first devise a formal framework for reasoning about liveness properties of TMs. Then, we prove that the strongest liveness property that a TM can ensure in an asynchronous system with transaction crashes is a property that we call "global progress". This property is analogous to lock-freedom for shared-memory objects and is indeed guaranteed by certain TM implementations, e.g., OSTM. We also prove that the presence of zombie transactions, which perform infinitely many operations but never attempt to commit, does not impact our result. In fact, we show that zombie transactions are, in a precise sense, equivalent to crashed transactions.

[1]  Bowen Alpern,et al.  Defining Liveness , 1984, Inf. Process. Lett..

[2]  Nir Shavit,et al.  Transactional Locking II , 2006, DISC.

[3]  David Eisenstat,et al.  Lowering the Overhead of Software Transactional Memory , 2006 .

[4]  Dan Grossman,et al.  High-level small-step operational semantics for transactions , 2008, POPL '08.

[5]  Torvald Riegel,et al.  Dynamic performance tuning of word-based software transactional memory , 2008, PPoPP.

[6]  Keir Fraser,et al.  Practical lock-freedom , 2003 .

[7]  Maurice Herlihy,et al.  Software transactional memory for dynamic-sized data structures , 2003, PODC '03.

[8]  Maurice Herlihy,et al.  Wait-free synchronization , 1991, TOPL.

[9]  Adam Welc,et al.  Practical weak-atomicity semantics for java stm , 2008, SPAA '08.

[10]  Rachid Guerraoui,et al.  The Weakest Failure Detectors to Boost Obstruction-Freedom , 2006, DISC.

[11]  Rachid Guerraoui,et al.  Computing with Reads and Writes in the Absence of Step Contention , 2005, DISC.

[12]  Rachid Guerraoui,et al.  The weakest failure detectors to boost obstruction-freedom , 2006, Distributed Computing.

[13]  Jan Vitek,et al.  A transactional object calculus , 2005, Sci. Comput. Program..

[14]  Rachid Guerraoui,et al.  On the correctness of transactional memory , 2008, PPoPP.

[15]  Rachid Guerraoui,et al.  On obstruction-free transactions , 2008, SPAA '08.

[16]  Christos H. Papadimitriou,et al.  The serializability of concurrent database updates , 1979, JACM.

[17]  Nir Shavit,et al.  Software transactional memory , 1995, PODC '95.

[18]  Maurice Herlihy,et al.  Transactional Memory: Architectural Support For Lock-free Data Structures , 1993, Proceedings of the 20th Annual International Symposium on Computer Architecture.

[19]  Rachid Guerraoui,et al.  Stretching transactional memory , 2009, PLDI '09.

[20]  Rachid Guerraoui,et al.  The semantics of progress in lock-based transactional memory , 2009, POPL '09.

[21]  Martín Abadi,et al.  Semantics of transactional memory and automatic mutual exclusion , 2011, TOPL.

[22]  Cong Wang,et al.  NZTM: nonblocking zero-indirection transactional memory , 2009, SPAA '09.

[23]  Philip A. Bernstein,et al.  Categories and Subject Descriptors: H.2.4 [Database Management]: Systems. , 2022 .

[24]  Jan Vitek,et al.  A Semantic Framework for Designer Transactions , 2004, ESOP.