Distributed Computing
ETH Zurich

Principles of Distributed Computing (FS 2021)

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 new 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 will cover a fresh topic every week.

News

Exam

Exam preparation

The following parts of the lecture notes have not been covered in the lecture and are therefore not relevant for the exam:

Q&A Session

We are going to host a question & answer session where you can ask questions about the lecture and exercises.

Graded Homework Assignment

We will have two graded homework assignments (compulsory continuous performance assessment). Each graded homework assignment will account for 10% of the final grade, the main exam will be 80% of the final grade.

Corrections of the first graded assignment are now available in Moodle. You will find the grading table in the homework description.

Corrections of the second graded assignment are now available on Moodle. You will find the grading table in the homework description.

Discussion Forum

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

Lecture Recordings

Recorded videos can be accessed through the moodle course homepage.

Lecture Material

Chapter Title Lecturer Lecture Notes Exercises Responsible Assistant Additional Material
Chapter 0
Introduction
24.02.2021
Roger Wattenhofer PDF 1:1
PDF 2:1
[peleg] Preface, Chapter 1
Chapter 1
Vertex Coloring
24.02.2021
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
Diana [peleg] Chapter 7
Slides by S.Schmid, TU Berlin
Chapter 2
Tree Algorithms
03.03.2021
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
Béni [peleg] Chapter 3-5
[hkpru] Chapter 7
Slides by S.Schmid, TU Berlin
Chapter 3
Coloring General Graphs
10.03.2021
Mohsen Ghaffari PDF 1:1
Exercises
Solutions
Vaclav [DGA] Section 1.4
Chapter 4
Locality-Based Lower Bounds
17.03.2021
Mohsen Ghaffari PDF 1:1 Exercises
Solutions
Vaclav [DGA] Sections 1.2.2 & 1.3.1
Chapter 5
Maximal Independent Set
24.03.2021
Mohsen Ghaffari PDF 1:1 Exercises
Solutions
Vaclav [DGA] Section 1.6
Chapter 6
Network Decomposition
31.03.2021
Mohsen Ghaffari Exercises
Solutions
Sebastian [DGA] Section 1.5
Chapter 7
Shared Objects
14.04.2021
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
András Slides by S.Schmid, TU Berlin
Chapter 8
Distributed Sorting
21.04.2021
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
Ard [leighton] Chapter 1.6 & 3.5
[clr] Chapter 28
Slides by S.Schmid, TU Berlin
Chapter 9
Global Problems 1
28.04.2021
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
Lioba Slides some additional Slides
Animation of APSP Algorithm
by Jukka Suomela
Chapter 10
Global Problems 2:
Minimum Spanning Tree
05.05.2021
Mohsen Ghaffari Exercises
Solutions
Sebastian [DGA] Section 2.2
Chapter 11
Global Problems 3:
Minimum Cut
12.05.2021
Mohsen Ghaffari Exercises
Solutions
Goran [DGA] Section 2.3
Chapter 12
Distributed Computing
via All-to-All Communication
19.05.2021
Mohsen Ghaffari Exercises
Solutions
Goran [DGA] Sections 3.1 & 3.2
Chapter 13
Wireless Protocols
26.05.2021
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
Ye
Chapter 14
Labeling Schemes
02.06.2021
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
Jakub

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