Distributed Computing
ETH Zurich

Principles of Distributed Computing (FS 2017)

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

Q&A session

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

Please send your questions to Thomas until Sunday, July 30, so that we can prepare for the Q&A session.

Exam preparation

The following parts of the lecture notes have not been covered in the lecture and are therefore not relevant for the exam: Here are some old exams from previous years: 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2016 (including a sample solution).
Please be aware that the topics covered in this course have changed several times over the years. Therefore, some questions in these exams don't match the content of this year's course.

Lecture material

Chapter Title Lecturer Lecture Notes Exercises Responsible Assistant Additional Material
Chapter 0
Introduction
22.02.2017
Roger Wattenhofer PDF 1:1
PDF 2:1
[peleg] Preface, Chapter 1
Chapter 1
Vertex Coloring
22.02.2017
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
Sebastian [peleg] Chapter 7
Slides by S.Schmid, TU Berlin
Chapter 2
Tree Algorithms
01.03.2017
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
Darya [peleg] Chapter 3-5
[hkpru] Chapter 7
Slides by S.Schmid, TU Berlin
Chapter 3
Distributed Sorting
08.03.2017
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
Sebastian [leighton] Chapter 1.6 & 3.5
[clr] Chapter 28
Slides by S.Schmid, TU Berlin
Chapter 4
Shared Objects
15.03.2017
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
Darya Slides by S.Schmid, TU Berlin
Chapter 5
Coloring General Graphs
22.03.2017
Mohsen Ghaffari PDF Exercises
Solutions
Mohsen
Chapter 6
Maximal Independent Set
29.03.2017
Mohsen Ghaffari PDF Exercises
Solutions
Manuela
Chapter 7
Lower Bounds for Coloring Trees
05.04.2017
Mohsen Ghaffari PDF Exercises
Solutions
Manuela
Chapter 8
Sublinear-time Centralized Algorithms
12.04.2017
Mohsen Ghaffari PDF Exercises
Solutions
Manuela
Chapter 9
Network Decomposition
26.04.2017
Mohsen Ghaffari PDF Exercises
Solutions
Jara
Chapter 10
Wireless Protocols
03.05.2017
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
Yuyi Slides by Y.-A. Pignolet
Chapter 11
Global Problems 1
10.05.2017
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
Sebastian Slides some additional Slides
Animation of APSP Algorithm by Jukka Suomela
Chapter 12
Global Problems 2:
Minimum Spanning Tree
17.05.2017
Mohsen Ghaffari PDF Exercises
Solutions
Jara
Chapter 13
Graph Sketching
24.05.2017
Mohsen Ghaffari PDF Exercises
Solutions
Jara
Chapter 14
Labeling Schemes
31.05.2017
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
Yuyi

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