Implementations of some famous cluster/consensus/elections algorithms.
Elections in a Distributed Computing System
http://academic.research.microsoft.com/Publication/716253/elections-in-a-distributed-computing-system http://homepage.cs.uiowa.edu/~ghosh/Bully.pdf
After a failure occurs in a distributed computing system, it is often necessary to reorganize the active nodes so that they can continue to perform an useful task. The first step in such a reorganization or reconfiguration is to elect a coordinator node to manage the operation. This paper discusses such elections and reorganizations. Two types of reasonable failure environments are studied. For each environment assertions which define the meaning of an election are presented. An election algorithm which satisfies the assertions is presented for each environment. Index Terms: Crash Recovery, Distributed Computing Systems, Elections, Failures, Mutual Exclusion, Reorganization