Investigating the semantics of futures in transactional memory systemsShow others and affiliations
2021 (English)In: Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP, Association for Computing Machinery (ACM) , 2021, p. 16-30Conference paper, Published paper (Refereed)
Abstract [en]
This paper investigates the problem of integrating two powerful abstractions for concurrent programming, namely futures and transactional memory. Our focus is on specifying the semantics of execution of "transactional futures", i.e., futures that execute as atomic transactions and that are spawned/evaluated by other (plain) transactions or transactional futures. We show that, due to the ability of futures to generate parallel computations with complex dependencies, there exist several plausible (i.e., intuitive) alternatives for defining the isolation and atomicity semantics of transactional futures. The alternative semantics we propose explore different trade-offs between ease of use and efficiency. We have implemented the proposed semantics by introducing a graph-based software transactional memory algorithm, which we integrated with a state of the art JAVA-based Software Transactional Memory (STM). We quantify the performance trade-offs associated with the different semantics using an extensive experimental study encompassing a wide range of diverse workloads.
Place, publisher, year, edition, pages
Association for Computing Machinery (ACM) , 2021. p. 16-30
Keywords [en]
concurrency control, futures, parallel programming, software transactional memory, synchronization, Commerce, Computer software, Economic and social effects, Graph algorithms, Graphic methods, Semantics, Storage allocation (computer), Alternative Semantics, Atomic transaction, Concurrent programming, Parallel Computation, Performance trade-off, State of the art, Transactional memory, Electronic trading
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:kth:diva-305847DOI: 10.1145/3437801.3441594Scopus ID: 2-s2.0-85101692880OAI: oai:DiVA.org:kth-305847DiVA, id: diva2:1620434
Conference
26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2021, 27 February 2021 through 3 March 2021
Note
Part of proceedings: ISBN 9781450382946, QC 20230118
2021-12-152021-12-152023-01-18Bibliographically approved