TY - GEN
T1 - Don't settle for eventual
T2 - 23rd ACM Symposium on Operating Systems Principles, SOSP 2011
AU - Lloyd, Wyatt
AU - Freedman, Michael J.
AU - Kaminsky, Michael
AU - Andersen, David G.
N1 - Copyright:
Copyright 2011 Elsevier B.V., All rights reserved.
PY - 2011
Y1 - 2011
N2 - 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.
AB - 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.
KW - ALPS systems
KW - causal + consistency
KW - key-value storage
KW - read transactions
KW - scalable wide-area replication
UR - http://www.scopus.com/inward/record.url?scp=82655188176&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=82655188176&partnerID=8YFLogxK
U2 - 10.1145/2043556.2043593
DO - 10.1145/2043556.2043593
M3 - Conference contribution
AN - SCOPUS:82655188176
SN - 9781450309776
T3 - SOSP'11 - Proceedings of the 23rd ACM Symposium on Operating Systems Principles
SP - 401
EP - 416
BT - SOSP'11 - Proceedings of the 23rd ACM Symposium on Operating Systems Principles
Y2 - 23 October 2011 through 26 October 2011
ER -