skip to main content
10.1145/1066650.1066660acmotherconferencesArticle/Chapter ViewAbstractPublication PageslcrConference Proceedingsconference-collections
Article

Design tradeoffs in modern software transactional memory systems

Published:22 October 2004Publication History

ABSTRACT

Software Transactional Memory (STM) is a generic non-blocking synchronization construct that enables automatic conversion of correct sequential objects into correct concurrent objects. Because it is nonblocking, STM avoids traditional performance and correctness problems due to thread failure, preemption, page faults, and priority inversion.In this paper we compare and analyze two recent object-based STM systems, the DSTM of Herlihy et al. and the FSTM of Fraser, both of which support dynamic transactions, in which the set of objects to be modified is not known in advance. We highlight aspects of these systems that lead to performance tradeoffs for various concurrent data structures. More specifically, we consider object ownership acquisition semantics, concurrent object referencing style, the overhead of ordering and bookkeeping, contention management versus helping semantics, and transaction validation. We demonstrate for each system simple benchmarks on which it outperforms the other by a significant margin. This in turn provides us with a preliminary characterization of the applications for which each system is best suited.

References

  1. J. H. Anderson and M. Moir. Universal Constructions for Large Objects. In Proceedings of the 9th International Workshop on Distributed Algorithms, pages 168--182. Springer-Verlag, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. J. H. Anderson and M. Moir. Universal Constructions for Multi-Object Operations. In Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing, pages 184--193, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. G. Barnes. A Method for Implementing Lock-Free Shared Data Structures. In Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, pages 261--270, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. C. Cole and M. P. Herlihy. Snapshots and Software Transactional Memory. In Proceedings of Workshop on Concurrency and Synchronization in Java Programs, 2004.Google ScholarGoogle Scholar
  5. K. Fraser. Practical Lock-Freedom. Technical Report UCAM-CL-TR-579, Cambridge University Computer Laboratory, February 2004.Google ScholarGoogle Scholar
  6. K. Fraser and T. Harris. Concurrent Programming without Locks. Submitted for publication.Google ScholarGoogle Scholar
  7. T. Harris and K. Fraser. Language Support for Lightweight Transactions. In Proceedings of 18th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 388--402, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. P. Herlihy, V. Luchangco, and M. Moir. Obstruction Free Synchronization: Double-Ended Queues as an Example. In Proceedings of 23rd International Conference on Distributed Computing Systems, pages 522--529, May 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. P. Herlihy, V. Luchangco, M. Moir, and W. N. Scherer III. Software Transactional Memory for Dynamic-sized Data Structures. In Proceedings of 22nd Annual ACM Symposium on Principles of Distributed Computing, July 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. P. Herlihy and J. E. B. Moss. Transactional Memory: Architectural Support for Lock-Free Data Structures. In Proceedings of the 20th Annual International Symposium on Computer Architecture, pages 289--300, May 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. P. Herlihy and J. M. 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
  12. 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
  13. D. Lea. Concurrency JSR-166 Interest Site. http://gee.cs.oswego.edu/dl/concurrency-interest/.Google ScholarGoogle Scholar
  14. V. J. Marathe and M. L. Scott. A Qualitative Survey of Modern Software Transactional Memory Systems. Technical Report TR 839, Department of Computer Science, University of Rochester, June 2004.Google ScholarGoogle Scholar
  15. W. N. Scherer III and M. L. Scott. Contention Management in Dynamic Software Transactional Memory. In Proceedings of Workshop on Concurrency and Synchronization in Java Programs, pages 70--79, 2004.Google ScholarGoogle Scholar
  16. N. Shavit and D. Touitou. Software Transactional Memory. In Proceedings of 14th Annual ACM Symposium on Principles of Distributed Computing, pages 204--213, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. M. Stone, H. S. Stone, P. Heidelberger, and J. Turek. Multiple Reservations and the Oklahoma Update. IEEE Parallel and Distributed Technology, 1(4):58--71, November 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. Turek, D. Shasha, and S. Prakash. Locking without Blocking: Making Lock Based Concurrent Data Structure Algorithms Nonblocking. In Proceedings of the 11th ACM Symposium on Principles of Database Systems, pages 212--222, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library

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 Other conferences
    LCR '04: Proceedings of the 7th workshop on Workshop on languages, compilers, and run-time support for scalable systems
    October 2004
    134 pages
    ISBN:9781450377997
    DOI:10.1145/1066650

    Copyright © 2004 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: 22 October 2004

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • Article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader