Architectural Support for Software Transactional Memory

作者: Bratin Saha , Ali-reza Adl-Tabatabai , Quinn Jacobson

DOI: 10.1109/MICRO.2006.9

关键词:

摘要: Transactional memory provides a concurrency control mechanism that avoids many of the pitfalls lock-based synchronization. Researchers have proposed several different implementations transactional memory, broadly classified into software (STM) and hardware (HTM). Both approaches their pros cons: STMs provide rich flexible semantics on stock processors but incur significant overheads. HTMs, other hand, high performance implement restricted or add complexity. This paper is first to propose architectural support for accelerating transactions executed entirely in software. We instruction set architecture (ISA) extensions novel mechanisms improve STM performance. adapt high-performance algorithm supporting our ISA (called accelerated HASTM). HASTM accelerates fully virtualized nested transactions, supports language integration, both object-based cache-line based conflict detection. implemented an accurate multi-core IA32 simulator. Our simulation results show (1) single-thread comparable conventional HTM implementation; (2) scaling (3) resilient spurious aborts can scale better than setting. Thus, flexibility STM, while giving HTM.

参考文章(30)
Todd C. Mowry, Margaret Martonosi, Mark Horowitz, Michael D. Smith, Informing Loads: Enabling Software to Observe and React to Memory Behavior Stanford University. ,(1995)
Jim Gray, Andreas Reuter, Transaction Processing: Concepts and Techniques ,(1992)
S. Gopal, T.N. Vijaykumar, J.E. Smith, G.S. Sohi, Speculative versioning cache high-performance computer architecture. pp. 195- 205 ,(1998) , 10.1109/HPCA.1998.650559
Virendra J. Marathe, William N. Scherer, Michael L. Scott, Adaptive Software Transactional Memory Lecture Notes in Computer Science. pp. 354- 368 ,(2005) , 10.1007/11561927_26
William N. Scherer, Michael L. Scott, Advanced contention management for dynamic software transactional memory principles of distributed computing. pp. 240- 248 ,(2005) , 10.1145/1073814.1073861
J. Eliot B. Moss, Antony L. Hosking, Nested transactional memory: Model and architecture sketches Science of Computer Programming. ,vol. 63, pp. 186- 201 ,(2006) , 10.1016/J.SCICO.2006.05.010
Sanjeev Kumar, Michael Chu, Christopher J. Hughes, Partha Kundu, Anthony Nguyen, Hybrid transactional memory acm sigplan symposium on principles and practice of parallel programming. pp. 209- 220 ,(2006) , 10.1145/1122971.1123003
Ali-Reza Adl-Tabatabai, Brian T. Lewis, Vijay Menon, Brian R. Murphy, Bratin Saha, Tatiana Shpeisman, Compiler and runtime support for efficient software transactional memory ACM SIGPLAN Notices. ,vol. 41, pp. 26- 37 ,(2006) , 10.1145/1133255.1133985
Nir Shavit, Dan Touitou, Software transactional memory principles of distributed computing. pp. 204- 213 ,(1995) , 10.1145/224964.224987
Bratin Saha, Ali-Reza Adl-Tabatabai, Richard L. Hudson, Chi Cao Minh, Benjamin Hertzberg, McRT-STM: a high performance software transactional memory system for a multi-core runtime acm sigplan symposium on principles and practice of parallel programming. pp. 187- 197 ,(2006) , 10.1145/1122971.1123001