Distributed Computing Group Distributed Computing Group
ETH Zurich Distributed Computing Group
ETH ZurichITETTIKDistributed Computing Group LecturesPodc

HOME
MEMBERS  
PUBLICATIONS  
COURSES  
THESES  
WIKI  
CONTACT  
     
SOFTWARE & APPS  
benG  
BitThief  
Conference Search  
DiscoMark  
jukefox  
Kännsch  
Smart Cloud Storage  
Newspaper 2.0  
Sinalgo  
sound mate  
TinyOS IDE  
     
SPIN-OFFs  
BitSplitters  
     
FORMER  
Spamato  
StreamForge  
Wuala  

Principles of Distributed Computing (FS 2017)

Course cataloguePrevious yearPODC 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 (for Prof. Ghaffari's part)
    • Exercise A: Wednesdays 10-12 in CAB G 56
    • Exercise B: Wednesdays 13-15 in LFW C 11
    • Both exercise sessions offer identical content. Please go to the exercise session which better fits your personal schedule.

News

  • March 2, 2017: The schedule of the lectures has been updated.
  • March 6, 2017: Lecture notes, Algorithm 2.11 has been updated.

Lecture material

Please note that the scheduled dates and topics are tentative. We may rearrange and/or switch the scheduled topics in the coming weeks.


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 PDF,
Chapter 8.3
See Exercise 8.3 and 8.4 in the Lecture Notes
Chapter 6
TBA
29.03.2017
Mohsen Ghaffari
Chapter 7
TBA
05.04.2017
Mohsen Ghaffari
Chapter 8
TBA
12.04.2017
Mohsen Ghaffari
Chapter 9
TBA
26.04.2017
Mohsen Ghaffari
Chapter 10
Wireless Protocols
03.05.2017
Roger Wattenhofer Yuyi
Chapter 11
Global Problems 1
10.05.2017
Roger Wattenhofer Sebastian
Chapter 12
Global Problems 2
17.05.2017
Mohsen Ghaffari
Chapter 13
Decomposition
24.05.2017
Mohsen Ghaffari
Chapter 14
Labeling Schemes
31.05.2017
Roger Wattenhofer Yuyi

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: The proofs in Section 3.3 are not relevant.
  • Chapter 4: Algorithm 4.7 and Theorem 4.8

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