Flexible Paxos is the simple observation that it is not necessary to require all quorums in Paxos to intersect. It is sufficient to require that the quorum used by the leader election phase will overlap with the quorums used by previous replication phases. Majority quourms are one such way to meet this requirement, but many more exist. Thus, Paxos is just a single point on a broad spectrum of possibilities for safely reaching distributed consensus.
Heidi Howard, Dahlia Malkhi, Alexander Spiegelman
Flexible Paxos: Quorum intersection revisited
20th International Conference on Principles of Distributed Systems (OPODIS 2016)
preprint arXiv:1608.06696 [cs.DC]
- A More Flexible Paxos - A brief introduction to Flexible Paxos for the systems community, posted on Tech musings by Sugu Sougoumarane [11/8/2016]
- Majority agreement is not necessary for consensus - A summary of the key results of the Flexible Paxos paper, posted on Read, Write and Execute by Heidi Howard [26/8/2016]
- Flexible Paxos: A new breed of scalable, resilient and performant consensus algorithms is made possible - Dalhia Malkhi describes the story of the Flexible Paxos at VMware Research, posted by Dahlia Malkhi [26/8/2016]
- Distributed Durability in MySQL - A proposal to modify the MySQL semi-sync replication process in order to improve the overall consistency, posted on Tech musings by Sugu Sougoumarane [6/9/2016]
- Flexible Paxos: Quorum intersection revisited - The popular research blog, the morning paper, covers the Flexible Paxos preprint, posted on the morning paper by Adrian Colyer [27/9/2016]
- The load, capacity, and availability of quorum systems - Following up from the citation in Flexible Paxos, the morning paper covers Naor & Wool, posted on the morning paper by Adrian Colyer [3/10/2016]
- Modeling Paxos and Flexible Paxos in Pluscal and TLA+ - In this post, Murat details how he model checked Paxos and then Flexible Paxos using Pluscal, posted on Metadata by Murat Demirbas [3/10/2016]
- LibFPaxos - A patch to LibPaxos3 which exposes quorum size as a configuraton parameter. Licensed under 3-clause BSD license.
- LibFPaxos Benchmarks - Scripts for reproducing the LibFPaxos experiments from the Flexible Paxos paper using Mininet. Licensed under MIT.
- Flexible Paxos TLA+ - TLA+ specification of single-valued Flexible Paxos. Licensed under MIT.
- Flexible Raft TLA+ - TLA+ specification of Raft, modified for flexible quorums. Licensed under MIT.