Practically and Theoretically Efficient Garbage Collection for Multiversioning

12/27/2022
by   Yuanhao Wei, et al.
0

Multiversioning is widely used in databases, transactional memory, and concurrent data structures. It can be used to support read-only transactions that appear atomic in the presence of concurrent update operations. Any system that maintains multiple versions of each object needs a way of efficiently reclaiming them. We experimentally compare various existing reclamation techniques by applying them to a multiversion tree and a multiversion hash table. Using insights from these experiments, we develop two new multiversion garbage collection (MVGC) techniques. These techniques use two novel concurrent version list data structures. Our experimental evaluation shows that our fastest technique is competitive with the fastest existing MVGC techniques, while using significantly less space on some workloads. Our new techniques provide strong theoretical bounds, especially on space usage. These bounds ensure that the schemes have consistent performance, avoiding the very high worst-case space usage of other techniques.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/03/2020

The Splay-List: A Distribution-Adaptive Concurrent Skip-List

The design and implementation of efficient concurrent data structures ha...
research
03/23/2018

Efficient Single Writer Concurrency

In this paper we consider single writer multiple reader concurrency - an...
research
06/01/2018

Table Space Designs For Implicit and Explicit Concurrent Tabled Evaluation

One of the main advantages of Prolog is its potential for the implicit e...
research
09/02/2019

Efficient Lock-Free Durable Sets

Non-volatile memory is expected to co-exist or replace DRAM in upcoming ...
research
03/16/2020

Adapting Persistent Data Structures for Concurrency and Speculation

This work unifies insights from the systems and functional programming c...
research
12/19/2022

PathCAS: An Efficient Middle Ground for Concurrent Search Data Structures

To maximize the performance of concurrent data structures, researchers h...
research
09/12/2018

Concurrent Robin Hood Hashing

In this paper we examine the issues involved in adding concurrency to th...

Please sign up or login with your details

Forgot password? Click here to reset