Opacity: A Correctness Condition for Transactional Memory

Transactional memory is perceived as an appealing alternative to critical sections for general purpose concurrent programming. Despite the large amount of recent work on transactional memory implementations, however, its actual specification has never been precisely defined. This paper presents opacity, a new correctness criterion for transactional memory systems. Opacity extends the notion of strict serializability, itself a strong form of the classical serializability property, with the requirement that even non-committed transactions are prevented from accessing inconsistent state. Yet opacity does not preclude versioning, invisible reads and lazy updates, often used by modern TM implementations. In fact, most transactional memory systems we know of ensure opacity. We prove a tight bound on the inherent cost of implementing opacity. The bound highlights a trade-off that explains some of the differences between current transactional memory systems, and also draws a sharp complexity line between opacity on one hand, and the combination of strict serializability and strict recoverability on the other hand.

[1]  Bratin Saha,et al.  Open nesting in software transactional memory , 2007, PPOPP.

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

[3]  J. Eliot B. Moss Open Nested Transactions: Semantics and Support , 2006 .

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

[5]  Abraham Silberschatz,et al.  On Rigorous Transaction Scheduling , 1991, IEEE Trans. Software Eng..

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

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

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

[9]  Michael L. Scott Sequential Specification of Transactional Memory Semantics , 2006 .

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

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

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

[13]  Satish K. Tripathi,et al.  Parallel and Distributed Computing Handbook , 1995 .

[14]  Rachid Guerraoui,et al.  Toward a theory of transactional contention managers , 2005, PODC '05.

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

[16]  Eliot B. Moss,et al.  Nested Transactions and Reliable Distributed Computing , 1982 .

[17]  E. B. Moss,et al.  Nested Transactions: An Approach to Reliable Distributed Computing , 1985 .

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

[19]  Jim Gray,et al.  A critique of ANSI SQL isolation levels , 1995, SIGMOD '95.

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

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

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

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

[24]  Torvald Riegel,et al.  Snapshot Isolation for Software Transactional Memory , 2006 .

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

[26]  S. Griffis EDITOR , 1997, Journal of Navigation.

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

[28]  Vassos Hadzilacos,et al.  A theory of reliability in database systems , 1988, JACM.

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

[30]  Robert Ennals Software Transactional Memory Should Not Be Obstruction-Free , 2005 .