Automated Parameterized Verification of CRDTs

05/14/2019
by   Kartik Nagar, et al.
0

Maintaining multiple replicas of data is crucial to achieving scalability, availability and low latency in distributed applications. Conflict-free Replicated Data Types (CRDTs) are important building blocks in this domain because they are designed to operate correctly under the myriad behaviors possible in a weakly-consistent distributed setting. Because of the possibility of concurrent updates to the same object at different replicas, and the absence of any ordering guarantees on these updates, convergence is an important correctness criterion for CRDTs. This property asserts that two replicas which receive the same set of updates (in any order) must nonetheless converge to the same state. One way to prove that operations on a CRDT converge is to show that they commute since commutative actions by definition behave the same regardless of the order in which they execute. In this paper, we present a framework for automatically verifying convergence of CRDTs under different weak-consistency policies. Surprisingly, depending upon the consistency policy supported by the underlying system, we show that not all operations of a CRDT need to commute to achieve convergence. We develop a proof rule parameterized by a consistency specification based on the concepts of commutativity modulo consistency policy and non-interference to commutativity. We describe the design and implementation of a verification engine equipped with this rule and show how it can be used to provide the first automated convergence proofs for a number of challenging CRDTs, including sets, lists, and graphs.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/06/2022

VeriFx: Correct Replicated Data Types for the Masses

Distributed systems adopt weak consistency to ensure high availability a...
research
04/21/2020

Semantics, Specification, and Bounded Verification of Concurrent Libraries in Replicated Systems

Geo-replicated systems provide a number of desirable properties such as ...
research
06/27/2018

Conflict-free Replicated Data Types: An Overview

Internet-scale distributed systems often replicate data at multiple geog...
research
11/04/2019

Verifying Visibility-Based Weak Consistency

Multithreaded programs generally leverage efficient and thread-safe conc...
research
03/15/2019

Replication-Aware Linearizability

Geo-distributed systems often replicate data at multiple locations to ac...
research
02/23/2018

IPA: Invariant-preserving Applications for Weakly-consistent Replicated Databases

Storage systems based on Weak Consistency provide better availability an...
research
05/06/2022

ViSearch: Weak Consistency Measurement for Replicated Data Types

Large-scale replicated data type stores often resort to eventual consist...

Please sign up or login with your details

Forgot password? Click here to reset