Composing and Decomposing Op-Based CRDTs with Semidirect Products

04/08/2020
by   Matthew Weidner, et al.
0

Operation-based Conflict-free Replicated Data Types (CRDTs) are eventually consistent replicated data types that automatically resolve conflicts between concurrent operations. Op-based CRDTs must be designed differently for each data type, and current designs use ad-hoc techniques to handle concurrent operations that do not naturally commute. We present a new construction, the semidirect product of op-based CRDTs, which combines the operations of two CRDTs into one while handling conflicts between their concurrent operations in a uniform way. We demonstrate the construction's utility by using it to construct novel CRDTs, as well as decomposing several existing CRDTs as semidirect products of simpler CRDTs. Although it reproduces common CRDT semantics, the semidirect product can be viewed as a restricted kind of operational transformation, thus forming a bridge between these two opposing techniques for constructing replicated data types.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/01/2021

Conflict-free Collaborative Set Sharing for Distributed Systems

Collaborative Data Sharing is widely noticed to be essential for distrib...
research
07/21/2020

Modern Design Methodologies and the Development of Mechatronic Products

This article presents a quick view on the development of mechatronic pro...
research
09/07/2017

Enhancing KiWi - Scalable Concurrent Key-Value Map

We take a relatively fresh wait-free, concurrent sorted map called KiWi,...
research
12/20/2019

Formalizing Determinacy of Concurrent Revisions

Concurrent revisions is a concurrency control model designed to guarante...
research
02/23/2018

Conflict-Aware Replicated Data Types

We introduce Conflict-Aware Replicated Data Types (CARDs). CARDs are sig...
research
08/27/2019

TxForest: A DSL for Concurrent Filestores

Many systems use ad hoc collections of files and directories to store pe...
research
04/04/2023

State-Based ∞P-Set Conflict-Free Replicated Data Type

The 2P-Set Conflict-Free Replicated Data Type (CRDT) supports two phases...

Please sign up or login with your details

Forgot password? Click here to reset