Investigating the semantics of futures in transactional memory systems
Jingna Zeng, Shady Issa, Paolo Romano, Luís E. T. Rodrigues, Seif Haridi
摘要
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.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
相关 Paper
- TORTIS: Retry-Free Software Transactional Memory for Real-Time SystemsClaire Nord, Shai Caspin, Catherine E. Nemitz, Howard E. Shrobe 等RTSS 2021 · 被引用 2 次
- Disentanglement with Futures, State, and InteractionJatin Arora, Stefan K. Muller, Umut A. AcarPOPL 2024
- Multiverse: Transactional Memory with Dynamic MultiversioningGaetano Coccimiglio, Trevor Brown, Srivatsan RaviPPoPP 2026
- Language-Agnostic Static Deadlock Detection for FuturesStefan K. MullerPPoPP 2024 · 被引用 1 次
- Towards Generating Thread-Safe Classes AutomaticallyHaichi Wang, Zan Wang, Jun Sun, Shuang Liu 等ASE 2020 · 被引用 1 次
