English

Designing a commutative replicated data type

Distributed, Parallel, and Cluster Computing 2009-09-29 v1

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.

Keywords

Cite

@article{arxiv.0710.1784,
  title  = {Designing a commutative replicated data type},
  author = {Marc Shapiro and Nuno Preguiça},
  journal= {arXiv preprint arXiv:0710.1784},
  year   = {2009}
}
R2 v1 2026-06-21T09:29:05.258Z