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.
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 |