Replication-Aware Linearizability

03/15/2019
by   Constantin Enea, et al.
0

Geo-distributed systems often replicate data at multiple locations to achieve availability and performance despite network partitions. These systems must accept updates at any replica and propagate these updates asynchronously to every other replica. Conflict-Free Replicated Data Types (CRDTs) provide a principled approach to the problem of ensuring that replicas are eventually consistent despite the asynchronous delivery of updates. We address the problem of specifying and verifying CRDTs, introducing a new correctness criterion called Replication-Aware Linearizability. This criterion is inspired by linearizability, the de-facto correctness criterion for (shared-memory) concurrent data structures. We argue that this criterion is both simple to understand, and it fits most known implementations of CRDTs. We provide a proof methodology to show that a CRDT satisfies replication-aware linearizability which we apply on a wide range of implementations. Finally, we show that our criterion can be leveraged to reason modularly about the composition of CRDTs.

READ FULL TEXT
research
06/27/2018

Conflict-free Replicated Data Types: An Overview

Internet-scale distributed systems often replicate data at multiple geog...
research
03/28/2022

Certified Mergeable Replicated Data Types

Replicated data types (RDTs) are data structures that permit concurrent ...
research
04/17/2020

Defining and Verifying Durable Opacity: Correctness for Persistent Software Transactional Memory

Non-volatile memory (NVM), aka persistent memory, is a new paradigm for ...
research
01/06/2023

Asynchronous Wait-Free Runtime Verification and Enforcement of Linearizability

This paper studies the problem of asynchronous wait-free runtime verific...
research
05/11/2018

OpSets: Sequential Specifications for Replicated Datatypes (Extended Version)

We introduce OpSets, an executable framework for specifying and reasonin...
research
01/19/2018

Just-Right Consistency: reconciling availability and safety

By the CAP Theorem, a distributed data storage system can ensure either ...
research
05/14/2019

Automated Parameterized Verification of CRDTs

Maintaining multiple replicas of data is crucial to achieving scalabilit...

Please sign up or login with your details

Forgot password? Click here to reset