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.
© Copyright 2024