transactions as a synchronization primitive in the OS reduces time wasted synchronizing on average, but can cause pa-thologies that do not occur with traditional locks under very
high contention or when critical sections are large enough
to incur the overhead of HTM virtualization. HTM aware
scheduling eliminates priority inversion for all the workloads we investigate.
References
1. Adl-Tabatabai, A.-R., Lewis, B. T.,
Menon, V., Murphy, B. R., Saha, B.,
and Shpeisman, T. Compiler and
runtime support for efficient software
transactional memory. In PLDI,
June 2006.
2. Blundell, C., Devietti, J., Lewis,
E. C., and Martin, M. M. K. Making
the fast case common and the
uncommon case simple in unbounded
transactional memory. In ISCA, 2007.
3. Carlstrom, B., McDonald, A., Chafi, H.,
Chung, J., Cao Minh, C., Kozyrakis, C.,
and Olukotun, K. The Atomos
transactional programming language.
In PLDI, June 2006.
4. Chou, A., Yang, J., Chelf, B., Hallem, S.,
and Engler, D. An emprical study of
operating systems errors. In SOSP, 2001.
5. Chuang, W., Narayanasamy, S.,
Venkatesh, G., Sampson, J.,
Biesbrouck, M. V., Pokam, G., Calder, B.,
and Colavin, O. Unbounded page-based transactional memory.
In ASPLOS-XII, 2006.
6. Elnozahy, E., Johnson, D., and Wang, Y.
A survey of rollback-recovery protocols
in message-passing systems, 1996.
7. Engler, D. and Ashcraft, K. Racer-X:
Effective, static detection of race
conditions and deadlocks. In SOSP, 2003.
8. Hammond, L., Wong, V., Chen, M.,
Carlstrom, B. D., Davis, J. D.,
Hertzberg, B., Prabhu, M. K., Wijaya, H.,
Kozyrakis, C., and Olukotun, K.,
Transactional memory coherence and
consistency. In ISCA, June 2004.
9. Harris, T. Exceptions and side-effects
in atomic blocks. Sci. Comput.
Program., 58( 3):325–343, 2005.
10. Herlihy, M. and Moss, J. E. Transactional
memory: Architectural support for
lock-free data structures. In ISCA,
May 1993.
11. Hofmann, O. S., Porter, D. E.,
Rossbach, C. J., Ramadan, H. E., and
Witchel, E. Solving difficult HTM
problems without difficult hardware.
In ACM TrANSAC T Workshop, 2007.
12. Larus, J. R. and Rajwar, R.
Transactional Memory. Morgan &
Claypool, 2006.
13. McDonald, A., Chung, J., Carlstrom, B.,
Minh, C. C., Chafi, H., Kozyrakis, C.,
and Olukotun, K. Architectural
semantics for practical transactional
memory. In ISCA, June 2006.
14. Moore, K. E., Bobba, J., Moravan, M. J.,
Hill, M. D., and Wood, D. A. Logtm:
Log-based transactional memory. In
HPCA, 2006.
15. Moravan, M. J., Bobba, J., Moore, K. E.,
Yen, L., Hill, M. D., Liblit, B., Swift, M. M.,
and Wood, D. A. Supporting nested
transactional memory in logtm. In
ASPLOS-XII. 2006.
16. Moss, E. and Hosking, T. Nested
transactional memory: Model and
preliminary architecture sketches.
In SCOOL, 2005.
17. Moss, J. E. B., Griffeth, N. D., and
Graham, M. H. Abstraction in recovery
management. SIGMOD rec.,
15( 2): 72–83, 1986.
18. Porter, D. E., Hofmann, O. S., and
Witchel, E. Is the optimism in
optimistic concurrency warranted?
In HotOS, 2007.
19. Rajwar, R. and Goodman, J.
Speculative lock elision: Enabling
highly concurrent multithreaded
execution. In MICrO, 2001.
20. Rajwar, R. and Goodman, J.
Transactional lock-free execution of
lock-based programs. In ASPLOS, 2002.
21. Ramadan, H., Rossbach, C., Porter, D.,
Hofmann, O., Bhandari, A., and
Witchel, E. Meta TM/TxLinux:
Transactional Memory for an
Operating System. Evaluating
transactional memory tradeoffs with
TxLinux. In ISCA, 2007.
22. Ramadan, H., Rossbach, C., and
Witchel, E. The Linux kernel:
A challenging workload for
transactional memory. In Workshop
on Transactional Memory Workloads,
June 2006.
23. Rossbach, C. J., Hofmann, O. S.,
Porter, D. E., Ramadan, H. E., Aditya,
B., and Witchel, E. Txlinux: using and
managing hardware transactional
memory in an operating system. In
SOSP, 2007.
24. Scherer III, W. N. and Scott, M. L.
Advanced contention management
for dynamic software transactional
memory. In PODC, 2005.
25. Yen, L., Bobba, J., Marty, M., Moore,
K. E., Volos, H., Hill, M. D., Swift,
M. M., and Wood, D. A. Logtm-SE:
Decoupling hardware transactional
memory from caches. In HPCA,
Feb 2007.
Christopher J. Rossbach, hany E. Ramadan, Owen S. hofmann, Donald E. Porter,
Aditya Bhandari, and Emmett Witchel (rossbach, ramadan, osh, porterde,bhandari,witchel)
@ cs.utexas.edu, Department of Computer Sciences, University of Texas, Austin
© 2008 ACM 0001-0782/08/0900 $5.00
ACM Transactions on
Internet Technology
This quarterly publication encompasses many disciplines
in computing—including computer software engineering,
middleware, database management, security, knowledge discovery and data mining, networking and distributed systems,
communications, and performance and scalability—all under
one roof. TOIT brings a sharper focus on the results and roles
of the individual disciplines and the relationship among
them. Extensive multi-disciplinary coverage is placed on the
new application technologies, social issues, and public policies
shaping Internet development.
http://toit.acm.org/