Reduced hardware transactions: a new approach to hybrid transactional memory

For many years, the accepted wisdom has been that the key to adoption of best-effort hardware transactions is to guarantee progress by combining them with an all software slow-path, to be taken if the hardware transactions fail repeatedly. However, all known generally applicable hybrid transactional...

Full description

Bibliographic Details
Main Authors: Matveev, Alexander, Shavit, Nir N.
Other Authors: Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Format: Article
Language:en_US
Published: Association for Computing Machinery (ACM) 2014
Online Access:http://hdl.handle.net/1721.1/90886
https://orcid.org/0000-0002-4552-2414
_version_ 1826204661528395776
author Matveev, Alexander
Shavit, Nir N.
author2 Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
author_facet Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Matveev, Alexander
Shavit, Nir N.
author_sort Matveev, Alexander
collection MIT
description For many years, the accepted wisdom has been that the key to adoption of best-effort hardware transactions is to guarantee progress by combining them with an all software slow-path, to be taken if the hardware transactions fail repeatedly. However, all known generally applicable hybrid transactional memory solutions suffer from a major drawback: the coordination with the software slow-path introduces an unacceptably high instrumentation overhead into the hardware transactions. This paper overcomes the problem using a new approach which we call reduced hardware (RH) transactions. Instead of an all-software slow path, in RH transactions part of the slow-path is executed using a smaller hardware transaction. The purpose of this hardware component is not to speed up the slow-path (though this is a side effect). Rather, using it we are able to eliminate almost all of the instrumentation from the common hardware fast-path, making it virtually as fast as a pure hardware transaction. Moreover, the "mostly software" slow-path is obstruction-free (no locks), allows execution of long transactions and protected instructions that may typically cause hardware transactions to fail, allows complete concurrency between hardware and software transactions, and uses the shorter hardware transactions only to commit. Finally, we show how to easily default to a mode allowing an all-software slow-slow mode in case the "mostly software" slow-path fails to commit.
first_indexed 2024-09-23T12:58:59Z
format Article
id mit-1721.1/90886
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T12:58:59Z
publishDate 2014
publisher Association for Computing Machinery (ACM)
record_format dspace
spelling mit-1721.1/908862022-09-28T11:17:37Z Reduced hardware transactions: a new approach to hybrid transactional memory Matveev, Alexander Shavit, Nir N. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Shavit, Nir N. For many years, the accepted wisdom has been that the key to adoption of best-effort hardware transactions is to guarantee progress by combining them with an all software slow-path, to be taken if the hardware transactions fail repeatedly. However, all known generally applicable hybrid transactional memory solutions suffer from a major drawback: the coordination with the software slow-path introduces an unacceptably high instrumentation overhead into the hardware transactions. This paper overcomes the problem using a new approach which we call reduced hardware (RH) transactions. Instead of an all-software slow path, in RH transactions part of the slow-path is executed using a smaller hardware transaction. The purpose of this hardware component is not to speed up the slow-path (though this is a side effect). Rather, using it we are able to eliminate almost all of the instrumentation from the common hardware fast-path, making it virtually as fast as a pure hardware transaction. Moreover, the "mostly software" slow-path is obstruction-free (no locks), allows execution of long transactions and protected instructions that may typically cause hardware transactions to fail, allows complete concurrency between hardware and software transactions, and uses the shorter hardware transactions only to commit. Finally, we show how to easily default to a mode allowing an all-software slow-slow mode in case the "mostly software" slow-path fails to commit. National Science Foundation (U.S.) (Grant CCF-1217921) United States. Dept. of Energy. Office of Advanced Scientific Computing Research (Grant ER26116/DE-SC0008923) Oracle Corporation Intel Corporation 2014-10-10T14:53:09Z 2014-10-10T14:53:09Z 2013-07 Article http://purl.org/eprint/type/ConferencePaper 9781450315722 http://hdl.handle.net/1721.1/90886 Alexander Matveev and Nir Shavit. 2013. Reduced hardware transactions: a new approach to hybrid transactional memory. In Proceedings of the twenty-fifth annual ACM symposium on Parallelism in algorithms and architectures (SPAA '13). ACM, New York, NY, USA, 11-22. https://orcid.org/0000-0002-4552-2414 en_US http://dx.doi.org/10.1145/2486159.2486188 Proceedings of the 25th ACM symposium on Parallelism in algorithms and architectures (SPAA '13) Creative Commons Attribution-Noncommercial-Share Alike http://creativecommons.org/licenses/by-nc-sa/4.0/ application/pdf Association for Computing Machinery (ACM) Other univ. web domain
spellingShingle Matveev, Alexander
Shavit, Nir N.
Reduced hardware transactions: a new approach to hybrid transactional memory
title Reduced hardware transactions: a new approach to hybrid transactional memory
title_full Reduced hardware transactions: a new approach to hybrid transactional memory
title_fullStr Reduced hardware transactions: a new approach to hybrid transactional memory
title_full_unstemmed Reduced hardware transactions: a new approach to hybrid transactional memory
title_short Reduced hardware transactions: a new approach to hybrid transactional memory
title_sort reduced hardware transactions a new approach to hybrid transactional memory
url http://hdl.handle.net/1721.1/90886
https://orcid.org/0000-0002-4552-2414
work_keys_str_mv AT matveevalexander reducedhardwaretransactionsanewapproachtohybridtransactionalmemory
AT shavitnirn reducedhardwaretransactionsanewapproachtohybridtransactionalmemory