kth.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Investigating the semantics of futures in transactional memory systems
KTH, School of Electrical Engineering and Computer Science (EECS), Computer Science, Software and Computer systems, SCS.
KTH, School of Electrical Engineering and Computer Science (EECS), Intelligent systems, Decision and Control Systems (Automatic Control).ORCID iD: 0000-0001-7823-2993
Show 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

Available from: 2021-12-15 Created: 2021-12-15 Last updated: 2023-01-18Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records

Zeng, JingnaRodrigues, DiogoHaridi, Seif

Search in DiVA

By author/editor
Zeng, JingnaRodrigues, DiogoHaridi, Seif
By organisation
Software and Computer systems, SCSDecision and Control Systems (Automatic Control)
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar

doi
urn-nbn

Altmetric score

doi
urn-nbn
Total: 50 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf