Skip to main content

Language Support and Compiler Optimizations for STM and Transactional Boosting

  • Conference paper
Distributed Computing and Internet Technology (ICDCIT 2007)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 4882))

Abstract

We describe compiler optimizations for object-based Software Transactional Memory (STM) systems designed to make STM more accessible and efficient than is possible in the context of a purely library-based approach. Current object-based STM libraries are faced with a difficult tradeoff: offer an efficient but complex programming model or, as some recent libraries have done, sacrifice efficiency for ease-of-use. In this paper, we show that this dichotomy is not necessary. Our research suggests that an STM-enabled optimizing compiler can achieve performance comparable to that of the most efficient STM algorithms coded by a programmer, while still supporting a nearly transparent programming model. We also propose novel language extensions to support transactional boosting, a powerful new technique for transforming existing linearizable objects into transactional objects, thus permitting highly concurrent objects such as those found in the java.util.concurrent package to participate in STM transactions. When applied in conjunction with compiler support, we show that transactional boosting is both a flexible and natural way to escape the standard transactional model, and thus offers a promising alternative to existing “expert” approaches, such as open nesting and early release. Based on our results, we conclude that appropriate language support and high quality compiler optimizations are necessary parts of any STM system.

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. Adl-Tabatabai, A.-R., Lewis, B.T., Menon, V., Murphy, B.R., Menon, V., Saha, B., Shpeisman, T.: Compiler and runtime support for efficient software transactional memory. In: PLDI 2006: Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation, pp. 26–37. ACM Press, New York (2006)

    Chapter  Google Scholar 

  2. Chow, F., Chan, S., Kennedy, R., Liu, S.-M., Lo, R., Tu, P.: A new algorithm for partial redundancy elimination based on ssa form. In: PLDI 1997. Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation, pp. 273–286. ACM Press, New York (1997)

    Chapter  Google Scholar 

  3. Dalessandro, L., Marathe, V.J., Spear, M.F., Scott, M.L.: Capabilities and limitations of library-based software transactional memory in c++. In: Proceedings of the 2nd ACM SIGPLAN Workshop on Transactional Computing, Portland, OR (August 2007)

    Google Scholar 

  4. Damron, P., Fedorova, A., Lev, Y., Luchangco, V., Moir, M., Nussbaum, D.: Hybrid transactional memory. In: ASPLOS-XII. Proceedings of the 12th international conference on Architectural support for programming languages and operating systems, pp. 336–346. ACM Press, New York (2006)

    Chapter  Google Scholar 

  5. Dice, D., Shavit, N.: What really makes transactions faster. In: Proc. of the 1st TRANSACT, workshop, 2006. Electronic (2006)

    Google Scholar 

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

  7. Ennals, R.: Software transactional memory should not be obstruction-free. Intel Research Cambridge (unpublished manuscript)

    Google Scholar 

  8. Felber, P., Fetzer, C., Müller, U., Riegel, T., Süßkraut, M., Sturzrehm, H.: Transactifying applications using an open compiler framework. In: TRANSACT (2007)

    Google Scholar 

  9. Harris, T., Fraser, K.: Language support for lightweight transactions. In: OOPSLA 2003. Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, pp. 388–402. ACM Press, New York (2003)

    Chapter  Google Scholar 

  10. Harris, T., Marlow, S., Peyton-Jones, S., Herlihy, M.: Composable memory transactions. In: PPoPP 2005. Proceedings of the 10th ACM SIGPLAN symposium on Principles and practice of parallel programming, pp. 48–60. ACM Press, New York (2005)

    Chapter  Google Scholar 

  11. Harris, T., Plesko, M., Shinnar, A., Tarditi, D.: Optimizing memory transactions. In: PLDI 2006. Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation, pp. 14–25. ACM Press, New York (2006)

    Chapter  Google Scholar 

  12. Herlihy, M., Koskinen, E.: Transactional boosting: A methodology for highly-concurrent transactional objects. Technical Report CS-07-08, Brown University (July 2007)

    Google Scholar 

  13. Herlihy, M., Luchangco, V., Moir, M.: A flexible framework for implementing software transactional memory. In: OOPSLA, pp. 253–262 (2006)

    Google Scholar 

  14. Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N.: Software transactional memory for dynamic-sized data structures. In: PODC 2003. Proceedings of the 22nd annual symposium on Principles of distributed computing, pp. 92–101. ACM Press, New York (2003)

    Chapter  Google Scholar 

  15. Luchangco, V., Moir, M., Shavit, N.: Nonblocking k-compare-single-swap. In: SPAA 2003. Proceedings of the fifteenth annual ACM symposium on Parallel algorithms and architectures, pp. 314–323. ACM Press, New York (2003)

    Chapter  Google Scholar 

  16. 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: ACM SIGPLAN Workshop on Transactional Computing (June 2006) Held in conjunction with PLDI 2006. Expanded version available as TR 893, Department of Computer Science, University of Rochester (March 2006)

    Google Scholar 

  17. Martin, M., Blundell, C., Lewis, E.: Subtleties of transactional memory atomicity semantics. IEEE Computer Architecture Letters 5(2) (2006)

    Google Scholar 

  18. Ni, Y., Menon, V.S., Adl-Tabatabai, A.-R., Hosking, A.L., Hudson, R.L., Eliot, J., Moss, B., Saha, B., Shpeisman, T.: Open nesting in software transactional memory. In: PPoPP 2007. Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming, pp. 68–78. ACM Press, New York (2007)

    Chapter  Google Scholar 

  19. Saha, B., Adl-Tabatabai, A.-R., Hudson, R., Minh, C.C., Hertzberg, B.: Mcrt-stm: A high performance software transactional memory system for a multi-core runtime. In: PPoPP (2006)

    Google Scholar 

  20. Spear, M.F., Marathe, V.J., Dalessandro, L., Scott, M.L.: Privatization techniques for software transactional memory. In: Proceedings of the 26th PODC ACM Symposium on Principles of Distributed Computing (August 2007)

    Google Scholar 

  21. http://research.microsoft.com/research/downloads/Details/6cfc842d-1c16-4739-afaf-edb35f544384/Details.aspx

  22. VanDrunen, T., Hosking, A.L.: Anticipation-based partial redundancy elimination for static single assignment form. Software: Practice and Experience 34, 1413–1439 (2004)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Tomasz Janowski Hrushikesha Mohanty

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Eddon, G., Herlihy, M. (2007). Language Support and Compiler Optimizations for STM and Transactional Boosting. In: Janowski, T., Mohanty, H. (eds) Distributed Computing and Internet Technology. ICDCIT 2007. Lecture Notes in Computer Science, vol 4882. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77115-9_22

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-77115-9_22

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-77112-8

  • Online ISBN: 978-3-540-77115-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics