Theory of Distributed Systems

Advanced Course, 2+2

Basic Information

Lectures:Tuesday, 10:15 - 12:00, E1.4 024 (initially: E1.5 029)
Lecturer:Christoph Lenzen
First lecture:23.10.2018
Tutorials:Friday, 10:15 - 12:00, E1.4 024 (once: E1.4 021)
Assistant:Ben Wiederhake
First tutorial:26.10.2018
Credits:6
Exam:12.02.2018
Prerequisites:No prerequisites beyond basic familiarity with mathematical reasoning are required; prior knowledge on asymptotic notation and (occasionally) standard probabilistic notions can be useful, but is not essential for following the course.

Description

 

This course offers a broad introduction to the theory underlying distributed systems. Among others, it covers message passing and shared memory, synchrony vs. asynchrony, fault-tolerance, and congestion. The focus lies on key concepts, algorithmic ideas, and mathematical analysis. Despite some overlap in topics, the angle is very different from that of the core lecture distributed systems; in particular, programming is not part of the curriculum.

 

Theory in the area of distributed computing aims at understanding systems in which limits on communication and lack of coordination or common knowledge are the principal challenges. Moreover, the redundancy provided by multiple agents (be these computers, ants, smartphones, or humans) enables to overcome faults. Uncertainty is faced on many fronts: How large is the network? Is information up-to-date? Does it merely take a long time until a response from a process is received, or did the process fail? We will examine how such issues affect which problems can be solved and at which cost. On the way, surprising and elegant algorithms will surface alongside the principles guiding their design.

Schedule (lectures)

Date, VideoTopic, RoomExerciseDue
23.10.Coloring – E 1.5, room 029Sheet 130.10.
30.10.Synchronizers – E 1.5, room 029Sheet 206.11.
06.11.Impossibility of Consensus – E 1.4, room 024Sheet 313.11.
13.11.Consensus – E 1.4, room 024Sheet 420.11.
20.11.Maximal Independent Set – etc.Sheet 527.11.
27.11.Minimum Spanning TreeSheet 604.12.
04.12.Hardness of MSTSheet 711.12.
11.12.RoutingSheet 818.12.
18.12.Guest Lecture?  Or normal Lecture????08.01.??
 — (Christmas Break)n/a 
08.01.Self-StabilizationSheet 915.01.
15.01.MutEx + S&CSheet 1022.01.
22.01.Shared CountersSheet 1129.01.
29.01.Port NumberingSheet 1205.02.
12.02.Examn/a 

Schedule (tutorials)

DateTopic, Room (usually E 1.4, room 024)Discussed
26.10.Introduction, Preliminaries 
02.11.ColoringSheet 1
09.11.SynchronizersSheet 2
16.11.Impossibility of ConsensusSheet 3
23.11.ConsensusSheet 4
30.11.Maximal Independent SetSheet 5
07.12.Minimum Spanning TreeSheet 6
14.12.Hardness of MSTSheet 7
21.12.RoutingSheet 8
11.01.Guest Lecture?  Or normal Lecture????
18.01.Self-Stabilization – E 1.4, room 021Sheet 9
25.01.MutEx + S&CSheet 10
01.02.Shared CountersSheet 11
08.02.Port NumberingSheet 12

Announcements

  • Read and believe how we would like to run this course.
  • Subscription to our mailing list is mandatory and has two purposes: (1) We will use it to distribute material and information, and we will assume that everyone in the course received them. (2) Please use the list to discuss the lecture, exchange material, clarify questions, etc.; just please don't post solutions to the exercises.

Material