Advertisement

Improving Performance by Reducing Aborts in Hardware Transactional Memory

  • Mohammad Ansari
  • Behram Khan
  • Mikel Luján
  • Christos Kotselidis
  • Chris Kirkham
  • Ian Watson
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5952)

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.

Keywords

Transactional Memory Software Transactional Memory Transactional Memory System Contention Management 34th Annual International Symposium 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Larus, J.R., Rajwar, R.: Transactional Memory. Morgan and Claypool, San Francisco (2006)Google Scholar
  2. 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. 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. 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. 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. 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. 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. 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)CrossRefGoogle Scholar
  9. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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)CrossRefGoogle Scholar
  21. 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)CrossRefGoogle Scholar
  22. 22.
    Kongetira, P., Aingaran, K., Olukotun, K.: Niagara: A 32-way multithreaded sparc processor. IEEE Micro 25(2) (April 2005)Google Scholar
  23. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Mohammad Ansari
    • 1
  • Behram Khan
    • 2
  • Mikel Luján
    • 2
  • Christos Kotselidis
    • 2
  • Chris Kirkham
    • 2
  • Ian Watson
    • 2
  1. 1.Department of Computer ScienceUmm Al-Qura University 
  2. 2.School of Computer ScienceUniversity of Manchester 

Personalised recommendations