Unexpected Scaling in Path Copying Trees

12/01/2022
by   Ilya Kokorin, et al.
0

Although a wide variety of handcrafted concurrent data structures have been proposed, there is considerable interest in universal approaches (henceforth called Universal Constructions or UCs) for building concurrent data structures. These approaches (semi-)automatically convert a sequential data structure into a concurrent one. The simplest approach uses locks that protect a sequential data structure and allow only one process to access it at a time. The resulting data structures use locks, and hence are blocking. Most work on UCs instead focuses on obtaining non-blocking progress guarantees such as obstruction-freedom, lock-freedom, or wait-freedom. Many non-blocking UCs have appeared. Key examples include the seminal wait-free UC by Herlihy, a NUMA-aware UC by Yi et al., and an efficient UC for large objects by Fatourou et al. We borrow ideas from persistent data structures and multi-version concurrency control (MVCC), most notably path copying, and use them to implement concurrent versions of sequential persistent data structures. Despite our expectation that our data structures would not scale under write-heavy workloads, they scale in practice. We confirm this scaling analytically in our model with private per-process caches.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/31/2022

EEMARQ: Efficient Lock-Free Range Queries with Memory Reclamation

Multi-Version Concurrency Control (MVCC) is a common mechanism for achie...
research
05/20/2021

Fast Nonblocking Persistence for Concurrent Data Structures

We present a fully lock-free variant of the recent Montage system for pe...
research
11/05/2019

A Wait-Free Universal Construct for Large Objects

Concurrency has been a subject of study for more than 50 years. Still, m...
research
04/06/2020

NVTraverse: In NVRAM Data Structures, the Destination is More Important than the Journey

The recent availability of fast, dense, byte-addressable non-volatile me...
research
08/22/2023

Learned Lock-free Search Data Structures

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

Lock-Free Locks Revisited

This paper presents a new and practical approach to lock-free locks base...
research
11/14/2022

The Path to Durable Linearizability

There is an increasing body of literature proposing new and efficient pe...

Please sign up or login with your details

Forgot password? Click here to reset