Advertisement

Adaptive Software Transactional Memory

  • Virendra J. Marathe
  • William N. SchererIII
  • Michael L. Scott
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3724)

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.

Keywords

Early Release Incremental Validation Indirection Object Read Mode Space Overhead 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 2.
    Fraser, K.: Practical Lock-Freedom. Technical Report UCAM-CL-TR-579, Cambridge University Computer Laboratory (February 2004)Google Scholar
  3. 3.
    Fraser, K., Harris, T.: Concurrent Programming without Locks (2004) (submitted for publication)Google Scholar
  4. 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. 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. 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. 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. 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. 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. 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)CrossRefGoogle Scholar
  11. 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. 12.
    Lea, D.: Concurrency JSR-166 Interest Site, http://gee.cs.oswego.edu/dl/concurrency-interest/
  13. 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. 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. 15.
    Moir, M.: Transparent Support for Wait-Free Transactions. In: Mavronicolas, M. (ed.) WDAG 1997. LNCS, vol. 1320, pp. 305–319. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  16. 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. 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. 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. 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. 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)CrossRefGoogle Scholar
  21. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Virendra J. Marathe
    • 1
  • William N. SchererIII
    • 1
  • Michael L. Scott
    • 1
  1. 1.Department of Computer ScienceUniversity of RochesterRochesterUSA

Personalised recommendations