Transactional Tasks: Parallelism in Software Transactions (Artifact)

Author Janwillem Swalens



PDF
Thumbnail PDF

Artifact Description

DARTS.2.1.13.pdf
  • Filesize: 351 kB
  • 2 pages

Document Identifiers

Author Details

Janwillem Swalens

Cite AsGet BibTex

Janwillem Swalens. Transactional Tasks: Parallelism in Software Transactions (Artifact). In Special Issue of the 30th European Conference on Object-Oriented Programming (ECOOP 2016). Dagstuhl Artifacts Series (DARTS), Volume 2, Issue 1, pp. 13:1-13:2, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2016)
https://doi.org/10.4230/DARTS.2.1.13

Artifact

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.
Keywords
  • Concurrency
  • Parallelism
  • Futures
  • Threads
  • Fork/Join
  • Software Transactional Memory

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail