A General Technique for Non-blocking Trees

12/18/2017
by   Trevor Brown, et al.
0

We describe a general technique for obtaining provably correct, non-blocking implementations of a large class of tree data structures where pointers are directed from parents to children. Updates are permitted to modify any contiguous portion of the tree atomically. Our non-blocking algorithms make use of the LLX, SCX and VLX primitives, which are multi-word generalizations of the standard LL, SC and VL primitives and have been implemented from single-word CAS. To illustrate our technique, we describe how it can be used in a fairly straightforward way to obtain a non-blocking implementation of a chromatic tree, which is a relaxed variant of a red-black tree. The height of the tree at any time is O(c+ n), where n is the number of keys and c is the number of updates in progress. We provide an experimental performance analysis which demonstrates that our Java implementation of a chromatic tree rivals, and often significantly outperforms, other leading concurrent dictionaries.

READ FULL TEXT
research
11/14/2018

The Amortized Analysis of a Non-blocking Chromatic Tree

A non-blocking chromatic tree is a type of balanced binary search tree w...
research
12/18/2017

Pragmatic Primitives for Non-blocking Data Structures

We define a new set of primitive operations that greatly simplify the im...
research
12/14/2017

Range Queries in Non-blocking k-ary Search Trees

We present a linearizable, non-blocking k-ary search tree (k-ST) that su...
research
05/12/2018

Persistent Non-Blocking Binary Search Trees Supporting Wait-Free Range Queries

This paper presents the first implementation of a search tree data struc...
research
08/22/2023

Learned Lock-free Search Data Structures

Non-blocking search data structures offer scalability with a progress gu...
research
11/03/2021

A Causality-based Graphical Test to obtain an Optimal Blocking Set for Randomized Experiments

Randomized experiments are often performed to study the causal effects o...
research
12/29/2020

NBR: Neutralization Based Reclamation

Safe memory reclamation (SMR) algorithms suffer from a trade-off between...

Please sign up or login with your details

Forgot password? Click here to reset