Time and place: Monday
This course studies lower bounds and impossibility results for various problems (and models) in distributed computing. Emphasis will be placed on techniques.
Week 1: Introduction. Why lower bounds. Administration.
Shifting arguments, used to bound operation cost for linearizability and sequential consistency.
Week 2: Shifting arguments applied to prove a lower bound on clock synchronization precision.
Scaling plus scenario arguments, used to prove n>
[Lundelius and Lynch]
Week 3: Fan-in arguments, bounding the influence of processes inputs.
A log n lower bound on the step complexity of computing OR (folklore).
A log n lower bound on the time complexity of wait-free approximate agreement.
Week 4: Paritioning arguments, bounding the amount of information acquired.
A log n lower bound on the step complexity of collecting information.
A log n lower bound on the step complexity of synchronous snapshots.
Week 5, Part I: Information theoretic arguments, for objects with limited write-contention.
A log n lower bound on the solo step complexity of weak test&set.
Week 5, Part II: Arguing about causality in asynchronous systems.
A Diam(s-1) lower bound on the step complexity of the s-session problem.
[Arjomandi,
Fischer and Lynch]
[Attiya
and Welch, Section 6.2.2]
Week 6: Combinatorial arguments.
An Omega(m) lower bound on update time for atomic snapshots.
Week 7: Covering arguments.
An Omega(n) lower bound on registers and steps for implementing a counter out of swap objects.
Week 8:
Week 9: Covering arguments and potential
decisions.
An Omega(sqrt(n))
space lower bound for randomized and obstruction-free consensus: the anonymous
case.
Week 10: Covering arguments and potential decisions (continued).
An Omega(sqrt(n))
space lower bound for randomized and obstruction-free consensus: the nonanonymous case.
Week 11: Bivalence arguments.
A lower bound on the number of rounds for randomized consensus in synchronous message-passing systems.
Week 12: Bivalence arguments and connectivity arguments.
A lower bound on the total work for randomized consensus in asynchronous shared-memory systems.
Week 13: Graph theoretic arguments (based on topology).
Impossibility of wait-free k-set consensus in a system with k+1 processes.
Papers from the scientific literature. The following survey paper is a good start:
· Faith Ellen Fich and Eric Ruppert, Hundreds of impossibility proofs for distributed computing, Distributed Computing, Volume 16, Issues 2-3, pp. 121 – 163.
Background material can be found in:
· Hagit Attiya and Jennifer L. Welch, Distributed Computing: Fundamentals, Simulations, and Advanced Topics, John Wiley and Sons, Inc.; 2nd edition, 2004.
· Nancy Lynch, Distributed Algorithms, Morgan Kaufmann, 1997.
· General information (in Hebrew)
· Home assignment #1 (weeks 1-3).
· Home assignment #2 (weeks 4-7).