Fair Leader Election by Randomized Voting

Leader election is a fundamental problem in distributed computing where a unique node from a set of nodes declares itself as the leader (a distinguished state). We propose a notion of fairness in the leader election problem; a leader election algorithm is said to be fair if each node has the same probability of getting elected as leader. We show that existing deterministic algorithms based on comparisons of identifiers fail to achieve fairness. We demonstrate how fairness can be achieved through randomization and propose new leader election algorithms based on randomized voting. We separate the task of fair leader election on unidirectional rings into two subtasks: attrition and solitude detection following [9]. We show that tight interleaving of these two procedures as in [7], results in fair leader election on asynchronous, anonymous, unidirectional rings using expected O(n log n) bits of communication, in expected O(log n) rounds. (Here n is the number of nodes in the ring.) This matches the performance of the optimal algorithm of Abrahamson et al. [1]. Similar algorithms are presented for electing a fair leader in other models.