Separation and Equivalence results for the Crash-stop and Crash-recovery Shared Memory Models

12/07/2020
by   Ohad Ben-Baruch, et al.
0

Linearizability, the traditional correctness condition for concurrent data structures is considered insufficient for the non-volatile shared memory model where processes recover following a crash. For this crash-recovery shared memory model, strict-linearizability is considered appropriate since, unlike linearizability, it ensures operations that crash take effect prior to the crash or not at all. This work formalizes and answers the question of whether an implementation of a data type derived for the crash-stop shared memory model is also strict-linearizable in the crash-recovery model. This work presents a rigorous study to prove how helping mechanisms, typically employed by non-blocking implementations, is the algorithmic abstraction that delineates linearizability from strict-linearizability. Our first contribution formalizes the crash-recovery model and how explicit process crashes and recovery introduces further dimensionalities over the standard crash-stop shared memory model. We make the following technical contributions: (i) we prove that strict-linearizability is independent of any known help definition; (ii) we then present a natural definition of help-freedom to prove that any obstruction-free, linearizable and help-free implementation of a total object type is also strict-linearizable; (iii) finally, we prove that for a large class of object types, a non-blocking strict-linearizable implementation cannot have helping. Viewed holistically, this work provides the first precise characterization of the intricacies in applying a concurrent implementation designed for the crash-stop model to the crash-recovery model, and vice-versa.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/21/2018

Strict Linearizability and Abstract Atomicity

Linearizability is a commonly accepted consistency condition for concurr...
research
09/11/2023

The Fence Complexity of Persistent Sets

We study the psync complexity of concurrent sets in the non-volatile sha...
research
02/26/2020

Upper and Lower Bounds on the Space Complexity of Detectable Object

The emergence of systems with non-volatile main memory (NVM) increases t...
research
08/07/2023

Recoverable and Detectable Self-Implementations of Swap

Recoverable algorithms tolerate failures and recoveries of processes by ...
research
04/21/2020

On the Relevance of Wait-free Coordination Algorithms in Shared-Memory HPC:The Global Virtual Time Case

High-performance computing on shared-memory/multi-core architectures cou...
research
05/30/2019

A Non-repetitive Logic for Verification of Dynamic Memory with Explicit Heap Conjunction and Disjunction

In this paper, we review existing points-to Separation Logics for dynami...
research
02/08/2020

Paving the way for Distributed Non-Blocking Algorithms and Data Structures in the Partitioned Global Address Space

The partitioned global address space has bridged the gap between shared ...

Please sign up or login with your details

Forgot password? Click here to reset