Paxos Made Live - An Engineering Perspective
📜 Abstract
We describe our experience in building a fault-tolerant data-base using the Paxos consensus algorithm. Despite the existing literature in the field, building such a database proved to be non-trivial. We describe selected algorithmic and engineering problems encountered, and the solutions we found for them. Our measurements indicate that we have built a competitive system.
✨ Summary
The paper reports Google’s experience replacing the replication layer of the Chubby lock service with a Paxos-based fault-tolerant log and database. Its main contribution is an engineering account of issues that are under-specified in basic Paxos descriptions, including disk corruption, master leases, epoch numbers, group membership, snapshots, transactions, runtime consistency checks, deterministic failure testing, and operational recovery. The reported implementation outperformed the prior 3DB-based Chubby system in the authors’ write-intensive benchmarks.
The paper became a widely cited experience report on production consensus systems; bibliographic indexing records hundreds of citations. (rankless.org) Its influence also extended to industry: Xiang Li, an early developer of etcd, stated that etcd drew on the paper’s Paxos-based database design and adopted aspects of its testing methodology. (kubernetespodcast.com) The paper continues to be used as a reference for practical Paxos engineering, particularly for the gap between concise consensus algorithms and production-grade replicated services. (dfg-spp2037.de)