License: Creative Commons Attribution 3.0 Germany license (CC BY 3.0 DE)
When quoting this document, please refer to the following
DOI: 10.4230/DARTS.2.1.13
URN: urn:nbn:de:0030-drops-61348
Go back to Dagstuhl Artifacts Series

Swalens, Janwillem

Transactional Tasks: Parallelism in Software Transactions (Artifact)

DARTS-2-1-13.pdf (0.3 MB)


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

  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 =		{},
  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
Collection: DARTS, Volume 2, Issue 1
Related Scholarly Article:
Issue Date: 2016
Date of publication: 14.07.2016

DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI