Linearizable State Machine Replication of State-Based CRDTs without Logs (1905.08733v2)
Abstract: General solutions of state machine replication have to ensure that all replicas apply the same commands in the same order, even in the presence of failures. Such strict ordering incurs high synchronization costs caused by distributed consensus or by the use of a leader. This paper presents a protocol for linearizable state machine replication of conflict-free replicated data types (CRDTs) that neither requires consensus nor a leader. By leveraging the properties of state-based CRDTs - in particular, the monotonic growth of a join semilattice - synchronization overhead is greatly reduced. As a result, updates only need a single round trip and modify the state 'in-place' without the need for a log. Furthermore, the message size overhead for coordination consists of a single counter per message. For queries, we guarantee finite writes termination. We show in an experimental evaluation that more than 99 % of queries can be handled in one to three round trips under highly concurrent accesses. Our protocol achieves high throughput without auxiliary processes such as command log management or leader election. Thus, it is well suited for practical scenarios that need linearizable access to CRDT data on a fine-granular scale.