Efficient State-Based CRDTs by Delta-Mutation

@inproceedings{Almeida2015EfficientSC,
  title={Efficient State-Based CRDTs by Delta-Mutation},
  author={Paulo S{\'e}rgio Almeida and Ali Shoker and Carlos Baquero},
  booktitle={International Conference on Networked Systems},
  year={2015}
}
CRDTs are distributed data types that make eventual consistency of a distributed object possible and non ad-hoc. Specifically, state-based CRDTs ensure convergence through disseminating the entire state, that may be large, and merging it to other replicas; whereas operation-based CRDTs disseminate operations (i.e., small states) assuming an exactly-once reliable dissemination layer. We introduce Delta State Conflict-Free Replicated Datatypes (\(\delta \)-CRDT) that can achieve the best of both… 

Delta state replicated data types

Efficient Synchronization of State-Based CRDTs

Two sources of inefficiency in current synchronization algorithms for delta-basedCRDTs are identified and the concept of join decomposition is brought to state-based CRDTs to obtain optimal deltas and efficiency of synchronization algorithms are improved.

Δ-CRDTs: making δ-CRDTs delta-based

A new design for CRDTs is proposed which is called Δ-CRDT, and it is experimentally shown that under dynamic communication patters, this novel design achieves better network utilization than existing alternatives.

Linearizable State Machine Replication of State-Based CRDTs without Logs

This paper presents a protocol for linearizable state machine replication of conflict-free replicated data types (CRDTs) that neither requires consensus nor a leader, and achieves high throughput without auxiliary processes such as command log management or leader election.

Array CRDTs Using Delta-Mutations

This paper defines two new algorithms for &dgr;-based array CRDTs, one with remove-wins semantics and the other with observed-remove semantics, which can be combined to represent many useful data types, notably JSON documents.

Pure Operation-Based Replicated Data Types

This work introduces pure op-based CRDTs, that can only send operations to other replicas, drawing a clear distinction from state-based ones.

Putting Order in Strong Eventual Consistency

This paper introduces strong eventually consistent replicated objects (SECROs), a general-purpose data type for building available data structures that guarantee strong eventual consistency (SEC) without restrictions on the operations.

Merkle Search Trees: Efficient State-Based CRDTs in Open Networks

It is argued in this paper that pure state-based CRDTs can be efficiently implemented by encoding states as specialized Merkle trees, and that this approach is well suited to open networks where many nodes may join and leave.

Memory efficient CRDTs in dynamic environments

A memory management model for operation-based CRDTs in dynamic setting, where nodes can dynamically join a network, and where the implementation can remove unnecessary meta-data employed by CR DTs used to determine the order of operations applied in different replicas is explored.

An edge enabled replication kernel for CRDTs

A novel CRDT replication kernel is proposed that simplifies the task of leveraging on genuine partial replication, offers causal+ consistency guarantees, and provides efficient synchronization mechanisms built on top of CRDTs to offer configurable conflict resolution policies.
...

References

SHOWING 1-10 OF 29 REFERENCES

D C ] 3 F eb 2 01 5 Efficient State-based CRDTs by Delta-Mutation

This work introduces Delta State Conflict-Free Replicated Datatypes (δ-CRDT) that can achieve the best of both worlds: small messages with an incremental nature, as in operation-based CRDTs, disseminated over unreliable communication channels, asIn traditional state-basedCRDTs.

A Scalable Conflict-Free Replicated Set Data Type

  • Andrei DeftuJ. Griebsch
  • Computer Science
    2013 IEEE 33rd International Conference on Distributed Computing Systems
  • 2013
This work improves the original CRDT specification by introducing an efficient algorithm for sending deltas of updates between replicas and by partitioning a set replica into disjunctive subsets, and adds support for limited-lifetime elements to enable simple garbage collection strategies to address the problem of unbounded database growth.

Riak DT map: a composable, convergent replicated dictionary

The design of a new convergent (state-based) replicated data-type, the Map, as implemented by the Riak DT library and the RiAK data store is discussed, which allows greater flexibility to application developers working with semi-structured data, while removing the need for the developer to design custom conflict-resolution routines for each class of application data.

Managing update conflicts in Bayou, a weakly connected replicated storage system

The motivation for and design of these mechanisms for conflict detection and per -write conflict resolution based on client-provid ed procedures are presented and the experiences gained with an initial implementation of the system are described.

A comprehensive study of Convergent and Commutative Replicated Data Types

This paper formalises asynchronous object replication, either state based or operation based, and provides a sufficient condition appropriate for each case, and describes several useful CRDTs, including container data types supporting bothadd and remove operations with clean semantics, and more complex types such as graphs, montonic DAGs, and sequences.

Optimized OR-Sets without Ordering Constraints

This work formalizes a concurrent specification for OR-Sets without ordering constraints and proposes a generalized implementation of OR-sets without tombstones that provably satisfies strong eventual consistency, and introduces Interval Version Vectors to succinctly keep track of distributed time-stamps in systems that allow out-of-order delivery of messages.

An optimized conflict-free replicated set

A reasoning abstraction, \emph{permutation equivalence}, is presented that systematizes the characterization of the expected concurrency semantics of concurrent types and presents one of the existing conflict-free replicated data types, Observed-Remove Set.

Making operation-based CRDTs operation-based

The design space for operation-based solutions is explored, and the interaction with the middleware is leveraged by offering a technique that delivers very compact solutions, while only broadcasting operation names and arguments.

Replicated data types: specification, verification, optimality

This work proposes a framework for specifying replicated data types using relations over events and verifying their implementations using replication-aware simulations, and shows how to specify consistency of replicated stores with multiple objects axiomatically, in analogy to prior work on weak memory models.

Cloud Types: Robust Abstractions for Replicated Shared State

The GLUT model (global log of update transactions) is introduced, suitable as a mental reference model that helps programmers to visualize executions and reason about correctness, and an efficient client-server implementation of GLUT that uses robust streaming and optimal delta reduction is introduced.