Space and Time Bounded Multiversion Garbage Collection

08/05/2021
by   Naama Ben-David, et al.
0

We present a general technique for garbage collecting old versions for multiversion concurrency control that simultaneously achieves good time and space complexity. Our technique takes only O(1) time on average to reclaim each version and maintains only a constant factor more versions than needed (plus an additive term). It is designed for multiversion schemes using version lists, which are the most common. Our approach uses two components that are of independent interest. First, we define a novel range-tracking data structure which stores a set of old versions and efficiently finds those that are no longer needed. We provide a wait-free implementation in which all operations take amortized constant time. Second, we represent version lists using a new lock-free doubly-linked list algorithm that supports efficient (amortized constant time) removals given a pointer to any node in the list. These two components naturally fit together to solve the multiversion garbage collection problem–the range-tracker identifies which versions to remove and our list algorithm can then be used to remove them from their version lists. We apply our garbage collection technique to generate end-to-end time and space bounds for the multiversioning system of Wei et al. (PPoPP 2021).

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/12/2020

Uniform Linked Lists Contraction

We present a parallel algorithm (EREW PRAM algorithm) for linked lists c...
research
03/24/2019

Lock-Free Transactional Adjacency List

Adjacency lists are frequently used in graphing or map based application...
research
02/16/2022

Quantum speedups for treewidth

In this paper, we study quantum algorithms for computing the exact value...
research
08/07/2023

Using Range-Revocable Pseudonyms to Provide Backward Unlinkability in the Edge (Extended Version)

In this paper we propose a novel abstraction that we have named Range-Re...
research
04/24/2022

Computing the Collection of Good Models for Rule Lists

Since the seminal paper by Breiman in 2001, who pointed out a potential ...
research
03/23/2018

Efficient Single Writer Concurrency

In this paper we consider single writer multiple reader concurrency - an...
research
02/26/2020

Bitvectors with runs and the successor/predecessor problem

The successor and predecessor problem consists of obtaining the closest ...

Please sign up or login with your details

Forgot password? Click here to reset