Title
Pot: Deterministic transactional execution.
Abstract
This article presents Pot, a system that leverages the concept of preordered transactions to achieve deterministic multithreaded execution of programs that use Transactional Memory. Preordered transactions eliminate the root cause of nondeterminism in transactional execution: they provide the illusion of executing in a deterministic serial order, unlike traditional transactions that appear to execute in a nondeterministic order that can change from execution to execution. Pot uses a new concurrency control protocol that exploits the serialization order to distinguish between fast and speculative transaction execution modes in order to mitigate the overhead of imposing a deterministic order. We build two Pot prototypes: one using STM and another using off-the-shelf HTM. To the best of our knowledge, Pot enables deterministic execution of programs using off-the-shelf HTM for the first time. An experimental evaluation shows that Pot achieves deterministic execution of TM programs with low overhead, sometimes even outperforming nondeterministic executions, and clearly outperforming the state of the art.
Year
DOI
Venue
2016
10.1145/3017993
ACM Transactions on Architecture and Code Optimization
Keywords
DocType
Volume
Software transactional memory,hardware transactional memory,determinism,deterministic multithreading,concurrency control
Journal
abs/1612.07702
Issue
ISSN
Citations 
4
ACM Trans. Archit. Code Optim. 13, 4, Article 52 (December 2016)
0
PageRank 
References 
Authors
0.34
18
4
Name
Order
Citations
PageRank
Tiago M. Vale1101.90
João A. Silva233.43
Ricardo J. Dias3356.27
João Lourenço49313.20