Distributed Computing
ETH Zurich

Principles of Distributed Computing (FS 2016)

This page is no longer maintained. Up-to-date versions of lecture and exercise material can be found here.

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.

Course pre-requisites: Interest in algorithmic problems. (No particular course needed.)

Course language: English.

Lecture by Roger Wattenhofer Wednesday 8.15-10.00 @ CAB G 51.

Exercises organized by Philipp Brandes, Exercise A: Wednesday 10.15-12.00 @ CAB G 52, Exercise B: Wednesday 13:15-15:00 @ LFW C 11

Reading Assignment. A reading assignment (TSP and Graph exploration) will be part of of the exam.

In case you have missed a lecture, the Sections 5.3 and 7.2 were discussed very briefly in the lecture. We skipped Algorithm 6.7 and Theorem 6.8 of Section 6.2. Keep this in mind when preparing for the exam.

If you are not in Zurich for the exam, please contact Prof. Wattenhofer via e-mail to get the confirmation you need to apply for a distance exam. The examination office will help you with any question you might have.

Sample exams: 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2016 (including a sample solution)
Please note that the topics covered in this course change from year to year and thus some of the questions in those exams are not covered this year.

There will be a Q&A session in CAB G 51 on August 12 at 2pm. Please send your questions until August 10 (11:59pm) to Philipp Brandes.

You can take a look at your corrected exam on Monday, the 19th of September (from 9am to 12pm), and on Thursday, the 29th of September (from 12pm to 3pm). The exam review will take place in the office of our secretary Friederike Brütsch (office ETZ G88).


Lecture material


Title Lecture Notes Exercises Responsible Assistant Additional Material

Chapter 0
Introduction
24.02.16
PDF 1:1
PDF 2:1
[peleg] Preface, Chapter 1

Chapter 1
Vertex Coloring
24.02.16
PDF 1:1
PDF 2:1
Exercises
Solutions
Philipp Brandes
[peleg] Chapter 7
Slides by S.Schmid, TU Berlin

Chapter 2
Tree Algorithms
02.03.16
PDF 1:1
PDF 2:1
Exercises
Solutions
Pascal Bissig
[peleg] Chapter 3-5
[hkpru] Chapter 7
Slides by S.Schmid, TU Berlin

Chapter 3
Leader Election
09.03.16
PDF 1:1
PDF 2:1
Exercises
Solutions
Sebastian Brandt
[aw] Chapter 3
[hkpru] Chapter 8
Slides by S.Schmid, TU Berlin

Chapter 4
Shared Memory
16.03.16.
PDF 1:1
PDF 2:1
Exercises
Solutions
Christian Decker
[aw] Chapter 4
Slides by S.Schmid, TU Berlin

Chapter 5
Distributed Sorting
23.03.16
PDF 1:1
PDF 2:1
Exercises
Solutions
Laura Peer
[leighton] Chapter 1.6 & 3.5
[clr] Chapter 28
Slides by S.Schmid, TU Berlin

Chapter 6
Shared Objects
06.04.16
PDF 1:1
PDF 2:1
Exercises
Solutions
Laura Peer
Slides by S.Schmid, TU Berlin

Chapter 7
Maximal Independent Set
13.04.16
PDF 1:1
PDF 2:1
Exercises
Solutions
Pankaj Khanchandani
[peleg] Chapter 8
Slides by R. Wattenhofer
Slides by S.Schmid, TU Berlin

Chapter 8
Locality Lower Bounds
20.04.16
PDF 1:1
PDF 2:1
Exercises
Solutions
Georg Bachmeier
[peleg] Chapter 7.5
Slides by S.Schmid, TU Berlin
Ramsey Theory Slides by J. Suomela
Alternative Version thanks!

Chapter 9
Social Networks
27.04.16
PDF 1:1
PDF 2:1
Exercises
Solutions
Michael König
Slides by S.Schmid, TU Berlin

Chapter 10
Wireless Protocols
04.05.16
PDF 1:1
PDF 2:1
Exercises
Solutions
Pankaj Khanchandani
Slides by Y.-A. Pignolet

Chapter 11
Synchronization
11.05.16
PDF 1:1
PDF 2:1
Exercises
Solutions
Yuyi Wang
[peleg] Chapter 6 & 25
[aw] Chapter 11
Slides by S.Schmid, TU Berlin

Chapter 12
Stabilization
18.05.16
PDF 1:1
PDF 2:1
Exercises
Solutions
Darya Melnyk

Chapter 13
Labeling Schemes
25.05.16
PDF 1:1
PDF 2:1
Exercises
Solutions
Yuyi Wang

Chapter 14
Hard Problems
01.06.16
PDF 1:1
PDF 2:1
Exercises
Solutions
Yuyi Wang
Slides some additional Slides
Animation of APSP Algorihm by Jukka Suomela

All Chapters
Principles of Distributed Computing
PDF 1:1
PDF 2:1


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