On the complexity of synchronization

Author(s)

Other Contributors

Advisor

Nir Shavit.

Terms of use

MIT theses are protected by copyright. They may be viewed, downloaded, or printed from this source but further reproduction or distribution in any format is prohibited without written permission.http://dspace.mit.edu/handle/1721.1/7582

Metadata

Abstract

The field of distributed algorithms revolves around efficiently solving synchronization tasks, such as leader election and consensus. We make contributions towards a better understanding of the complexity of central tasks in standard distributed models. In the population protocols model, we demonstrate how to solve majority and leader election efficiently, in time 0(log² n), using 0(log n) states per node, for n nodes. Central to our algorithms is a new leaderless phase clock technique. We also prove tight lower bounds on the state complexity of solving these tasks. In shared memory, we prove that any nondeterministic solo terminating consensus algorithm for anonymous processes has to use [omega](n) read-write registers. Then, we show how to solve n-process wait-free consensus by combining synchronization instructions that would be considered "weak" according to Herlihy's consensus hierarchy. This collapses the hierarchy when instructions can be applied to the same memory location, as is the case in all existing multicore processors. We suggest an alternative hierarchy and provide a practical universal construction using only "weak" instructions, that performs as well as the Compare-and-Swap-based solution. Space complexity of solving k-set agreement is a problem that highlights important gaps in our understanding and state-of-the-art methods. No general lower bound better than 2 is known. We introduce a new technique based on an indirect black-box application of Sperner's Lemma through an algorithmic reduction to the impossibility of wait-free k-set agreement. We design a simulation such that for any protocol either the simulating processes solve wait-free k-set agreement (impossible), or they simulate an execution of that uses many registers. Finally, time complexity of leader election is a long-standing open problem. We give an algorithm with 0(log* k) time complexity in asynchronous message-passing system, for k participants.