Distributed Computing
ETH Zurich

Principles of Distributed Computing (FS 2019)

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

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.

First Graded Homework Assignment

The first graded homework assignment is now available on our moodle course homepage. The deadline for this homework is March 29, 23:59 CET. Note that this deadline is firm and no submissions will be accepted after. Please carefully read the homework instructions on moodle before attempting the quiz.


Lecture Material

Chapter Title Lecturer Lecture Notes Exercises Responsible Assistant Additional Material
Chapter 0
Introduction
20.02.2019
Roger Wattenhofer PDF 1:1
PDF 2:1
[peleg] Preface, Chapter 1
Chapter 1
Vertex Coloring
20.02.2019
Roger Wattenhofer PDF 1:1
PDF 2:1
Exercises
Solutions
Pankaj [peleg] Chapter 7
Slides by S.Schmid, TU Berlin
Chapter 2
Tree Algorithms
27.02.2019
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
Coloring General Graphs
06.03.2019
Mohsen Ghaffari Sections 1.4.1 & 1.4.2 of these notes Exercises
Solutions
Sebastian
Chapter 4
Lower Bounds for Coloring
13.03.2019
Mohsen Ghaffari Sections 1.2.2 of these notes Exercises
Solutions
Sebastian
Chapter 5
Maximal Independent Set
20.03.2019
Mohsen Ghaffari Sections 1.6 of these notes Exercises
Solutions
Sebastian
Chapter 6
Network Decomposition
27.03.2019
Mohsen Ghaffari Sections 1.5.1 & 1.5.3 of these notes
Chapter 7
Shared Objects
03.04.2019
Roger Wattenhofer
Chapter 8
Distributed Sorting
10.04.2019
Roger Wattenhofer
Chapter 9
Global Problems 1
17.04.2019
Roger Wattenhofer
Chapter 10
Global Problems 2:
Minimum Spanning Tree
08.05.2019
Mohsen Ghaffari
Chapter 11
Global Problems 3
15.05.2019
Mohsen Ghaffari
Chapter 12
Global Problems 4
22.05.2019
Mohsen Ghaffari
Chapter 13
Labeling Schemes
29.05.2019
Roger Wattenhofer

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