skip to main content
10.1145/1250662.1250675acmconferencesArticle/Chapter ViewAbstractPublication PagesiscaConference Proceedingsconference-collections
Article

MetaTM/TxLinux: transactional memory for an operating system

Published: 09 June 2007 Publication History

Abstract

This paper quantifies the effect of architectural design decisions onthe performance of TxLinux. TxLinux is a Linux kernel modifiedto use transactions in place of locking primitives in several key subsystems.We run TxLinux on MetaTM, which is a new hardwaretransaction memory (HTM) model.MetaTM contains features that enable efficient and correct interrupthandling for an x86-like architecture. Live stack overwrites can corrupt non-transactional stack memory and requires a smallchange to the transaction register checkpoint hardware to ensurecorrect operation of the operating system. We also propose stack based early release to reduce spurious conflicts on stack memorybetween kernel code and interrupt handlers.We use MetaTM to examine the performance sensitivity of individualarchitectural features. For TxLinux we find that Polka and SizeMatters are effective contention management policies, someform of backoff on transaction contention is vital for performance,and stalling on a transaction conflict reduces transaction restartrates, but does not improve performance. Transaction write setsare small, and performance is insensitive to transaction abort costsbut sensitive to commit costs.

References

[1]
A. Alameldeen and D. Wood. Variability in architectural simulations of multi-threaded workloads, 2003.
[2]
C. Anaian, K. Asanovic, B. Kuszmaul, C. Leiserson, and S. Lie. Unbounded transactional memory. In HPCA, 2005.
[3]
A. Arcangeli, M. Cao, P. McKenney, and D. Sarma. Using read-copy-update techniques for system V IPC in the Linux 2.5 kernel. In USENIX Annual Technical Conference, FREENIX Track, pages 297--309, 2003.
[4]
C. Blundell, E.C. Lewis, and M. Martin. Deconstructing transactional semantics: The subtleties of atomicity. In Proceedings of the Fourth Workshop on Duplicating, Deconstructing, and Debunking, Jun 2005.
[5]
J. Bonwick. The slab allocator: An object-caching kernel memory allocator. In USENIX Summer, 1994.
[6]
B. Carlstrom, A. McDonald, H. Chafi, J. Chung, C. Cao Minh, C. Kozyrakis, and K. Olukotun. The atomos transactional programming language. In PLDI, Jun 2006.
[7]
P. Charles, C. Grothoff, V. Saraswat, C. Donawa, A. Kielstra, K. Ebcioglu, C. von Praun, and V. Sarkar. X10: an object-oriented approach to non-uniform cluster computing. In OOPSLA, 2005.
[8]
W. Chuang, S. Narayanasamy, G. Venkatesh, J. Sampson, M. Van Biesbrouck, G. Pokam, B. Calder, and O. Colavin. Unbounded page-based transactional memory. In ASPLOS-XII, 2006.
[9]
J. Chung, C. Cao Minh, A. McDonald, H. Chafi, B. Carlstrom, T. Skare, C. Kozyrakis, and K. Olukotun. Tradeoffs in transactional memory virtualization. In ASPLOS. ACM Press, Oct 2006.
[10]
J. Chung, H. Chafi, C. Cao Minh, A. McDonald, B. Carlstrom, C. Kozyrakis, and K. Olukotun. The common case transactional behavior of multithreaded programs. In HPCA-12. Feb 2006.
[11]
P. Damron, A. Fedorova, Y. Lev, V. Luchangco, M. Moir, and D. Nussbaum. Hybrid transactional memory. In ASPLOS-XI, 2006.
[12]
D. Dice, O. Shalev, and N. Shavit. Transactional locking ii. In Proc. of the 20th International Symposium on Distributed Computing (DISC), 2006.
[13]
A.-R. Adl-Tabatabai et al. Compiler and runtime support for efficient software transactional memory. In PLDI, Jun 2006.
[14]
L. Hammond, B. Carlstrom, V. Wong, B. Hertzberg, M. Chen, C. Kozyrakis, and K. Olukotun. Programming with transactional coherence and consistency. In ASPLOS, Oct 2004.
[15]
L. Hammond, V. Wong, M. Chen, B. Carlstrom, J. Davis, B. Hertzberg, M. Prabhu, H. Wijaya, C. Kozyrakis, and K. Olukotun. Transactional memory coherence and consistency. In ISCA, 2004.
[16]
T. Harris and K. Fraser. Language support for lightweight transactions. In OOPSLA, pages 388--402, Oct 2003.
[17]
T. Harris, M. Plesko, A. Shinnar, and D. Tarditi. Optimizing memory transactions. In PLDI, Jun 2006.
[18]
M. Herlihy. Wait-free synchronization. In TOPLAS, Jan. 1991.
[19]
M. Herlihy, V. Luchangco, and M. Moir. Obstruction-free synchronization: Double-ended queues as an example. In Intl Conf. on Distributed Computing Systems, 2003.
[20]
M. Herlihy, V. Luchangco, M. Moir, and W. Scherer III. Software transactional memory for dynamic-sized data structures. pages 92--101, Jul 2003.
[21]
M. Herlihy and J. E. Moss. Transactional memory: Architectural support for lock-free data structures. In ISCA, May 1993.
[22]
T. Knight Jr. An architecture for mostly functional languages. In ACM Conference on LISP and Functional programming, 1988.
[23]
H.T. Kung and John. T. Robinson. On optimistic methods of concurrency control. In ACM Transactions on Database Systems 6(2), June 1981.
[24]
L. Lamport. Concurrent reading and writing. In Communications of the ACM, November 1977.
[25]
A. McDonald, J. Chung, B. Carlstrom, C. Cao Minh, H. Chafi, C. Kozyrakis, and K. Olukotun. Architectural semantics for practical transactional memory. In ISCA, Jun 2006.
[26]
K. E. Moore, J. Bobba, M. J. Moravan, M. D. Hill, and D. A. Wood. LogTM: Log-based transactional memory. In HPCA, 2006.
[27]
M. Moravan, J. Bobba, K. Moore, L. Yen, M. Hill, B. Liblit, M. Swift, and D. Wood. Supporting nested transactional memory in LogTM. In ASPLOS-XII, 2006.
[28]
E. Moss and T. Hosking. Nested transactional memory: Model and preliminary architecture sketches. In SCOOL, 2005.
[29]
R. Rajwar and J. Goodman. Speculative lock elision: Enabling highly concurrent multithreaded execution. In MICRO, 2001.
[30]
R. Rajwar and J. Goodman. Transactional lock-free execution of lock-based programs. In ASPLOS, Oct 2002.
[31]
R. Rajwar, M. Herlihy, and K. Lai. Virtualizing transactional memory. In ISCA-32. 2005.
[32]
H. Ramadan, C. Rossbach, and E. Witchel. The Linux kernel: A challenging workload for transactional memory. In Proceedings of the Workshop on Transactional Memory Workloads, June 2006.
[33]
William N. Scherer III and Michael L. Scott. Advanced contention management for dynamic software transactional memory. In PODC-24, 2005.
[34]
N. Shavit and D. Touitou. Software transactional memory. In PODC, pages 204--213, 1995.
[35]
T. Skare and C. Kozyrakis. Early release: Friend or foe? In Workshop on Transactional Memory Workloads, Jun 2006.
[36]
Sun Microsystems, Inc. The fortress Language specification,2006. http://research.sun.com/projects/plrg/fortress0903.pdf.
[37]
C. Zilles and L. Baugh. Extending hardware transactional memory to support non-busy waiting and non-transactional actions. In ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing, Jun 2006.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ISCA '07: Proceedings of the 34th annual international symposium on Computer architecture
June 2007
542 pages
ISBN:9781595937063
DOI:10.1145/1250662
  • General Chair:
  • Dean Tullsen,
  • Program Chair:
  • Brad Calder
  • cover image ACM SIGARCH Computer Architecture News
    ACM SIGARCH Computer Architecture News  Volume 35, Issue 2
    May 2007
    527 pages
    ISSN:0163-5964
    DOI:10.1145/1273440
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 June 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. MetaTM
  2. OS support
  3. TxLinux
  4. transactional memory

Qualifiers

  • Article

Conference

SPAA07
Sponsor:

Acceptance Rates

Overall Acceptance Rate 543 of 3,203 submissions, 17%

Upcoming Conference

ISCA '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)1
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media