Progressive Transactional Memory in Time and Space

  • Petr Kuznetsov
  • Srivatsan RaviEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9251)


Transactional memory (TM) allows concurrent processes to organize sequences of operations on shared data items into atomic transactions. A transaction may commit, in which case it appears to have executed sequentially or it may abort, in which case no data item is updated.

The TM programming paradigm emerged as an alternative to conventional fine-grained locking techniques, offering ease of programming and compositionality. Though typically themselves implemented using locks, TMs hide the inherent issues of lock-based synchronization behind a nice transactional programming interface.

In this paper, we explore inherent time and space complexity of lock-based TMs, with a focus of the most popular class of progressive lock-based TMs. We derive that a progressive TM might enforce a read-only transaction to perform a quadratic (in the number of the data items it reads) number of steps and access a linear number of distinct memory locations, closing the question of inherent cost of read validation in TMs. We then show that the total number of remote memory references (RMRs) that take place in an execution of a progressive TM in which n concurrent processes perform transactions on a single data item might reach \(\varOmega (n \log n)\), which appears to be the first RMR complexity lower bound for transactional memory.


Transactional memory Mutual exclusion Step complexity 


  1. 1.
    Alistarh, D., Aspnes, J., Gilbert, S., Guerraoui, R.: The complexity of renaming. In: IEEE 52nd Annual Symposium on Foundations of Computer Science, FOCS 2011, 22–25 October, 2011, pp. 718–727, Palm Springs, CA, USA (2011)Google Scholar
  2. 2.
    Anderson, T.E.: The performance of spin lock alternatives for shared-memory multiprocessors. IEEE Trans. Parallel Distrib. Syst. 1(1), 6–16 (1990)CrossRefGoogle Scholar
  3. 3.
    Attiya, H., Hendler, D., Woelfel, P.: Tight RMR lower bounds for mutual exclusion and other problems. In: Proceedings of the Twenty-seventh ACM Symposium on Principles of Distributed Computing, PODC 2008, pp. 447–447, New York, NY, USA. ACM (2008)Google Scholar
  4. 4.
    Attiya, H., Hillel, E.: The cost of privatization in software transactional memory. IEEE Trans. Comput. 62(12), 2531–2543 (2013)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Attiya, H., Hillel, E., Milani, A.: Inherent limitations on disjoint-access parallel implementations of transactional memory. Theory Comput. Syst. 49(4), 698–719 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Dalessandro, L., Spear, M.F., Scott, M.L.: Norec: streamlining STM by abolishing ownership records. SIGPLAN Not. 45(5), 67–78 (2010)CrossRefGoogle Scholar
  7. 7.
    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) CrossRefGoogle Scholar
  8. 8.
    Dice, D., Shavit, N.: What really makes transactions fast? In: Transact (2006)Google Scholar
  9. 9.
    Dice, D., Shavit, N.: TLRW: return of the read-write lock. In: SPAA, pp. 284–293 (2010)Google Scholar
  10. 10.
    Ellen, F., Hendler, D., Shavit, N.: On the inherent sequentiality of concurrent objects. SIAM J. Comput. 41(3), 519–536 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Fraser, K.: Practical lock-freedom. Technical report, Cambridge University Computer Laborotory (2003)Google Scholar
  12. 12.
    Guerraoui, R., Kapalka, M.: The semantics of progress in lock-based transactional memory. SIGPLAN Not. 44(1), 404–415 (2009)CrossRefGoogle Scholar
  13. 13.
    Guerraoui, R., Kapalka, M.: Principles of Transactional Memory. Synthesis Lectures on Distributed Computing Theory. Morgan and Claypool, San Rafael (2010) Google Scholar
  14. 14.
    Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N.: Software transactional memory for dynamic-sized data structures. In: Proceedings of the Twenty-Second Annual Symposium on Principles of Distributed Computing, PODC 2003, pp. 92–101, New York, NY, USA. ACM (2003)Google Scholar
  15. 15.
    Hyonho, L.: Local-spin mutual exclusion algorithms on the DSM model using fetch-and-store objects (2003).
  16. 16.
    Israeli, A., Rappoport, L.: Disjoint-access-parallel implementations of strong shared memory primitives. In: PODC, pp. 151–160 (1994)Google Scholar
  17. 17.
    Kuznetsov, P., Ravi, S.: On the cost of concurrency in transactional memory. In: Fernàndez Anta, A., Lipari, G., Roy, M. (eds.) OPODIS 2011. LNCS, vol. 7109, pp. 112–127. Springer, Heidelberg (2011) CrossRefGoogle Scholar
  18. 18.
    Kuznetsov, P., Ravi, S.: On partial wait-freedom in transactional memory. In: Proceedings of the 2015 International Conference on Distributed Computing and Networking, ICDCN 2015, Goa, India, p. 10, 4–7 Jan 2015Google Scholar
  19. 19.
    Papadimitriou, C.H.: The serializability of concurrent database updates. J. ACM 26, 631–653 (1979)MathSciNetCrossRefGoogle Scholar
  20. 20.
    Perelman, D., Fan, R., Keidar, I.: On maintaining multiple versions in STM. In: PODC, pp. 16–25 (2010)Google Scholar
  21. 21.
    Tabba, F., Moir, M., Goodman, J.R., Hay, A.W., Wang, C.: Nztm: nonblocking zero-indirection transactional memory. In: Proceedings of the Twenty-first Annual Symposium on Parallelism in Algorithms and Architectures, SPAA 2009, pp. 204–213, New York, NY, USA. ACM (2009)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Télécom ParisTechParisFrance
  2. 2.TU BerlinBerlinGermany

Personalised recommendations