Skip to main content

Improving Performance by Reducing Aborts in Hardware Transactional Memory

  • Conference paper
High Performance Embedded Architectures and Compilers (HiPEAC 2010)

Abstract

The optimistic nature of Transactional Memory (TM) systems can lead to the concurrent execution of transactions that are later found to conflict. Conflicts degrade scalability, and may lead to aborts that increase wasted work, and degrade performance. A promising approach to reducing conflicts at runtime is dynamically, and transparently, reordering the execution of transactions upon discovery of conflicts. This approach has been explored in Software TMs (STMs), but not in Hardware TMs (HTMs). Furthermore, STM implementations of this approach cannot be ported to HTMs easily.

This paper investigates the feasibility of such reordering in HTMs, and presents two designs that are scalable, independent of the on-chip interconnect, require only minor modifications to each core, and add no execution overhead if no conflicts occur. The evaluation takes LogTM-SE as a base line and considers benchmarks with different levels of contention (transactional conflicts). The results show that the preferred design increases HTM performance by up to 17% when contention is low, 57% when contention is high, and never degrades performance. Finally, the designs are orthogonal to LogTM-SE; they require no modification to cache structures, and continue to support transaction virtualization, open and closed unbounded nesting, paging, thread suspension, and thread migration.

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. Larus, J.R., Rajwar, R.: Transactional Memory. Morgan and Claypool, San Francisco (2006)

    Google Scholar 

  2. Ananian, C.S., Asanovic, K., Kuszmaul, B.C., Leiserson, C.E., Lie, S.: Unbounded transactional memory. In: HPCA 2005: Proceedings of the 11th International Symposium on High-Performance Computer Architecture (February 2005)

    Google Scholar 

  3. Bobba, J., Goyal, N., Hill, M.D., Swift, M.M., Wood, D.A.: Tokentm: Efficient execution of large transactions with hardware transactional memory. In: ISCA 2008: Proceedings of the 35th Annual International Symposium on Computer Architecture (June 2008)

    Google Scholar 

  4. Hammond, L., Wong, V., Chen, M., Carlstrom, B.D., Davis, J.D., Hertzberg, B., Prabhu, M.K., Wijaya, H., Kozyrakis, C., Olukotun, K.: Transactional memory coherence and consistency. In: ISCA 2004: Proceedings of the 31st Annual International Symposium on Computer Architecture (2004)

    Google Scholar 

  5. Khan, B., Horsnell, M., Rogers, I., Luján, M., Dinn, A., Watson, I.: An object-aware hardware transactional memory system. In: HPCC 2008: Proceedings of the 2008 10th IEEE International Conference on High Performance Computing and Communications (2008)

    Google Scholar 

  6. Moore, K.E., Bobba, J., Moravan, M.M., Hill, M.D., Wood, D.A.: Logtm: Log-based transactional memory. In: HPCA 2006: Proceedings of the 12th International Symposium on High-Performance Computer Architecture (2006)

    Google Scholar 

  7. Yen, L., Bobba, J., Marty, M.M., Moore, K.E., Volos, H., Hill, M.D., Swift, M.M., Wood, D.A.: Logtm-se: Decoupling hardware transactional memory from caches. In: HPCA 2007: Proceedings of the 13th International Symposium on High-Performance Computer Architecture (2007)

    Google Scholar 

  8. Dice, D., Shalev, O., Shavit, N.N.: Transactional Locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194–208. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  9. Harris, T., Fraser, K.: Language support for lightweight transactions. In: OOPSLA 2003: Proceedings of the 18th Annual ACM SIGPLAN conference on Object-Oriented Programing, Systems, Languages, and Applications (2003)

    Google Scholar 

  10. Herlihy, M., Luchangco, V., Moir, M.: A flexible framework for implementing software transactional memory. In: OOPSLA 2006: Proceedings of the 21st Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (October 2006)

    Google Scholar 

  11. Lev, Y., Luchangco, V., Marathe, V., Moir, M., Nussbaum, D., Olszewski, M.: Anatomy of a scalable software transactional memory. In: TRANSACT 2009: Fourth ACM SIGPLAN Workshop on Transactional Computing (February 2009)

    Google Scholar 

  12. Marathe, V., Spear, M., Herio, C., Acharya, A., Eisenstat, D., Scherer III, W., Scott, M.L.: Lowering the overhead of software transactional memory. In: TRANSACT 2006: First ACM SIGPLAN Workshop on Transactional Computing (June 2006)

    Google Scholar 

  13. Saha, B., Adl-Tabatabai, A.-R., Hudson, R.L., Minh, C.C., Hertzberg, B.: McRT-STM: a high performance software transactional memory system for a multi-core runtime. In: PPoPP 2006: Proceedings of the 11th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (March 2006)

    Google Scholar 

  14. Baugh, L., Neelakantam, N., Zilles, C.: Using hardware memory protection to build a high-performance, strongly atomic hybrid transactional memory. In: ISCA 2008: Proceedings of the 35th Annual International Symposium on Computer Architecture (June 2008)

    Google Scholar 

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

    Google Scholar 

  16. Lev, Y., Moir, M., Nussbaum, D.: PhTM: Phased transactional memory. In: TRANSACT 2007: Second ACM SIGPLAN Workshop on Transactional Computing (2007)

    Google Scholar 

  17. Minh, C.C., Trautmann, M., Chung, J., McDonald, A., Bronson, N., Casper, J., Kozyrakis, C., Olukotun, K.: An effective hybrid transactional memory system with strong isolation guarantees. In: ISCA 2007: Proceedings of the 34th Annual International Symposium on Computer Architecture (June 2007)

    Google Scholar 

  18. Bobba, J., Moore, K.E., Volos, H., Yen, L., Hill, M.D., Swift, M.M., Wood, D.A.: Performance pathologies in hardware transactional memory. In: ISCA 2007: Proceedings of the 34th annual international symposium on Computer architecture (June 2007)

    Google Scholar 

  19. Ansari, M., Kotselidis, C., Jarvis, K., Luján, M., Kirkham, C., Watson, I.: Advanced concurrency control for transactional memory using transaction commit rate. In: EUROPAR 2008: Fourteenth European Conference on Parallel Processing (August 2008)

    Google Scholar 

  20. Marathe, V., Scherer III, W., Scott, M.L.: Adaptive software transactional memory. In: Fraigniaud, P. (ed.) DISC 2005. LNCS, vol. 3724. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  21. Ansari, M., Kotselidis, C., Jarvis, K., Luján, M., Kirkham, C., Watson, I.: Steal-on-abort: Dynamic transaction reordering to reduce conflicts in transactional memory. In: Seznec, A., Emer, J., O’Boyle, M., Martonosi, M., Ungerer, T. (eds.) HiPEAC 2009. LNCS, vol. 5409, pp. 4–18. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  22. Kongetira, P., Aingaran, K., Olukotun, K.: Niagara: A 32-way multithreaded sparc processor. IEEE Micro 25(2) (April 2005)

    Google Scholar 

  23. Magnusson, P.S., Christensson, M., Eskilson, J., Forsgren, D., Hållberg, G., Högberg, J., Larsson, F., Moestedt, A., Werner, B.: Simics: A full system simulation platform. IEEE Computer 35(2) (2002)

    Google Scholar 

  24. Martin, M.M.K., Sorin, D.J., Beckmann, B.M., Marty, M.R., Xu, M., Alameldeen, A.R., Moore, K.E., Hill, M.D., Wood, D.A.: Multifacet’s general execution-driven multiprocessor simulator (gems) toolset. SIGARCH Computer Architecture News 33(4) (2005)

    Google Scholar 

  25. Yen, L., Draper, S.C., Hill, M.D.: Notary: Hardware techniques to enhance signatures. In: MICRO 2008: Proceedings of the 41st IEEE/ACM International Symposium on Microarchitecture (November 2008)

    Google Scholar 

  26. Ansari, M., Luján, M., Kotselidis, C., Jarvis, K., Kirkham, C., Watson, I.: Steal-on-abort: Dynamic transaction reordering to reduce conflicts in transactional memory. In: SHCMP 2008: First Workshop on Software and Hardware Challenges of Manycore Platforms (June 2008)

    Google Scholar 

  27. Scherer III, W., Scott, M.L.: Contention management in dynamic software transactional memory. In: CSJP 2004: Workshop on Concurrency and Synchronization in Java Programs (July 2004)

    Google Scholar 

  28. Scherer III, W., Scott, M.L.: Advanced contention management for dynamic software transactional memory. In: PODC 2005: Proceedings of the 24th Annual Symposium on Principles of Distributed Computing (July 2005)

    Google Scholar 

  29. Dolev, S., Hendler, D., Suissa, A.: Car-stm: Scheduling-based collision avoidance and resolution for software transactional memory. In: PODC 2008: Proceedings of the 27th annual ACM symposium on Principles of distributed computing (August 2008)

    Google Scholar 

  30. Bai, T., Shen, X., Zhang, C., Scherer, W.N., Ding, C., Scott, M.L.: A key-based adaptive transactional memory executor. In: IPDPS 2007: Proceedings of the 21st International Parallel and Distributed Processing Symposium (March 2007)

    Google Scholar 

  31. Ansari, M., Kotselidis, C., Jarvis, K., Luján, M., Kirkham, C., Watson, I.: Adaptive concurrency control for transactional memory. In: MULTIPROG 2008: First Workshop on Programmability Issues for Multi-Core Computers (January 2008)

    Google Scholar 

  32. Yoo, R.M., Lee, H.-H.S.: Adaptive transaction scheduling for transactional memory systems. In: SPAA 2008: Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures, New York, NY, USA (2008)

    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

Ansari, M., Khan, B., Luján, M., Kotselidis, C., Kirkham, C., Watson, I. (2010). Improving Performance by Reducing Aborts in Hardware Transactional Memory. In: Patt, Y.N., Foglia, P., Duesterwald, E., Faraboschi, P., Martorell, X. (eds) High Performance Embedded Architectures and Compilers. HiPEAC 2010. Lecture Notes in Computer Science, vol 5952. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11515-8_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-11515-8_5

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-642-11515-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics