Multiversion Concurrency with Bounded Delay and Precise Garbage Collection
Naama Ben-David, Guy E. Blelloch, Yihan Sun, Yuanhao Wei

TL;DR
This paper introduces a multiversion transactional system that guarantees bounded delays for read-only and non-concurrent writing transactions, supports precise garbage collection, and is validated through experiments on balanced tree data structures.
Contribution
It presents the first bounded delay solutions for multiple readers and single writers in transactional systems, using functional data structures and a wait-free version maintenance approach.
Findings
Supports constant delay for read-only transactions.
Achieves delay proportional to the number of processes for non-concurrent writers.
Experimental results show practical efficiency on balanced tree data structures.
Abstract
In this paper we are interested in bounding the number of instructions taken to process transactions. The main result is a multiversion transactional system that supports constant delay (extra instructions beyond running in isolation) for all read-only transactions, delay equal to the number of processes for writing transactions that are not concurrent with other writers, and lock-freedom for concurrent writers. The system supports precise garbage collection in that versions are identified for collection as soon as the last transaction releases them. As far as we know these are first results that bound delays for multiple readers and even a single writer. The approach is particularly useful in situations where read-transactions dominate write transactions, or where write transactions come in as streams or batches and can be processed by a single writer (possibly in parallel). The…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
