Skip to main content

Efficient Transaction Nesting in Hardware Transactional Memory

  • Conference paper

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

Abstract

Efficient transaction nesting is one of the ongoing challenges for hardware transactional memory. To increase efficiency of closed nesting, this paper proposes a conditional partial rollback (CPR) scheme which supports conditional partial rollback without increasing hardware complexities significantly. In stead of rolling back to the outermost transaction as in commonly-used flattening model, the CPR scheme just rolls back to the conflicted transaction itself or one of its outer-level transactions if given conditions are satisfied. By recording access status of each nested transaction, the scheme uses one global data set for all of the nested transactions rather than independent data set for each nested transaction. Hardware transactional memory architecture with the support of CPR scheme is also proposed based on multi-core processor and current cache coherence mechanism. The system is implemented by simulation, and evaluated using seven benchmark applications. Evaluation results show that the CPR scheme achieves better performance and scalability than the flattening model which is commonly-used in hardware transactional memory.

This work is supported by National Science Foundation of China under grant No. 60873053 and National Hi-tech R&D Program (863 program) of China under grant No. 2009AA01Z107.

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. Herlihy, M., Eliot, J., Moss, B.: Transactional memory: Architectural support for lock-free data structures. In: 20th International Symposium on Computer Architecture, pp. 289–300. IEEE Computer Society, San Diego (1993)

    Chapter  Google Scholar 

  2. Hammond, L., Wong, V., Chen, M.: Transactional memory coherence and consistency. In: 31st International Symposium on Computer Architecture, pp. 102–113. IEEE Computer Society, Munich (2004)

    Chapter  Google Scholar 

  3. Scott Ananian, C., Asanovic, K., Kuszmaul, B.C.: Unbounded transactional memory. IEEE Micro 26(1), 59–69 (2006)

    Article  Google Scholar 

  4. Moore, K.E., Bobba, J., Moravan, M.J.: LogTM: log-based transactional memory. In: 12th International Symposium on High-Performance Computer Architecture, pp. 258–269. IEEE Computer Society, Austin (2006)

    Google Scholar 

  5. Bobba, J., Goyal, N., Hill, M.D.: TokenTM: Efficient Execution of Large Transactions with Hardware Transactional Memory. In: 35th International Symposium on Computer Architecture (ISCA 2008), pp. 127–138. IEEE Computer Society, Beijing (2008)

    Google Scholar 

  6. Shavit, N., Touitou, D.: Software transactional memory. In: 14th annual ACM symposium on Principles of distributed computing, pp. 204–213. ACM Press, Ottawa (1995)

    Google Scholar 

  7. Saha, B., Adl-Tabatabai, A.-R., Hudson, R.L.: McRT-STM: a high performance software transactional memory system for a multi-core runtime. In: 11th ACM SIGPLAN symposium on Principles and practice of parallel programming, pp. 187–197. ACM, New York (2006)

    Google Scholar 

  8. Rajwar, Ravi, Goodman, James, R.: Transactional lock-free execution of lock-based programs. ACM Operating Systems Review 36(5), 5–17 (2002)

    Article  Google Scholar 

  9. Adl-Tabatabai, A.-R., Lewis, B.T., Menon, V.: Compiler and runtime support for efficient software transactional memory. In: 2006 ACM SIGPLAN conference on Programming language design and implementation, pp. 26–37. ACM, Ottawa (2006)

    Chapter  Google Scholar 

  10. Harris, T., Marlow, S., Jones, S.P.: Composable memory transactions. In: 2005 ACM SIGPLAN Symposium on Principles and Practise of Parallel Programming, pp. 48–60. ACM, Chicago (2005)

    Chapter  Google Scholar 

  11. Rajwar, R., Herlihy, M., Lai, K.: Virtualizing transactional memory. In: 32nd International Symposium on Computer Architecture, pp. 494–505. IEEE Computer Society, Madison (2005)

    Google Scholar 

  12. Kumar, S., Chu, M., Hughes, C.J.: Hybrid transactional memory. In: 11th ACM SIGPLAN symposium on Principles and practice of parallel programming, pp. 209–220. ACM, New York (2006)

    Google Scholar 

  13. McDonald, A., Carlstrom, B., Chung, J.W.: Transactional memory: The hardware-software interface. IEEE Micro 27(1), 67–76 (2007)

    Article  Google Scholar 

  14. Baugh, L., Neelakantam, N., Zilles, C.: Using Hardware Memory Protection to Build a High-Performance, Strongly-Atomic Hybrid Transactional Memory. In: 35th International Symposium on Computer Architecture (ISCA 2008), pp. 115–126. IEEE Computer Society, Beijing (2008)

    Google Scholar 

  15. Harris, T., Cristal, A., Unsal, O.: Transactional memory: An overview. IEEE Micro 27(3), 8–20 (2007)

    Article  Google Scholar 

  16. Moravan, M.J., Bobba, J., Moore, K.E.: Supporting Nested Transactional Memory in LogTM. In: 12th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) (October 2006)

    Google Scholar 

  17. Magnusson, P.S.: Simics: A Full System Simulation Platform. IEEE Computer (February 2002)

    Google Scholar 

  18. Martin, M.M.K., Sorin, D.J., Beckmann, B.M.: Multifacet’s General Execution-driven Multiprocessor Simulator (GEMS) Toolset. Computer Architecture News, CAN (September 2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Liu, Y. et al. (2010). Efficient Transaction Nesting in Hardware Transactional Memory. In: Müller-Schloer, C., Karl, W., Yehia, S. (eds) Architecture of Computing Systems - ARCS 2010. ARCS 2010. Lecture Notes in Computer Science, vol 5974. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11950-7_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-11950-7_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-11949-1

  • Online ISBN: 978-3-642-11950-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics