Context and Problem Explicit Consistency Indigo

Putting Consistency back into Eventual Consistency
VALTER BALEGAS, SÉRGIO DUARTE, CARLA FERREIRA, RODRIGO RODRIGUES, NUNO PREGUIÇA
NOVA-LINCS, FCT, Univ. Nova de Lisboa
MAHZA NAJAFZADEH, MARC SHAPIRO
Inria Paris-Rocquencourt & Sorbonne Universités, UPMC Univ Paris 06, LIP6
App!
Code!
Static Analysis!
Indigo
Causal
Red-Blue
Strong
120
Latency [ms]
Specification!
140
100
80
60
40
20
Protected !
APP code!
0
0
200 400 600 800 1000 1200 1400 1600
Latency [ms]
Throughput [TP/s]
Rights manager!
Dynamic optimizer!
Storage!
1800
1500
Indigo
Red-Blue
Strong
1200
900
600
300
0
VIE
E
D
R
A
D
W_ NROL ISENR O_MA EM_T DD_P
STA
L
OU
L
T
RNA AYER
TUS _TOU OLL_T CH
RNA OU
ME
NT
ME RNA
NT
ME
NT
Context and Problem
Explicit Consistency
Indigo
Cloud is used to provide services
at a global-scale.
Customers are sensitive to latency
and availability of services.
Geo-replication improves latency
and availability, but requires
additional effort to ensure
consistency:
•  Eventual-consistency works well
with non-sensitive data.
e.g Facebook wall.
•  Strong-consistency is necessary
to maintain application invariants
but has high impact on latency!
Specify applications as a set of
invariants and operations’ postconditions.
Analysis determines the
combinations of operation
executions that are not safe and
may break invariants.
•  To execute an unsafe operation,
replicas acquire rights that enable
its execution:
Middleware system that enforces
Explicit Consistency on georeplicated data stores.
Advanced reservation mechanisms
to enforce invariants efficiently
Requirements of the underlying
system:
•  Causal+ consistency;
•  Transactions with direct database
snapshot access
e.g. Global coordination to
avoid overbooking a flight or
booking the same seat to two
customers.
Analyze applications to maintain
invariants without increasing
operations’ latency.
Future work
SAT Solver!
•  Rights may allow the execution of
multiple operations (e.g. reserve
all seats in a row).
•  Low-latency operations when
rights are acquired beforehand.