Class on Distributed Algorithms



Class number

202-1-5371

Schedule

Sun. 16:00-18:00, Mon. 12:00-14:00.

Office hours

Mine: Tue. 3pm-5pm, Shay's: Wed. 4pm-6pm.

Outline

The class is devoted to the theory of distributed algorithms in the message-passing model. The network is modeled by a graph, the processors of the network reside in the vertices of the graph, and the edges of the graph serve as an abstraction of communication links. The aim is to design distributed algorithms that solve graph problems on the infrastructure network.

General information

There will be an exam of 80% weight, and 7-10 homework assignments of total weight 20%. Students can choose to base their grade fully on the exam, but they should do so before the exam.

Syllabus

The design of distributed algorithms is an active area of research. It has multiple applications in the areas of Communication Networks (particularly, for Internet programming) and Distributed Systems. From theoretical standpoint, the area is a natural extension of the classical algorithmic theory, and its study has provided significant advances in our understanding of such basic concepts as Locality and Randomization. The course will concentrate on the theory of distributed algorithms. Particular focus will be given to the model in which the processors share no common memory. The specific topics that will be covered (with possible variations due to time limitations, and the desires of the audience) are: 1) The definition of the model, and of the complexity measures in this model. 2) Basic algorithms: broadcast, convergecast, downcast, upcast, breadth-first-search tree construction, upcast-based MST (minimum-weight spanning tree) construction. 3) The issue of synchronization, basic synchronizers (alpha and beta). 4) Upper and lower bounds on the complexity of vertex coloring and maximal-independent-set problems. 5) Routing. If time permits: 6) The theory of graph decomposition, and its application to distributed computing. 7) Spanners, distance-labeling, more advanced routing. 8) Gallager-Humblet-Spira MST construction. 9) More advanced synchronization (gamma, delta, and beyond). The discussion will be conducted from mathematical perspective, trying to provide rigorous proofs wherever possible along with the intuition. The class will be self-contained, but will assume some basic knowledge of algorithmics, discrete mathematics and probability theory.

Bibliography

The book of David Peleg, Distributed Computing: a Locality-Sensitive Approach, SIAM, Philadelphia, PA, 2000.
SIAM web-page of the book

Assignments


The First Assignment
The Second Assignment
The Third Assignment
The Fourth Assignment

Solutions to Assignments


Solution to the first assignment

Exercises


Exercises from David Peleg's book

Latex

Latex is a program for scientific writing. Using special symbols one can write an ascii file, compile it with a latex-compiler (type "latex" from unix command-line), and get a nice postscript with all sorts of mathematical formulae. For more information see:
An online manual of latex
An example of a paper written in Latex

Grades of assignments



Exam (Feb. 05) - Moed Aleph


The exam (pdf format)
A solution (pdf format)

Exam (Feb. 05) - Moed Beyt


The exam (pdf format)
A solution (pdf format)

Exam (Feb. 06) - Moed Aleph


The exam (word format)
A solution (pdf format)