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

Dynamic tuning of applications using restricted transactional memory

Published: 09 October 2018 Publication History

Abstract

Transactional Synchronization Extensions (TSX) support for hardware Transactional Memory (TM) on Intel 4th generation Core processors. Two programming interfaces, Hardware Lock Elision (HLE) and Restricted Transactional Memory (RTM), are provided to support software development using TSX. HLE is easy to use and maintains backward compatible with processors without TSX support while RTM is more flexible and scalable. Previous researches have shown that critical sections protected by RTM with a well-designed retry mechanism as its fallback code path can often achieve better performance than HLE. More parallel programs may be programmed in HLE, however, using RTM may obtain greater performance.
To embrace both productivity and high performance of parallel program with TSX, we present a framework built on QEMU that can dynamically transform HLE instructions in an application binary to fragments of RTM codes with adaptive tuning on the fly. Compared to HLE execution, our prototype achieves 1.56x speedup with 8 threads on average. Due to the scalability of RTM, the speedup will be more significant as the number of threads increases.

References

[1]
C Scott Ananian, Krste Asanovic, Bradley C Kuszmaul, Charles E Leiserson, and Sean Lie. 2005. Unbounded transactional memory. In HPCA 2005. 316--327.
[2]
C Scott Ananian and Martin Rinard. 2005. Efficient object-based software transactions. In Proceedings, Workshop on Synchronization and Concurrency in Object-Oriented Languages.
[3]
Fabrice Bellard. 2005. QEMU, a Fast and Portable Dynamic Translator. In USENIX 2005. 41--46.
[4]
Emilio G. Cota, Paolo Bonzini, Alex Bennée, and Luca P. Carloni. 2017. Cross-ISA machine emulation for multicores. In CGO 2017. 210--220.
[5]
David Dice, Yossi Lev, Mark Moir, and Daniel Nussbaum. 2009. Early experience with a commercial hardware transactional memory implementation. Sun Microsystems, Inc. (2009).
[6]
Nuno Diegues and Paolo Romano. 2014. Self-Tuning Intel Transactional Synchronization Extensions. In 11th International Conference on Autonomic Computing.
[7]
Maurice Herlihy and J. Eliot B. Moss. 1993. Transactional memory: Architectural support for lock-free data structures. Vol. 21. ACM.
[8]
Intel. 2016. Intel 64 and IA-32 Architectures Software Developer's Manual. (2016).
[9]
Virendra J Marathe, William N Scherer, and Michael L Scott. 2005. Adaptive software transactional memory. In Int. Symposium on Distributed Computing.
[10]
Chi Cao Minh, Jae Woong Chung, Christos Kozyrakis, and Kunle Olukotun. 2008. STAMP: Stanford Transactional Applications for Multi-Processing. In 4th International Symposium on Workload Characterization (IISWC 2008). 35--46.
[11]
Mark Moir, Kevin Moore, and Daniel Nussbaum. 2008. The Adaptive Transactional Memory Test Platform: A Tool for Experimenting with Transactional Code for Rock (Poster). In SPAA 2008. ACM, 362--362.
[12]
Kevin E. Moore, Jayaram Bobba, Michelle J. Moravan, MarkD. Hill, and David A. Wood. 2006. LogTM: log-based transactional memory. In HPCA 2006, Vol. 6. 254--265.
[13]
Takuya Nakaike, Rei Odaira, Matthew Gaudet, Maged M. Michael, and Hisanobu Tomari. 2015. Quantitative comparison of hardware transactional memory for Blue Gene/Q, zEnterprise EC12, Intel Core, and POWER8. In ISCA. 144--157.
[14]
Nir Shavit and Dan Touitou. 1997. Software transactional memory. Distributed Computing 10, 2 (1997), 99--116.
[15]
Amy Wang, Matthew Gaudet, Peng Wu, Jose Nelson Amaral, Martin Ohmacht, Christopher Barton, Raúl Silvera, and Maged M. Michael. 2012. Evaluation of Blue Gene/Q hardware support for transactional memories. In PACT 2012. 127--136.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
RACS '18: Proceedings of the 2018 Conference on Research in Adaptive and Convergent Systems
October 2018
355 pages
ISBN:9781450358859
DOI:10.1145/3264746
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

In-Cooperation

  • KISM: Korean Institute of Smart Media

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 October 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. adaptive tuning
  2. transactional memory
  3. transactional synchronization extensions

Qualifiers

  • Research-article

Funding Sources

Conference

RACS '18
Sponsor:

Acceptance Rates

Overall Acceptance Rate 393 of 1,581 submissions, 25%

Upcoming Conference

RACS '24

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 54
    Total Downloads
  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 26 Sep 2024

Other Metrics

Citations

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