Master course, Fall 2020
Distributed algorithms are fundamental and ubiquitous in the modern computing landscape. In essence, these algorithms enable computing over several machines, in a local IP-like network, a cloud or in a P2P network. Failures are common and computations need to proceed despite partial failures of machines or communication links. This course will cover the foundations of reliable distributed computing with an emphasis on broadcast and agreement algorithms. The following video discusses the main topics investigated in the course.
Main topics of the course
Reliable channels, Failure detectors, Reliable broadcast, Causal broadcast, Total order broadcast, Consensus, Terminating reliable broadcast, Atomic commit, Virtual synchrony, Byzantine agreement, Blockchain, Distributed machine learning
Structure of the course
The course comprises of 3 parts:
- Theory lecture: Held by Prof. Rachid Guerraoui every Monday from 15:00 to 17:00 in room CM1.
- Exercise session: Held every Monday from 17:00 to 18:00 in rooms BC01/BC02/BC03.
- Project Q&A: Held every Tuesday from 08:00 to 11:00 in room PO01 Polydome.
You can watch the lectures, exercise sessions and Project Q&A on Zoom. To access the link, please login to Moodle.
Grading Please look at the section Information on exercises, grading, and exam
A course page is also available on Moodle. We encourage students to register on Moodle, in order to get all the course announcements by email. Furthermore, students can use Moodle to ask questions about the exercise sessions and/or the project.
- 21/09: There is a project session tomorrow (22/09) at 8am in PO01. The first theory exercise session will take place on next Monday (28/09) at 5pm.
- 10/09: There is no exercise session (14/09) in the first week. However, project presentation will take place on Tuesday (15/09) at 8am in PO01.
- 02/09: DA 2020 page is online.
- It is about the implementation of broadcast algorithms,
- It accounts for 30% of the final grade,
- It is to be completed individualy by each student,
- It consists of two deliverables, namely FIFO Broadcast and Localized Causal Broadcast. More details can be found in the repository of the project.
- Prof. Rachid Guerraoui, Office INR 310, web page
- Teaching Assistants:
- Rachid Guerraoui and Luis Rodrigues - Introduction to Reliable Distributed Programming, available at 'La Fontaine' (with a student discount) or at amazon.de.
- Christian Cachin, Rachid Guerraoui and Luis Rodrigues - Introduction to Reliable and Secure Distributed Programming
- A Latex sample for algorithm implementation can be found here: alg-sample.tex
- Wandida video lecture: Consensus in an unreliable network of processors
- Wandida video lecture: Best Effort Broadcast
- Wandida video lecture: Broadcasts: Best effort vs Regular Reliable vs Uniform Reliable
- Wandida video lecture: Total Order Broadcast
Slides and exercises
Note that the slides will most likely be edited as the semester progresses, so make sure you have the latest version.
Information on exercises, grading, and exam
- Your final grade is a combination of the final (written) theoretical exam and the project:
- The theoretical exam accounts for 70% of the final grade,
- The project accounts for 30% of the final grade.
- The final exam is closed book: no materials are allowed.
- Exercises are not graded and do not count towards the final grade. However, solving them helps you better understand the course material and prepare for the final exam.
- Solutions to exercises will be given during the exercise sessions one week later after the exercises were given. Also, solutions will be available on the course webpage one week later after the exercises were given.