Multiverse: Transactional Memory with Dynamic Multiversioning

📅 2026-01-03
🏛️ ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This work addresses the challenge that existing software transactional memory (STM) systems struggle to efficiently support concurrent workloads combining long-running reads and frequent updates: while multi-versioning alleviates this issue, it often degrades the performance of ordinary transactions. To overcome this limitation, the paper presents Multiverse, the first STM system that dynamically integrates versionless and multi-versioned transactions. By employing fine-grained version management and a cooperative execution mechanism, Multiverse enables safe concurrency between the two transaction types without imposing unnecessary overhead on transactions that do not require versioning, while still providing efficient support for long reads. Experimental results demonstrate that Multiverse matches or exceeds the performance of state-of-the-art STM systems on pure short-transaction workloads and achieves throughput improvements of several orders of magnitude in scenarios involving long reads alongside high-frequency updates.

Technology Category

Application Category

📝 Abstract
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.
Problem

Research questions and friction points this paper is trying to address.

Software Transactional Memory
Multiversioning
Long-running Reads
Concurrency
Performance
Innovation

Methods, ideas, or system contributions that make the work stand out.

Transactional Memory
Multiversioning
Dynamic Versioning
Concurrency
Performance Optimization
🔎 Similar Papers
No similar papers found.