Tracking in Order to Recover: Recoverable Lock-Free Data Structures

05/31/2019
by   Hagit Attiya, et al.
0

We present the tracking approach for deriving recoverable implementations of several widely-used concurrent data structures. Recoverability is appealing for emerging systems featuring byte-addressable non-volatile main memory (NVRAM), whose durability allows to efficiently resurrect a failed process after it crashes. The tracking approach ensures that after a crash occurs, every executed operation is able to recover and return a correct response, in addition to guaranteeing that the state of the data structure is not corrupted. The approach is applicable to lock-free concurrent data structures that use helping and rely on information structures to track the progress of operations. Such a tracking mechanism is already present in a wide range of well-known concurrent data structures, in particular, linked lists, trees and elimination stacks, making it relatively easy to derive their recoverable versions using the tracking approach. The tracking approach illustrates that full-fledged logging is not needed and ensures that the progress of concurrent operations is tracked in a per-process manner, thus reducing the cost of ensuring recoverability.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/14/2017

Techniques for Constructing Efficient Lock-free Data Structures

Building a library of concurrent data structures is an essential way to ...
research
06/22/2020

Scalable Range Locks for Scalable Address Spaces and Beyond

Range locks are a synchronization construct designed to provide concurre...
research
05/20/2023

Locksynth: Deriving Synchronization Code for Concurrent Data Structures with ASP

We present Locksynth, a tool that automatically derives synchronization ...
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
02/19/2019

Layering Data Structures over Skip Graphs for Increased NUMA Locality

We describe an approach for blackbox concurrency based on layering user-...
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
05/12/2018

Lock-Free Search Data Structures: Throughput Modelling with Poisson Processes

This paper considers the modelling and the analysis of the performance o...

Please sign up or login with your details

Forgot password? Click here to reset