Leaderless consensus algorithms in the vein of EPaxos have performance advantages, especially for geo-replication, but are also very intricate, making them hard to modify and adapt for specific use cases. In this paper we show that their core principle can be captured in a generic leaderless generalized-consensus algorithm that uses two new abstractions: a dependency-set algorithm, which suggests dependencies for commands, and a map-agreement algorithm, which ensures that, for each submitted command, processes agree on a dependency set. Our generic algorithm gives rise to a family of algorithms whose members are obtained by using concrete dependency-set and map-agreement algorithms. On top of enabling modular correctness proofs of leaderless consensus algorithms, we expect that the modular structure of our generic leaderless algorithm will allow a principled theoretical and empirical evaluation of the trade-offs that can be achieved by different implementations of our two abstractions.
[1]
Leslie Lamport,et al.
Fast Paxos
,
2006,
Distributed Computing.
[2]
Roberto Palmieri,et al.
Be General and Don't Give Up Consistency in Geo-Replicated Transactional Systems
,
2014,
OPODIS.
[3]
David G. Andersen,et al.
There is more consensus in Egalitarian parliaments
,
2013,
SOSP.
[4]
André Schiper,et al.
S-Paxos: Offloading the Leader for High Throughput State Machine Replication
,
2012,
2012 IEEE 31st Symposium on Reliable Distributed Systems.
[5]
Keith Marzullo,et al.
Mencius: Building Efficient Replicated State Machine for WANs
,
2008,
OSDI.
[6]
Leslie Lamport,et al.
Paxos Made Simple
,
2001
.
[7]
Leslie Lamport,et al.
Generalized Consensus and Paxos
,
2005
.