Title
Multiversion Concurrency with Bounded Delay and Precise Garbage Collection
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 approach is based on using functional data structures to support multiple versions, and an efficient solution to the Version Maintenance (VM) problem for acquiring, updating and releasing versions. Our VM algorithm is precise, safe and wait free (PSWF). We experimentally validate our approach by applying it to balanced tree data structure for maintaining ordered maps. We test the transactional system using multiple algorithms for the VM problem, including our PSWF VM algorithm, and implementations with weaker guarantees based on epochs, hazard pointers, and read-copy-update. To evaluate the functional data structure for concurrency and multi-versioning, we implement batched updates for functional tree structures and compare the performance with state-of-the-art concurrent data structures for balanced trees. The experiments indicate our approach works well in practice over a broad set of criteria.
Year
DOI
Venue
2019
10.1145/3323165.3323185
The 31st ACM on Symposium on Parallelism in Algorithms and Architectures
Keywords
Field
DocType
bounded-delay, multiversion, transactions
Data structure,Computer science,Concurrency,Tree (data structure),Theoretical computer science,Hazard pointer,Garbage collection,Tree structure,Concurrent data structure,Database transaction,Distributed computing
Conference
ISBN
Citations 
PageRank 
978-1-4503-6184-2
0
0.34
References 
Authors
0
4
Name
Order
Citations
PageRank
Naama Ben-David1156.02
Guy E. Blelloch2124.92
Yihan Sun37311.19
Yuanhao Wei421.71