Keywords: consensus, state machine replication, reconfiguration, Paxos
TL;DR: Donut Paxos is a reconfigurable consensus protocol that leverages ideas from Vertical Paxos, DPaxos, and Flexible Paxos.
Abstract: State machine replication protocols, like MultiPaxos and Raft, are at the heart of numerous distributed systems. To tolerate machine failures, these protocols must replace failed machines with new machines, a process known as reconfiguration. Reconfiguration has become increasingly important over time as the need for frequent reconfiguration has grown. Despite this, reconfiguration has largely been neglected in the literature. In this paper, we present Donut Paxos and Donut MultiPaxos, a reconfigurable consensus and state machine replication protocol respectively. Our protocols can perform a reconfiguration with little to no impact on the latency or throughput of command processing; they can perform a reconfiguration in a few milliseconds; and they present a framework that can be generalized to other replication protocols in a way that previous reconfiguration techniques can not. We provide proofs of correctness for the protocols and optimizations, and present empirical results from an open source implementation showing that throughput and latency do not change significantly during a reconfiguration.
Area: Distributed Consensus
Conflicts: Heidi Howard, Ailidani Ailijiang, Aleksey Charapko, Faisal Nawab