Abstract
Nested transactional memory (TM) facilitates software composition by letting one module invoke another without either knowing whether the other uses transactions. Closed nested transactions extend isolation of an inner transaction until the toplevel transaction commits. Implementations may flatten nested transactions into the top-level one, resulting in a complete abort on conflict, or allow partial abort of inner transactions. Open nested transactions allow a committing inner transaction to immediately release isolation, which increases parallelism and expressiveness at the cost of both software and hardware complexity.This paper extends the recently-proposed flat Log-based Transactional Memory (LogTM) with nested transactions. Flat LogTM saves pre-transaction values in a log, detects conflicts with read (R) and write (W) bits per cache block, and, on abort, invokes a software handler to unroll the log. Nested LogTM supports nesting by segmenting the log into a stack of activation records and modestly replicating R/W bits. To facilitate composition with nontransactional code, such as language runtime and operating system services, we propose escape actions that allow trusted code to run outside the confines of the transactional memory system.
- C.S. Ananian, K. Asanovic, B.C. Kuszmaul, C.E. Leiserson, and S. Lie. Unbounded Transactional Memory. In Proceedings of the Eleventh IEEE Symposium on High-Performance Computer Architecture, Feb. 2005. Google Scholar
Digital Library
- C. Blundell, E.C. Lewis, and M.M. Martin. Deconstructing Transactional Semantics: The Subtleties of Atomicity. In Workshop on Duplicating, Deconstructing, and Debunking (WDDD), June 2005.Google Scholar
- C. Blundell, E.C. Lewis, and M.M. Martin. Unrestricted Transactional Memory: Supporting I/O and System Calls within Transactions. Technical Report TR-CIS-06-09, University of Pennsylvania, June 2006.Google Scholar
- B.D. Carlstrom, J. Chung, H. Chafi, A. McDonald, C.C. Minh, L. Hammond, C. Kozyrakis, and K. Olukotun. Transactional Execution of Java Programs. In SCOOL Workshop, Oct. 2005.Google Scholar
- J. Chung, H. Chafi, C.C. Minh, A. McDonald, B.D. Carlstrom, C. Kozyrakis, and K. Olukotun. The Common Case Transactional Behavior of Multithreaded Programs. In Proceedings of the Twelfth IEEE Symposium on High-Performance Computer Architecture, Feb. 2006.Google Scholar
- J. Chung, C.C. Minh, B.D. Carlstrom, and C. Kozyrakis. Parallelizing SPECjbb2000 with Transactional Memory. In PODC Workshop on Concurrency and Synchronization in Java Programs, June 2006.Google Scholar
- L. Hammond, V. Wong, M. Chen, B.D. Carlstrom, J.D. Davis, B. Hertzberg, M.K. Prabhu, H. Wijaya, C. Kozyrakis, and K. Olukotun. Transactional Memory Coherence and Consistency. In Proceedings of the 31st Annual International Symposium on Computer Architecture, June 2004. Google Scholar
Digital Library
- T. Harris. Design Choices for Language-Based Transactions. Technical Report UCAM-CL-TR-572, University of Cambridge, Aug. 2003.Google Scholar
- T. Harris. Exceptions and side-effects in atomic blocks. In PODC Workshop on Concurrency and Synchronization in Java Programs, Jul 2004.Google Scholar
- T. Harris and K. Fraser. Language support for lightweight transactions. In Proceedings of the 18th SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Application (OOPSLA), Oct. 2003. Google Scholar
Digital Library
- T. Harris, S. Marlow, S.P. Jones, and M. Herlihy. Composable Memory Transactions. In Proceedings of the 17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPOPP), June 1991.Google Scholar
- M. Herlihy, V. Luchangco, M. Moir, and W. Scherer III. Software Transactional Memory for Dynamic-Sized Data Structures. In Twenty-Second ACM Symposium on Principles of Distributed Computing, Boston, Massachusetts, July 2003. Google Scholar
Digital Library
- M. Herlihy and J.E.B. Moss. Transactional Memory: Architectural Support for Lock-Free Data Structures. In Proceedings of the 20th Annual International Symposium on Computer Architecture, pages 289--300, May 1993. Google Scholar
Digital Library
- H.F. Korth, E. Levy, and A. Silberschatz. A formal approach to recovery by compensating transactions. In Proceedings of the sixteenth international conference on Very large databases, pages 95--106, San Francisco, CA, USA, 1990. Morgan Kaufmann Publishers Inc. Google Scholar
Digital Library
- A.R. Lebeck and D.A. Wood. Dynamic Self-Invalidation: Reducing Coherence Overhead in Shared-Memory Multiprocessors. In Proceedings of the 22nd Annual International Symposium on Computer Architecture, pages 48--59, June 1995. Google Scholar
Digital Library
- P.S. Magnusson et al. Simics: A Full System Simulation Platform. IEEE Computer, 35(2):50--58, Feb. 2002. Google Scholar
Digital Library
- M.M. Martin, D.J. Sorin, B.M. Beckmann, M.R. Marty, M. Xu, A.R. Alameldeen, K.E. Moore, M.D. Hill, and D.A. Wood. Multifacet's General Execution-driven Multiprocessor Simulator (GEMS) Toolset. Computer Architecture News, pages 92--99, Sept. 2005. Google Scholar
Digital Library
- A. McDonald, J. Chung, B. Carlstrom, C.C. Minh, H. Chafi, C. Kozyrakis, and K. Olukotun. Architectural Semantics for Practical Transactional Memory. In Proceedings of the 33nd Annual International Symposium on Computer Architecture, June 2006. Google Scholar
Digital Library
- S. Microsystems. OpenSolaris: Mutex.c. http://cvs.opensolaris.org/-source/xref/on/usr/src/uts/common/os/mutex.c.Google Scholar
- C. Mohan, D. Haderle, B. Lindsay, H. Pirahesh, and P. Schwarz. ARIES: A Transaction Recovery Method Supporting Fine- Granularity Locking and Partial Rollbacks Using Write-Ahead Logging. In Readings in Database Systems, pages 251--285. Morgan Kaufmann Publishers, 1998. Google Scholar
Digital Library
- K.E. Moore, J. Bobba, M.J. Moravan, M.D. Hill, and D.A. Wood. LogTM: Log-Based Transactional Memory. In Proceedings of the Twelfth IEEE Symposium on High-Performance Computer Architecture, Feb. 2006.Google Scholar
Cross Ref
- J.E.B. Moss. Nested transactions: an approach to reliable distributed computing. PhD thesis, Massachusetts Institute of Technology, 1981.Google Scholar
- J.E.B. Moss. Nesting Transactions: Why and What Do We Need? TRANSACT Keynote Address, June 2006.Google Scholar
- J.E.B. Moss. Open Nested Transactions: Semantics and Support. In Workshop on Memory Performance Issues, Feb. 2006.Google Scholar
- J.E.B. Moss, N.D. Griffeth, and M.H. Graham. Abstraction in recovery management. In SIGMOD '86: Proceedings of the 1986 ACM SIGMOD international conference on Management of data, pages 72--83, New York, NY, USA, 1986. ACM Press. Google Scholar
Digital Library
- J.E.B. Moss and A.L. Hosking. Nested Transactional Memory: Model and Preliminary Architecture Sketches. In SCOOL Workshop, Oct. 2005.Google Scholar
- D.L. Parnas. On the criteria to be used in Decomposing Systems into Modules. Communications of the ACM, 15(12):1053--1058, Dec 1972. Google Scholar
Digital Library
- R. Rajwar, M. Herlihy, and K. Lai. Virtualizing Transactional Memory. In Proceedings of the 32nd Annual International Symposium on Computer Architecture, June 2005. Google Scholar
Digital Library
- N. Shavit and D. Touitou. Software Transactional Memory. In Fourteenth ACM Symposium on Principles of Distributed Computing, Ottawa, Ontario, Canada, pages 204--213, Aug. 1995. Google Scholar
Digital Library
- I. Sun Microsystems. Solaris 10 Reference Manual Collection: man pages section 2: System Calls. http://docs.sun.com/app/docs/doc/816-5167.Google Scholar
- G. Weikum. A Theoretical Foundation of Multi-Level Concurrency Control. In Proceedings of the Fifth ACM SIGACT-SIGMOD Symposium on Principles of Database Systems (PODS), pages 31--43, Mar. 1986. Google Scholar
Digital Library
- G. Weikum and H.-J. Schek. Concepts and Applications of Multilevel Transactions and Open Nested Transactions. Morgan Kaufmann, 1992.Google Scholar
- Wisconsin Multifacet GEMS Simulator. http://www.cs.wisc.edu/gems/.Google Scholar
- S.C. Woo, M. Ohara, E. Torrie, J.P. Singh, and A. Gupta. The SPLASH-2 Programs: Characterization and Methodological Considerations. In Proceedings of the 22nd Annual International Symposium on Computer Architecture, pages 24--37, June 1995. Google Scholar
Digital Library
- D.A. Wood and M.D. Hill. Cost-Effective Parallel Computing. IEEE Computer, pages 69--72, Feb. 1995. Google Scholar
Digital Library
- C. Zilles and L. Baugh. Extending Hardware Transactional Memory to Support Non-busy Waiting and Non-transactional Actions. In First ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing, June 2006.Google Scholar
Index Terms
Supporting nested transactional memory in logTM
Recommendations
Supporting nested transactional memory in logTM
Proceedings of the 2006 ASPLOS ConferenceNested transactional memory (TM) facilitates software composition by letting one module invoke another without either knowing whether the other uses transactions. Closed nested transactions extend isolation of an inner transaction until the toplevel ...
Supporting nested transactional memory in logTM
Proceedings of the 2006 ASPLOS ConferenceNested transactional memory (TM) facilitates software composition by letting one module invoke another without either knowing whether the other uses transactions. Closed nested transactions extend isolation of an inner transaction until the toplevel ...
Supporting nested transactional memory in logTM
ASPLOS XII: Proceedings of the 12th international conference on Architectural support for programming languages and operating systemsNested transactional memory (TM) facilitates software composition by letting one module invoke another without either knowing whether the other uses transactions. Closed nested transactions extend isolation of an inner transaction until the toplevel ...






Comments