Fast Nonblocking Persistence for Concurrent Data Structures

05/20/2021
by   Wentao Cai, et al.
0

We present a fully lock-free variant of the recent Montage system for persistent data structures. Our variant, nbMontage, adds persistence to almost any nonblocking concurrent structure without introducing significant overhead or blocking of any kind. Like its predecessor, nbMontage is buffered durably linearizable: it guarantees that the state recovered in the wake of a crash will represent a consistent prefix of pre-crash execution. Unlike its predecessor, nbMontage ensures wait-free progress of the persistence frontier, thereby bounding the number of recent updates that may be lost on a crash, and allowing a thread to force an update of the frontier (i.e., to perform a sync operation) without the risk of blocking. As an extra benefit, the helping mechanism employed by our wait-free sync significantly reduces its latency. Performance results for nonblocking queues, skip lists, trees, and hash tables rival custom data structures in the literature – dramatically faster than achieved with prior general-purpose systems, and generally within 50 equivalent non-persistent structures placed in DRAM.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/01/2022

Unexpected Scaling in Path Copying Trees

Although a wide variety of handcrafted concurrent data structures have b...
research
05/15/2023

Blizzard: Adding True Persistence to Main Memory Data Structures

Persistent memory (PMEM) devices present an opportunity to retain the fl...
research
07/07/2021

Persistent Software Combining

We study the performance power of software combining in designing persis...
research
03/15/2022

Practical Detectability for Persistent Lock-Free Data Structures

Persistent memory (PM) is an emerging class of storage technology that c...
research
09/29/2020

Montage: A General System for Buffered Durably Linearizable Data Structures

The recent emergence of fast, dense, nonvolatile main memory suggests th...
research
08/09/2021

FliT: A Library for Simple and Efficient Persistent Algorithms

Non-volatile random access memory (NVRAM) offers byte-addressable persis...
research
09/12/2018

Concurrent Robin Hood Hashing

In this paper we examine the issues involved in adding concurrency to th...

Please sign up or login with your details

Forgot password? Click here to reset