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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abadi, M., Birrell, A., Harris, T., Isard, M.: Semantics of transactional memory and automatic mutual exclusion. In: POPL 2008 (2008)
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)
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)
Blundell, C., Lewis, E.C., Martin, M.: Subtleties of transactional memory atomicity semantics. Computer Architecture Letters, 5(2) (November 2006)
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)
Carey, M.J., DeWitt, D.J., Kant, C., Naughton, J.F.: A status report on the OO7 OODBMS benchmarking effort. In: OOPSLA (1994)
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)
Gosling, J., Joy, B., Steele Jr., G., Bracha, G.: The Java Language Specification, 2nd edn. Addison-Wesley, Reading (2000)
Grossman, D., Manson, J., Pugh, W.: What do high-level memory models mean for transactions? In: MSPC 2006 (2006)
Harris, T., Fraser, K.: Language support for lightweight transactions. In: OOPSLA 2003 (2003)
Harris, T., Marlow, S., Jones, S.P., Herlihy, M.: Composable memory transactions. In: PPoPP 2005 (2005)
Harris, T., Plesko, M., Shinnar, A., Tarditi, D.: Optimizing memory transactions. In: PLDI 2006 (2006)
Herlihy, M., Luchangco, V., Moir, M., William, I., Scherer, N.: Software transactional memory for dynamic-sized data structures. In: PODC 2003 (2003)
Herlihy, M., Luchangco, V., Moir, M.: A flexible framework for implementing software transactional memory. In: OOPSLA 2006 (2006)
Lindholm, T., Yellin, F.: The Java Virtual Machine Specification. Addison-Wesley, Reading (1999)
Manson, J., Pugh, W., Adve, S.V.: The Java memory model. In: POPL 2005 (2005)
Marathe, V.J., Scherer, W.N., Scott, M.L.: Adaptive software transactional memory. In: ISDC 2005 (2005)
Marathe, V.J., Scherer, W.N., Scott, M.L.: Design tradeoffs in modern software transactional memory systems. In: LCR 2004 (2004)
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)
Moir, M.: Hybrid hardware/software transactional memory (2005), http://www.cs.wisc.edu/~rajwar/tm-workshop/TALKS/moir.pdf
Moss, J.E.B., Hosking, A.L.: Nested transactional memory: model and preliminary architecture sketches. In: SCOOL 2005 (2005)
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)
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)
Ringenburg, M.F., Grossman, D.: AtomCaml: first-class atomicity via rollback. In: ICFP 2005 (2005)
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)
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)
Smaragdakis, Y., Kay, A., Behrends, R., Young, M.: Transactions with Isolation and Cooperation. In: OOPSLA 2007 (2007)
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)
Standard Performance Evaluation Corporation. SPEC JBB 2000 (2000), http://www.spec.org/jbb2000
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)
Welc, A., Jagannathan, S., Hosking, A.L.: Transactional monitors for concurrent objects. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086. Springer, Heidelberg (2004)
Author information
Authors and Affiliations
Editor information
Rights 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)