Pragmatic Primitives for Non-blocking Data Structures

by   Trevor Brown, et al.

We define a new set of primitive operations that greatly simplify the implementation of non-blocking data structures in asynchronous shared-memory systems. The new operations operate on a set of Data-records, each of which contains multiple fields. The operations are generalizations of the well-known load-link (LL) and store-conditional (SC) operations called LLX and SCX. The LLX operation takes a snapshot of one Data-record. An SCX operation by a process p succeeds only if no Data-record in a specified set has been changed since p last performed an LLX on it. If successful, the SCX atomically updates one specific field of a Data-record in the set and prevents any future changes to some specified subset of those Data-records. We provide a provably correct implementation of these new primitives from single-word compare-and-swap. As a simple example, we show how to implement a non-blocking multiset data structure in a straightforward way using LLX and SCX.



There are no comments yet.


page 1

page 2

page 3

page 4


A General Technique for Non-blocking Trees

We describe a general technique for obtaining provably correct, non-bloc...

The Amortized Analysis of a Non-blocking Chromatic Tree

A non-blocking chromatic tree is a type of balanced binary search tree w...

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

This paper presents the first implementation of a search tree data struc...

NBR: Neutralization Based Reclamation

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

Lock-Free Locks Revisited

This paper presents a new and practical approach to lock-free locks base...

What Can Be Done with Consensus Number One: Relaxed Queues and Stacks

Sequentially specified linearizable concurrent data structures must be r...

Revisiting the probabilistic method of record linkage

In theory, the probabilistic linkage method provides two distinct advant...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.