Christopher J. Rossbach, Owen S. Hofmann, Donald E. Porter, Hany E. Ramadan, Bhandari Aditya, and Emmett Witchel
2007
TxLinux is a variant of Linux that is the first operating system to
use hardware transactional memory (HTM) as a synchronization
primitive, and the first to manage HTMin the scheduler. This paper
describes and measures TxLinux and discusses two innovations in
detail: cooperation between locks and transactions, and the integration
of transactions with the OS scheduler. Mixing locks and transactions
requires a new primitive, cooperative transactional spinlocks
(cxspinlocks) that allow locks and transactions to protect the
same data while maintaining the advantages of both synchronization
primitives. Cxspinlocks allow the system to attempt execution
of critical regions with transactions and automatically roll back to
use locking if the region performs I/O. Integrating the scheduler
with HTM eliminates priority inversion. On a series of real-world
benchmarks TxLinux has similar performance to Linux, exposing
concurrency with as many as 32 concurrent threads on 32 CPUs in
the same critical region.
In SOSP
| Type | Inproceedings |
| Pages | 87-102 |