Transactional Memory: Glimmer of a Theory

Transactional memory (TM) is a promising paradigm for concurrent programming. This paper is an overview of our recent theoretical work on defining a theory of TM. We first recall some TM correctness properties and then overview results on the inherent power and limitations of TMs.

[1]  Nir Shavit,et al.  What Really Makes Transactions Faster , 2006 .

[2]  Michael F. Spear,et al.  Conflict Detection and Validation Strategies for Software Transactional Memory , 2006, DISC.

[3]  Rachid Guerraoui,et al.  Preventing versus curing: avoiding conflicts in transactional memories , 2009, PODC '09.

[4]  Michel Raynal,et al.  Algorithms for mutual exclusion , 1986 .

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

[6]  Dan Grossman,et al.  Enforcing isolation and ordering in STM , 2007, PLDI '07.

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

[8]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[9]  Rachid Guerraoui,et al.  Permissiveness in Transactional Memories , 2008, DISC.

[10]  Michel Raynal,et al.  A Lock-Based STM Protocol That Satisfies Opacity and Progressiveness , 2008, OPODIS.

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

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

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

[14]  Prasad Jayanti,et al.  Robust wait-free hierarchies , 1997, JACM.

[15]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

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

[17]  Mark Plesko,et al.  Optimizing memory transactions , 2006, PLDI '06.

[18]  Brian Campbell,et al.  Amortised Memory Analysis Using the Depth of Data Structures , 2009, ESOP.

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

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

[21]  Maurice Herlihy,et al.  A flexible framework for implementing software transactional memory , 2006, OOPSLA '06.

[22]  William E. Weihl,et al.  Local atomicity properties: modular concurrency control for abstract data types , 1989, TOPL.

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

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

[25]  Brian T. Lewis,et al.  Compiler and runtime support for efficient software transactional memory , 2006, PLDI '06.

[26]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1985, JACM.

[27]  Torvald Riegel,et al.  A Lazy Snapshot Algorithm with Eager Validation , 2006, DISC.

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

[29]  Amos Israeli,et al.  Disjoint-access-parallel implementations of strong shared memory primitives , 1994, PODC '94.

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

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

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

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

[34]  Marsha Chechik,et al.  CONCUR 2008 - Concurrency Theory, 19th International Conference, CONCUR 2008, Toronto, Canada, August 19-22, 2008. Proceedings , 2008, CONCUR.

[35]  Rachid Guerraoui,et al.  Model checking transactional memories , 2008, PLDI '08.

[36]  Bratin Saha,et al.  Model Checking Transactional Memory with Spin , 2009, ICDCS.

[37]  Pascal Felber,et al.  Toward a Theory of Input Acceptance for Transactional Memories , 2008, OPODIS.

[38]  Milo M. K. Martin,et al.  Subtleties of transactional memory atomicity semantics , 2006, IEEE Computer Architecture Letters.

[39]  Virendra J. Marathe,et al.  Adaptive Software Transactional Memory , 2005, DISC.

[40]  Rachid Guerraoui,et al.  Completeness and Nondeterminism in Model Checking Transactional Memories , 2008, CONCUR.

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

[42]  João P. Cachopo,et al.  Versioned boxes as the basis for memory transactions , 2006, Sci. Comput. Program..

[43]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[44]  A BernsteinPhilip,et al.  Multiversion concurrency controltheory and algorithms , 1983 .

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

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

[47]  Martín Abadi,et al.  Semantics of transactional memory and automatic mutual exclusion , 2008, POPL '08.

[48]  William N. Scherer,et al.  Scalable queue-based spin locks with timeout , 2001, PPoPP '01.