Transactional Memory: Glimmer of a Theory

(Invited Paper)
  • Rachid Guerraoui
  • Michał Kapałka
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5643)


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.


Base Object Mutual Exclusion Transactional Memory Sequential History Operation Execution 
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.


  1. 1.
    Herlihy, M., Moss, J.E.B.: Transactional memory: Architectural support for lock-free data structures. In: ISCA (1993)Google Scholar
  2. 2.
    Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Francisco (1992)zbMATHGoogle Scholar
  3. 3.
    Shavit, N., Touitou, D.: Software transactional memory. In: PODC (1995)Google Scholar
  4. 4.
    Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N.: Software transactional memory for dynamic-sized data structures. In: PODC (2003)Google Scholar
  5. 5.
    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)CrossRefGoogle Scholar
  6. 6.
    Cachopo, J., Rito-Silva, A.: Versioned boxes as the basis for memory transactions. In: SCOOL (2005)Google Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    Harris, T., Plesko, M., Shinnar, A., Tarditi, D.: Optimizing memory transactions. In: PLDI (2006)Google Scholar
  9. 9.
    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)CrossRefGoogle Scholar
  10. 10.
    Herlihy, M., Moir, M., Luchangco, V.: A flexible framework for implementing software transactional memory. In: OOPSLA (2006)Google Scholar
  11. 11.
    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)CrossRefGoogle Scholar
  12. 12.
    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)Google Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    Felber, P., Riegel, T., Fetzer, C.: Dynamic performance tuning of word-based software transactional memory. In: PPoPP (2008)Google Scholar
  15. 15.
    Gramoli, V., Harmanci, D., Felber, P.: Toward a theory of input acceptance for transactional memories. In: OPODIS (2008)Google Scholar
  16. 16.
    Dragojević, A., Singh, A.V., Guerraoui, R., Singh, V.: Preventing versus curing: Avoiding conflicts in transactional memories. In: PODC (2009)Google Scholar
  17. 17.
    Guerraoui, R., Kapałka, M.: On the correctness of transactional memory. In: PPoPP (2008)Google Scholar
  18. 18.
    Guerraoui, R., Kapałka, M.: On obstruction-free transactions. In: SPAA (2008)Google Scholar
  19. 19.
    Guerraoui, R., Kapałka, M.: The semantics of progress in lock-based transactional memory. In: POPL (2009)Google Scholar
  20. 20.
    Herlihy, M.: SXM software transactional memory package for C#,
  21. 21.
    Dice, D., Shalev, O., Shavit, N.: Transactional locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194–208. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  22. 22.
    Guerraoui, R., Henzinger, T.A., Singh, V.: Permissiveness in transactional memories. In: Taubenfeld, G. (ed.) DISC 2008. LNCS, vol. 5218. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  23. 23.
    Raynal, M., Imbs, D.: An STM lock-based protocol that satisfies opacity and progressiveness. In: OPODIS (2008)Google Scholar
  24. 24.
    Dragojević, A., Guerraoui, R., Kapałka, M.: Stretching transactional memory. In: PLDI (2009)Google Scholar
  25. 25.
    Herlihy, M.: Wait-free synchronization. ACM Transactions on Programming Languages and Systems 13(1), 124–149 (1991)CrossRefGoogle Scholar
  26. 26.
    Jayanti, P.: Robust wait-free hierarchies. Journal of the ACM 44(4), 592–614 (1997)MathSciNetCrossRefzbMATHGoogle Scholar
  27. 27.
    Herlihy, M., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems 12(3), 463–492 (1990)CrossRefGoogle Scholar
  28. 28.
    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)MathSciNetCrossRefzbMATHGoogle Scholar
  29. 29.
    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)CrossRefGoogle Scholar
  30. 30.
    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)CrossRefGoogle Scholar
  31. 31.
    Israeli, A., Rappoport, L.: Disjoint-access-parallel implementations of strong shared memory primitives. In: PODC (1994)Google Scholar
  32. 32.
    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)MathSciNetCrossRefzbMATHGoogle Scholar
  33. 33.
    Dice, D., Shavit, N.: What really makes transactions fast? In: TRANSACT (2006)Google Scholar
  34. 34.
    Blundell, C., Lewis, E.C., Martin, M.M.K.: Subtleties of transactional memory atomicity semantics. IEEE Computer Architecture Letters 5(2) (2006)Google Scholar
  35. 35.
    Scott, M.L., Scherer III, W.N.: Scalable queue-based spin locks with timeout. In: PPoPP (2001)Google Scholar
  36. 36.
    Raynal, M.: Algorithms for Mutual Exclusion. MIT Press, Cambridge (1986)zbMATHGoogle Scholar
  37. 37.
    Papadimitriou, C.H.: The serializability of concurrent database updates. Journal of the ACM 26(4), 631–653 (1979)MathSciNetCrossRefzbMATHGoogle Scholar
  38. 38.
    Bernstein, P.A., Goodman, N.: Multiversion concurrency control—theory and algorithms. ACM Transactions on Database Systems 8(4), 465–483 (1983)MathSciNetCrossRefzbMATHGoogle Scholar
  39. 39.
    Guerraoui, R., Henzinger, T., Jobstmann, B., Singh, V.: Model checking transactional memories. In: PLDI (2008)Google Scholar
  40. 40.
    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)CrossRefGoogle Scholar
  41. 41.
    O’Leary, J., Saha, B., Tuttle, M.R.: Model checking transactional memory with Spin. In: ICDCS (2009)Google Scholar
  42. 42.
    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)CrossRefGoogle Scholar
  43. 43.
    Jagannathan, S., Vitek, J., Welc, A., Hosking, A.: A transactional object calculus. Science of Computer Programming 57(2), 164–186 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  44. 44.
    Abadi, M., Birrell, A., Harris, T., Isard, M.: Semantics of transactional memory and automatic mutual exclusion. In: POPL (2008)Google Scholar
  45. 45.
    Moore, K.F., Grossman, D.: High-level small-step operational semantics for transactions. In: POPL (2008)Google Scholar
  46. 46.
    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)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Rachid Guerraoui
    • 1
  • Michał Kapałka
    • 1
  1. 1.EPFLSwitzerland

Personalised recommendations