After successful completion of the course, students are able to...
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:
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.
In order to participate, you need to enrol in the corresponding TUWEL course first, where the link for on-line participation will be announced. Detailed instructions and mandatory prerequisites can be found in the course home page.
ECTS breakdown (6 ECTS = 150 hours):
33h Lecture time 1.5h 2 Quizzes 12h 4 Student presentations 22h Preparation time for quizzes and student presentations 85.5h Preparation time for 4 Homework-Assignments (3-5 exercises each): First and final version (in LaTeX); reviewing.
Solution of homework assignments + reviewing (upload .pdf via myTI) + quizzes (via ZOOM, upload scan (.pdf) of solution in TUWEL)+ student presentations (via ZOOM). Requires ZOOM basic setup, scanner with .pdf output for upload in TUWEL and, if possible, a printer for the quiz assignments. Details see course webpage.
Textbook: Hagit Attiya, Jennifer Welch. Distributed Computing: Fundamentals, Simulations and Advanced Topics (2nd ed.), John Wiley and Sons, 2004. ISBN 0-471-45324-2
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).