首页    期刊浏览 2024年12月05日 星期四
登录注册

文章基本信息

  • 标题:Transactional Tasks: Parallelism in Software Transactions
  • 本地全文:下载
  • 作者:Janwillem Swalens ; Joeri De Koster ; Wolfgang De Meuter
  • 期刊名称:LIPIcs : Leibniz International Proceedings in Informatics
  • 电子版ISSN:1868-8969
  • 出版年度:2016
  • 卷号:56
  • 页码:23:1-23:28
  • DOI:10.4230/LIPIcs.ECOOP.2016.23
  • 出版社:Schloss Dagstuhl -- Leibniz-Zentrum fuer Informatik
  • 摘要:Many programming languages, such as Clojure, Scala, and Haskell, support different concurrency models. In practice these models are often combined, however the semantics of the combinations are not always well-defined. In this paper, we study the combination of futures and Software Transactional Memory. Currently, futures created within a transaction cannot access the transactional state safely, violating the serializability of the transactions and leading to undesired behavior. We define transactional tasks: a construct that allows futures to be created in transactions. Transactional tasks allow the parallelism in a transaction to be exploited, while providing safe access to the state of their encapsulating transaction. We show that transactional tasks have several useful properties: they are coordinated, they maintain serializability, and they do not introduce non-determinism. As such, transactional tasks combine futures and Software Transactional Memory, allowing the potential parallelism of a program to be fully exploited, while preserving the properties of the separate models where possible.
  • 关键词:Concurrency; Parallelism; Futures; Threads; Fork/Join; Software Transactional Memory
国家哲学社会科学文献中心版权所有