Observable atomic consistency for CvRDTs (1802.09462v2)
Abstract: The development of distributed systems requires developers to balance the need for consistency, availability, and partition tolerance. Conflict-free replicated data types (CRDTs) are widely used in eventually consistent systems to reduce concurrency control. However, due to the lack of consistent non-monotonic operations, the usage of CRDTs can be difficult. In this paper, we propose a new consistency protocol, the observable atomic consistency protocol (OACP). OACP enables a principled relax- ation of strong consistency to improve performance in specific scenarios. OACP combines the advantages of mergeable data types, specifically, convergent replicated data types, and reliable total order broadcast to provide on-demand strong consistency. By providing observable atomic consistency, OACP avoids the anomalies of related protocols. We provide a distributed, cluster-enabled implementation of OACP based on Akka, a widely-used actor-based middleware. Our experimental evaluation shows that OACP can reduce the coordination between replicas compared to other protocols providing atomic consistency in several bench- marks. Our results also suggest that OACP gains availability through mergeable data types and provides acceptable latency for achieving strong consistency.