Skip to main content

Adaptive Software Transactional Memory

  • Conference paper
Distributed Computing (DISC 2005)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3724))

Included in the following conference series:

Abstract

Software Transactional Memory (STM) is a generic synchronization construct that enables automatic conversion of correct sequential objects into correct nonblocking concurrent objects. Recent STM systems, though significantly more practical than their predecessors, display inconsistent performance: differing design decisions cause different systems to perform best in different circumstances, often by dramatic margins. In this paper we consider four dimensions of the STM design space: (i) when concurrent objects are acquired by transactions for modification; (ii) how they are acquired; (iii) what they look like when not acquired; and (iv) the non-blocking semantics for transactions (lock-freedom vs. obstruction-freedom). In this 4-dimensional space we highlight the locations of two leading STM systems: the DSTM of Herlihy et al. and the OSTM of Fraser and Harris. Drawing motivation from the performance of a series of application benchmarks, we then present a new Adaptive STM (ASTM) system that adjusts to the offered workload, allowing it to match the performance of the best known existing system on every tested workload.

This work was supported in part by NSF grant numbers EIA-0080124, CCR-9988361, and CCR-0204344, by DARPA/AFRL contract number F29601-00-K-0182, and by financial and equipment grants from Sun Microsystems Laboratories.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Barnes, G.: A Method for Implementing Lock-Free Shared Data Structures. In: Proc. of the 5th Ann. ACM Symp. on Parallel Algorithms and Architectures, pp. 261–270 (1993)

    Google Scholar 

  2. Fraser, K.: Practical Lock-Freedom. Technical Report UCAM-CL-TR-579, Cambridge University Computer Laboratory (February 2004)

    Google Scholar 

  3. Fraser, K., Harris, T.: Concurrent Programming without Locks (2004) (submitted for publication)

    Google Scholar 

  4. Guerraoui, R., Herlihy, M.P., Pochon, B.: Toward a Theory of Transactional Contention Managers. In: Proc. of 24th Ann. ACM Symp. on Principles of Distributed Computing (July 2005)

    Google Scholar 

  5. Harris, T., Fraser, K.: Language Support for Lightweight Transactions. In: Proc. of 18th Ann. ACM Conf. on Object-Oriented Prog., Sys., Langs., and Apps. (October 2003)

    Google Scholar 

  6. Herlihy, M.P.: A Methodology for Implementing Highly Concurrent Data Structures. In: Proc. of the 2nd ACM Symp. on Principles & Practice of Parallel Prog. (March 1990)

    Google Scholar 

  7. Herlihy, M.P., Luchangco, V., Moir, M.: Obstruction Free Synchronization: Double-Ended Queues as an Example. In: Proc. of 23rd Intl. Conf. on Distributed Computing Sys., May 2003, pp. 522–529 (2003)

    Google Scholar 

  8. Herlihy, M.P., Luchangco, V., Moir, M., Scherer III, W.N.: Software Transactional Memory for Dynamic-sized Data Structures. In: Proc. of 22nd Ann. ACM Symp. on Principles of Distributed Computing (July 2003)

    Google Scholar 

  9. Herlihy, M.P., Moss, J.E.B.: Transactional Memory: Architectural Support for Lock-Free Data Structures. In: Proc. of the 20th Ann. Intl. Symp. on Computer Architecture, May 1993, pp. 289–300 (1993)

    Google Scholar 

  10. Herlihy, M.P., Wing, J.M.: Linearizability: a Correctness Condition for Concurrent Objects. ACM Trans. on Prog. Langs. and Sys. 12(3), 463–492 (1990)

    Article  Google Scholar 

  11. Israeli, A., Rappoport, L.: Disjoint-Access-Parallel Implementations of Strong Shared Memory Primitives. In: Proc. of the 13th Ann. ACM Symp. on Principles of Distributed Computing, pp. 151–160 (1994)

    Google Scholar 

  12. Lea, D.: Concurrency JSR-166 Interest Site, http://gee.cs.oswego.edu/dl/concurrency-interest/

  13. Marathe, V.J., Scherer III, W.N., Scott, M.L.: Design Tradeoffs in Modern Software Transactional Memory Systems. In: Proc. of 14th Workshop on Langs., Compilers, and Run-time Support for Scalable Sys. (October 2004)

    Google Scholar 

  14. Marathe, V.J., Scherer III, W.N., Scott, M.L.: Adaptive Software Transactional Memory. Technical Report TR 868, Dept. of Computer Science, University of Rochester (May 2005)

    Google Scholar 

  15. Moir, M.: Transparent Support for Wait-Free Transactions. In: Mavronicolas, M. (ed.) WDAG 1997. LNCS, vol. 1320, pp. 305–319. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  16. Robinson, J.T., Devarakonda, M.V.: Data Cache Management Using Frequency-Based Replacement. In: Proc. of the 1990 ACM SIGMETRICS Conf. on Measurement and Modeling of Computer Sys., pp. 134–142 (1990)

    Google Scholar 

  17. Scherer III, W.N., Scott, M.L.: Contention Management in Dynamic Software Transactional Memory. In: Proc. of Workshop on Concurrency and Synchronization in Java Progs., July 2004, pp. 70–79 (2004)

    Google Scholar 

  18. Scherer III, W.N., Scott, M.L.: Advanced Contention Management in Dynamic Software Transactional Memory. In: Proc. of 24th Ann. ACM Symp. on Principles of Distributed Computing (July 2005)

    Google Scholar 

  19. Shavit, N., Touitou, D.: Software Transactional Memory. In: Proc. of 14th Ann. ACM Symp. on Principles of Distributed Computing, August 1995, pp. 204–213 (1995)

    Google Scholar 

  20. Stone, J.M., Stone, H.S., Heidelberger, P., Turek, J.: Multiple Reservations and the Oklahoma Update. IEEE Parallel and Distributed Technology 1(4), 58–71 (1993)

    Article  Google Scholar 

  21. Turek, J., Shasha, D., Prakash, S.: Locking without Blocking: Making Lock Based Concurrent Data Structure Algorithms Nonblocking. In: Proc. of the 11th ACM Symp. on Principles of Database Sys., pp. 212–222 (1992)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Marathe, V.J., Scherer, W.N., Scott, M.L. (2005). Adaptive Software Transactional Memory. In: Fraigniaud, P. (eds) Distributed Computing. DISC 2005. Lecture Notes in Computer Science, vol 3724. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11561927_26

Download citation

  • DOI: https://doi.org/10.1007/11561927_26

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-29163-3

  • Online ISBN: 978-3-540-32075-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics