182.702 Distributed Algorithms
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2022S, VU, 4.0h, 6.0EC

Properties

  • Semester hours: 4.0
  • Credits: 6.0
  • Type: VU Lecture and Exercise
  • Format: Presence

Learning outcomes

After successful completion of the course, students are able to...

  • understand fundamental models, problems, algorithms, lower bound and impossibility results, and proof techniques in distributed computing,
  • apply lower bounds and impossibility results learned to new situations where appropriate,
  • design new distributed algorithms for new situations, using the algorithms and techniques learned as building blocks, and
  • find new lower bounds and impossibility results.

Subject of course

Fault-tolerant distributed algorithms are at the heart of any distributed system for critical applications and implement low-level services like clock synchronization, group membership and consensus. Suitable algorithms must work as specified in the presence of the inherent uncertainty in network- or shared-memory coupled distributed systems, which is caused by varying/unknown communication delays and computing speeds and, in particular, subsystem failures. Due to combinatorial explosion, it is often impossible to verify the correct operation of such algorithms by means of model checking (or exhaustive testing). Correctness proofs based on formal-mathematical modelling are the only feasible alternative here.

This theoretical graduate-level basic course provides an introduction to distributed algorithms and their formal-mathematical analysis and has the following content:

  • Basics: Execution runs, safety and liveness properties, causality and time;
  • Models: Message passing vs. shared memory, synchronous vs. asynchronous, failure models;
  • Algorithms: Leader election, mutual exclusion, clock synchronization, consensus, distributed snapshots;
  • Proof techniques: Impossibility proofs, lower bounds, simulation, indistinguishability, bivalence.

Teaching methods

The course is organized in the "anglo-american style", which is based on continuous engagement during the whole semester: Several quizzes, student presentations and homework assignments ensure (1) that the topics taught in the lecture are efficiently acquired, and (2) that the individual formal-mathematical problem-solving skills are trained. The homework assignments are treated in "mini conferences" (LaTeX solutions, reviewing, presentation in class), such that (3) these scientific soft skills are trained "hands-on" as well.

Mode of examination

Immanent

Additional information

All who want to participate in the course in the next summer term: Please subscribe to the TISS LVA-Forum & News already before the semester holidays. [Enrolling (via myTI) is only possible when the course has already started (and the admission criteria are met).]

ECTS breakdown (6 ECTS = 150 hours):

 30h             Lecture time
   4.5h          6 Quizzes
 12h             4 Homework presentations
 18h             Preparation time for 6 Quizzes
 85.5h          Preparation time for 4 Homework-Assignments  (3-5 exercises each): first and final version (in LaTeX); reviewing.

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Thu09:00 - 11:0003.03.2022 - 23.06.2022EI 8 Pötzl HS - QUER Distributed Algorithms
Fri10:00 - 13:0004.03.2022 - 24.06.2022EI 8 Pötzl HS - QUER Distributed Algorithms
Fri10:00 - 12:0006.05.2022EI 8 Pötzl HS - QUER Distributed Algorithms
Distributed Algorithms - Single appointments
DayDateTimeLocationDescription
Thu03.03.202209:00 - 11:00EI 8 Pötzl HS - QUER Distributed Algorithms
Fri04.03.202210:00 - 13:00EI 8 Pötzl HS - QUER Distributed Algorithms
Thu10.03.202209:00 - 11:00EI 8 Pötzl HS - QUER Distributed Algorithms
Fri11.03.202210:00 - 13:00EI 8 Pötzl HS - QUER Distributed Algorithms
Thu17.03.202209:00 - 11:00EI 8 Pötzl HS - QUER Distributed Algorithms
Fri18.03.202210:00 - 13:00EI 8 Pötzl HS - QUER Distributed Algorithms
Thu24.03.202209:00 - 11:00EI 8 Pötzl HS - QUER Distributed Algorithms
Fri25.03.202210:00 - 13:00EI 8 Pötzl HS - QUER Distributed Algorithms
Thu31.03.202209:00 - 11:00EI 8 Pötzl HS - QUER Distributed Algorithms
Fri01.04.202210:00 - 13:00EI 8 Pötzl HS - QUER Distributed Algorithms
Thu07.04.202209:00 - 11:00EI 8 Pötzl HS - QUER Distributed Algorithms
Fri08.04.202210:00 - 13:00EI 8 Pötzl HS - QUER Distributed Algorithms
Thu28.04.202209:00 - 11:00EI 8 Pötzl HS - QUER Distributed Algorithms
Fri29.04.202210:00 - 13:00EI 8 Pötzl HS - QUER Distributed Algorithms
Thu05.05.202209:00 - 11:00EI 8 Pötzl HS - QUER Distributed Algorithms
Fri06.05.202210:00 - 12:00EI 8 Pötzl HS - QUER Distributed Algorithms
Thu12.05.202209:00 - 11:00EI 8 Pötzl HS - QUER Distributed Algorithms
Fri13.05.202210:00 - 13:00EI 8 Pötzl HS - QUER Distributed Algorithms
Thu19.05.202209:00 - 11:00EI 8 Pötzl HS - QUER Distributed Algorithms
Fri20.05.202210:00 - 13:00EI 8 Pötzl HS - QUER Distributed Algorithms

Examination modalities

Solution and presentation of homework assignments + reviewing (upload .pdf via myTI) + written tests + written exam.

Course registration

Begin End Deregistration end
03.03.2022 08:00 13.03.2022 23:59

Curricula

Literature

Textbook: Hagit Attiya, Jennifer Welch. Distributed Computing: Fundamentals, Simulations and Advanced Topics (2nd ed.), John Wiley and Sons, 2004. ISBN 0-471-45324-2

Previous knowledge

Familiarity with the analysis of sequential algorithms and elementary discrete mathematics; reasonable skills in devising mathematical proofs. Some background in distributed systems and fault-tolerant systems is helpful but not required. Familiarity with the basics of scientific working (LaTeX, reviewing).

Preceding courses

Miscellaneous

Language

English