for
Distributed Algorithms
Lecturer: Hagit Attiya
Teaching assistant: Arie (Leonid) Fouren
Supplement to Distributed Computing: Fundamentals, Simulations and Advanced Topics
by Attiya and Welch
See also a course given by Jennifer Welch in Texas A&M, Spring 1999.
This semester-long course meets once a week for a two-hours lecture; in addition, there is a weekly one-hour recitation. The notes contain 13 lectures; the last lecture included a presentation of the projects written by the students (see below). The class had approximately 30 students, approximately half of them seniors, and the rest graduate students.
The course followed a fairly aggressive schedule, and assumes that students read details in the book (after class). The description of the material in class is fairly informal, at most times; however, their written assignments were supposed to be quite formal.
In some cases, the recitations covered material not in the book. In these cases, we point to the paper(s) on which the recitation was based.
Evaluation of the students was (approximately) equally based on four homework assignments handed out during the semester, and on a written project.
Additional material can be found through the book homepage
Also, look at the course’s homepage, for project ideas and guidelines
Order of lectures:
- Introduction and basic message passing algorithms (notes and slides).
- Algorithms and lower bounds for leader election in rings (notes and slides).
- Complete last lecture, and start mutual exclusion (using Test&Set) (notes and slides).
- Mutual exclusion using read/write registers (notes and slides).
- Consensus in the presence of crash failures (synchronous) (notes and slides).
- Consensus in the presence of Byzantine failures (synchronous) (notes and slides).
- Simulations between failure types (notes and slides).
- Impossiblility of wait-free consensus (notes and slides).
- Wait-free simulation of fault-tolerant algorithms (notes and slides).
- Wait-free simulations of shared-memory objects (notes and slides).
- Wait-free atomic snapshots (notes).
- Randomized consensus (notes).
- Synchronizers (notes).