ACM Home Page
Please provide us with feedback. Feedback
TxLinux: using and managing hardware transactional memory in an operating system
Full text FlvFlv (31:17),  Mp3Mp3 (13.15 MB),  PdfPdf (324 KB)
Source
ACM Symposium on Operating Systems Principles archive
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles table of contents
Stevenson, Washington, USA
SESSION: Concurrency table of contents
Pages: 87 - 102  
Year of Publication: 2007
ISBN:978-1-59593-591-5
Also published in ...
Authors
Christopher J. Rossbach  University of Texas, Austin, TX
Owen S. Hofmann  University of Texas, Austin, TX
Donald E. Porter  University of Texas, Austin, TX
Hany E. Ramadan  University of Texas, Austin, TX
Bhandari Aditya  University of Texas, Austin, TX
Emmett Witchel  University of Texas, Austin, TX
Sponsors
ACM: Association for Computing Machinery
SIGOPS: ACM Special Interest Group on Operating Systems
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): ,   Downloads (12 Months): ,   Citation Count: 16
Additional Information:

appendices and supplements   abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1294261.1294271
What is a DOI?

APPENDICES and SUPPLEMENTS
Zipp87-slides.zip (16.05 MB),
Supplemental material for TxLinux: using and managing hardware transactional memory in an operating system


ABSTRACT

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 HTM in the scheduler. This paper describes and measures TxLinux and discusses two innovations in detail: cooperation between locks and transactions, and theintegration 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 attemptexecution 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 ofreal-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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
BES. Akgul, VJM. III, HThane, and PKuacharoen. Hardware support for priority inheritance. rtss, 00:246, 2003.
 
2
 
3
4
 
5
C. Blundell, E. C. Lewis, and M. M. K. Martin. Deconstructing transactions: The subtleties of atomicity. In Fourth Annual Workshop on Duplicating, Deconstructing, and Debunking. Jun 2005.
 
6
7
8
9
10
11
 
12
E. Elnozahy, D. Johnson, and Y. Wang. A survey of rollback-recovery protocols in message-passing systems, 1996.
13
14
 
15
16
17
18
 
19
20
21
22
 
23
O. S. Hofmann, D. E. Porter, C. J. Rossbach, H. E. Ramadan, and E. Witchel. Solving difficult HTM problems without difficult hardware. In ACM TRANSACT Workshop, 2007.
 
24
Intel Corporation. IA-32 Intel Architecture Software Developer's Manuals, 2006. http://developer.intel.com/design/processor/.
25
26
27
28
 
29
J. R. Larus and R. Rajwar. Transactional Memory. Morgan & Claypool, 2006.
 
30
31
32
 
33
 
34
Microsoft Corporation. Transactional NTFS (TxF), 2006. http://msdn2.microsoft.com/en-us/library/aa365456.aspx.
 
35
K. E. Moore, JBobba, M. J. Moravan, MD. Hill , and D. A. Wood. Logtm: Log-based transactional memory. In HPCA, 2006.
36
 
37
E. Moss and T. Hosking. Nested transactional memory: Model and preliminary architecture sketches. In SCOOL, 2005.
38
 
39
 
40
J. K. Ousterhout. Why aren't operating systems getting faster as fast as hardware? In USENIX Summer, 1990.
 
41
C. Pramode. Experiments with kernel 2.6 on a hyperthreaded Pentium 4 LG. Linux Gazette, 2007.
 
42
43
44
 
45
H. Ramadan, C. Rossbach, D. Porter, O. Hofmann, A. Bhandari, and E. Witchel. Evaluating transactional memory tradeoffs with TxLinux. In ISCA, 2007.
 
46
H. Ramadan, C. Rossbach, and E. Witchel. The Linux kernel: A challenging workload for transactional memory. In Workshop on Transactional Memory Workloads, June 2006.
 
47
S. Rostedt and D. V. Hart. Internals of the RT patch. In Linux Symposium, 2007.
 
48
 
49
50
51
52
 
53
S. Tweedie. Journaling the Linux ext2fs filesystem. In LinuxExpo '98, 1998.
 
54
A. Welc, A. L. Hosking, and S. Jagannathan.Transparently reconciling transactions with locking for java synchronization. In ECOOP, Jul 2006.
 
55
 
56
C. Zilles and L. Baugh. Extending hardware transactional memory to support non-busy waiting and non-transactional actions. In ACM TRANSACT Workshop, Jun 2006.

CITED BY  16

Collaborative Colleagues:
Christopher J. Rossbach: colleagues
Owen S. Hofmann: colleagues
Donald E. Porter: colleagues
Hany E. Ramadan: colleagues
Bhandari Aditya: colleagues
Emmett Witchel: colleagues