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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Detlefs, D., Nandivada, V.K.: Compile-time concurrent marking write barrier removal. Technical Report SMLI-TR-2004-142, Sun Microsystems (December 2004)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Jagannathan, S., Vitek, J., Welc, A., Hosking, A.: A transactional object calculus. Sci. Comput. Program. 57(2), 164–186 (2005)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Tasiran, S.: A compositional method for verifying software transactional memory implementations. Technical Report MSR-TR-2008-56, Microsoft Research (April 2008)
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)
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)
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)
Winskel, G.: The Formal Semantics of Programming Languages. MIT Press, Cambridge (1993)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)