Reduced hardware transactions
- 23 July 2013
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM)
Abstract
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.Keywords
This publication has 12 references indexed in Scilit:
- Hybrid NOrecACM SIGPLAN Notices, 2012
- A Single-Version STM that Is Multi-Versioned PermissiveTheory of Computing Systems, 2012
- Optimizing hybrid transactional memoryPublished by Association for Computing Machinery (ACM) ,2011
- Evaluation of AMD's advanced synchronization facility within a complete transactional memory stackPublished by Association for Computing Machinery (ACM) ,2010
- NOrecPublished by Association for Computing Machinery (ACM) ,2010
- Maintaining Consistent Transactional States without a Global ClockLecture Notes in Computer Science, 2008
- Dynamic performance tuning of word-based software transactional memoryPublished by Association for Computing Machinery (ACM) ,2008
- Hybrid transactional memoryACM SIGPLAN Notices, 2006
- Hybrid transactional memoryPublished by Association for Computing Machinery (ACM) ,2006
- Transactional Locking IILecture Notes in Computer Science, 2006