1

Just wanted to ask if anyone has had any thoughts on the similarities and differences between the Mencius and AllConcur consensus protocols?

At first glance these algorithms are presented very differently but I have a gut feeling that there are many connections between the two. My reason for thinking this is that they both seem to use a mechanism for reducing the number of messages each process handles as well as another mechanism for quick termination of instances based on failure detection. For Mencius is achieved by allowing no-op values for instances of consensus to be learnt without a quorum (majority) and by giving each process ownership of some subset of instances that only they can propose non-no-op values to. The other processes can only propose no-ops to instances they don't own when they suspect the owner has failed. Meanwhile in AllConcur each process appears to attempt to maintain a graph of the path each message takes. From my understanding when enough of the servers are known to have a message, a process can consider there to be consensus on that message. Otherwise if enough suspicions of a failure are received then a process can disregard certain messages from that suspected failed process.

Any clarifications on the operation of these two algorithms or takes on their relation to one another would be greatly appreciated.

Thanks

0 Answers0