Distributed Computing
ETH Zurich

Principles of Distributed Computing (FS 2025)

Course cataloguePrevious yearPODC lecture collection

Distributed computing is essential in modern computing and communications systems. Examples are on the one hand large-scale networks such as the Internet, and on the other hand multiprocessors such as your multi-core laptop. This course introduces the principles of distributed computing, emphasizing the fundamental issues underlying the design of distributed systems and networks: communication, coordination, fault-tolerance, locality, parallelism, self-organization, symmetry breaking, synchronization, uncertainty. We explore essential algorithmic ideas and lower bound techniques, basically the "pearls" of distributed computing. We cover a fresh topic every week.

Bonus Task

Each week, students will be able to submit an original problem based on a topic from a previous lecture. Students coming up with an interesting problem about the material of this course (possibly containing several subquestions) along with an high-quality solution will be awarded a grade bonus of 0.25 and their problem will be shared with other students.

Your problem should be complex enough to take about 20 minutes to solve, and should not merely ask about something that can easily be looked up in the script (definition, algorithm, etc). You may take style inspiration from past exam questions (and solutions), but your question must be original. It takes us at least 20 hours to design an exam question (initial idea, improvements, tuning, testing), so we expect that it will take you a substantial time to produce an interesting question.

The deadline to submit a problem for a given topic is two weeks after the corresponding lecture. For example, the deadline to submit a problem related to Vertex Coloring will be on the 5th of March. The problem has to be sent by mail to the TA who organized the exercise session for the topic. A student may submit multiple problems but will be awarded the grade bonus at most once.

Exam

Discussion Forum

We have set up a discussion forum on the moodle course homepage. You can use this forum to ask questions about the lecture and the exercises. As this is a discussion forum, feel free to also answer the questions of your colleagues.

Lecture Material

Chapter Title Lecture Exercises Additional Material
Chapter 0
Introduction
19.02.2025
Script [peleg] Preface, Chapter 1
Slides by M.Fischer, ETH Zürich
Chapter 1
Vertex Coloring
19.02.2025
Script 26.02.25
Supervised by Anton
Exercises
Solutions
[peleg] Chapter 7
Slides by S.Schmid, TU Berlin
2023 Recording
Chapter 2
Tree Algorithms
26.02.2025
Script 05.03.25
Supervised by Damien
Exercises
Solutions
[peleg] Chapter 3-5
[hkpru] Chapter 7
Slides by S.Schmid, TU Berlin
2023 Recording
Chapter 3
Leader Election
05.03.2025
Script 12.03.25
Supervised by Mose
Exercises
[hkpru] Chapter 8
Slides by S.Schmid, TU Berlin
2023 Recording
Chapter 4
Maximal Independent Set
12.03.2025
Script 19.03.25
Supervised by Anton
Exercises
[peleg] Chapter 8
Slides by R. Wattenhofer
Slides by S.Schmid, TU Berlin
Chapter 5
Locality Lower Bounds
19.03.2023
26.03.25
Supervised by Andrei
Chapter 6
Matching
26.03.2023
02.04.25
Supervised by Damien
Original Paper
Slides by M. Fischer
Chapter 7
Global Problems
02.04.2023
09.04.25
Supervised by Marc
Slides by R. Wattenhofer
Animation of APSP Algorithm
by Jukka Suomela
Chapter 8
Distributed Sorting
09.04.2023
16.04.25
Supervised by Mose
[leighton] Chapter 1.6 & 3.5
[clr] Chapter 28
Slides by S.Schmid, TU Berlin
Chapter 9
Stabilization
16.04.2023
30.04.25
Supervised by Andrei
No lecture (Easter Break)
23.04.2023
Chapter 10
Wireless Protocols
30.04.2023
Taught by Damien Berriaud 07.05.25
Chapter 11
Graph Neural Networks
07.05.2023
14.05.25
Graph Representation Learning
by William L. Hamilton, McGill University
Chapter 12
Labeling Schemes
14.05.2023
Taught by Marc Dufay 21.05.25
Chapter 13
To Be Determined
21.05.2023
Taught by Goran Zuzic 28.05.25
Chapter 14
To Be Determined
28.05.2023
Taught by Goran Zuzic

References

These books are available at CS text book collection.

[peleg] Distributed Computing: A Locality-Sensitive Approach
David Peleg.
Society for Industrial and Applied Mathematics (SIAM), 2000, ISBN 0-89871-464-8
[aw] Distributed Computing: Fundamentals, Simulations and Advanced Topics
Hagit Attiya, Jennifer Welch.
McGraw-Hill Publishing, 1998, ISBN 0-07-709352 6
[hkpru] Dissemination of Information in Communication Networks
Juraj Hromkovic, Ralf Klasing, Andrzej Pelc, Peter Ruzicka, Walter Unger.
Springer-Verlag, Berlin Heidelberg, 2005, ISBN 3-540-00846-2
[leighton] Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes
Frank Thomson Leighton.
Morgan Kaufmann Publishers Inc., San Francisco, CA, 1991, ISBN 1-55860-117-1
[clr] Introduction to Algorithms
Thomas Cormen, Charles Leiserson, Ronald Rivest.
The MIT Press, 1998, ISBN 0-262-53091-0 oder 0-262-03141-8