Class on Distributed Algorithms

Class number



Sun. 12:00-14:00, Bldng 34, Class 005, Wed. 14:00-16:00, Bldng 90, Class 136.


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 70% weight, and 7-10 homework assignments of total weight 30%. Students can choose to base their grade fully on the exam, but they should do so before the exam. Also, at least 75% of the assignments should be submitted and graded above 60, for a student to take the exam.


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.


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


Number 1
Number 2
Number 3
Number 4
Number 5


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

Excel file

Exam - Moed Aleph

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

Exam - Moed Beyt

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