Axioms for memory access in asynchronous hardware systems
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
A quorum-consensus replication method for abstract data types
ACM Transactions on Computer Systems (TOCS)
Transaction management in the R* distributed database management system
ACM Transactions on Database Systems (TODS)
Exploiting virtual synchrony in distributed systems
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
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)
Disconnected operation in the Coda File System
ACM Transactions on Computer Systems (TOCS)
Understanding the limitations of causally and totally ordered communication
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Sequential consistency versus linearizability
ACM Transactions on Computer Systems (TOCS)
Serverless network file systems
ACM Transactions on Computer Systems (TOCS) - Special issue on operating system principles
STOC '97 Proceedings of the twenty-ninth annual ACM symposium on Theory of computing
Cluster-based scalable network services
Proceedings of the sixteenth ACM symposium on Operating systems principles
Flexible update propagation for weakly consistent replication
Proceedings of the sixteenth ACM symposium on Operating systems principles
ACM Transactions on Computer Systems (TOCS)
A Majority consensus approach to concurrency control for multiple copy databases
ACM Transactions on Database Systems (TODS)
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
Session guarantees for weakly consistent replicated data
PDIS '94 Proceedings of the third international conference on on Parallel and distributed information systems
Reliable Distributed Computing with the ISIS Toolkit
Reliable Distributed Computing with the ISIS Toolkit
The Gamma Database Machine Project
IEEE Transactions on Knowledge and Data Engineering
Weighted voting for replicated data
SOSP '79 Proceedings of the seventh ACM symposium on Operating systems principles
A principle for resilient sharing of distributed resources
ICSE '76 Proceedings of the 2nd international conference on Software engineering
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Design and evaluation of a continuous consistency model for replicated services
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
Chain replication for supporting high throughput and availability
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
NSDI'06 Proceedings of the 3rd conference on Networked Systems Design & Implementation - Volume 3
Dynamo: amazon's highly available key-value store
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs
IEEE Transactions on Computers
A Formal Model of Crash Recovery in a Distributed System
IEEE Transactions on Software Engineering
Detection of Mutual Inconsistency in Distributed Systems
IEEE Transactions on Software Engineering
A scalable, commodity data center network architecture
Proceedings of the ACM SIGCOMM 2008 conference on Data communication
PNUTS: Yahoo!'s hosted data serving platform
Proceedings of the VLDB Endowment
VL2: a scalable and flexible data center network
Proceedings of the ACM SIGCOMM 2009 conference on Data communication
Sinfonia: A new paradigm for building scalable distributed systems
ACM Transactions on Computer Systems (TOCS)
FAWN: a fast array of wimpy nodes
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
Object storage on CRAQ: high-throughput chain replication for read-mostly workloads
USENIX'09 Proceedings of the 2009 conference on USENIX Annual technical conference
Transactional storage for geo-replicated systems
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
Transactional storage for geo-replicated systems
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
The space complexity of transactional interactive reads
Proceedings of the 1st International Workshop on Hot Topics in Cloud Data Processing
Probabilistically bounded staleness for practical partial quorums
Proceedings of the VLDB Endowment
HyperDex: a distributed, searchable key-value store
Proceedings of the ACM SIGCOMM 2012 conference on Applications, technologies, architectures, and protocols for computer communication
Granola: low-overhead distributed transaction coordination
USENIX ATC'12 Proceedings of the 2012 USENIX conference on Annual Technical Conference
Surviving congestion in geo-distributed storage systems
USENIX ATC'12 Proceedings of the 2012 USENIX conference on Annual Technical Conference
HyperDex: a distributed, searchable key-value store
ACM SIGCOMM Computer Communication Review - Special october issue SIGCOMM '12
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
The potential dangers of causal consistency and an explicit solution
Proceedings of the Third ACM Symposium on Cloud Computing
ACM SIGACT News
Pyxis: an active replication approach for enhancing social media services
AMT'12 Proceedings of the 8th international conference on Active Media Technology
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
Rethinking eventual consistency
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
MDCC: multi-data center consistency
Proceedings of the 8th ACM European Conference on Computer Systems
MoSQL: an elastic storage engine for MySQL
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Stronger semantics for low-latency geo-replicated storage
nsdi'13 Proceedings of the 10th USENIX conference on Networked Systems Design and Implementation
Robustness in the Salus scalable block store
nsdi'13 Proceedings of the 10th USENIX conference on Networked Systems Design and Implementation
nsdi'13 Proceedings of the 10th USENIX conference on Networked Systems Design and Implementation
Using dark fiber to displace diesel generators
HotOS'13 Proceedings of the 14th USENIX conference on Hot Topics in Operating Systems
HAT, not CAP: towards highly available transactions
HotOS'13 Proceedings of the 14th USENIX conference on Hot Topics in Operating Systems
Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking
CSPAN: cost-effective geo-replicated storage spanning multiple cloud services
Proceedings of the ACM SIGCOMM 2013 conference on SIGCOMM
Archiving the relaxed consistency web
Proceedings of the 22nd ACM international conference on Conference on information & knowledge management
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
ACM SIGOPS 24th 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
SPANStore: cost-effective geo-replicated storage spanning multiple cloud services
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
Consistency-based service level agreements for cloud storage
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
Leveraging sharding in the design of scalable replication protocols
Proceedings of the 4th annual Symposium on Cloud Computing
Orbe: scalable causal consistency using dependency matrices and physical clocks
Proceedings of the 4th annual Symposium on Cloud Computing
Proceedings of the 4th annual Symposium on Cloud Computing
Understanding and mitigating the impact of load imbalance in the memory caching tier
Proceedings of the 4th annual Symposium on Cloud Computing
TAO: Facebook's distributed data store for the social graph
USENIX ATC'13 Proceedings of the 2013 USENIX conference on Annual Technical Conference
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
Scalable transactions across heterogeneous NoSQL key-value data stores
Proceedings of the VLDB Endowment
Low-latency multi-datacenter databases using replicated commit
Proceedings of the VLDB Endowment
Eventually consistent: not what you were expecting?
Communications of the ACM
Eventually Consistent: Not What You Were Expecting?
Queue - Performance
Warranties for faster strong consistency
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Hi-index | 0.02 |
Geo-replicated, distributed data stores that support complex online applications, such as social networks, must provide an "always-on" experience where operations always complete with low latency. Today's systems often sacrifice strong consistency to achieve these goals, exposing inconsistencies to their clients and necessitating complex application logic. In this paper, we identify and define a consistency model---causal consistency with convergent conflict handling, or causal+---that is the strongest achieved under these constraints. We present the design and implementation of COPS, a key-value store that delivers this consistency model across the wide-area. A key contribution of COPS is its scalability, which can enforce causal dependencies between keys stored across an entire cluster, rather than a single server like previous systems. The central approach in COPS is tracking and explicitly checking whether causal dependencies between keys are satisfied in the local cluster before exposing writes. Further, in COPS-GT, we introduce get transactions in order to obtain a consistent view of multiple keys without locking or blocking. Our evaluation shows that COPS completes operations in less than a millisecond, provides throughput similar to previous systems when using one server per cluster, and scales well as we increase the number of servers in each cluster. It also shows that COPS-GT provides similar latency, throughput, and scaling to COPS for common workloads.