Principles of Distributed Computing (FS 2019)
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)
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.Lecture Material
Chapter Title | Lecturer | Lecture Notes | Exercises | Responsible Assistant | Additional Material |
---|---|---|---|---|---|
Chapter 0 Introduction 20.02.2019 |
Roger Wattenhofer | ||||
Chapter 1 Vertex Coloring 20.02.2019 |
Roger Wattenhofer | ||||
Chapter 2 Tree Algorithms 27.02.2019 |
Roger Wattenhofer | ||||
Chapter 3 Coloring General Graphs 06.03.2019 |
Mohsen Ghaffari | ||||
Chapter 4 Lower Bounds for Coloring Trees 13.03.2019 |
Mohsen Ghaffari | ||||
Chapter 5 Maximal Independent Set 20.03.2019 |
Mohsen Ghaffari | ||||
Chapter 6 Network Decomposition 27.03.2019 |
Mohsen Ghaffari | ||||
Chapter 7 Shared Objects 03.04.2019 |
Roger Wattenhofer | ||||
Chapter 8 Distributed Sorting 10.04.2019 |
Roger Wattenhofer | ||||
Chapter 9 Global Problems 1 17.04.2019 |
Roger Wattenhofer | ||||
Chapter 10 Global Problems 2: Minimum Spanning Tree 08.05.2019 |
Mohsen Ghaffari | ||||
Chapter 11 Global Problems 3 15.05.2019 |
Mohsen Ghaffari | ||||
Chapter 12 Graph Sketching 22.05.2019 |
Mohsen Ghaffari | ||||
Chapter 13 Labeling Schemes 29.05.2019 |
Roger Wattenhofer |
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 |