Distributed Computing
ETH Zurich

Principles of Distributed Computing (FS 2011)

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 Raphael Eidenbenz, Wednesday 10.15-12.00 @ CAB G 56.

Reading Assignment. A reading assignment (PDF) complements the course. The content covered in the assignment will be part of the exam.

Exam Review. After the exam grades have been published in myStudies, you can take a look at your exam until the end of September. To do so, please visit our secretary Tanja Lantz (office ETZ G88) on Monday, Tuesday, or Friday during office hours.
Unfortunately, Tanja Lantz is absent on Monday and Tuesday, September 5-6, because of a symposium.

Exam. The exam will take place on Tuesday, 16th of August, 9-11 am at HIL F61.
You do not need a Testat to attend the exam.
The exam will cover the lecture notes, the exercises and the reading assignment. See this list for a few exceptions.
Sample exams: SS 03 (Problems 3 & 4 not covered), SS 04 (Problem 3 not covered).

Question session The question session took place on Monday, 8th of August. Find the answers to the questions not answered during the session in the following list of answers.

Useful references



Lecture material


Title Lecture Notes References

Chapter 1
Vertex Coloring
2011/02/23
PDF 1:1
PDF 2:1
[peleg] Chapter 7
Slides by S. Schmid, TU Berlin

Chapter 2
Leader Election
2011/03/02
PDF 1:1
PDF 2:1
[aw] Chapter 3
[hkpru] Chapter 8
Slides by S. Schmid, TU Berlin

Chapter 3
Tree Algorithms
2011/03/09
PDF 1:1
PDF 2:1
[peleg] Chapters 3-5
[hkpru] Chapter 7
Slides by S. Schmid, TU Berlin

Chapter 4
Distributed Sorting
2011/03/16
PDF 1:1
PDF 2:1
[leighton] Chapter 1.6 & 3.5
[clr] Chapter 28

Chapter 5
Shared Memory
2011/03/23
PDF 1:1
PDF 2:1
[aw] Chapter 4

Chapter 6
Shared Objects
2011/03/30
PDF 1:1
PDF 2:1
---

Chapter 7
Maximal Independent Set
2011/04/06
PDF 1:1
PDF 2:1
[peleg] Chapter 8
Slides by R. Wattenhofer
Slides by S. Schmid, TU Berlin

Chapter 8
Locality Lower Bounds
2011/04/13
PDF 1:1
PDF 2:1
[peleg] Chapter 7.5
Slides Ramsey's Theorem
by Jukka Suomela (thanks!)
Slides by S. Schmid, TU Berlin

Chapter 9
Social Networks
2011/04/20
PDF 1:1
PDF 2:1
Slides by S. Schmid, TU Berlin

Chapter 10
Dynamic Networks
2011/05/04
PDF 1:1
PDF 2:1
---

Chapter 11
Synchronizers
2011/05/11
PDF 1:1
PDF 2:1
[peleg] Chapter 6 & 25
[aw] Chapter 11

Chapter 12
Stabilization
2011/05/18
PDF 1:1
PDF 2:1
---

Chapter 13
All-to-All Communication
2011/05/25
PDF 1:1
PDF 2:1
Slides by T. Locher, IBM Research:
PDF 1:1
PDF 4:1

Chapter 14
Peer-to-Peer Computing
2011/06/01
PDF 1:1
PDF 2:1
Slides by S. Schmid, TU Berlin



Exercises material


Title Exercise Sample Solution Responsible Assistant

Exercise 1 (Vertex Coloring)
Assigned: 2011/02/23
Due: 2011/03/02
Download Download Raphael Eidenbenz

Exercise 2 (Leader Election)
Assigned: 2011/03/02
Due: 2011/03/09
Download Download Raphael Eidenbenz

Exercise 3 (Tree Algorithms)
Assigned: 2011/03/09
Due: 2011/03/16
Download Download Philipp Sommer

Exercise 4 (Distributed Sorting)
Assigned: 2011/03/16
Due: 2011/03/23
Download Download Jasmin Smula

Exercise 5 (Shared Memory)
Assigned: 2011/03/23
Due: 2011/03/30
Download Download Samuel Welten

Exercise 6 (Shared Objects)
Assigned: 2011/03/30
Due: 2011/04/06
Download Download Johannes Schneider

Exercise 7 (Maximal Independent Set)
Assigned: 2011/04/06
Due: 2011/04/13
Download Download Stephan Holzer

Exercise 8 (Locality Lower Bounds)
Assigned: 2011/04/13
Due: 2011/04/20
Download Download Johannes Schneider

Exercise 9 (Social Networks)
Assigned: 2011/04/20
Due: 2011/05/04
Download Download Samuel Welten

Exercise 10 (Dynamic Networks)
Assigned: 2011/05/04
Due: 2011/05/11
Download Download Stephan Holzer

Exercise 11 (Synchronizers)
Assigned: 2011/05/11
Due: 2011/05/18
Download Download Tobias Langner

Exercise 12 (Stabilization)
Assigned: 2011/05/18
Due: 2011/05/25
Download Download Barbara Keller

Exercise 13 (All-to-All Communication)
Assigned: 2011/05/25
Due: 2011/06/01
Download Download Barbara Keller

Exercise 14 (P2P Computing)
Assigned: 2011/06/01
Download Download Remo Meier




References

Books:

[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