TxLinux and MetaTM: transactional memory and the operating system

Christopher J. Rossbach, Hany E. Ramadan, Owen S. Hofmann, Donald E. Porter, Bhandari Aditya, and Emmett Witchel

Abstract

TxLinux is the first operating system to use hardware transactional memory (HTM) as a synchronization primitive, and the first to manage HTM in the scheduler. TxLinux, which is a modification of Linux, is the first real-scale benchmark for transactional memory (TM). MetaTM is a modification of the x86 architecture that supports HTM in general and TxLinux specifically. This paper describes and measures TxLinux and MetaTM, the HTM model that supports it. TxLinux greatly benefits from a new primitive, called the cooperative transactional spinlock (cxspinlock) that allows locks and transactions to protect the same data while maintaining the advantages of both synchronization primitives. Integrating the TxLinux scheduler with the MetaTM’s architectural support for HTM eliminates priority inversion for several real-world benchmarks.

Details

Publication typeArticle
Published inCommun. ACM
Pages83-91
Volume51
Number9
> Publications > TxLinux and MetaTM: transactional memory and the operating system