TITLE
AUTHORS
Abstract
Geo-replicated data stores are
one of the integral parts of today's Internet services. Service providers
usually replicate their data on different data centers worldwide to achieve
higher performance and data durability. However, when we use this approach, the
consistency between replicas becomes a concern. At the highest level of consistency,
we want strong consistency that provides the illusion of having only a single
copy of the data. However, strong consistency comes with high performance and
availability costs. In this work, we focus on weaker consistency models that
allow us to provide high performance and availability while preventing certain inconsistencies.
Session guarantees (aka. client-centric consistency models) are one of such
weaker consistency models that prevent some of the inconsistencies from
occurring in a client session. We provide modified versions of session
guarantees that, unlike traditional session guarantees, do not cause the
problem of slowdown cascade for partitioned systems. We present a protocol to
provide session guarantees for eBay NuKV that is a
key-value store designed for eBay's internal services with high performance and
availability requirements. We utilize Hybrid Logical Clocks (HLCs) to provide wait-free write operations while providing
session guarantees. Our experiments, done on eBay cloud platform, show our
protocol does not cause significant overhead compared with eventual
consistency. In addition to session guarantees, a large portion of this
dissertation is dedicated to causal consistency. Causal consistency is
especially interesting as it is has been proved to be the strongest consistency
model that allows the system to be available even during network partitions. We
provide CausalSpartanX protocol that, using HLCs, improves current time-based protocols by eliminating
the effect of clock anomalies such as clock skew between servers. CausalSpartanX also supports non-blocking causally
consistent read-only transactions that allow applications to read a set of
values that are causally consistent with each other. Read-only transactions
provide a powerful abstraction that is impossible to be replaced by a set of
basic read operations. CausalSpartanX, like other
causal consistency protocols, assumes sticky clients (i.e. clients that never
change the replica that they access).
We prove if one wants immediate visibility for local updates in a data
center, clients have to be sticky. Based on the structure of CausalSpartanX, we provide our Adaptive Causal Consistency
Framework (ACCF) that is a configurable framework
that generalizes current consistency protocols. ACCF
provides a basis for designing adaptive protocols that can constantly monitor
the system and clients' usage pattern and change themselves to provide better performance
and availability. Finally, we present our Distributed Key-Value Framework (DKVF), a framework for rapid prototyping and benchmarking
consistency protocols. DKVF lets protocol designers only focus on their high-level
protocols, delegating all lower level communication and storage tasks to the
framework.
Paper:
Return to the publication list
Return to the Sandeep's home page