Consistency without concurrency control in large, dynamic systems

  title={Consistency without concurrency control in large, dynamic systems},
  author={Mihai Letia and Nuno M. Preguiça and Marc Shapiro},
  journal={ACM SIGOPS Oper. Syst. Rev.},
Replicas of a commutative replicated data type (CRDT) eventually converge without any complex concurrency control. We validate the design of a non-trivial CRDT, a replicated sequence, with performance measurements in the context of Wikipedia. Furthermore, we discuss how to eliminate a remaining scalability bottleneck: Whereas garbage collection previously required a system-wide consensus, here we propose a flexible two-tier architecture and a protocol for migrating between tiers. We also… 

Figures from this paper

Framework for Real-time collaboration on extensive Data Types using Strong Eventual Consistency

This thesis presents CollabServer, a framework to build collaborative environments that features a CRDTs implementation for complex data types such as graphs and gives possibility to build other data structures.

Melda: a general purpose delta state JSON CRDT

This paper presents a delta state conflict-free replicated data type for arbitrary JSON documents called Melda, which aims at enabling the implementation of offline-first asynchronous collaboration into applications and analyses the metadata overhead, the actual performance, and the scalability of the approach.

Self tuning replication in transactional data grids

This report proposes the development of an efficient, self-tuning caching mechanism for partially replicated transactional systems that aims at providing optimal performance when exposed to different workloads.

Transactional storage for geo-replicated systems

The design and implementation of Walter is described, a key feature behind Walter is a new property called Parallel Snapshot Isolation (PSI), which allows Walter to replicate data asynchronously, while providing strong guarantees within each site.

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.

Efficient Renaming in Sequence CRDTs

A novel Sequence CRDT is proposed which embeds a renaming mechanism which enables nodes to reassign shorter identifiers to elements in an uncoordinated manner and decreases the overhead of the replicated data structure and eventually minimises it.

Replicated Convergent Data Containers

The Replicated Convergent Data Containers (RCDCs) are presented - a set of distributed data structures that coordinate replicated data and allow for optimistic inserts, updates and deletes in a lock-free, non-blocking fashion.

Strong eventual consistency of the collaborative editing framework WOOT

A novel approach is used identifying a previously unknown sort-key based protocol that simulates the WOOT framework to show its consistency and formalizes the proof using the Isabelle/HOL proof assistant to machine-check its correctness.

TR 15-009 Design and Evaluation of a Transaction Model with Multiple Consistency Levels for Replicated Data

We present here a transaction model which simultaneously supports different consistency levels, which include serializable transactions for strong consistency, and weaker consistency models such as

A Transaction Model with Multilevel Consistency for Shared Data in Distributed Groupware Systems

  • A. Tripathi
  • Computer Science
    2016 IEEE 2nd International Conference on Collaboration and Internet Computing (CIC)
  • 2016
This work examines here the applicability of a distributed transaction management model which supports multilevel consistency and shows using two examples how replicated shared data in distributed groupware systems can be managed with multiple consistency levels using this model.



Designing a commutative replicated data type

It is shown that the replicas of any data type for which concurrent operations commute converges to a correct value, under some simple and standard assumptions.

A Formal Model of Crash Recovery in a Distributed System

A formal model for atomic commit protocols for a distributed database system is introduced. The model is used to prove existence results about resilient protocols for site failures that do not

A commutative replicated data type for cooperative editing

Treedoc is described, a novel CRDT design for cooperative text editing where the identifiers of Treedoc atoms are selected from a dense space and the results with traces from existing edit histories are validated.

Optimistic replication

This article identifies key challenges facing optimistic replication systems---ordering operations, detecting and resolving conflicts, propagating changes efficiently, and bounding replica divergence---and provides a comprehensive survey of techniques developed for addressing these challenges.

Using structural characteristics for autonomous operation

This work shows that without imposing restrictions on availability, which is a crucial factor for personal applications, it is possible to enable some data sharing among autonomous mobile applications, and model general purpose data types that provide the necessary reconciliation guarantees.

Logoot: A Scalable Optimistic Replication Algorithm for Collaborative Editing on P2P Networks

The Logoot approach is evaluated and compared to others using a corpus of all the edits applied on a set of the most edited and the biggest pages of Wikipedia to provide a peer-to-peer collaborative editing system.

Generalized Consensus and Paxos

Theoretician's Abstract Consensus is generalized to include both traditional consensus and this weaker version, and a straightforward generalization of the Paxos consensus algorithm implements general consensus.

Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services

This conjecture is proved in the asynchronous network model that it is impossible to achieve all three properties of a distributed web service: consistency, availability, and partition tolerance.

Consensus on transaction commit

The Paxos Commit algorithm runs a Paxos consensus algorithm on the commit/abort decision of each participant to obtain a transaction commit protocol that uses 2F + 1 coordinators and makes progress if at least F + 1 of them are working properly.

Dynamo: amazon's highly available key-value store

D Dynamo is presented, a highly available key-value storage system that some of Amazon's core services use to provide an "always-on" experience and makes extensive use of object versioning and application-assisted conflict resolution in a manner that provides a novel interface for developers to use.