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
[peleg] Chapter 7
Slides by S.Schmid, TU Berlin
Chapter 2
Tree Algorithms
26.02.2025
Script 05.03.25
Supervised by Damien
[peleg] Chapter 3-5
[hkpru] Chapter 7
Slides by S.Schmid, TU Berlin
Chapter 3
Leader Election
05.03.2025
Script 12.03.25
Supervised by Mose
[hkpru] Chapter 8
Slides by S.Schmid, TU Berlin
Chapter 4
Maximal Independent Set
12.03.2025
19.03.25
[peleg] Chapter 8
Slides by R. Wattenhofer
Slides by S.Schmid, TU Berlin
Chapter 5
Locality Lower Bounds
19.03.2023
26.03.25
Chapter 6
Global Problems
26.03.2023
02.04.25
Slides by R. Wattenhofer
Animation of APSP Algorithm
by Jukka Suomela
Chapter 7
Shared Objects
02.04.2023
09.04.25
Slides by S.Schmid, TU Berlin
Chapter 8
Distributed Sorting
09.04.2023
16.04.25
[leighton] Chapter 1.6 & 3.5
[clr] Chapter 28
Slides by S.Schmid, TU Berlin
Chapter 9
Stabilization
16.04.2023
30.04.25
No lecture (Easter Break)
23.04.2023
Chapter 10
Wireless Protocols
30.04.2023
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
Matching
14.05.2023
21.05.25
Original Paper
Slides by M.Fischer, ETH Zürich
Chapter 13
Labeling Schemes
21.05.2023
28.05.25
Chapter 14
To Be Determined
28.05.2023

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