Multiverse: Transactional Memory with Dynamic Multiversioning
Gaetano Coccimiglio, Trevor Brown, Srivatsan Ravi
摘要
Software transactional memory (STM) allows programmers to easily implement concurrent data structures. STMs simplify atomicity. Recent STMs can achieve good performance for some workloads but they have some limitations. In particular, STMs typically cannot support long-running reads which access a large number of addresses that are frequently updated. Multiversioning is a common approach used to support this type of workload. However, multiversioning is often expensive and can reduce the performance of transactions where versioning is not necessary.
In this work we present Multiverse, a new STM that combines the best of both unversioned TM and multiversioning. Multiverse features versioned and unversioned transactions which can execute concurrently. A main goal of Multiverse is to ensure that unversioned transactions achieve performance comparable to the state of the art unversioned STM while still supporting fast versioned transactions needed to enable long running reads.
We implement Multiverse and compare it against several STMs. Our experiments demonstrate that Multiverse achieves comparable or better performance for common case workloads where there are no long running reads. For workloads with long running reads and frequent updates Multiverse significantly outperforms existing STMS. In several cases for these workloads the throughput of Multiverse is several orders of magnitude faster than other STMs.
• Computing methodologies → Concurrent algorithms.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper6
- Constant-time snapshots with applications to concurrent data structuresYuanhao Wei, Naama Ben-David, Guy E. Blelloch, Panagiota Fatourou 等PPoPP 2021 · 被引用 37 次
- Non-blocking interpolation search trees with doubly-logarithmic running timeTrevor Brown, Aleksandar Prokopec, Dan AlistarhPPoPP 2020 · 被引用 29 次
- Efficient algorithms for persistent transactional memoryPedro Ramalhete, Andreia Correia, Pascal FelberPPoPP 2021 · 被引用 17 次
- VERLIB: Concurrent Versioned PointersGuy E. Blelloch, Yuanhao WeiPPoPP 2024 · 被引用 6 次
- PathCAS: an efficient middle ground for concurrent search data structuresTrevor Brown, William Sigouin, Dan AlistarhPPoPP 2022 · 被引用 4 次
相关 Paper
- Practically and Theoretically Efficient Garbage Collection for MultiversioningYuanhao Wei, Guy E. Blelloch, Panagiota Fatourou, Eric RuppertPPoPP 2023 · 被引用 1 次
- Investigating the semantics of futures in transactional memory systemsJingna Zeng, Shady Issa, Paolo Romano, Luís E. T. Rodrigues 等PPoPP 2021 · 被引用 4 次
- TORTIS: Retry-Free Software Transactional Memory for Real-Time SystemsClaire Nord, Shai Caspin, Catherine E. Nemitz, Howard E. Shrobe 等RTSS 2021 · 被引用 2 次
- SPHT: Scalable Persistent Hardware TransactionsDaniel Castro, Alexandro Baldassin, João Barreto, Paolo RomanoFAST 2021 · 被引用 12 次
- PIM-STM: Software Transactional Memory for Processing-In-Memory SystemsAndré Lopes, Daniel Castro, Paolo RomanoASPLOS 2024 · 被引用 12 次
