Epidemic algorithms for replicated database maintenance
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Concurrency control in groupware systems
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
Managing update conflicts in Bayou, a weakly connected replicated storage system
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Flexible update propagation for weakly consistent replication
Proceedings of the sixteenth ACM symposium on Operating systems principles
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Efficient solutions to the replicated log and dictionary problems
PODC '84 Proceedings of the third annual ACM symposium on Principles of distributed computing
ACM Computing Surveys (CSUR)
Dynamo: amazon's highly available key-value store
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Queue - Scalable Web Services
A Commutative Replicated Data Type for Cooperative Editing
ICDCS '09 Proceedings of the 2009 29th IEEE International Conference on Distributed Computing Systems
r-semi-groups: a generic approach for designing stabilizing silent tasks
SSS'07 Proceedings of the 9h international conference on Stabilization, safety, and security of distributed systems
Logoot-Undo: Distributed Collaborative Editing System on P2P Networks
IEEE Transactions on Parallel and Distributed Systems
Replicated abstract data types: Building blocks for collaborative applications
Journal of Parallel and Distributed Computing
Semantics of concurrent revisions
ESOP'11/ETAPS'11 Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software
Self-stabilization with r-operators revisited
SSS'05 Proceedings of the 7th international conference on Self-Stabilizing Systems
Transactional storage for geo-replicated systems
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
Cloud types for eventual consistency
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Toward a principled framework for benchmarking consistency
HotDep'12 Proceedings of the Eighth USENIX conference on Hot Topics in System Dependability
Making geo-replicated systems fast as possible, consistent when necessary
OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation
Logic and lattices for distributed programming
Proceedings of the Third ACM Symposium on Cloud Computing
Distributed programming and consistency: principles and practice
Proceedings of the Third ACM Symposium on Cloud Computing
ACM SIGACT News
Brief announcement: semantics of eventually consistent replicated sets
DISC'12 Proceedings of the 26th international conference on Distributed Computing
Incremental stream processing using computational conflict-free replicated data types
Proceedings of the 3rd International Workshop on Cloud Data and Platforms
LSEQ: an adaptive structure for sequences in distributed collaborative editing
Proceedings of the 2013 ACM symposium on Document engineering
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
ACM SIGOPS 24th Symposium on Operating Systems Principles
The scalable commutativity rule: designing scalable software for multicore processors
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
Transaction chains: achieving serializability with low latency in geo-distributed storage systems
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
Proceedings of the 4th annual Symposium on Cloud Computing
Live linked data: synchronising semantic stores with commutative replicated data types
International Journal of Metadata, Semantics and Ontologies
Freeze after writing: quasi-deterministic parallel programming with LVars
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Replicated data types: specification, verification, optimality
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Verifying eventual consistency of optimistic replication systems
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Improving the Scalability of Geo-replication with Reservations
UCC '13 Proceedings of the 2013 IEEE/ACM 6th International Conference on Utility and Cloud Computing
Hi-index | 0.00 |
Replicating data under Eventual Consistency (EC) allows any replica to accept updates without remote synchronisation. This ensures performance and scalability in large-scale distributed systems (e.g., clouds). However, published EC approaches are ad-hoc and error-prone. Under a formal Strong Eventual Consistency (SEC) model, we study sufficient conditions for convergence. A data type that satisfies these conditions is called a Conflict-free Replicated Data Type (CRDT). Replicas of any CRDT are guaranteed to converge in a self-stabilising manner, despite any number of failures. This paper formalises two popular approaches (state- and operation-based) and their relevant sufficient conditions. We study a number of useful CRDTs, such as sets with clean semantics, supporting both add and remove operations, and consider in depth the more complex Graph data type. CRDT types can be composed to develop large-scale distributed applications, and have interesting theoretical properties.