Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1168857.1168900acmconferencesArticle/Chapter ViewAbstractPublication PagesasplosConference Proceedingsconference-collections
Article

Hybrid transactional memory

Published: 20 October 2006 Publication History

Abstract

Transactional memory (TM) promises to substantially reduce the difficulty of writing correct, efficient, and scalable concurrent programs. But "bounded" and "best-effort" hardware TM proposals impose unreasonable constraints on programmers, while more flexible software TM implementations are considered too slow. Proposals for supporting "unbounded" transactions in hardware entail significantly higher complexity and risk than best-effort designs.We introduce Hybrid Transactional Memory (HyTM), an approach to implementing TMin software so that it can use best effort hardware TM (HTM) to boost performance but does not depend on HTM. Thus programmers can develop and test transactional programs in existing systems today, and can enjoy the performance benefits of HTM support when it becomes available.We describe our prototype HyTM system, comprising a compiler and a library. The compiler allows a transaction to be attempted using best-effort HTM, and retried using the software library if it fails. We have used our prototype to "transactify" part of the Berkeley DB system, as well as several benchmarks. By disabling the optional use of HTM, we can run all of these tests on existing systems. Furthermore, by using a simulated multiprocessor with HTM support, we demonstrate the viability of the HyTM approach: it can provide performance and scalability approaching that of an unbounded HTM implementation, without the need to support all transactions with complicated HTM support.

References

[1]
A.-R. Adl-Tabatabai, B.T. Lewis, V. Menon, B.R. Murphy, B. Saha, and T. Shpeisman. Compiler and runtime support for efficient software transactional memory. In PLDI '06: Proceedings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 26--37, 2006.
[2]
A. Agarwal and M. Cherian. Adaptive backoff synchronization techniques. In Proc. 16th International Symposium on Computer Architecture, pages 396--406, May 1989.
[3]
C.S. Ananian, K. Asanovic, B.C. Kuszmaul, C.E. Leiserson, and S. Lie. Unbounded transactional memory. In Proc. 11th International Symposium on High-Performance Computer Architecture, pages 316--327, Feb. 2005.
[4]
B.D. Carlstrom, A. McDonald, H. Chafi, J. Chung, C.C. Minh, C. Kozyrakis, and K. Olukotun. The atomos transactional programming language. In PLDI '06: Proceedings of the 2006 ACMSIGPLAN conference on Programming language design and implementation, pages 1--13, New York, NY, USA, 2006. ACM Press.
[5]
D. Dice, O. Shalev, and N. Shavit. Transactional locking II. In Proc. International Symposium on Distributed Computing, 2006. To appear.
[6]
R. Guerraoui, M. Herlihy, and B. Pochon. Toward a theory of transactional contention managers. In Proc. 24th Annual ACM Symposium on Principles of Distributed Computing, pages 258--264, 2005.
[7]
L. Hammond, V. Wong, M. Chen, B.D. Carlstrom, J.D. Davis, B. Hertzberg, M.K. Prabhu, H. Wijaya, C. Kozyrakis, and K. Olukotun. Transactional memory coherence and consistency. In Proc. 31st Annual International Symposium on Computer Architecture, June 2004.
[8]
T. Harris and K. Fraser. Language support for lightweight transactions. In Proc. 18th Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 388--402, Oct. 2003.
[9]
T. Harris, M. Plesko, A. Shinnar, and D. Tarditi. Optimizing memory transactions. In PLDI '06: Proceedings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 14--25, New York, NY, USA, 2006. ACM Press.
[10]
M. Herlihy, V. Luchangco, M. Moir, and W.N. Scherer III. Software transactional memory for supporting dynamic-sized data structures. In Proc. 22th Annual ACM Symposium on Principles of Distributed Computing, pages 92--101, 2003.
[11]
M. Herlihy and J.E.B. Moss. Transactional memory: Architectural support for lock-free data structures. In Proc. 20th Annual International Symposium on Computer Architecture, pages 289--300, May 1993.
[12]
S. Kumar, M. Chu, C.J. Hughes, P. Kundu, and A. Nguyen. Hybrid transactional memory. In Proc. ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Mar. 2006.
[13]
Y. Lev and M. Moir. Fast read sharing mechanism for software transactional memory, 2004. http://research.sun.com/scalable/pubs/PODC04-Poster.pdf.
[14]
Y. Lev and M. Moir. Debuuging with transactional memory. Transact 2006 workshop, June 2006. http://research.sun.com/scalable/pubs/Lev-Moir-Debugging-2006.pdf.
[15]
S. Lie. Hardware support for unbounded transactional memory. Master's thesis, Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science, May 2004.
[16]
P. Magnusson, F. Dahlgren, H. Grahn, M. Karlsson, F. Larsson, F. Lundholm, A. Moestedt, J. Nilsson, P. Stenstrom, and B. Werner. SimICS/sun4m: A virtual workstation. In Proceedings of the USENIX 1998 Annual Technical Conference (USENIX '98), June 1998.
[17]
M.M.K. Martin, D.J. Sorin, B.M. Beckmann, M.R. Marty, M. Xu, A.R. Alameldeen, K.E. Moore, M.D. Hill, and D.A. Wood. Multifacet's general execution-driven multiprocessor simulator (GEMS) toolset. SIGARCH Comput. Archit. News, 33(4):92--99, 2005.
[18]
J.F. Martinez and J. Torrellas. Speculative synchronization: Applying thread-level speculation to explicitly parallel applications. In Proc. 10th Symposium on Architectural Support for Programming Languages and Operating Systems, pages 18--29, 2002.
[19]
A. McDonald, J. Chung, B.D. Carlstrom, C.C. Minh, H. Chafi, C. Kozyrakis, and K. Olukotun. Architectural semantics for practical transactional memory. In ISCA '06: Proceedings of the 33rd International Symposium on Computer Architecture, pages 53--65, Washington, DC, USA, 2006. IEEE Computer Society.
[20]
M. Moir. Hybrid hardware/software transactional memory. Slides for Chicago Workshop on Transactional Systems, Apr. 2005. http://www.cs.wisc.edu/~rajwar/tm-workshop/TALKS/moir.pdf.
[21]
M. Moir. Hybrid transactional memory, July 2005. http://research.sun.com/scalable/pubs/Moir-Hybrid-2005.pdf.
[22]
K.E. Moore, J. Bobba, M.J. Moravan, M.D. Hill, and D.A. Wood. LogTM: Log-based transactional memory. In Proc. 12th Annual International Symposium on High Performance Computer Architecture, 2006.
[23]
K.E. Moore, M.D. Hill, and D.A. Wood. Thread-level transactional memory. Technical Report: CS-TR-2005-1524, Dept. of Computer Sciences, University of Wisconsin, Mar. 2005.
[24]
M. Moravan, J. Bobba, K. Moore, L. Yen, M. Hill, B. Liblit, M. Swift, and D. Wood. Supporting nested transactional memory in LogTM. In Proc. 12th Symposium on Architectural Support for Programming Languages and Operating Systems, Oct. 2006.
[25]
M.A. Olson, K. Bostic, and M. Seltzer. Berkeley DB. In Proc. USENIX Annual Technical Conference, 1999.
[26]
R. Rajwar and J.R. Goodman. Speculative lock elision: Enabling highly concurrent multithreaded execution. In Proc. 34th International Symposium on Microarchitecture, pages 294--305, Dec. 2001.
[27]
R. Rajwar,M. Herlihy, and K. Lai. Virtualizing transactional memory. In Proc. 32nd Annual International Symposium on Computer Architecture, pages 494--505, Washington, DC, USA, 2005.
[28]
W. Scherer and M. Scott. Advanced contention management for dynamic software transactional memory. In Proc. 24th Annual ACM Symposium on Principles of Distributed Computing, 2005.
[29]
N. Shavit and D. Touitou. Software transactional memory. Distributed Computing, Special Issue(10):99--116, 1997.
[30]
Sun Microsystems, Inc. http://www.sun.com/processors/ultrasparciv/index.xml.
[31]
Sun Microsystems, Inc. Sun FireTM6800 Server. http://sunsolve.sun.com/handbookpub/Systems/SunFire6800/SunFire6800.html.
[32]
M. Tremblay, Q. Jacobson, and S. Chaudhry. Selectively monitoring stores to support transactional program execution. US Patent Application 20040187115, Aug. 2003.
[33]
S.C. Woo, M. Ohara, E. Torrie, J.P. Singh, and A. Gupta. The SPLASH-2 programs: characterization and methodological considerations. In Proc. 22nd Annual International Symposium on Computer Architecture, pages 24--36, 1995.

Cited By

View all
  • (2024)Accelerating block lifecycle on blockchain via hardware transactional memoryJournal of Parallel and Distributed Computing10.1016/j.jpdc.2023.104779184(104779)Online publication date: Feb-2024
  • (2023)Safety Hints for HTM Capacity Abort Mitigation2023 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA56546.2023.10071113(206-219)Online publication date: Feb-2023
  • (2022)Elimination (a,b)-trees with fast, durable updatesProceedings of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/3503221.3508441(416-430)Online publication date: 2-Apr-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ASPLOS XII: Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
October 2006
440 pages
ISBN:1595934510
DOI:10.1145/1168857
  • cover image ACM SIGARCH Computer Architecture News
    ACM SIGARCH Computer Architecture News  Volume 34, Issue 5
    Proceedings of the 2006 ASPLOS Conference
    December 2006
    425 pages
    ISSN:0163-5964
    DOI:10.1145/1168919
    Issue’s Table of Contents
  • cover image ACM SIGOPS Operating Systems Review
    ACM SIGOPS Operating Systems Review  Volume 40, Issue 5
    Proceedings of the 2006 ASPLOS Conference
    December 2006
    425 pages
    ISSN:0163-5980
    DOI:10.1145/1168917
    Issue’s Table of Contents
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 41, Issue 11
    Proceedings of the 2006 ASPLOS Conference
    November 2006
    425 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/1168918
    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: 20 October 2006

Permissions

Request permissions for this article.

Check for updates

Author Tag

  1. transactional memory

Qualifiers

  • Article

Conference

ASPLOS06

Acceptance Rates

ASPLOS XII Paper Acceptance Rate 38 of 158 submissions, 24%;
Overall Acceptance Rate 535 of 2,713 submissions, 20%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)28
  • Downloads (Last 6 weeks)2
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Accelerating block lifecycle on blockchain via hardware transactional memoryJournal of Parallel and Distributed Computing10.1016/j.jpdc.2023.104779184(104779)Online publication date: Feb-2024
  • (2023)Safety Hints for HTM Capacity Abort Mitigation2023 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA56546.2023.10071113(206-219)Online publication date: Feb-2023
  • (2022)Elimination (a,b)-trees with fast, durable updatesProceedings of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/3503221.3508441(416-430)Online publication date: 2-Apr-2022
  • (2021)Adaptive Versioning in Transactional Memory SystemsAlgorithms10.3390/a1406017114:6(171)Online publication date: 31-May-2021
  • (2021)Understanding and utilizing hardware transactional memory capacityProceedings of the 2021 ACM SIGPLAN International Symposium on Memory Management10.1145/3459898.3463901(1-14)Online publication date: 22-Jun-2021
  • (2021)Mimosa: Protecting Private Keys Against Memory Disclosure Attacks Using Hardware Transactional MemoryIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2019.289766618:3(1196-1213)Online publication date: 1-May-2021
  • (2021)Improving Phased Transactional Memory via Commit Throughput and Capacity Estimation2021 IEEE 33rd International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD)10.1109/SBAC-PAD53543.2021.00016(44-53)Online publication date: Oct-2021
  • (2020)KVell+Proceedings of the 14th USENIX Conference on Operating Systems Design and Implementation10.5555/3488766.3488790(425-441)Online publication date: 4-Nov-2020
  • (2020)TardisTMProceedings of the Eleventh International Workshop on Programming Models and Applications for Multicores and Manycores10.1145/3380536.3380538(1-10)Online publication date: 22-Feb-2020
  • (2020)Investigating Transactional Memory for High Performance Embedded SystemsArchitecture of Computing Systems – ARCS 202010.1007/978-3-030-52794-5_8(97-108)Online publication date: 9-Jul-2020
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media