Viewstamped Replication: A New Primary Copy Method to Support Highly-Available Distributed Systems
PODC '88 Proceedings of the seventh annual ACM Symposium on Principles of distributed computing
Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Providing high availability using lazy replication
ACM Transactions on Computer Systems (TOCS)
A critique of ANSI SQL isolation levels
SIGMOD '95 Proceedings of the 1995 ACM SIGMOD international conference on Management of data
STOC '97 Proceedings of the twenty-ninth annual ACM symposium on Theory of computing
Flexible update propagation for weakly consistent replication
Proceedings of the sixteenth ACM symposium on Operating systems principles
ACM Transactions on Computer Systems (TOCS)
Towards robust distributed systems (abstract)
Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
A principle for resilient sharing of distributed resources
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Chain replication for supporting high throughput and availability
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs
IEEE Transactions on Computers
Detection of Mutual Inconsistency in Distributed Systems
IEEE Transactions on Software Engineering
Communications of the ACM - Rural engineering development
Don't settle for eventual: scalable causal consistency for wide-area storage with COPS
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
Concise version vectors in WinFS
DISC'05 Proceedings of the 19th international conference on Distributed Computing
Spanner: Google's globally-distributed database
OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
ChainReaction: a causal+ consistent datastore based on chain replication
Proceedings of the 8th ACM European Conference on Computer Systems
Stronger semantics for low-latency geo-replicated storage
nsdi'13 Proceedings of the 10th USENIX conference on Networked Systems Design and Implementation
Clock-SI: Snapshot Isolation for Partitioned Data Stores Using Loosely Synchronized Clocks
SRDS '13 Proceedings of the 2013 IEEE 32nd International Symposium on Reliable Distributed Systems
Hi-index | 0.00 |
We propose two protocols that provide scalable causal consistency for both partitioned and replicated data stores using dependency matrices (DM) and physical clocks. The DM protocol supports basic read and update operations and uses two-dimensional dependency matrices to track dependencies in a client session. It utilizes the transitivity of causality and sparse matrix encoding to keep dependency metadata small and bounded. The DM-Clock protocol extends the DM protocol to support read-only transactions using loosely synchronized physical clocks. We implement the two protocols in Orbe, a distributed key-value store, and evaluate them experimentally. Orbe scales out well, incurs relatively small overhead over an eventually consistent key-value store, and outperforms an existing system that uses explicit dependency tracking to provide scalable causal consistency.