Pot

Deterministic transactional execution

Tiago M. Vale, João A. Silva, Ricardo J. Dias, João M. Lourenço

Research output: Contribution to journalArticle

3 Citations (Scopus)

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.

Original languageEnglish
Article number52
JournalACM Transactions on Architecture and Code Optimization
Volume13
Issue number4
DOIs
Publication statusPublished - 1 Dec 2016

Fingerprint

Concurrency control
Network protocols
Data storage equipment

Keywords

  • Concurrency control
  • Determinism
  • Deterministic multithreading
  • Hardware transactional memory
  • Software transactional memory

Cite this

Vale, Tiago M. ; Silva, João A. ; Dias, Ricardo J. ; Lourenço, João M. / Pot : Deterministic transactional execution. In: ACM Transactions on Architecture and Code Optimization. 2016 ; Vol. 13, No. 4.
@article{27561749ad334154a2247bfda162f70b,
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.",
keywords = "Concurrency control, Determinism, Deterministic multithreading, Hardware transactional memory, Software transactional memory",
author = "Vale, {Tiago M.} and Silva, {Jo{\~a}o A.} and Dias, {Ricardo J.} and Louren{\cc}o, {Jo{\~a}o M.}",
note = "This work is supported by Fundacao para a Ciencia e Tecnologia, Ministerio da Ciencia, Tecnologia, e Ensino Superior, under grants SFRH/BD/84497/2012 and PEst/UID/CEC/04516/2013.",
year = "2016",
month = "12",
day = "1",
doi = "10.1145/3017993",
language = "English",
volume = "13",
journal = "ACM Transactions on Architecture and Code Optimization",
issn = "1544-3566",
publisher = "Association for Computing Machinery",
number = "4",

}

Pot : Deterministic transactional execution. / Vale, Tiago M.; Silva, João A.; Dias, Ricardo J.; Lourenço, João M.

In: ACM Transactions on Architecture and Code Optimization, Vol. 13, No. 4, 52, 01.12.2016.

Research output: Contribution to journalArticle

TY - JOUR

T1 - Pot

T2 - Deterministic transactional execution

AU - Vale, Tiago M.

AU - Silva, João A.

AU - Dias, Ricardo J.

AU - Lourenço, João M.

N1 - This work is supported by Fundacao para a Ciencia e Tecnologia, Ministerio da Ciencia, Tecnologia, e Ensino Superior, under grants SFRH/BD/84497/2012 and PEst/UID/CEC/04516/2013.

PY - 2016/12/1

Y1 - 2016/12/1

N2 - 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.

AB - 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.

KW - Concurrency control

KW - Determinism

KW - Deterministic multithreading

KW - Hardware transactional memory

KW - Software transactional memory

UR - http://www.scopus.com/inward/record.url?scp=85008157509&partnerID=8YFLogxK

U2 - 10.1145/3017993

DO - 10.1145/3017993

M3 - Article

VL - 13

JO - ACM Transactions on Architecture and Code Optimization

JF - ACM Transactions on Architecture and Code Optimization

SN - 1544-3566

IS - 4

M1 - 52

ER -