skip to main content
research-article

Committing conflicting transactions in an STM

Published:14 February 2009Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. Utku Aydonat and Tarek Abdelrahman. Serializability of transactions in software transactional memory. In TRANS-ACT, Feb 2008.Google ScholarGoogle Scholar
  3. Philip Bernstein, Vassos Hadzilacos, and Nathan Goodman. Concurrency Control and Recovery in Database Systems. Addison Wesley, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Charles T. Davies. Data processing spheres of control. IBM Systems Journal, 17(2), 1978.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Dave Dice, Ori Shalev, and Nir Shavit. Transactional locking II. In DISC, Sep 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Dave Dice and Nir Shavit. What really makes transactions faster? In TRANSACT, Jun 2006.Google ScholarGoogle Scholar
  7. Aleksandar Dragojevic, Rachid Guerraoui, and Michal Kapalka. Dividing Transactional Memories by Zero. In TRANSACT, Feb 2008.Google ScholarGoogle Scholar
  8. Jim Gray and Andreas Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Rachid Guerraoui, Michal Kapalka, and Jan Vitek. Stmbench7: A benchmark for software transactional memory. In EuroSys, Mar 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Tim Harris and Keir Fraser. Language support for lightweight transactions. In OOPSLA, Oct 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Tim Harris, Mark Plesko, Avraham Shinnar, and David Tarditi. Optimizing memory transactions. In PLDI, Jun 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Tim Harris and Srdan Stipic. Abstract nested transactions. In TRANSACT, Aug 2007.Google ScholarGoogle Scholar
  13. Maurice Herlihy and Eric Koskinen. Dreadlocks: Efficient deadlock detection for stm. In TRANSACT, Feb 2008.Google ScholarGoogle Scholar
  14. Maurice Herlihy and Eric Koskinen. Transactional boosting: amethodology for highly-concurrent transactional objects. In PPoPP, Feb 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Maurice Herlihy, Victor Luchangco, and Mark Moir. A flexible framework for implementing software transactional memory. In OOPSLA, Oct 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Maurice Herlihy and J. Eliot Moss. Transactional memory: Architectural support for lock-free data structures. In ISCA, May 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Maurice Herlihy and Jeannette M. Wing. Linearizability: A correctness condition for concurrent objects. ACM TOPLAS, 12(3):463--492, Jul 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Milind Kulkarni, Keshav Pingali, Bruce Walter, Ganesh Ramanarayanan, Kavita Bala, and L. Paul Chew. Optimistic parallelism requires abstractions. In PLDI, Jun 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Jim Larus and Ravi Rajwar. Transactional Memory. Morgan & Claypool, 2006.Google ScholarGoogle Scholar
  20. Nancy A. Lynch, Michael Merritt, William E. Weihl, and Alan Fekete. Atomic Transactions. Morgan Kaufmann, 1993.Google ScholarGoogle Scholar
  21. 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 ScholarGoogle Scholar
  22. 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 ScholarGoogle Scholar
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. J. Eliot Moss and Antony L. Hosking. Nested transactional memory: Model and preliminary architecture sketches. In SCOOL, Oct 2005.Google ScholarGoogle Scholar
  26. 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 ScholarGoogle Scholar
  27. Hany E. Ramadan, Christopher J. Rossbach, and Emmett Witchel. Dependence-aware transactions for increased concurrency. In MICRO, Nov 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. David P. Reed. Implementing atomic actions on decentralized data. ACM TOCS, 1(1), 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Torvald Riegel, Christof Fetzer, and Pascal Felber. Snapshot isolation for software transactional memory. In TRANSACT, Jun 2006.Google ScholarGoogle Scholar
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. Nir Shavit and Dan Touitou. Software transactional memory. In PODC, Aug 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Travis Skare and Christos Kozyrakis. Early release: Friend or foe? In Workshop on Transactional Memory Workloads, Jun 2006.Google ScholarGoogle Scholar
  33. Michael Spear, Virendra Marathe, Luke Dalessandro, and Michael Scott. Privatization techniques for software transactional memory. In PODC, Aug 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Committing conflicting transactions in an STM

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 44, Issue 4
          PPoPP '09
          April 2009
          294 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/1594835
          Issue’s Table of Contents
          • cover image ACM Conferences
            PPoPP '09: Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming
            February 2009
            322 pages
            ISBN:9781605583976
            DOI:10.1145/1504176

          Copyright © 2009 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 14 February 2009

          Check for updates

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!