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)
News
- March 2, 2017: The schedule of the lectures has been updated.
- March 6, 2017: Lecture notes, Algorithm 2.11 has been updated.
- May 15, 2017: Second bonus round announced.
- June 1, 2017: We've uploaded some exams from previous years.
- July 20, 2017: We've uploaded a solution for exercise sheet 5 and we've updated the lecture notes of chapter 13.
- July 21, 2017: Date and time of the Q&A session have been announced.
- August 3, 2017: We've uploaded updated versions of the following files, where a few typos and minor mistakes have been fixed:
- Lecture notes for chapters 5, 7, 8 and 13,
- Solutions for exercise sheets 5, 8, 9 and 13.
Exam
- The exam will take place on Monday, August 14, from 2pm to 4pm in HG G 1.
- You are allowed to bring any written material you like (lecture notes, books, personal notes,...), but no electronic devices whatsoever (no calculator, phone, laptop,...).
- We will do the exam as an online examination. It will take place in a computer room at ETH and you will answer the questions on a computer. There will also be paper available in case you want to draw a picture, write down some formulas or hand in some additional notes which you can't easily type on the computer.
- The keyboards at the exam will have the Swiss keyboard layout. There is a limited number of keyboards with US layout available. If you want one of those, please fill in this form until July 31.
- It is not possible to bring your own keyboard, mouse or any other hardware.
- If you have additional questions about the exam, please write an email to Thomas.
Q&A session
We are going to host a question & answer session where you can ask questions about the lecture and exercises.
Please send your questions to Thomas until Sunday, July 30, so that we can prepare for the Q&A session.Exam preparation
The following parts of the lecture notes have not been covered in the lecture and are therefore not relevant for the exam:- Chapter 3: From Section 3.3 (Counting Networks), only the basic definitions are relevant.
- Chapter 4: Read/Write Caching (Algorithm 4.7 and Theorem 4.8) is not relevant.
- Chapter 7: Ramsey Theory
- Chapter 12: Random Delays Method
- Chapter 12: α-congestion β-dilation shortcuts
Please be aware that the topics covered in this course have changed several times over the years. Therefore, some questions in these exams don't match the content of this year's course.
Lecture material
Chapter Title | Lecturer | Lecture Notes | Exercises | Responsible Assistant | Additional Material |
---|---|---|---|---|---|
Chapter 0 Introduction 22.02.2017 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
[peleg] Preface, Chapter 1 | ||
Chapter 1 Vertex Coloring 22.02.2017 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions |
Sebastian | [peleg] Chapter 7 Slides by S.Schmid, TU Berlin |
Chapter 2 Tree Algorithms 01.03.2017 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions |
Darya | [peleg] Chapter 3-5 [hkpru] Chapter 7 Slides by S.Schmid, TU Berlin |
Chapter 3 Distributed Sorting 08.03.2017 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions |
Sebastian | [leighton] Chapter 1.6 & 3.5 [clr] Chapter 28 Slides by S.Schmid, TU Berlin |
Chapter 4 Shared Objects 15.03.2017 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions |
Darya | Slides by S.Schmid, TU Berlin |
Chapter 5 Coloring General Graphs 22.03.2017 |
Mohsen Ghaffari | Exercises Solutions |
Mohsen | ||
Chapter 6 Maximal Independent Set 29.03.2017 |
Mohsen Ghaffari | Exercises Solutions |
Manuela | ||
Chapter 7 Lower Bounds for Coloring Trees 05.04.2017 |
Mohsen Ghaffari | Exercises Solutions |
Manuela | ||
Chapter 8 Sublinear-time Centralized Algorithms 12.04.2017 |
Mohsen Ghaffari | Exercises Solutions |
Manuela | ||
Chapter 9 Network Decomposition 26.04.2017 |
Mohsen Ghaffari | Exercises Solutions |
Jara | ||
Chapter 10 Wireless Protocols 03.05.2017 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions |
Yuyi | Slides by Y.-A. Pignolet |
Chapter 11 Global Problems 1 10.05.2017 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions |
Sebastian | Slides some additional Slides Animation of APSP Algorithm by Jukka Suomela |
Chapter 12 Global Problems 2: Minimum Spanning Tree 17.05.2017 |
Mohsen Ghaffari | Exercises Solutions |
Jara | ||
Chapter 13 Graph Sketching 24.05.2017 |
Mohsen Ghaffari | Exercises Solutions |
Jara | ||
Chapter 14 Labeling Schemes 31.05.2017 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions |
Yuyi |
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 |