Distributed Computing
ETH Zurich

Principles of Distributed Computing (FS 2018)

Course catalogue • Previous year • PODC 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 review

We offer two review sessions which will take place in the room ETZ G 88 on Please bring your legi for identification; you won't be allowed to see your exam papers without this.

Lecture Material

Chapter Title Lecturer Lecture Notes Exercises Responsible Assistant Additional Material
Chapter 0
Introduction
21.02.2018
Roger Wattenhofer PDF 1:1
PDF 2:1
[peleg] Preface, Chapter 1
Chapter 1
Vertex Coloring
21.02.2018
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
András [peleg] Chapter 7
Slides by S.Schmid, TU Berlin
Chapter 2
Tree Algorithms
28.02.2018
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
András [peleg] Chapter 3-5
[hkpru] Chapter 7
Slides by S.Schmid, TU Berlin
Chapter 3
Shared Objects
07.03.2018
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
Darya Slides by S.Schmid, TU Berlin
Chapter 4
Coloring General Graphs
14.03.2018
Mohsen Ghaffari PDF Exercises
Solutions
Manuela
Chapter 5
Maximal Independent Set
21.03.2018
Mohsen Ghaffari PDF Exercises
Solutions
Jara
Chapter 6
Lower Bounds for Coloring Trees
28.03.2018
Mohsen Ghaffari PDF Exercises
Solutions
Jara
Chapter 7
Distributed Sorting
11.04.2018
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
Zeta [leighton] Chapter 1.6 & 3.5
[clr] Chapter 28
Slides by S.Schmid, TU Berlin
Chapter 8
Sublinear-time Centralized Algorithms
18.04.2018
Mohsen Ghaffari PDF Exercises
Solutions
Sebastian
Chapter 9
Network Decomposition
25.04.2018
Mohsen Ghaffari PDF Exercises
Solutions
Sebastian
Chapter 10
Wireless Protocols
02.05.2018
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
Pankaj Slides by Y.-A. Pignolet
Chapter 11
Global Problems 1
09.05.2018
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
Yuyi Slides some additional Slides
Animation of APSP Algorithm by Jukka Suomela
Chapter 12
Global Problems 2:
Minimum Spanning Tree
16.05.2018
Mohsen Ghaffari PDF Exercises
Solutions
Jara
Chapter 13
Graph Sketching
23.05.2018
Mohsen Ghaffari PDF Exercises
Solutions
Jara
Chapter 14
Labeling Schemes
30.05.2018
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