Skip to main content

Invited Paper: The Inherent Complexity of Transactional Memory and What to Do about It

  • Conference paper

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

Abstract

This paper overviews some of the lower bounds on the complexity of implementing software transactional memory, and explains their underlying assumptions. It discusses how these lower bounds align with experimental results and design choices made in existing implementations to indicate that the transactional approach for concurrent programming must compromise either programming simplicity or scalability. There are several contemporary research avenues that address the challenge of concurrent programming. For example, optimizing coarse-grained techniques, and concurrent programming with mini-transactions—simple atomic operations on a small number of locations.

This is a preview of subscription content, log in via an institution.

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. PowerPC Microprocessor Family: The Programming Environment (1991)

    Google Scholar 

  2. Advanced Micro Devices, Inc. Advanced Synchronization Facility - Proposed Architectural Specification, 2.1 edition (March 2009)

    Google Scholar 

  3. Attiya, H., Guerraoui, R., Hendler, D., Kuznetsov, P.: The complexity of obstruction-free implementations. J. ACM 56(4) (2009)

    Google Scholar 

  4. Attiya, H., Hillel, E.: Built-in coloring for highly-concurrent doubly-linked lists. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 31–45. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  5. Attiya, H., Hillel, E.: The cost of privatization. In: Lynch, N.A., Shvartsman, A.A. (eds.) Distributed Computing. LNCS, vol. 6343, pp. 35–49. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  6. Attiya, H., Hillel, E.: Highly-concurrent multi-word synchronization. In: Rao, S., Chatterjee, M., Jayanti, P., Murthy, C.S.R., Saha, S.K. (eds.) ICDCN 2008. LNCS, vol. 4904, pp. 112–123. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  7. Attiya, H., Hillel, E., Milani, A.: Inherent limitations on disjoint-access parallel implementations of transactional memory. In: SPAA 2009 (2009)

    Google Scholar 

  8. Attiya, H., Welch, J.L.: Distributed Computing: Fundamentals, Simulations and Advanced Topics, 2nd edn. Wiley, Chichester (2004)

    Book  MATH  Google Scholar 

  9. Barnes, G.: A method for implementing lock-free shared-data structures. In: SPAA 1993, pp. 261–270 (1993)

    Google Scholar 

  10. Berenson, H., Bernstein, P., Gray, J., Melton, J., O’Neil, E., O’Neil, P.: A critique of ANSI SQL isolation levels. In: SIGMOD 1995, pp. 1–10 (1995)

    Article  Google Scholar 

  11. Cascaval, C., Blundell, C., Michael, M., Cain, H.W., Wu, P., Chiras, S., Chatterjee, S.: Software transactional memory: why is it only a research toy? Commun. ACM 51(11), 40–46 (2008)

    Article  Google Scholar 

  12. Chaudhry, S., Cypher, R., Ekman, M., Karlsson, M., Landin, A., Yip, S., Zeffer, H., Tremblay, M.: Rock: A high-performance SPARC CMT processor. IEEE Micro. 29(2), 6–16 (2009)

    Article  Google Scholar 

  13. Chuong, P., Ellen, F., Ramachandran, V.: A universal construction for wait-free transaction friendly data structures. In: SPAA 2010, pp. 335–344 (2010)

    Google Scholar 

  14. Dice, D., Lev, Y., Marathe, V., Moir, M., Olszewski, M., Nussbaum, D.: Simplifying concurrent algorithms by exploiting hardware tm. In: SPAA 2010, pp. 325–334 (2010)

    Google Scholar 

  15. Dice, D., Matveev, A., Shavit, N.: Implicit privatization using private transactions. In: Transact 2010 (2010)

    Google Scholar 

  16. Dice, D., Shalev, O., Shavit, N.: Transactional locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194–208. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

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

    Google Scholar 

  18. Digital Equipment Corporation. Alpha Architecture Handbook (1992)

    Google Scholar 

  19. Felber, P., Gramoli, V., Guerraoui, R.: Elastic transactions. In: Lynch, N.A., Shvartsman, A.A. (eds.) Distributed Computing. LNCS, vol. 6343, pp. 93–107. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  20. Gramoli, V., Harmanci, D., Felber, P.: Towards a theory of input acceptance for transactional memories. In: Baker, T.P., Bui, A., Tixeuil, S. (eds.) OPODIS 2008. LNCS, vol. 5401, pp. 527–533. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  21. Guerraoui, R., Henzinger, T., Kapalka, M., Singh, V.: Transactions in the jungle. In: SPAA 2010, pp. 263–272 (2010)

    Google Scholar 

  22. Guerraoui, R., Kapalka, M.: On obstruction-free transactions. In: SPAA 2008, pp. 304–313 (2008)

    Google Scholar 

  23. Guerraoui, R., Kapalka, M.: On the correctness of transactional memory. In: PPoPP 2008, pp. 175–184 (2008)

    Article  Google Scholar 

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

    MATH  Google Scholar 

  25. Hendler, D., Incze, I., Shavit, N., Tzafrir, M.: Flat combining and the synchronization-parallelism tradeoff. In: SPAA 2010, pp. 355–364 (2010)

    Google Scholar 

  26. Herlihy, M.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)

    Article  Google Scholar 

  27. Herlihy, M., Koskinen, E.: Transactional boosting: a methodology for highly-concurrent transactional objects. In: PPoPP 2008, pp. 207–216 (2008)

    Article  Google Scholar 

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

    Google Scholar 

  29. Herlihy, M., Moss, J.E.B.: Transactional memory: Architectural support for lock-free data structures. In: ISCA 1993 (1993)

    Google Scholar 

  30. Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann, San Francisco (2008)

    Google Scholar 

  31. Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)

    Article  Google Scholar 

  32. Israeli, A., Rappoport, L.: Disjoint-access-parallel implementations of strong shared memory primitives. In: PODC 2004, pp. 151–160 (2004)

    Google Scholar 

  33. Kapalka, M.: Theory of Transactional Memory. Nr. 4664, EPFL (2010)

    Google Scholar 

  34. Keidar, I., Perelman, D.: On avoiding spare aborts in transactional memory. In: SPAA 2009, pp. 59–68 (2009)

    Article  MATH  Google Scholar 

  35. Lamport, L.: Proving the correctness of multiprocess programs. IEEE Transactions on Software Engineering SE-3(2), 125–143 (1977)

    Article  MathSciNet  MATH  Google Scholar 

  36. Lamport, L.: How to make a multiprocessor computer that correctly executes multiprocess program. IEEE Transactions on Computers 100(28), 690–691 (1979)

    Article  MATH  Google Scholar 

  37. Larus, J.R., Rajwar, R.: Transactional Memory. Morgan and Claypool, San Francisco (2007)

    Google Scholar 

  38. Moir, M., Moore, K., Nussbaum, D.: The adaptive transactional memory test platform: A tool for experimenting with transactional code for Rock. In: Transact 2008 (2008)

    Google Scholar 

  39. Papadimitriou, C.H.: The serializability of concurrent database updates. J. ACM 26(4), 631–653 (1979)

    Article  MathSciNet  MATH  Google Scholar 

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

    Google Scholar 

  41. Pingali, K., Kulkarni, M., Nguyen, D., Burtscher, M., Mendez-Lojo, M., Prountzos, D., Sui, X., Zhong, Z.: Amorphous data-parallelism in irregular algorithms. Technical Report TR-09-05, The University of Texas at Austin, Department of Computer Sciences (2009)

    Google Scholar 

  42. Rajwar, R., Goodman, J.R.: Transactional lock-free execution of lock-based programs. In: ASPLOS 2002, pp. 5–17 (2002)

    Article  Google Scholar 

  43. Shavit, N., Touitou, D.: Software transactional memory. In: PODC 1995, pp. 204–213 (1995)

    Google Scholar 

  44. 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. SIGPLAN Not. 42(6), 78–88 (2007)

    Article  Google Scholar 

  45. Spear, M.F., Marathe, V.J., Dalessandro, L., Scott, M.L.: Privatization techniques for software transactional memory. Technical Report Tr 915, Dept. of Computer Science, Univ. of Rochester (2007)

    Google Scholar 

  46. Turek, J., Shasha, D., Prakash, S.: Locking without blocking: making lock based concurrent data structure algorithms nonblocking. In: PODS 1992, pp. 212–222 (1992)

    Google Scholar 

  47. Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, San Francisco (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Attiya, H. (2011). Invited Paper: The Inherent Complexity of Transactional Memory and What to Do about It. In: Aguilera, M.K., Yu, H., Vaidya, N.H., Srinivasan, V., Choudhury, R.R. (eds) Distributed Computing and Networking. ICDCN 2011. Lecture Notes in Computer Science, vol 6522. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17679-1_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-17679-1_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-17678-4

  • Online ISBN: 978-3-642-17679-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics