How to Elect a Leader Faster than a Tournament
- Dan Alistarh ,
- Rati Gelashvili ,
- Adrian Vladu
Published by ACM - Association for Computing Machinery
In Proceedings of PODC 2015.
The problem of electing a leader from among n contenders is one of the fundamental questions in distributed computing. In its simplest formulation, the task is as follows: given n processors, all participants must eventually return a win or lose indication, such that a single contender may win. Despite a considerable amount of work on leader election, the following question is still open: can we elect a leader in an asynchronous fault-prone system faster than just running a (log n)-time tournament, against a strong adaptive adversary?
In this paper, we answer this question in the affirmative, improving on a decades-old upper bound. We introduce two new algorithmic ideas to reduce the time complexity of electing a leader to O(log n), using O(n^2) point-to-point messages. A non-trivial application of our algorithm is a new upper bound for the tight renaming problem, assigning n items to the n participants in expected O(log^2 n) time and O(n^2) messages. We complement our results with lower bound of Omega(n^2) messages for solving these two problems, closing the question of their message complexity.
© ACM. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version can be found at http://dl.acm.org.