Pot: Deterministic transactional execution
Tiago M. Vale, Jo\~ao A. Silva, Ricardo J. Dias, Jo\~ao M., Louren\c{c}o

TL;DR
Pot is a system that achieves deterministic multithreaded execution of transactional memory programs by using preordered transactions and a new concurrency control protocol, reducing nondeterminism and overhead.
Contribution
It introduces preordered transactions and a novel protocol to enable deterministic execution with both STM and HTM, including the first use of off-the-shelf HTM for this purpose.
Findings
Deterministic execution with low overhead
Pot outperforms existing approaches
First to use off-the-shelf HTM for deterministic TM
Abstract
This paper 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 which 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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
