skip to main content
10.1145/872035.872048acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
Article

Software transactional memory for dynamic-sized data structures

Published:13 July 2003Publication History

ABSTRACT

We propose a new form of software transactional memory (STM) designed to support dynamic-sized data structures, and we describe a novel non-blocking implementation. The non-blocking property we consider is obstruction-freedom. Obstruction-freedom is weaker than lock-freedom; as a result, it admits substantially simpler and more efficient implementations. A novel feature of our obstruction-free STM implementation is its use of modular contention managers to ensure progress in practice. We illustrate the utility of our dynamic STM with a straightforward implementation of an obstruction-free red-black tree, thereby demonstrating a sophisticated non-blocking dynamic data structure that would be difficult to implement by other means. We also present the results of simple preliminary performance experiments that demonstrate that an "early release" feature of our STM is useful for reducing contention, and that our STM lends itself to the effective use of modular contention managers.

References

  1. Java Specification Request for Concurrent Utilities (JSR166). http://jcp.org.Google ScholarGoogle Scholar
  2. Sun Microsystems Laboratories Scalable Synchronization Research Group publications page. http://research.sun.com/scalable/pubs.Google ScholarGoogle Scholar
  3. Y. Afek, D. Dauber, and D. Touitou. Wait-free made fast. In Proceedings of the 27th Annual ACM Symposium on Theory of Computing, pages 538--547, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. G. Barnes. A method for implementing lock-free shared data structures. In Proceedings of the Fifth Annual ACM Symposium on Parallel Algorithms and Architectures, pages 261--270, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. R. Bayer and M. Schkolnick. Concurrency of operations on B-trees. Acta Informatica, 9:1--21, 1977.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. McGraw-Hill, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Herlihy, V. Luchangco, and M. Moir. Obstruction-free synchronization: Double-ended queues as an example. In Proceedings of the 23rd International Conference on Distributed Computing Systems, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Herlihy and J. Moss. Transactional memory: Architectural support for lock-free data structures. In Proceedings of the 20th International Symposium in Computer Architecture, pages 289--300, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. Herlihy and J. Wing. Linearizability: A correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems, 12(3):463--492, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Israeli and L. Rappoport. Disjoint-access-parallel implementations of strong shared memory primitives. In Proceedings of the 13th Annual ACM Symposium on Principles of Distributed Computing, pages 151--160, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. V. Luchangco, M. Moir, and N. Shavit. Nonblocking k-compare-single-swap. In Proceedings of the 15th Annual ACM Sympoium on Parallel Architecures and Algorithms, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Michael and M. Scott. Nonblocking algorithms and preemption-safe locking on multiprogrammed shared memory multiprocessors. Journal of Parallel and Distributed Computing, 51(1):1--26, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Moir. Transparent support for wait-free transactions. In Proceedings of the 11th International Workshop on Distributed Algorithms, pages 305--319, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. N. Shavit and D. Touitou. Software transactional memory. Distributed Computing, Special Issue(10):99--116, 1997.Google ScholarGoogle Scholar
  15. J. Turek, D. Shasha, and S. Prakash. Locking without blocking: making lock based concurrent data structure algorithms nonblocking. In Proceedings of the eleventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems, pages 212--222, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Software transactional memory for dynamic-sized data structures

        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
        • Published in

          cover image ACM Conferences
          PODC '03: Proceedings of the twenty-second annual symposium on Principles of distributed computing
          July 2003
          380 pages
          ISBN:1581137087
          DOI:10.1145/872035

          Copyright © 2003 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 13 July 2003

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          PODC '03 Paper Acceptance Rate51of226submissions,23%Overall Acceptance Rate740of2,477submissions,30%

          Upcoming Conference

          PODC '24

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader