Principles of Distributed Computing (FS 2017)
Course catalogue • Previous year • PODC 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.
- Course pre-requisites: Interest in algorithmic problems. (No particular course needed.)
- Course language: English
- Lecture by Roger Wattenhofer and Mohsen Ghaffari, Wednesdays 8-10 in
CAB G 11
- Exercises organized by Thomas Ulrich and Darya Melnyk (for Prof. Wattenhofer's part), and Manuela Fischer and Jara Uitto (for Prof. Ghaffari's part)
- Exercise A: Wednesdays 10-12 in CAB G 56
- Exercise B: Wednesdays 13-15 in LFW C 11
- Both exercise sessions offer identical content. Please go to the exercise session which better fits your personal schedule.
- March 2, 2017: The schedule of the lectures has been updated.
- March 6, 2017: Lecture notes, Algorithm 2.11 has been updated.
You can earn a bonus for the exam. Your task is to come up with an exam question for any of the topics covered in the course. Click here for the details.
Please note that the scheduled dates and topics are tentative. We may rearrange and/or switch the scheduled topics in the coming weeks.
The following parts of the lecture notes have not been covered in the lecture and are therefore not relevant for the exam:
- Chapter 3: The proofs in Section 3.3 are not relevant.
- Chapter 4: Algorithm 4.7 and Theorem 4.8
These books are available at CS text book collection.
Distributed Computing: A Locality-Sensitive Approach
Society for Industrial and Applied Mathematics (SIAM), 2000, ISBN 0-89871-464-8
Distributed Computing: Fundamentals, Simulations and Advanced Topics
Hagit Attiya, Jennifer Welch.
McGraw-Hill Publishing, 1998, ISBN 0-07-709352 6
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
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
Introduction to Algorithms
Thomas Cormen, Charles Leiserson, Ronald Rivest.
The MIT Press, 1998, ISBN 0-262-53091-0 oder 0-262-03141-8