ABSTRACT
Hardware Transactional Memory (HTM) systems, in prior research, have either fixed policies of conflict resolution and data versioning for the entire system or allowed a degree of flexibility at the level of transactions. Unfortunately, this results in susceptibility to pathologies, lower average performance over diverse workload characteristics or high design complexity. In this work we explore a new dimension along which flexibility in policy can be introduced. Recognizing the fact that contention is more a property of data rather than that of an atomic code block, we develop an HTM system that allows selection of versioning and conflict resolution policies at the granularity of cache lines. We discover that this neat match in granularity with that of the cache coherence protocol results in a design that is very simple and yet able to track closely or exceed the performance of the best performing policy for a given workload. It also brings together the benefits of parallel commits (inherent in traditional eager HTMs) and good optimistic concurrency without deadlock avoidance mechanisms (inherent in lazy HTMs), with little increase in complexity.
- C. Scott Ananian, Krste Asanovic, Bradley C. Kuszmaul, Charles E. Leiserson, and Sean Lie. Unbounded transactional memory. In Proc. of the 11th Symp. on High-Performance Computer Architecture, pages 316--327, Feb 2005. Google ScholarDigital Library
- Jayaram Bobba, Kevin E. Moore, Luke Yen, Haris Volos, Mark D. Hill, Michael M. Swift, and David A. Wood. Performance pathologies in hardware transactional memory. In Proc. of the 34th Int'l Symp. on Computer Architecture, pages 81--91, Jun 2007. Google ScholarDigital Library
- Chi Cao Minh, JaeWoong Chung, Christos Kozyrakis, and Kunle Olukotun. STAMP: Stanford transactional applications for multi-processing. In Proc. of the IEEE Intl. Symposium on Workload Characterization, pages 35--46. Sept 2008.Google Scholar
- Luis Ceze, James Tuck, Calin Cascaval, and Josep Torrellas. Bulk disambiguation of speculative threads in multiprocessors. In Proc. of the 33rd Int'l Symp. on Computer Architecture, pages 227--238, Jun 2006. Google ScholarDigital Library
- Hassan Chafi, Jared Casper, Brian D. Carlstrom, Austen McDonald, Chi Cao Minh, Woongki Baek, Christos Kozyrakis, and Kunle Olukotun. A scalable, non-blocking approach to transactional memory. In Proc. of the 13th Symp. on High-Performance Computer Architecture, pages 97--108, 2007. Google ScholarDigital Library
- Lance Hammond, Vicky Wong, Mike Chen, Brian D. Carlstrom, John D. Davis, Ben Hertzberg, Manohar K. Prabhu, Honggo Wijaya, Christos Kozyrakis, and Kunle Olukotun. Transactional memory coherence and consistency. In Proc. of the 31st Int'l Symp. on Computer Architecture, pages 102--113, Jun 2004. Google ScholarDigital Library
- Maurice Herlihy and J. Eliot B. Moss. Transactional memory: Architectural support for lock-free data structures. In Proc. of the 20th Int'l Symp. on Computer Architecture, pages 289--300. May 1993. Google ScholarDigital Library
- Marc Lupon, Grigorios Magklis, and Antonio González. A dynamically adaptable hardware transactional memory. In Proc. of the 43rd Int'l Symp. on Microarchitecture, Dec 2010. Google ScholarDigital Library
- Peter S. Magnusson, Magnus Christensson, Jesper Eskilson, Daniel Forsgren, Gustav Hallberg, Johan Hogberg, Fredrik Larsson, Andreas Moestedt, and Bengt Werner. Simics: A full system simulation platform. IEEE Computer, 35(2):50--58, Feb 2002. Google ScholarDigital Library
- Milo M.K. Martin, Daniel J. Sorin, Bradford M. Beckmann, Michael R. Marty, Min Xu, Alaa R. Alameldeen, Kevin E. Moore, Mark D. Hill, and David A. Wood. Multifacet's general execution-driven multiprocessor simulator (GEMS) toolset. Computer Architecture News, pages 92--99, Sept 2005. Google ScholarDigital Library
- Kevin E. Moore, Jayaram Bobba, Michelle J. Moravan, Mark D. Hill, and David A. Wood. Log™: Log-based transactional memory. In Proc. of the 12th Symp. on High-Performance Computer Architecture, pages 254--265, Feb 2006.Google ScholarCross Ref
- Anurag Negi, M.M. Waliullah, and Per Stenstrom. LV*: A low complexity lazy versioning H™ infrastructure. In Proc. of the Intl. Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (IC-SAMOS 2010), pages 231--240, July 2010.Google ScholarCross Ref
- Seth H. Pugsley, Manu Awasthi, Niti Madan, Naveen Muralimanohar, and Rajeev Balasubramonian. Scalable and reliable communication for hardware transactional memory. In Proc. of the 17th Int'l Conf. on Parallel Architectures and Compilation Techniques, pages 144--154, Oct 2008. Google ScholarDigital Library
- Ravi Rajwar and James R. Goodman. Transactional lock-free execution of lock-based programs. In Proc. of the 10th Int'l Symposium on Architectural Support for Programming Language and Operating Systems, pages 5--17, Oct 2002. Google ScholarDigital Library
- Sutirtha Sanyal, Adrián Cristal, Osman S. Unsal, Mateo Valero, and Sourav Roy. Dynamically filtering thread-local variables in lazy-lazy hardware transactional memory. In HPCC '09: Proc. 11th Conference on High Performance Computing and Communications, jun 2009. Google ScholarDigital Library
- Arrvindh Shriraman, Sandhya Dwarkadas, and Michael L. Scott. Flexible decoupled transactional memory support. In Proc. of the 35th Int'l Symp. on Computer Architecture. Jun 2008. Google ScholarDigital Library
- Sasa Tomic, Cristian Perfumo, Chinmay Kulkarni, Adria Armejach, Adrián Cristal, Osman Unsal, Tim Harris, and Mateo Valero. EazyH™: Eager-lazy hardware transactional memory. In Proc. of the 42nd Int'l Symp. on Microarchitecture, 2009. Google ScholarDigital Library
- M.M. Waliullah and P. Stenstrom, Classification and Elimination of Conflicts in Transactional Memory Systems. Tech. Report 2010:09, Dept. of Computer Engineering, Chalmers University of Technology, Sweden, 2010.Google Scholar
- Luke Yen, Jayaram Bobba, Michael R. Marty, Kevin E. Moore, Haris Volos, Mark D. Hill, Michael M. Swift, and David A. Wood. LogTM-SE: Decoupling hardware transactional memory from caches. In Proc. of the 13th Symp. on High-Performance Computer Architecture, pages 261--272, Feb 2007. Google ScholarDigital Library
Index Terms
- ZEBRA: a data-centric, hybrid-policy hardware transactional memory design
Recommendations
CAR-STM: scheduling-based collision avoidance and resolution for software transactional memory
PODC '08: Proceedings of the twenty-seventh ACM symposium on Principles of distributed computingTransactional memory (TM) is a key concurrent programming abstraction. Several software-based transactional memory (STM) implementations have been developed in recent years. All STM implementations must guarantee transaction atomicity but different STM ...
Refined transactional lock elision
PPoPP '16Transactional lock elision (TLE) is a well-known technique that exploits hardware transactional memory (HTM) to introduce concurrency into lock-based software. It achieves that by attempting to execute a critical section protected by a lock in an atomic ...
A comprehensive strategy for contention management in software transactional memory
PPoPP '09: Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programmingIn Software Transactional Memory (STM), contention management refers to the mechanisms used to ensure forward progress--to avoid livelock and starvation, and to promote throughput and fairness. Unfortunately, most past approaches to contention ...
Comments