This is the website of the Distributed Systems course, Fall 2020 of the MS in Cybersecurity, University of Rome ``Sapienza".
Instructor: Giuseppe Antonio Di Luna.
The course is about distributed systems, with a specific focus on fault-tolerance. Students will learn to appreciate the difficulties introduced by the uncertainty given by the unavoidable coexistence of local knowledge, asynchrony, and failures.
They will understand how and when, in spite of these difficulties, it is possible to build powerful distributed algorithms. Such algorithms are essential to construct distributed systems in which geographical distant entities cooperate to solve disparate tasks.
The term ``failure" has to be intended in its more general meaning: it indicates any deviation from normal behaviour. Therefore, it subsumes the concept of malignant intrusion.
Algorithms will be presented in a formal, abstract, and modular way.
At the end of the course, the student is expected to be able to design fault-tolerant distributed algorithms, and to provide formal and convincing arguments on their correctness.
Lectures are held in the Aula L2 (see map) on Wednesday (10:00-12:00) and Friday (08:00-11:00).
The course log is in the Lectures page.
The procedures to follow the lectures in streaming will be published on this website. The recoded lectures will be also distributed to enrolled students. Refer to the Lectures page.
Contact: diluna(at)diag.uniroma1.it
The exam will be divided in two parts:
Part one consists in a written test containing several exercises, including the design of a distributed algorithm with a (formal) sketch of its correctness.
Part two is an oral test, based on a discussion of your written test results. Other questions will be asked to assess the knowledge of the course content.
NB: Until the covid emergency and the remote exams ends, there is no part two.