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 |
|
|||
Chapter 1 Vertex Coloring 24.02.16 |
PDF 1:1 PDF 2:1 |
Exercises Solutions |
Philipp Brandes |
|
|
Chapter 2 Tree Algorithms 02.03.16 |
PDF 1:1 PDF 2:1 |
Exercises Solutions |
Pascal Bissig |
|
|
Chapter 3 Leader Election 09.03.16 |
PDF 1:1 PDF 2:1 |
Exercises Solutions |
Sebastian Brandt |
|
|
Chapter 4 Shared Memory 16.03.16. |
PDF 1:1 PDF 2:1 |
Exercises Solutions |
Christian Decker |
|
|
Chapter 5 Distributed Sorting 23.03.16 |
PDF 1:1 PDF 2:1 |
Exercises Solutions |
Laura Peer |
|
|
Chapter 6 Shared Objects 06.04.16 |
PDF 1:1 PDF 2:1 |
Exercises Solutions |
Laura Peer |
|
|
Chapter 7 Maximal Independent Set 13.04.16 |
PDF 1:1 PDF 2:1 |
Exercises Solutions |
Pankaj Khanchandani |
|
|
Chapter 8 Locality Lower Bounds 20.04.16 |
PDF 1:1 PDF 2:1 |
Exercises Solutions |
Georg Bachmeier |
|
|
Chapter 9 Social Networks 27.04.16 |
PDF 1:1 PDF 2:1 |
Exercises Solutions |
Michael König |
|
|
Chapter 10 Wireless Protocols 04.05.16 |
PDF 1:1 PDF 2:1 |
Exercises Solutions |
Pankaj Khanchandani |
|
|
Chapter 11 Synchronization 11.05.16 |
PDF 1:1 PDF 2:1 |
Exercises Solutions |
Yuyi Wang |
|
|
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 |
|
|
All Chapters Principles of Distributed Computing |
PDF 1:1 PDF 2:1 |
||||
References
[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 |