Abstract
Transactional memory (TM) is a promising paradigm for concurrent programming. This paper is an overview of our recent theoretical work on defining a theory of TM. We first recall some TM correctness properties and then overview results on the inherent power and limitations of TMs.
Chapter PDF
References
Herlihy, M., Moss, J.E.B.: Transactional memory: Architectural support for lock-free data structures. In: ISCA (1993)
Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Francisco (1992)
Shavit, N., Touitou, D.: Software transactional memory. In: PODC (1995)
Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N.: Software transactional memory for dynamic-sized data structures. In: PODC (2003)
Maranthe, V.J., Scherer III, W.N., Scott, M.L.: Adaptive software transactional memory. In: Fraigniaud, P. (ed.) DISC 2005. LNCS, vol. 3724, pp. 354–368. Springer, Heidelberg (2005)
Cachopo, J., Rito-Silva, A.: Versioned boxes as the basis for memory transactions. In: SCOOL (2005)
Marathe, V.J., Spear, M.F., Heriot, C., Acharya, A., Eisenstat, D., Scherer III, W.N., Scott, M.L.: Lowering the overhead of software transactional memory. In: TRANSACT (2006)
Harris, T., Plesko, M., Shinnar, A., Tarditi, D.: Optimizing memory transactions. In: PLDI (2006)
Spear, M.F., Marathe, V.J., Scherer III, W.N., Scott, M.L.: Conflict detection and validation strategies for software transactional memory. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 179–193. Springer, Heidelberg (2006)
Herlihy, M., Moir, M., Luchangco, V.: A flexible framework for implementing software transactional memory. In: OOPSLA (2006)
Riegel, T., Felber, P., Fetzer, C.: A lazy snapshot algorithm with eager validation. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 284–298. Springer, Heidelberg (2006)
Adl-Tabatabai, A.R., Lewis, B.T., Menon, V., Murphy, B.R., Saha, B., Shpeisman, T.: Compiler and runtime support for efficient software transactional memory. In: PLDI (2006)
Shpeisman, T., Menon, V., Adl-Tabatabai, A.R., Balensiefer, S., Grossman, D., Hudson, R.L., Moore, K.F., Saha, B.: Enforcing isolation and ordering in STM. In: PLDI (2007)
Felber, P., Riegel, T., Fetzer, C.: Dynamic performance tuning of word-based software transactional memory. In: PPoPP (2008)
Gramoli, V., Harmanci, D., Felber, P.: Toward a theory of input acceptance for transactional memories. In: OPODIS (2008)
Dragojević, A., Singh, A.V., Guerraoui, R., Singh, V.: Preventing versus curing: Avoiding conflicts in transactional memories. In: PODC (2009)
Guerraoui, R., Kapałka, M.: On the correctness of transactional memory. In: PPoPP (2008)
Guerraoui, R., Kapałka, M.: On obstruction-free transactions. In: SPAA (2008)
Guerraoui, R., Kapałka, M.: The semantics of progress in lock-based transactional memory. In: POPL (2009)
Herlihy, M.: SXM software transactional memory package for C#, http://www.cs.brown.edu/~mph
Dice, D., Shalev, O., Shavit, N.: Transactional locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194–208. Springer, Heidelberg (2006)
Guerraoui, R., Henzinger, T.A., Singh, V.: Permissiveness in transactional memories. In: Taubenfeld, G. (ed.) DISC 2008. LNCS, vol. 5218. Springer, Heidelberg (2008)
Raynal, M., Imbs, D.: An STM lock-based protocol that satisfies opacity and progressiveness. In: OPODIS (2008)
Dragojević, A., Guerraoui, R., Kapałka, M.: Stretching transactional memory. In: PLDI (2009)
Herlihy, M.: Wait-free synchronization. ACM Transactions on Programming Languages and Systems 13(1), 124–149 (1991)
Jayanti, P.: Robust wait-free hierarchies. Journal of the ACM 44(4), 592–614 (1997)
Herlihy, M., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems 12(3), 463–492 (1990)
Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. Journal of the ACM 32(3), 374–382 (1985)
Weihl, W.E.: Local atomicity properties: Modular concurrency control for abstract data types. ACM Transactions on Programming Languages and Systems 11(2), 249–282 (1989)
Attiya, H., Guerraoui, R., Kouznetsov, P.: Computing with reads and writes in the absence of step contention. In: Fraigniaud, P. (ed.) DISC 2005. LNCS, vol. 3724, pp. 122–136. Springer, Heidelberg (2005)
Israeli, A., Rappoport, L.: Disjoint-access-parallel implementations of strong shared memory primitives. In: PODC (1994)
Eswaran, K.P., Gray, J.N., Lorie, R.A., Traiger, I.L.: The notions of consistency and predicate locks in a database system. Commun. ACM 19(11), 624–633 (1976)
Dice, D., Shavit, N.: What really makes transactions fast? In: TRANSACT (2006)
Blundell, C., Lewis, E.C., Martin, M.M.K.: Subtleties of transactional memory atomicity semantics. IEEE Computer Architecture Letters 5(2) (2006)
Scott, M.L., Scherer III, W.N.: Scalable queue-based spin locks with timeout. In: PPoPP (2001)
Raynal, M.: Algorithms for Mutual Exclusion. MIT Press, Cambridge (1986)
Papadimitriou, C.H.: The serializability of concurrent database updates. Journal of the ACM 26(4), 631–653 (1979)
Bernstein, P.A., Goodman, N.: Multiversion concurrency control—theory and algorithms. ACM Transactions on Database Systems 8(4), 465–483 (1983)
Guerraoui, R., Henzinger, T., Jobstmann, B., Singh, V.: Model checking transactional memories. In: PLDI (2008)
Guerraoui, R., Henzinger, T.A., Singh, V.: Completeness and nondeterminism in model checking transactional memorie. In: van Breugel, F., Chechik, M. (eds.) CONCUR 2008. LNCS, vol. 5201, pp. 21–35. Springer, Heidelberg (2008)
O’Leary, J., Saha, B., Tuttle, M.R.: Model checking transactional memory with Spin. In: ICDCS (2009)
Vitek, J., Jagannathan, S., Welc, A., Hosking, A.: A semantic framework for designer transactions. In: Schmidt, D. (ed.) ESOP 2004. LNCS, vol. 2986, pp. 249–263. Springer, Heidelberg (2004)
Jagannathan, S., Vitek, J., Welc, A., Hosking, A.: A transactional object calculus. Science of Computer Programming 57(2), 164–186 (2005)
Abadi, M., Birrell, A., Harris, T., Isard, M.: Semantics of transactional memory and automatic mutual exclusion. In: POPL (2008)
Moore, K.F., Grossman, D.: High-level small-step operational semantics for transactions. In: POPL (2008)
Menon, V., Balensiefer, S., Shpeisman, T., Adl-Tabatabai, A.R., Hudson, R.L., Saha, B., Welc, A.: Practical weak-atomicity semantics for Java STM. In: SPAA (2008)
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
Guerraoui, R., Kapałka, M. (2009). Transactional Memory: Glimmer of a Theory. In: Bouajjani, A., Maler, O. (eds) Computer Aided Verification. CAV 2009. Lecture Notes in Computer Science, vol 5643. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02658-4_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-02658-4_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02657-7
Online ISBN: 978-3-642-02658-4
eBook Packages: Computer ScienceComputer Science (R0)