Replicated Data Types: Specification, Verification, Optimality
Abstract
Geographically distributed systems often rely on replicated eventu- ally 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 reg- isters, 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 repli- cated data types using relations over events and verifying their im- plementations 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 ax- iomatically, in analogy to prior work on weak memory models. Overall, our work provides foundational reasoning tools to support research on replicated eventually consistent stores
Domains
Other [cs.OH]
Fichier principal
Replicated_Data_Types-_Specification_Verification_Optimality_Marek_Alexey_Burckhardt_popl14.pdf (537.42 Ko)
Télécharger le fichier
Origin : Files produced by the author(s)
Loading...