Observable atomic consistency for CvRDTs

by   Xin Zhao, et al.

The development of distributed systems requires developers to balance the need for consistency, availability, and partition tolerance. The recently proposed Global Sequence Protocol (GSP) provides an abstract, high-level programming model for asynchronous commands between client and server, which provides a foundation for implementations as well as consistency guarantees. In order to enable offline availability, GSP allows a client to read its own writes even when the client is offline. However, this model can give rise to consistency anomalies that are difficult to debug. In this paper we propose a new consistency protocol, the observable atomic consistency protocol (OACP). OACP enables a principled relaxation of consistency to achieve better performance in certain scenarios. OACP combines the advantages of mergeable data types, specifically, convergent replicated data types (CvRDTs), and reliable total order broadcast (RTOB) to provide on-demand strong consistency, avoiding the anomalies of GSP and related protocols. We implement OACP using Akka Cluster, a state-of-the-art actor framework used in popular, large-scale web applications. The paper also presents an experimental comparison of GSP and OACP. Our evaluation shows that OACP is able to provide lower latency and higher throughput than GSP in several benchmarks.


page 1

page 2

page 3

page 4


Session Guarantees with Raft and Hybrid Logical Clocks

Eventual consistency is a popular consistency model for geo-replicated d...

Data Consistency in Transactional Storage Systems: a Centralised Approach

Modern distributed databases weaken data consistency guarantees to allow...

Path-Sensitive Atomic Commit: Local Coordination Avoidance for Distributed Transactions (Technical Report)

Concurrent objects with asynchronous messaging are an increasingly popul...

ViSearch: Weak Consistency Measurement for Replicated Data Types

Large-scale replicated data type stores often resort to eventual consist...

Formalizing and Implementing Distributed Ledger Objects

Despite the hype about blockchains and distributed ledgers, no formal ab...

Musings on the HashGraph Protocol: Its Security and Its Limitations

The HashGraph Protocol is a Byzantine fault tolerant atomic broadcast pr...

Please sign up or login with your details

Forgot password? Click here to reset