Designing a commutative replicated data type
Marc Shapiro (LIP6, INRIA Rocquencourt), Nuno Pregui\c{c}a (INRIA, Rocquencourt)

TL;DR
This paper introduces methods for designing commutative replicated data types that ensure convergence and support low-cost transactions, using innovative techniques like background consensus and reusing existing ideas for efficiency.
Contribution
It presents a novel approach to designing commutative data types, including a new technique called background consensus, and demonstrates their effectiveness with a shared edit buffer example.
Findings
Replicas of commutative data types converge correctly under standard assumptions.
The proposed methods support low-cost transactional operations.
Background consensus improves efficiency in ensuring commutativity.
Abstract
Commuting operations greatly simplify consistency in distributed systems. This paper focuses on designing for commutativity, a topic neglected previously. We show that the replicas of \emph{any} data type for which concurrent operations commute converges to a correct value, under some simple and standard assumptions. We also show that such a data type supports transactions with very low cost. We identify a number of approaches and techniques to ensure commutativity. We re-use some existing ideas (non-destructive updates coupled with invariant identification), but propose a much more efficient implementation. Furthermore, we propose a new technique, background consensus. We illustrate these ideas with a shared edit buffer data type.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Age of Information Optimization · Advanced Data Storage Technologies
