Skip to main content

Perspectives on Transactional Memory

  • Conference paper
CONCUR 2009 - Concurrency Theory (CONCUR 2009)

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

Included in the following conference series:

Abstract

We examine the role of transactional memory from two perspectives: that of a programming language with atomic actions and that of implementations of the language. We argue that it is difficult to formulate a clean, separate, and generally useful definition of transactional memory. In both programming-language semantics and implementations, the treatment of atomic actions benefits from being combined with that of other language features. In this respect (as in many others), transactional memory is analogous to garbage collection, which is often coupled with other parts of language runtime systems.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. Abadi, M., Birrell, A., Harris, T., Hsieh, J., Isard, M.: Dynamic separation for transactional memory. Technical Report MSR-TR-2008-43, Microsoft Research (March 2008)

    Google Scholar 

  2. Abadi, M., et al.: Implementation and use of transactional memory with dynamic separation. In: de Moor, O., Schwartzbach, M.I. (eds.) CC 2009. LNCS, vol. 5501, pp. 63–77. Springer, Heidelberg (2009)

    Google Scholar 

  3. Abadi, M., Birrell, A., Harris, T., Isard, M.: Semantics of transactional memory and automatic mutual exclusion. In: POPL 2008: Proc. 35th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 2008, pp. 63–74 (2008)

    Google Scholar 

  4. Abadi, M., Harris, T., Mehrara, M.: Transactional memory with strong atomicity using off-the-shelf memory protection hardware. In: PPoPP 2009: Proc. 14th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, February 2009, pp. 185–196 (2009)

    Google Scholar 

  5. Abadi, M., Harris, T., Moore, K.F.: A model of dynamic separation for transactional memory. In: van Breugel, F., Chechik, M. (eds.) CONCUR 2008. LNCS, vol. 5201, pp. 6–20. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  6. Abadi, M., Plotkin, G.D.: A model of cooperative threads. In: POPL 2009: Proc. 36th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 2009, pp. 29–40 (2009)

    Google Scholar 

  7. Blundell, C., Lewis, E.C., Martin, M.M.K.: Deconstructing transactional semantics: The subtleties of atomicity. In: WDDD 2005: Proc. 4th Workshop on Duplicating, Deconstructing and Debunking, June 2005, pp. 48–55 (2005)

    Google Scholar 

  8. Bronson, N.G., Kozyrakis, C., Olukotun, K.: Feedback-directed barrier optimization in a strongly isolated STM. In: POPL 2009: Proc. 36th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 2009, pp. 213–225 (2009)

    Google Scholar 

  9. Cohen, A., O’Leary, J.W., Pnueli, A., Tuttle, M.R., Zuck, L.D.: Verifying correctness of transactional memories. In: FMCAD 2007: Proc. 7th International Conference on Formal Methods in Computer-Aided Design, November 2007, pp. 37–44 (2007)

    Google Scholar 

  10. Dalessandro, L., Scott, M.L.: Strong isolation is a weak idea. In: TRANSACT 2009: 4th ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing (February 2009)

    Google Scholar 

  11. Detlefs, D., Nandivada, V.K.: Compile-time concurrent marking write barrier removal. Technical Report SMLI-TR-2004-142, Sun Microsystems (December 2004)

    Google Scholar 

  12. Dice, D., Shalev, O., Shavit, N.N.: Transactional locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194–208. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  13. Dice, D., Shavit, N.: What really makes transactions faster? In: TRANSACT 2006, 1st ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing (June 2006)

    Google Scholar 

  14. Grossman, D.: The transactional memory / garbage collection analogy. In: OOPSLA 2007: Proc. 22nd ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications, October 2007, pp. 695–706 (2007)

    Google Scholar 

  15. Grossman, D., Manson, J., Pugh, W.: What do high-level memory models mean for transactions? In: MSPC 2006: Proc. 2006 Workshop on Memory System Performance and Correctness, October 2006, pp. 62–69 (2006)

    Google Scholar 

  16. Guerraoui, R., Henzinger, T.A., Singh, V.: Completeness and nondeterminism in model checking transactional memories. In: van Breugel, F., Chechik, M. (eds.) CONCUR 2008. LNCS, vol. 5201, pp. 21–35. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  17. Guerraoui, R., Henzinger, T.A., Singh, V.: Permissiveness in transactional memories. In: Taubenfeld, G. (ed.) DISC 2008. LNCS, vol. 5218, pp. 305–319. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  18. Guerraoui, R., Henzinger, T., Singh, V.: Model checking transactional memories. In: PLDI 2008: Proc. 2008 ACM SIGPLAN Conference on Programming Language Design and Implementation, June 2008, pp. 372–382 (2008)

    Google Scholar 

  19. Guerraoui, R., Kapałka, M.: On the correctness of transactional memory. In: PPoPP 2008: Proc. 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, February 2008, pp. 175–184 (2008)

    Google Scholar 

  20. Harris, T., Marlow, S., Peyton Jones, S., Herlihy, M.: Composable memory transactions. In: PPoPP 2005: Proc. 10th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, June 2005, pp. 48–60 (2005)

    Google Scholar 

  21. Herlihy, M., Moss, J.E.B.: Transactional memory: Architectural support for lock-free data structures. In: ISCA 1993: Proc. 20th International Symposium on Computer Architecture, May 1993, pp. 289–301 (1993)

    Google Scholar 

  22. Jagannathan, S., Vitek, J., Welc, A., Hosking, A.: A transactional object calculus. Sci. Comput. Program. 57(2), 164–186 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  23. Kermany, H., Petrank, E.: The compressor: concurrent, incremental, and parallel compaction. In: PLDI 2006: Proc. 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation, June 2006, pp. 354–363 (2006)

    Google Scholar 

  24. Menon, V., Balensiefer, S., Shpeisman, T., Adl-Tabatabai, A.-R., Hudson, R., Saha, B., Welc, A.: Practical weak-atomicity semantics for Java STM. In: SPAA 2008: Proc. 20th Symposium on Parallelism in Algorithms and Architectures, June 2008, pp. 314–325 (2008)

    Google Scholar 

  25. Moore, K.F., Grossman, D.: High-level small-step operational semantics for transactions. In: POPL 2008: Proc. 35th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 2008, pp. 51–62 (2008)

    Google Scholar 

  26. Oancea, C.E., Mycroft, A., Harris, T.: A lightweight in-place implementation for software thread-level speculation. In: SPAA 2009: Proc. 21st ACM Symposium on Parallelism in Algorithms and Architectures (August 2009)

    Google Scholar 

  27. Saha, B., Adl-Tabatabai, A.-R., Jacobson, Q.: Architectural support for software transactional memory. In: MICRO 2006: Proc. 39th IEEE/ACM International Symposium on Microarchitecture, June 2006, pp. 185–196 (2006)

    Google Scholar 

  28. Schneider, F.T., Menon, V., Shpeisman, T., Adl-Tabatabai, A.-R.: Dynamic optimization for efficient strong atomicity. In: OOPSLA 2008: Proc. 23rd ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications, October 2008, pp. 181–194 (2008)

    Google Scholar 

  29. Scott, M.L.: Sequential specification of transactional memory semantics. In: TRANSACT 2006: 1st ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing (June 2006)

    Google Scholar 

  30. Shriraman, A., Dwarkadas, S., Scott, M.L.: Flexible decoupled transactional memory support. In: ISCA 2008: Proc. 35th International Symposium on Computer Architecture, June 2008, pp. 139–150 (2008)

    Google Scholar 

  31. Spear, M.F., Marathe, V.J., Dalessandro, L., Scott, M.L.: Privatization techniques for software transactional memory. Technical Report 915, CS Dept, U. Rochester (February 2007)

    Google Scholar 

  32. Tasiran, S.: A compositional method for verifying software transactional memory implementations. Technical Report MSR-TR-2008-56, Microsoft Research (April 2008)

    Google Scholar 

  33. Vechev, M.T., Bacon, D.F.: Write barrier elision for concurrent garbage collectors. In: ISMM 2004: Proc. 4th International Symposium on Memory Management, October 2004, pp. 13–24 (2004)

    Google Scholar 

  34. Wang, C., Chen, W.-Y., Wu, Y., Saha, B., Adl-Tabatabai, A.-R.: Code generation and optimization for transactional memory constructs in an unmanaged language. In: CGO 2007, International Symposium on Code Generation and Optimization, March 2007, pp. 34–48 (2007)

    Google Scholar 

  35. Wegiel, M., Krintz, C.: The mapping collector: virtual memory support for generational, parallel, and concurrent compaction. In: ASPLOS 2008: Proc. 13th International Conference on Architectural Support for Programming Languages and Operating Systems, March 2008, pp. 91–102 (2008)

    Google Scholar 

  36. Winskel, G.: The Formal Semantics of Programming Languages. MIT Press, Cambridge (1993)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Abadi, M., Harris, T. (2009). Perspectives on Transactional Memory. In: Bravetti, M., Zavattaro, G. (eds) CONCUR 2009 - Concurrency Theory. CONCUR 2009. Lecture Notes in Computer Science, vol 5710. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04081-8_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-04081-8_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-04080-1

  • Online ISBN: 978-3-642-04081-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics