Collabs: Composable Collaborative Data Structures
@article{Weidner2022CollabsCC, title={Collabs: Composable Collaborative Data Structures}, author={Matthew Weidner and Heather Miller and Huairui Qi and Maxime Kjaer and Ria Pradeep and Benito Geordie and Christopher S. Meiklejohn}, journal={ArXiv}, year={2022}, volume={abs/2212.02618} }
Replicated data types (RDTs), such as Conflict-free Replicated Data Types (CRDTs), provide an abstraction for reasoning about replication and consistency in distributed systems. To make them as useful as ordinary, local data structures, RDTs need to be both modular and composable , so that programmers can create new app-specific RDTs by composing existing ones. However, no existing RDT libraries combine these properties; either they use monolithic architectures that rule out new RDTs or they do…
Figures and Tables from this paper
References
SHOWING 1-10 OF 44 REFERENCES
OpSets: Sequential Specifications for Replicated Datatypes (Extended Version)
- Computer ScienceArXiv
- 2018
The Isabelle/HOL proof assistant is used to formalise the OpSets approach and produce mechanised proofs of correctness of the main claims in this paper, thereby eliminating the ambiguity of previous informal approaches, and ruling out reasoning errors that could occur in handwritten proofs.
Replicated data types: specification, verification, optimality
- Computer SciencePOPL
- 2014
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.
A comprehensive study of Convergent and Commutative Replicated Data Types
- Computer Science
- 2011
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.
A Conflict-Free Replicated JSON Datatype
- Computer ScienceIEEE Transactions on Parallel and Distributed Systems
- 2017
This paper presents an algorithm and formal semantics for a JSON data structure that automatically resolves concurrent modifications such that no updates are lost, and such that all replicas converge towards the same state (a conflict-free replicated datatype or CRDT).
Conflict-Free Replicated Data Types
- Computer ScienceSSS
- 2011
This paper formalises two popular approaches (state- and operation-based) and their relevant sufficient conditions and studies a number of useful CRDTs, such as sets with clean semantics, supporting both add and remove operations, and considers in depth the more complex Graph data type.
Don't settle for eventual: scalable causal consistency for wide-area storage with COPS
- Computer ScienceSOSP
- 2011
This paper identifies and defines a consistency model---causal consistency with convergent conflict handling, or causal+---that is the strongest achieved under these constraints and presents the design and implementation of COPS, a key-value store that delivers this consistency model across the wide-area.
Hamsaz: replication coordination analysis and synthesis
- Computer ScienceProc. ACM Program. Lang.
- 2019
This work presents novel coordination protocols that are parametric in terms of the analysis results and provide the well-coordination requirements and implemented a tool called Hamsaz that can automatically analyze the given object, instantiate the protocols and synthesize replicated objects.
Higher-Order Patterns in Replicated Data Types
- Computer SciencePaPoC@EuroSys
- 2019
The design of Conflict-free Replicated Data Types traditionally requires implementing new designs from scratch to meet a desired behavior. Although there are composition rules that can guide the…
Composing and decomposing op-based CRDTs with semidirect products
- Computer ScienceProc. ACM Program. Lang.
- 2020
The semidirect product of op-based CRDTs is presented, which combines the operations of twoCRDTs into one while handling conflicts between their concurrent operations in a uniform way, forming a bridge between these two opposing techniques for constructing replicated data types.
Near Real-Time Peer-to-Peer Shared Editing on Extensible Data Types
- Computer ScienceGROUP
- 2016
YATA is presented, an approach for peer-to-peer shared editing applications that ensures convergence, preserves user intentions, allows offline editing and can be utilized for arbitrary data types in the Web browser.