Skip to main content

A Uniform Transactional Execution Environment for Java

  • Conference paper
ECOOP 2008 – Object-Oriented Programming (ECOOP 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5142))

Included in the following conference series:

Abstract

Transactional memory (TM) has recently emerged as an effective tool for extracting fine-grain parallelism from declarative critical sections. In order to make STM systems practical, significant effort has been made to integrate transactions into existing programming languages. Unfortunately, existing approaches fail to provide a simple implementation that permits lock-based and transaction-based abstractions to coexist seamlessly. Because of the fundamental semantic differences between locks and transactions, legacy applications or libraries written using locks can not be transparently used within atomic regions. To address these shortcomings, we implement a uniform transactional execution environment for Java programs in which transactions can be integrated with more traditional concurrency control constructs. Programmers can run arbitrary programs that utilize traditional mutual-exclusion-based programming techniques, execute new programs written with explicit transactional constructs, and freely combine abstractions that use both coding styles.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. Abadi, M., Birrell, A., Harris, T., Isard, M.: Semantics of transactional memory and automatic mutual exclusion. In: POPL 2008 (2008)

    Google Scholar 

  2. Adl-Tabatabai, A.-R., Bharadwaj, J., Chen, D.-Y., Ghuloum, A., Menon, V.S., Murphy, B.R., Serrano, M., Shpeisman, T.: The StarJIT compiler: a dynamic compiler for managed runtime environments. Intel Technology Journal 7(1) (2003)

    Google Scholar 

  3. Adl-Tabatabai, A.-R., Lewis, B.T., Menon, V.S., Murphy, B.R., Saha, B., Shpeisman, T.: Compiler and runtime support for efficient software transactional memory. In: PLDI 2006, Ottawa, Canada (2006)

    Google Scholar 

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

    Google Scholar 

  5. Blundell, C., Lewis, E.C., Martin, M.: Unrestricted transactional memory: Supporting i/o and system calls within transactions. Technical Report CIS-06-09, University of Pennsylvania, Department of Comp. and Info. Science (2006)

    Google Scholar 

  6. Carey, M.J., DeWitt, D.J., Kant, C., Naughton, J.F.: A status report on the OO7 OODBMS benchmarking effort. In: OOPSLA (1994)

    Google Scholar 

  7. Cierniak, M., Eng, M., Glew, N., Lewis, B., Stichnoth, J.: Open Runtime Platform: A Flexible High-Performance Managed Runtime Environment. Intel. Technology Journal 7(1) (2003)

    Google Scholar 

  8. Gosling, J., Joy, B., Steele Jr., G., Bracha, G.: The Java Language Specification, 2nd edn. Addison-Wesley, Reading (2000)

    Google Scholar 

  9. Grossman, D., Manson, J., Pugh, W.: What do high-level memory models mean for transactions? In: MSPC 2006 (2006)

    Google Scholar 

  10. Harris, T., Fraser, K.: Language support for lightweight transactions. In: OOPSLA 2003 (2003)

    Google Scholar 

  11. Harris, T., Marlow, S., Jones, S.P., Herlihy, M.: Composable memory transactions. In: PPoPP 2005 (2005)

    Google Scholar 

  12. Harris, T., Plesko, M., Shinnar, A., Tarditi, D.: Optimizing memory transactions. In: PLDI 2006 (2006)

    Google Scholar 

  13. Herlihy, M., Luchangco, V., Moir, M., William, I., Scherer, N.: Software transactional memory for dynamic-sized data structures. In: PODC 2003 (2003)

    Google Scholar 

  14. Herlihy, M., Luchangco, V., Moir, M.: A flexible framework for implementing software transactional memory. In: OOPSLA 2006 (2006)

    Google Scholar 

  15. Lindholm, T., Yellin, F.: The Java Virtual Machine Specification. Addison-Wesley, Reading (1999)

    Google Scholar 

  16. Manson, J., Pugh, W., Adve, S.V.: The Java memory model. In: POPL 2005 (2005)

    Google Scholar 

  17. Marathe, V.J., Scherer, W.N., Scott, M.L.: Adaptive software transactional memory. In: ISDC 2005 (2005)

    Google Scholar 

  18. Marathe, V.J., Scherer, W.N., Scott, M.L.: Design tradeoffs in modern software transactional memory systems. In: LCR 2004 (2004)

    Google Scholar 

  19. Menon, V., Balensiefer, S., Shpeisman, T., Adl-Tabatabai, A.-R., Hudson, R.L., Saha, B., Welc, A.: Single global lock semantics in a weakly atomic stm. In: TRANSACT 2008 (2008)

    Google Scholar 

  20. Moir, M.: Hybrid hardware/software transactional memory (2005), http://www.cs.wisc.edu/~rajwar/tm-workshop/TALKS/moir.pdf

  21. Moss, J.E.B., Hosking, A.L.: Nested transactional memory: model and preliminary architecture sketches. In: SCOOL 2005 (2005)

    Google Scholar 

  22. Ni, Y., Menon, V., Adl-Tabatabai, A.-R., Hosking, A.L., Hudson, R.L., Moss, J.E.B., Saha, B., Shpeisman, T.: Open Nesting in Software Transactional Memory. In: PPoPP 2007 (2007)

    Google Scholar 

  23. Nystrom, N., Clarkson, M.R., Myers, A.C.: Polyglot: an extensible compiler framework for Java. In: Bodik, R. (ed.) CC 2005. LNCS, vol. 3443. Springer, Heidelberg (2005)

    Google Scholar 

  24. Ringenburg, M.F., Grossman, D.: AtomCaml: first-class atomicity via rollback. In: ICFP 2005 (2005)

    Google Scholar 

  25. 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 (2006)

    Google Scholar 

  26. Shpeisman, T., Menon, V., Adl-Tabatabai, A.-R., Balensiefer, S., Grossman, D., Hudson, R.L., Moore, K.F., Bratin, S.: Enforcing isolation and ordering in stm. In: PLDI 2007 (2007)

    Google Scholar 

  27. Smaragdakis, Y., Kay, A., Behrends, R., Young, M.: Transactions with Isolation and Cooperation. In: OOPSLA 2007 (2007)

    Google Scholar 

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

    Google Scholar 

  29. Standard Performance Evaluation Corporation. SPEC JBB 2000 (2000), http://www.spec.org/jbb2000

  30. Welc, A., Hosking, A.L., Jagannathan, S.: Transparently reconciling transactions with locking for Java synchronization. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol. 4067. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  31. Welc, A., Jagannathan, S., Hosking, A.L.: Transactional monitors for concurrent objects. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086. Springer, Heidelberg (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jan Vitek

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ziarek, L., Welc, A., Adl-Tabatabai, AR., Menon, V., Shpeisman, T., Jagannathan, S. (2008). A Uniform Transactional Execution Environment for Java. In: Vitek, J. (eds) ECOOP 2008 – Object-Oriented Programming. ECOOP 2008. Lecture Notes in Computer Science, vol 5142. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70592-5_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-70592-5_7

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-70592-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics