ABSTRACT
A minimal, bounded hardware transactional memory implementation significantly improves synchronization performance when used in an operating system kernel. We add HTM to Linux 2.4, a kernel with a simple, coarse-grained synchronization structure. The transactional Linux 2.4 kernel can improve performance of user programs by as much as 40% over the non-transactional 2.4 kernel. It closes 68% of the performance gap with the Linux 2.6 kernel, which has had significant engineering effort applied to improve scalability.
We then extend our minimal HTM to a fast, unbounded transactional memory with a novel technique for coordinating hardware transactions and software synchronization. Overflowed transactions run in software, with only a minimal coupling between hardware and software systems. There is no performance penalty for overflow rates of less than 1%. In one instance, at 16 processors and an overflow rate of 4%, performance degrades from an ideal 4.3x to 3.6x.
- L. Baugh, N. Neelakantam, and C. Zilles. Using hardware memory protection to build a high--performance, strongly-atomic hybrid transactional memory. In ISCA, 2008. Google Scholar
Digital Library
- C. Blundell, E. C. Lewis, andM.M. K.Martin. Deconstructing transactions: The subtleties of atomicity. In WDDD. 2005.Google Scholar
- C. Blundell, J. Devietti, E. C. Lewis, and M. M. K. Martin. Making the fast case common and the uncommon case simple in unbounded transactional memory. In ISCA, 2007. Google Scholar
Digital Library
- J. Bobba, N. Goyal,M. D. Hill,M.M. Swift, and D. A.Wood. Tokentm: Efficient execution of large transactions with hardware transactional memory. In ISCA, 2008. Google Scholar
Digital Library
- C. Cao Minh, M. Trautmann, J. Chung, A. McDonald, N. Bronson, J. Casper, C. Kozyrakis, and K. Olukotun. An effective hybrid transactional memory system with strong isolation guarantees. In ISCA. 2007. Google Scholar
Digital Library
- L. Ceze, J. Tuck, J. Torrellas, and C. Cascaval. Bulk disambiguation of speculative threads in multiprocessors. In ISCA, 2006. Google Scholar
Digital Library
- W. Chuang, S. Narayanasamy, G. Venkatesh, J. Sampson, M. V. Biesbrouck, G. Pokam, B. Calder, and O. Colavin. Unbounded page-based transactional memory. In ASPLOS, 2006. Google Scholar
Digital Library
- J. Chung, C. Cao Minh, A. McDonald, H. Chafi, B. D. Carlstrom, T. Skare, C. Kozyrakis, and K. Olukotun. Tradeoffs in transactional memory virtualization. In ASPLOS, 2006. Google Scholar
Digital Library
- C. Click Jr. Pausing transactional memory hardware. In Cliff Click Jr.'s Blog's Blog, 2007. URL http://www.typepad.com/t/trackback/240313/20967813.Google Scholar
- P. Damron, A. Fedorova, Y. Lev, V. Luchangco, M. Moir, and D. Nussbaum. Hybrid transactional memory. In ASPLOS, 2006. Google Scholar
Digital Library
- D. Dice, O. Shalev, and N. Shavit. Transactional locking II. In DISC. 2006. Google Scholar
Digital Library
- D. Dice, M. Herlihy, D. Lea, Y. Lev, V. Luchangco, W. Mesard, M. Moir, K. Moore, and D. Nussbaum. Applications of the adaptive transactional memory test platform. In TRANSACT, 2008.Google Scholar
- E. Elnozahy, D. Johnson, and Y. Wang. A survey of rollbackrecovery protocols in message-passing systems, 1996. URL citeseer.ist.psu.edu/article/elnozahy96survey.html.Google Scholar
- J. Gray and A. Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 2nd edition, 1993. Google Scholar
Digital Library
- S. Kumar, M. Chu, C. J. Hughes, P. Kundu, and A. Nguyen. Hybrid transactional memory. In PPoPP, 2006. Google Scholar
Digital Library
- J. R. Larus and R. Rajwar. Transactional Memory. Morgan & Claypool, 2006.Google Scholar
- R. Love. Linux Kernel Development (2nd Edition) (Novell Press). Novell Press, 2005. ISBN 0672327201. Google Scholar
Digital Library
- P. S. Magnusson, M. Christensson, J. Eskilson, D. Forsgren, G. Hållberg, J. Högberg, F. Larsson, A. Moestedt, and B. Werner. Simics: A full system simulation platform. In IEEE Computer vol.35 no.2, Feb 2002. Google Scholar
Digital Library
- K. M. Mark Moir and D. Nussbaum. The adaptive transactional memory test platform: A tool for experimenting with transactional code for rock. In TRANS-ACT, February 2008. Google Scholar
Digital Library
- A. McDonald, J. Chung, B. D. Carlstrom, C. C. Minh, H. Chafi, C. Kozyrakis, and K. Olukotun. Architectural semantics for practical transactional memory. In ISCA, 2006. Google Scholar
Digital Library
- C. C. Minh, J. Chung, C. Kozyrakis, and K. Olukotun. Stamp: Stanford transactional applications for multi-processing. In IISWC, 2008.Google Scholar
- J. K. Ousterhout. Why aren't operating systems getting faster as fast as hardware? In USENIX Summer, pages 247--256, 1990.Google Scholar
- R. Rajwar and J. R. Goodman. Speculative lock elision: enabling highly concurrent multithreaded execution. In MICRO, 2001. Google Scholar
Digital Library
- R. Rajwar and J. R. Goodman. Transactional lock-free execution of lock-based programs. In ASPLOS, 2002. Google Scholar
Digital Library
- R. Rajwar, M. Herlihy, and K. Lai. Virtualizing transactional memory. In ISCA, 2005. Google Scholar
Digital Library
- H. Ramadan, C. Rossbach, and E. Witchel. The Linux kernel: A challenging workload for transactional memory. In WTW, 2006.Google Scholar
- H. Ramadan, C. Rossbach, and E. Witchel. Dependence-aware transactional memory for increased concurrency. In MICRO, 2008. Google Scholar
Digital Library
- H. E. Ramadan, C. J. Rossbach, D. E. Porter, O. S. Hofmann, A. Bhandari, and E. Witchel. MetaTM/TxLinux: Transactional memory for an operating system. In ISCA, 2007. Google Scholar
Digital Library
- H. E. Ramadan, I. Roy, M. Herlihy, and E. Witchel. Committing conflicting transactions in an STM. In PPoPP, 2009. Google Scholar
Digital Library
- C. J. Rossbach, O. S. Hofmann, D. E. Porter, H. E. Ramadan, B. Aditya, and E. Witchel. Txlinux: using and managing hardware transactional memory in an operating system. In SOSP, 2007. Google Scholar
Digital Library
- B. Saha, A.-R. Adl-Tabatabai, and Q. Jacobson. Architectural support for software transactional memory. In MICRO, 2006. Google Scholar
Digital Library
- A. Shriraman, M. F. Spear, H. Hossain, V. J. Marathe, S. Dwarkadas, and M. L. Scott. An integrated hardware-software approach to flexible transactional memory. In ISCA, 2007. Google Scholar
Digital Library
- A. Shriraman, S. Dwarkadas, and M. L. Scott. Flexible decoupled transactional memory support. In ISCA. 2008. Google Scholar
Digital Library
- M. F. Spear, M. M. Michael, and M. L. Scott. Inevitability mechanisms for software transactional memory. In TRANSACT, 2008.Google Scholar
- M. M. Swift, H. Volos, N. Goyal, L. Yen, M. D. Hill, and D. A. Wood. OS support for virtualizing transactional memory. In TRANSACT, 2008.Google Scholar
- L. Yen, J. Bobba,, M. Marty, K. E. Moore, H. Volos, M. D. Hill,, M. M. Swift, and D. A. Wood. LogTM-SE: Decoupling hardware transactional memory from caches. In HPCA. Feb 2007. Google Scholar
Digital Library
- C. Zilles and L. Baugh. Extending hardware transactional memory to support nonbusy waiting and nontransactional actions. In TRANSACT, 2006.Google Scholar
Index Terms
Maximum benefit from a minimal HTM
Recommendations
Maximum benefit from a minimal HTM
ASPLOS 2009A minimal, bounded hardware transactional memory implementation significantly improves synchronization performance when used in an operating system kernel. We add HTM to Linux 2.4, a kernel with a simple, coarse-grained synchronization structure. The ...
Maximum benefit from a minimal HTM
ASPLOS 2009A minimal, bounded hardware transactional memory implementation significantly improves synchronization performance when used in an operating system kernel. We add HTM to Linux 2.4, a kernel with a simple, coarse-grained synchronization structure. The ...
Hybrid STM/HTM for nested transactions on OpenJDK
OOPSLA '16Transactional memory (TM) has long been advocated as a promising pathway to more automated concurrency control for scaling concurrent programs running on parallel hardware. Software TM (STM) has the benefit of being able to run general transactional ...








Comments