Declared causality in wide-area replicated storage
Abstract
Wide-area replicated storage systems are increasingly popular, despite significant shortcomings. Such systems allow for geographic placement of replicas near clients at a global scale, but they struggle to balance consistent global views with update performance. Eventual consistency - best-effort propagation of updates - often fails to meet expectations for update order. Causal consistency provides stronger ordering guarantees, but it can order updates unnecessarily, resulting in decreased performance. Understanding which updates require ordering relies on input from the application, as it alone knows the semantics of its computation. In this paper, we report on our initial efforts at providing such an application programming interface, and we show through a simple workload the potential benefits and costs of this approach. We also describe our future plans with application-declared causality.