Principles of Distributed Computing (FS 2018)
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 Darya Melnyk (for Prof. Wattenhofer's part), and Manuela Fischer and Jara Uitto (for Prof. Ghaffari's part)
News
- March 26, 2018: Bonus task announced.
- May 8, 2018: We've set up a test version of the last year's online exam on Moodle and uploaded some exams from previous years.
- May 14, 2018: Second bonus round announced.
- June 18, 2018: Lecture notes, Algorithm 10.14 has been updated.
- August 09, 2018: Information about the exam has been updated.
Exam
- The exam will take place on Monday, August 13, from 9am to 11am 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.
- You will log on to Moodle in order to access the PODC exam on Monday. Please remember to look up your credentials unless you already know them by heart.
- 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 Darya.
- We've prepared a Moodle test version of the last year's online exam. You can use this as training material to familiarize yourself with Moodle exams.
- Here are some old exams from previous years: 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2016, 2017.
- 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.
Reading Assignment
A reading assignment ( LCL problems on grids ) will be part of of the exam.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: Read/Write Caching (Algorithm 3.7 and Theorem 3.8) is not relevant.
- Chapter 7: From Section 7.3 (Counting Networks), only the basic definitions are relevant.
Q&A Session
- The Q&A session will take place on Thursday, August 2, from 3pm to 5pm in ETF C 1.
- Please send your questions until July 29 to Darya.
- Alternatively, you can discuss your questions with your colleagues in the moodle forum.
Lecture Material
Chapter Title | Lecturer | Lecture Notes | Exercises | Responsible Assistant | Additional Material |
---|---|---|---|---|---|
Chapter 0 Introduction 21.02.2018 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
[peleg] Preface, Chapter 1 | ||
Chapter 1 Vertex Coloring 21.02.2018 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions |
András | [peleg] Chapter 7 Slides by S.Schmid, TU Berlin |
Chapter 2 Tree Algorithms 28.02.2018 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions |
András | [peleg] Chapter 3-5 [hkpru] Chapter 7 Slides by S.Schmid, TU Berlin |
Chapter 3 Shared Objects 07.03.2018 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions |
Darya | Slides by S.Schmid, TU Berlin |
Chapter 4 Coloring General Graphs 14.03.2018 |
Mohsen Ghaffari | Exercises Solutions |
Manuela | ||
Chapter 5 Maximal Independent Set 21.03.2018 |
Mohsen Ghaffari | Exercises Solutions |
Jara | ||
Chapter 6 Lower Bounds for Coloring Trees 28.03.2018 |
Mohsen Ghaffari | Exercises Solutions |
Jara | ||
Chapter 7 Distributed Sorting 11.04.2018 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions |
Zeta | [leighton] Chapter 1.6 & 3.5 [clr] Chapter 28 Slides by S.Schmid, TU Berlin |
Chapter 8 Sublinear-time Centralized Algorithms 18.04.2018 |
Mohsen Ghaffari | Exercises Solutions |
Sebastian | ||
Chapter 9 Network Decomposition 25.04.2018 |
Mohsen Ghaffari | Exercises Solutions |
Sebastian | ||
Chapter 10 Wireless Protocols 02.05.2018 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions |
Pankaj | Slides by Y.-A. Pignolet |
Chapter 11 Global Problems 1 09.05.2018 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions |
Yuyi | Slides some additional Slides Animation of APSP Algorithm by Jukka Suomela |
Chapter 12 Global Problems 2: Minimum Spanning Tree 16.05.2018 |
Mohsen Ghaffari | Exercises Solutions |
Jara | ||
Chapter 13 Graph Sketching 23.05.2018 |
Mohsen Ghaffari | Exercises Solutions |
Jara | ||
Chapter 14 Labeling Schemes 30.05.2018 |
Roger Wattenhofer | PDF 1:1 PDF 2:1 |
Exercises Solutions |
Jakub |
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 |