Skip to main content

Grasping the Gap Between Blocking and Non-Blocking Transactional Memories

  • Conference paper
  • First Online:
Distributed Computing (DISC 2015)

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

Included in the following conference series:

  • 1246 Accesses

Abstract

Transactional memory (TM) is an inherently optimistic synchronization abstraction: it allows concurrent processes to execute sequences of shared-data accesses (transactions) speculatively, with an option of aborting them in the future. Early TM designs avoided using locks and relied on non-blocking synchronization to ensure obstruction-freedom: a transaction that encounters no step contention is not allowed to abort. However, it was later observed that obstruction-free TMs perform poorly and, as a result, state-of-the-art TM implementations are nowadays blocking, allowing aborts because of data conflicts rather than step contention.

In this paper, we explain this shift in the TM practice theoretically, via complexity bounds. We prove a few important lower bounds on obstruction-free TMs. Then we present a lock-based TM implementation that beats all of these lower bounds. In sum, our results exhibit a considerable complexity gap between non-blocking and blocking TM implementations.

Petr Kuznetsov—The author is supported by the Agence Nationale de la Recherche, ANR-14-CE35-0010-01, project DISCMAT

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. Attiya, H., Guerraoui, R., Hendler, D., Kuznetsov, P.: The complexity of obstruction-free implementations. J. ACM 56(4) (2009)

    Google Scholar 

  2. Attiya, H., Guerraoui, R., Hendler, D., Kuznetsov, P., Michael, M., Vechev, M.: Laws of order: Expensive synchronization in concurrent algorithms cannot be eliminated. In: POPL, pp. 487–498 (2011)

    Google Scholar 

  3. Attiya, H., Hillel, E.: The cost of privatization in software transactional memory. IEEE Trans. Computers 62(12), 2531–2543 (2013)

    Article  MathSciNet  Google Scholar 

  4. Attiya, H., Hillel, E., Milani, A.: Inherent limitations on disjoint-access parallel implementations of transactional memory. Theory of Computing Systems 49(4), 698–719 (2011)

    Article  MATH  MathSciNet  Google Scholar 

  5. Dalessandro, L., Spear, M.F., Scott, M.L.: NOrec: streamlining STM by abolishing ownership records. In: PPOPP, pp. 67–78 (2010)

    Google Scholar 

  6. 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 

  7. Dice, D., Shavit, N.: What really makes transactions fast? In: Transact (2006)

    Google Scholar 

  8. Dice, D., Shavit, N.: TLRW: return of the read-write lock. In: SPAA, pp. 284–293 (2010)

    Google Scholar 

  9. Ellen, F., Hendler, D., Shavit, N.: On the inherent sequentiality of concurrent objects. SIAM J. Comput. 41(3), 519–536 (2012)

    Article  MATH  MathSciNet  Google Scholar 

  10. Ennals, R.: The lightweight transaction library. http://sourceforge.net/projects/libltx/files/

  11. Ennals, R.: Software transactional memory should not be obstruction-free (2005)

    Google Scholar 

  12. Fraser, K.: Practical lock-freedom. Technical report, Cambridge University Computer Laborotory (2003)

    Google Scholar 

  13. Guerraoui, R., Kapalka, M.: On obstruction-free transactions. In: Proceedings of the Twentieth Annual Symposium on Parallelism in Algorithms and Architectures, SPAA 2008, pp. 304–313. ACM, New York (2008)

    Google Scholar 

  14. Guerraoui, R., Kapalka, M.: The semantics of progress in lock-based transactional memory. In: POPL, pp. 404–415 (2009)

    Google Scholar 

  15. Guerraoui, R., Kapalka, M.: Principles of transactional memory. In: Synthesis Lectures on Distributed Computing Theory. Morgan and Claypool (2010)

    Google Scholar 

  16. Herlihy, M.: Wait-free synchronization. ACM Trans. Prog. Lang. Syst. 13(1), 123–149 (1991)

    Article  Google Scholar 

  17. Herlihy, M., Luchangco, V., Moir, M.: Obstruction-free synchronization: double-ended queues as an example. In: ICDCS, pp. 522–529 (2003)

    Google Scholar 

  18. Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N.: Software transactional memory for dynamic-sized data structures. In: PODC, pp. 92–101 (2003)

    Google Scholar 

  19. Herlihy, M., Shavit, N.: On the nature of progress. In: Fernàndez Anta, A., Lipari, G., Roy, M. (eds.) OPODIS 2011. LNCS, vol. 7109, pp. 313–328. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  20. 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)

    Chapter  Google Scholar 

  21. Kuznetsov, P., Ravi, S.: Progressive transactional memory in time and space. In: Malyshkin, V. (ed.) PaCT 2015. LNCS, vol. 9251, pp. 410–425. Springer, Heidelberg (2015)

    Chapter  Google Scholar 

  22. Kuznetsov, P., Ravi, S.: Why transactional memory should not be obstruction-free (2015). http://arxiv.org/abs/1502.02725

  23. Marathe, 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)

    Chapter  Google Scholar 

  24. McKenney, P.E.: Memory barriers: a hardware view for software hackers. Linux Technology Center, IBM Beaverton, June 2010

    Google Scholar 

  25. Perelman, D., Fan, R., Keidar, I.: On maintaining multiple versions in STM. In: PODC, pp. 16–25 (2010)

    Google Scholar 

  26. Tabba, F., Moir, M., Goodman, J.R., Hay, A.W., Wang, C.: Nztm: Nonblocking zero-indirection transactional memory. In: SPAA 2009, pp. 204–213. ACM, New York (2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Srivatsan Ravi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kuznetsov, P., Ravi, S. (2015). Grasping the Gap Between Blocking and Non-Blocking Transactional Memories. In: Moses, Y. (eds) Distributed Computing. DISC 2015. Lecture Notes in Computer Science(), vol 9363. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-48653-5_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-48653-5_16

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-48652-8

  • Online ISBN: 978-3-662-48653-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics