Raft Refloated: Do We Have Consensus?

Heidi Howard, Malte Schwarzkopf, Anil Madhavapeddy, and Jon Crowcroft. In ACM SIGOPS Operating Systems Review. .Heidi HowardMalte SchwarzkopfAnil MadhavapeddyJon Crowcroft

Raft Refloated: Do We Have Consensus?

Abstract

The Paxos algorithm is famously difficult to reason about and even more so to implement, despite having been synonymous with distributed consensus for over a decade. The recently proposed Raft protocol lays claim to being a new, understandable consensus algorithm, improving on Paxos without making compromises in performance or correctness. In this study, we repeat the Raft authors' performance analysis. We developed a clean-slate implementation of the Raft protocol and built an event-driven simulation framework for prototyping it on experimental topologies. We propose several optimizations to the Raft protocol and demonstrate their effectiveness under contention. Finally, we empirically validate the correctness of the Raft protocol invariants and evaluate Raft's understandability claims.