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