Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1345206.1345236acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
research-article

Split hardware transactions: true nesting of transactions using best-effort hardware transactional memory

Published: 20 February 2008 Publication History

Abstract

Transactional Memory (TM) is on its way to becoming the programming API of choice for writing correct, concurrent, and scalable programs. Hardware TM (HTM) implementations are expected to be significantly faster than pure software TM (STM); however, full hardware support for true closed and open nested transactions is unlikely to be practical.
This paper presents a novel mechanism, the split hardware transaction (SpHT), that uses minimal software support to combine multiple segments of an atomic block, each executed using a separate hardware transaction, into one atomic operation. The idea of segmenting transactions can be used for many purposes, including nesting, local retry, orElse, and user-level thread scheduling; in this paper we focus on how it allows linear closed and open nesting of transactions. SpHT overcomes the limited expressive power of best-effort HTM while imposing overheads dramatically lower than STM and preserving useful guarantees such as strong atomicity provided by the underlying HTM.

References

[1]
Eric Allen, David Chase, Joe Hallett, Victor Luchangco, Jan-Willem Maessen, Sukyoung Ryu, and Sam Tobin-Hochstadt. The fortress language specification, version 1.0ß. Available from http://research.sun.com/projects/plrg/Publications/, March 2007.
[2]
C. Scott Ananian, Krste Asanovi?, Bradley C. Kuszmaul, Charles E. Leiserson, and Sean Lie. Unbounded transactional memory. In Proceedings of the 11th International Symposium on High-Performance Computer Architecture (HPCA'05), pages 316--327, San Franscisco, California, February 2005.
[3]
C. Scott Ananian and Martin Rinard. Efficient object-based software transactions. In Workshop on Synchronization and Concurrency in Object-Oriented Languages (SCOOL), October 2005.
[4]
Brian D. Carlstrom, Austen McDonald, Hassan Chafi, JaeWoong Chung, Chi Cao Minh, Christos Kozyrakis, and Kunle Olukotun. The Atomos transactional programming language. In PLDI '06: Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation, pages 1--13, New York, NY, USA, 2006. ACM Press.
[5]
JaeWoong Chung, Hassan Chafi, Chi Cao Minh, Austen McDonald, Brian D. Carlstrom, Christos Kozyrakis, and Kunle Olukotun. The common case transactional behavior of multithreaded programs. In 12th International Symposium on High Performance Computer Architecture (HPCA). Feb 2006.
[6]
P. Damron, A. Fedorova, Y. Lev, V. Luchangco, M. Moir, and D. Nussbaum. Hybrid transactional memory. In Proc. 12th Symposium on Architectural Support for Programming Languages and Operating Systems, October 2006.
[7]
D. Dice, O. Shalev, and N. Shavit. Transactional locking II. In Proc. International Symposium on Distributed Computing, 2006.
[8]
Robert Ennals. Software transactional memory should not be obstruction-free, 2005. http://www.cambridge.intel-research.net/~rennals/notlockfree.pdf.
[9]
Keir Fraser. Practical lock freedom. PhD thesis, Cambridge University Computer Laboratory, 2003. Also available as Technical Report UCAM-CL-TR-579.
[10]
Lance Hammond, Vicky Wong, Mike Chen, Brian D. Carlstrom, John D. Davis, Ben Hertzberg, Manohar K. Prabhu, Honggo Wijaya, Christos Kozyrakis, and Kunle Olukotun. Transactional memory coherence and consistency. In Proceedings of the 31st Annual International Symposium on Computer Architecture, page 102. IEEE Computer Society, Jun 2004.
[11]
Tim Harris, Simon Marlow, Simon Peyton-Jones, and Maurice Herlihy. Composable memory transactions. In PPoPP '05: Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, pages 48--60, New York, NY, USA, 2005. ACM Press.
[12]
M. Herlihy and E. Moss. Transactional memory: Architectural support for lock-free data structures. In Proceedings of the Twentieth Annual International Symposium on Computer Architecture, 1993.
[13]
Maurice Herlihy, Victor Luchangco, Mark Moir, and William N. Scherer. Software transactional memory for dynamic-sized data structures. In Proceedings of the 22nd Annual ACM Symposium on Principles of Distributed Computing, pages 92--101, Jul 2003.
[14]
M.P. Herlihy and J.M. Wing. Linearizability: A correctness condition for concurrent objects. ACM Transactions On Programming Languages and Systems, 12(3):463--492, July 1990.
[15]
Sanjeev Kumar, Michael Chu, Christopher Hughes, Partha Kundu, and Anthony Nguyen. Hybrid transactional memory. In Preceedings of the 11th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2006.
[16]
Yossi Lev and Mark Moir. Debugging with transactional memory. Transact 2006 workshop, June 2006. http://research.sun.com/scalable/pubs/Lev-Moir-Debugging-2006.pdf.
[17]
Yossi Lev, Mark Moir, and Dan Nussbaum. Phtm: Phased transactional memory. Transact 2007 workshop, August 2007. http://www.cs.rochester.edu/meetings/TRANSACT07/papers/lev.pdf.
[18]
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.
[19]
Virendra J. Marathe, William N. Scherer III, and Michael L. Scott. Adaptive software transactional memory. Technical report, Cracow, Poland, Sep 2005. Earlier but expanded version available as TR-868, University of Rochester Computer Science Dept., May 2005.
[20]
Milo M. K. Martin, Daniel J. Sorin, Bradford M. Beckmann, Michael R. Marty, Min Xu, Alaa R. Alameldeen, Kevin E. Moore, Mark D. Hill, and David A. Wood. Multifacet's general execution-driven multiprocessor simulator (GEMS) toolset. SIGARCH Comput. Archit. News, 33(4):92--99, 2005.
[21]
Mark Moir. Hybrid transactional memory, Jul 2005. http://www.cs.wisc.edu/trans-memory/misc-papers/moir:hybrid-tm:tr:2005.pdf.
[22]
Kevin E. Moore, Jayaram Bobba, Michelle J. Moravan, Mark D. Hill, and David A. Wood. Log?: Log-based transactional memory. In Proc. 12th Annual International Symposium on High Performance Computer Architecture, 2006.
[23]
Michelle J. Moravan, Jayaram Bobba, Kevin E. Moore, Luke Yen, Mark D. Hill, Ben Liblit, Michael M. Swift, and David A. Wood. Supporting nested transactional memory in logtm. In ASPLOS-XII: Proceedings of the 12th international conference on Architectural support for programming languages and operating systems, pages 359--370, New York, NY, USA, 2006. ACM Press.
[24]
J. Eliot B. Moss and Antony L. Hosking. Nested transactional memory: Model and architecture sketches. Sci. Comput. Program., 63(2):186--201, 2006.
[25]
Manohar K. Prabhu and Kunle Olukotun. Using thread-level speculation to simplify manual parallelization. In PPoPP '03: Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming, pages 1--12, New York, NY, USA, 2003. ACM Press.
[26]
Ravi Rajwar, Maurice Herlihy, and Konrad Lai. Virtualizing transactional memory. In ISCA '05: Proceedings of the 32nd Annual International Symposium on Computer Architecture, pages 494--505, Washington, DC, USA, 2005. IEEE Computer Society.
[27]
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.
[28]
N. Shavit and D. Touitou. Software transactional memory. Distributed Computing, 10(2):99--116, February 1997.

Cited By

View all
  • (2023)Separating Mechanism from Policy in STM2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT)10.1109/PACT58117.2023.00031(279-296)Online publication date: 21-Oct-2023
  • (2022)As-Is Approximate ComputingACM Transactions on Architecture and Code Optimization10.1145/355976120:1(1-26)Online publication date: 17-Nov-2022
  • (2017)Managing Resource Limitation of Best-Effort HTMIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2017.266841528:8(2299-2313)Online publication date: 1-Aug-2017
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PPoPP '08: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming
February 2008
308 pages
ISBN:9781595937957
DOI:10.1145/1345206
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 February 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. atomicity
  2. nesting
  3. transactional memory

Qualifiers

  • Research-article

Conference

PPoPP08
Sponsor:

Acceptance Rates

Overall Acceptance Rate 230 of 1,014 submissions, 23%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2023)Separating Mechanism from Policy in STM2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT)10.1109/PACT58117.2023.00031(279-296)Online publication date: 21-Oct-2023
  • (2022)As-Is Approximate ComputingACM Transactions on Architecture and Code Optimization10.1145/355976120:1(1-26)Online publication date: 17-Nov-2022
  • (2017)Managing Resource Limitation of Best-Effort HTMIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2017.266841528:8(2299-2313)Online publication date: 1-Aug-2017
  • (2016)Hardware Transactional MemoriesInnovative Research and Applications in Next-Generation High Performance Computing10.4018/978-1-5225-0287-6.ch003(47-65)Online publication date: 2016
  • (2015)Software partitioning of hardware transactionsACM SIGPLAN Notices10.1145/2858788.268850650:8(76-86)Online publication date: 24-Jan-2015
  • (2015)Transactional Acceleration of Concurrent Data StructuresProceedings of the 27th ACM symposium on Parallelism in Algorithms and Architectures10.1145/2755573.2755598(244-253)Online publication date: 13-Jun-2015
  • (2015)Software partitioning of hardware transactionsProceedings of the 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/2688500.2688506(76-86)Online publication date: 24-Jan-2015
  • (2015)The Scalability of Disjoint Data Structures on a New Hardware Transactional Memory SystemInternational Journal of Parallel Programming10.1007/s10766-014-0322-943:6(1192-1217)Online publication date: 1-Dec-2015
  • (2010)Transactional Memory, 2nd editionSynthesis Lectures on Computer Architecture10.2200/S00272ED1V01Y201006CAC0115:1(1-263)Online publication date: 22-Dec-2010
  • (2010)CUDAlignACM SIGPLAN Notices10.1145/1837853.169347345:5(137-146)Online publication date: 9-Jan-2010
  • 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