Swalens, Janwillem
Transactional Tasks: Parallelism in Software Transactions (Artifact)
pdf-format: |
|
artifact-format: |
|
Abstract
Many programming languages support different concurrency models. In practice these models are often combined, however the semantics of the combinations are not always well-defined. We studied the combination of futures and Software Transactional Memory. We introduce transactional tasks, a mechanism to create futures in a transaction. Transactional tasks allow the parallelism in a transaction to be exploited, while providing safe access to the state of their encapsulating transaction. We created Clojure-TxTk, a fork of Clojure with support for transactional tasks. Furthermore, we ported two applications from the STAMP benchmark suite, and extended these to use transactional tasks: Labyrinth-TxTk and Bayes-TxTk. Lastly, TxTk-Redex is a machine-executable implementation of the operational semantics, in PLT Redex.
BibTeX - Entry
@Article{swalens:DARTS:2016:6134,
author = {Janwillem Swalens},
title = {{Transactional Tasks: Parallelism in Software Transactions (Artifact)}},
pages = {13:1--13:2},
journal = {Dagstuhl Artifacts Series},
ISSN = {2509-8195},
year = {2016},
volume = {2},
number = {1},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
address = {Dagstuhl, Germany},
URL = {http://drops.dagstuhl.de/opus/volltexte/2016/6134},
URN = {urn:nbn:de:0030-drops-61348},
doi = {10.4230/DARTS.2.1.13},
annote = {Keywords: Concurrency, Parallelism, Futures, Threads, Fork/Join, Software Transactional Memory}
}
Keywords: |
|
Concurrency, Parallelism, Futures, Threads, Fork/Join, Software Transactional Memory |
Seminar: |
|
DARTS, Volume 2, Issue 1
|
Related Scholarly Article: |
|
http://dx.doi.org/10.4230/LIPIcs.ECOOP.2016.23 |
Issue date: |
|
2016 |
Date of publication: |
|
14.07.2016 |
14.07.2016