Abstract
Dependence-aware transactional memory (DATM) is a recently proposed model for increasing concurrency of memory transactions without complicating their interface. DATM manages dependences between conflicting, uncommitted transactions so that they commit safely.
The contributions of this paper are twofold. First, we provide a safety proof for the dependence-aware model. This proof also shows that the DATM model accepts all concurrent interleavings that are conflict-serializable.
Second, we describe the first application of dependence tracking to software transactional memory (STM) design and implementation. We compare our implementation with a state of the art STM, TL2 [4]. We use benchmarks from the STAMP [21] suite, quantifying how dependence tracking converts certain types of transactional conflicts into successful commits. On high contention workloads, DATM is able to take advantage of dependences to speed up execution by up to 4.8x.
- Ali-Reza Adl-Tabatabai, Brian Lewis, Vijay Menon, Brian Murphy, Bratin Saha, and Tatiana Shpeisman. Compiler and runtime support for efficient software transactional memory. In PLDI, Jun 2006. Google Scholar
Digital Library
- Utku Aydonat and Tarek Abdelrahman. Serializability of transactions in software transactional memory. In TRANS-ACT, Feb 2008.Google Scholar
- Philip Bernstein, Vassos Hadzilacos, and Nathan Goodman. Concurrency Control and Recovery in Database Systems. Addison Wesley, 1987. Google Scholar
Digital Library
- Charles T. Davies. Data processing spheres of control. IBM Systems Journal, 17(2), 1978.Google Scholar
Digital Library
- Dave Dice, Ori Shalev, and Nir Shavit. Transactional locking II. In DISC, Sep 2006. Google Scholar
Digital Library
- Dave Dice and Nir Shavit. What really makes transactions faster? In TRANSACT, Jun 2006.Google Scholar
- Aleksandar Dragojevic, Rachid Guerraoui, and Michal Kapalka. Dividing Transactional Memories by Zero. In TRANSACT, Feb 2008.Google Scholar
- Jim Gray and Andreas Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 1993. Google Scholar
Digital Library
- Rachid Guerraoui, Michal Kapalka, and Jan Vitek. Stmbench7: A benchmark for software transactional memory. In EuroSys, Mar 2007. Google Scholar
Digital Library
- Tim Harris and Keir Fraser. Language support for lightweight transactions. In OOPSLA, Oct 2003. Google Scholar
Digital Library
- Tim Harris, Mark Plesko, Avraham Shinnar, and David Tarditi. Optimizing memory transactions. In PLDI, Jun 2006. Google Scholar
Digital Library
- Tim Harris and Srdan Stipic. Abstract nested transactions. In TRANSACT, Aug 2007.Google Scholar
- Maurice Herlihy and Eric Koskinen. Dreadlocks: Efficient deadlock detection for stm. In TRANSACT, Feb 2008.Google Scholar
- Maurice Herlihy and Eric Koskinen. Transactional boosting: amethodology for highly-concurrent transactional objects. In PPoPP, Feb 2008. Google Scholar
Digital Library
- Maurice Herlihy, Victor Luchangco, and Mark Moir. A flexible framework for implementing software transactional memory. In OOPSLA, Oct 2006. Google Scholar
Digital Library
- Maurice Herlihy and J. Eliot Moss. Transactional memory: Architectural support for lock-free data structures. In ISCA, May 1993. Google Scholar
Digital Library
- Maurice Herlihy and Jeannette M. Wing. Linearizability: A correctness condition for concurrent objects. ACM TOPLAS, 12(3):463--492, Jul 1990. Google Scholar
Digital Library
- Milind Kulkarni, Keshav Pingali, Bruce Walter, Ganesh Ramanarayanan, Kavita Bala, and L. Paul Chew. Optimistic parallelism requires abstractions. In PLDI, Jun 2007. Google Scholar
Digital Library
- Jim Larus and Ravi Rajwar. Transactional Memory. Morgan & Claypool, 2006.Google Scholar
- Nancy A. Lynch, Michael Merritt, William E. Weihl, and Alan Fekete. Atomic Transactions. Morgan Kaufmann, 1993.Google Scholar
- Virendra J. Marathe, Michael F. Spear, Christopher Heriot, Athul Acharya, David Eisenstat, William N. Scherer III, and Michael L. Scott. Lowering the overhead of nonblocking software transactional memory. In TRANSACT, Jun 2006.Google Scholar
- Chi Cao Minh, JaeWoong Chung, Christos Kozyrakis, and Kunle Olukotun. Stamp: Stanford transactional applications for multi-processing. In IEEE International Symposium on Workload Characterization (IISWC), Sep 2008.Google Scholar
- Chi Cao Minh, Martin Trautmann, JaeWoong Chung, Austen McDonald, Nathan Bronson, Jared Casper, Christos Kozyrakis, and Kunle Olukotun. An effective hybrid transactional memory system with strong isolation guarantees. In ISCA, Jun 2007.Google Scholar
Digital Library
- Michelle J. Moravan, Jayaram Bobba, Kevin E. Moore, Luke Yen,Mark D. Hill, Ben Liblit,MichaelM. Swift, and David A. Wood. Supporting nested transactional memory in Log™. In ASPLOS, Oct 2006. Google Scholar
Digital Library
- J. Eliot Moss and Antony L. Hosking. Nested transactional memory: Model and preliminary architecture sketches. In SCOOL, Oct 2005.Google Scholar
- Hany E. Ramadan, Christopher J. Rossbach, Owen Hofmann, and Emmett Witchel. Dependence-aware transactional memory. Technical Report TR-07-58, University of Texas at Austin, Computer Sciences Department, 2007.Google Scholar
- Hany E. Ramadan, Christopher J. Rossbach, and Emmett Witchel. Dependence-aware transactions for increased concurrency. In MICRO, Nov 2008. Google Scholar
Digital Library
- David P. Reed. Implementing atomic actions on decentralized data. ACM TOCS, 1(1), 1981. Google Scholar
Digital Library
- Torvald Riegel, Christof Fetzer, and Pascal Felber. Snapshot isolation for software transactional memory. In TRANSACT, Jun 2006.Google Scholar
- Torvald Riegel, Heiko Sturzrehm, Pascal Felber, and Christof Fetzer. From causal to z-linearizable transactional memory. Technical Report RR-I-07-02.1, Universite de Neuchatel, Institut d'Informatique, February 2007.Google Scholar
Digital Library
- Nir Shavit and Dan Touitou. Software transactional memory. In PODC, Aug 1995. Google Scholar
Digital Library
- Travis Skare and Christos Kozyrakis. Early release: Friend or foe? In Workshop on Transactional Memory Workloads, Jun 2006.Google Scholar
- Michael Spear, Virendra Marathe, Luke Dalessandro, and Michael Scott. Privatization techniques for software transactional memory. In PODC, Aug 2007. Google Scholar
Digital Library
Index Terms
Committing conflicting transactions in an STM
Recommendations
Committing conflicting transactions in an STM
PPoPP '09: Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programmingDependence-aware transactional memory (DATM) is a recently proposed model for increasing concurrency of memory transactions without complicating their interface. DATM manages dependences between conflicting, uncommitted transactions so that they commit ...
A versatile STM protocol with invisible read operations that satisfies the virtual world consistency condition
SIROCCO'09: Proceedings of the 16th international conference on Structural Information and Communication ComplexityThe aim of a Software Transactional Memory (STM) is to discharge the programmers from the management of synchronization in multiprocess programs that access concurrent objects. To that end, a STM system provides the programmer with the concept of a ...
Alternative Correctness Criteria for Concurrent Execution of Transactions in Multilevel Secure Databases
This paper investigates issues related to transaction concurrency control in multilevel secure databases. It demonstrates how the conflicts between the correctness requirements and the secrecy requirements can be reconciled by proposing two different ...







Comments