Principles of Distributed Computing (FS 2022)
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, Goran Zuzic and Michal Dory, Wednesdays 8-10: CAB G 11 and on Zoom: https://ethz.zoom.us/j/64482525349.
- Exercises organized by Karolis Martinkus (for Prof. Wattenhofer's part), Goran Zuzic and Michal Dory.
Exam
- The exam will take place on Thursday, August 25, from 8:30 AM to 11:30 AM in ONA E 25.
- You are allowed to bring any written material you like (lecture notes, books, personal notes,...), but no electronic devices whatsoever (no calculator, phone, laptop, headphones,...).
- Like last year, the exam will last 3 hours and consist of 180 points.
- Here are some old exams from previous years (since 2017 the exams come with solutions): 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2016, 2017, 2018, 2019, 2020, 2021.
- 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.
Graded Homework Assignment
We will have two graded homework assignments (compulsory continuous performance assessment). Each graded homework assignment will account for 10% of the final grade, the main exam will be 80% of the final grade.Discussion Forum
We have set up a discussion forum on the moodle course homepage. You can use this forum to ask questions about the homework assignment as well as questions about the lecture. As this is a discussion forum, feel free to also answer the questions of your colleagues.Lecture Recordings
Recorded videos can be accessed through the moodle course homepage.Lecture Material
Chapter Title | Lecturer | Lecture Notes | Exercises | Responsible Assistant | Additional Material |
---|---|---|---|---|---|
Chapter 0 Introduction 23.02.2022 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
[peleg] Preface, Chapter 1 | ||
Chapter 1 Vertex Coloring 23.02.2022 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions |
Diana | [peleg] Chapter 7 Slides by S.Schmid, TU Berlin |
Chapter 2 Tree Algorithms 02.03.2022 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions |
Ye | [peleg] Chapter 3-5 [hkpru] Chapter 7 Slides by S.Schmid, TU Berlin |
Chapter 3 Coloring General Graphs 09.03.2022 |
Michal Dory | PDF 1:1 |
Exercises Solutions |
Vaclav | [DGA] Section 1.4 |
Chapter 4 Locality-Based Lower Bounds 16.03.2022 |
Michal Dory | PDF 1:1 | Exercises Solutions |
Vaclav | [DGA] Sections 1.2.2 & 1.3.1 |
Chapter 5 Maximal Independent Set 23.03.2022 |
Michal Dory | PDF 1:1 | Exercises Solutions |
Christoph | [DGA] Section 1.6 |
Chapter 6 Network Decomposition 30.03.2022 |
Michal Dory | Sections 1.5.1 & 1.5.4 of these notes | Exercises Solutions |
Jiahao | [DGA] Section 1.5 |
Chapter 7 Shared Objects 06.04.2022 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions |
Judith | Slides by S.Schmid, TU Berlin Video recordings of the lecture: Part 1 and Part 2 |
Chapter 8 Global Problems 1 13.04.2022 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions |
Andrei | Slides some additional Slides Animation of APSP Algorithm by Jukka Suomela Video recordings of the lecture: Part 1 and Part 2 |
Chapter 9 Global Problems 2: Minimum Spanning Tree 27.04.2022 |
Goran Zuzic | Section 2.2 of these notes | Exercises Solutions |
Jiahao | [DGA] Section 2.2 |
Chapter 10 Global Problems 3: Minimum Cut 04.05.2022 |
Goran Zuzic | Section 2.3 of these notes | Exercises Solutions |
Christoph | [DGA] Section 2.3 |
Chapter 11 Distributed Computing via All-to-All Communication 11.05.2022 |
Goran Zuzic | Sections 3.1 and 3.2 of these notes | Exercises Solutions |
Christoph | [DGA] Sections 3.1 & 3.2 |
Chapter 12 Distributed Sorting 18.05.2022 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions Bonus Exercise |
Quentin | [leighton] Chapter 1.6 & 3.5 [clr] Chapter 28 Slides by S.Schmid, TU Berlin Video recordings of the lecture: Part 1 and Part 2 |
Chapter 13 Graph Neural Networks 25.05.2022 |
Roger Wattenhofer | PDF 1:1 | Exercises Solutions |
Florian | Graph Representation Learning by William L. Hamilton, McGill University |
Chapter 14 Labeling Schemes 01.06.2022 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions |
Joël | Video recording of the lecture |
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 |