Hardware transactional memory with software-defined conflicts
Document typeConference report
Rights accessOpen Access
In this paper we propose conflict-defined blocks, a programming language construct that allows programmers to change the concept of conflict from one transaction to another, or even throughout the course of the same transaction. Defining conflicts in software makes possible the removal of dependencies which, though not necessary for the correct execution of the transactions, arise as a result of the coarse synchronization style encouraged by TM. Programmers take advantage of their knowledge about the problem and specify through confict-defined blocks what types of dependencies are superfluous in a certain part of the transaction, in order to extract more performance out of coarse-grained transactions without having to write minimally synchronized code. Our experiments with several transactional benchmarks reveal that using software-defined conflicts, the programmer achieves significant reductions in the number of aborted transactions and improve scalability.
CitationTitos.-Gil, R., Acacio, M. E., García, J., Harris, T., Cristal, A., Unsal, O., Hur, I., Valero, M. Hardware transactional memory with software-defined conflicts. A: ACM SIGPLAN Workshop on Transactional Computing. "ACM SIGPLAN Workshop on Transactional Computing, Paris, France, April 13, 2010". Paris: 2010, p. 1-8.
All rights reserved. This work is protected by the corresponding intellectual and industrial property rights. Without prejudice to any existing legal exemptions, reproduction, distribution, public communication or transformation of this work are prohibited without permission of the copyright holder