Affiliation:
1. Microsoft Research, Redmond, WA, USA
2. IMDEA Software Institute, Madrid, Spain
3. University of Oxford, Oxford, United Kingdom
4. INRIA & UPMC-LIP6, Paris, France
Abstract
Geographically distributed systems often rely on replicated eventually consistent data stores to achieve availability and performance. To resolve conflicting updates at different replicas, researchers and practitioners have proposed specialized consistency protocols, called replicated data types, that implement objects such as registers, counters, sets or lists. Reasoning about replicated data types has however not been on par with comparable work on abstract data types and concurrent data types, lacking specifications, correctness proofs, and optimality results.
To fill in this gap, we propose a framework for specifying replicated data types using relations over events and verifying their implementations using replication-aware simulations. We apply it to 7 existing implementations of 4 data types with nontrivial conflict-resolution strategies and optimizations (last-writer-wins register, counter, multi-value register and observed-remove set). We also present a novel technique for obtaining lower bounds on the worst-case space overhead of data type implementations and use it to prove optimality of 4 implementations. Finally, we show how to specify consistency of replicated stores with multiple objects axiomatically, in analogy to prior work on weak memory models. Overall, our work provides foundational reasoning tools to support research on replicated eventually consistent stores.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
15 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Brief Announcement: CausalEC: A Causally Consistent Data Storage Algorithm based on Cross-Object Erasure Coding;Proceedings of the 2023 ACM Symposium on Principles of Distributed Computing;2023-06-16
2. Probabilistic Causal Contexts for Scalable CRDTs;Proceedings of the 10th Workshop on Principles and Practice of Consistency for Distributed Data;2023-05-08
3. Katara: synthesizing CRDTs with verified lifting;Proceedings of the ACM on Programming Languages;2022-10-31
4. Repairing serializability bugs in distributed database programs via automated schema refactoring;Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation;2021-06-18
5. ASPAS: As Secure as Possible Available Systems;Distributed Applications and Interoperable Systems;2021