Distributed Algorithms
People
Description
The course focuses on three aspects of distributed computing: system models, fundamental problems in distributed computing, and application of distributed algorithms. System models include synchronous versus asynchronous systems, communication models, and failure models. Several fundamental problems are covered, including consensus, atomic broadcast, atomic multicast, atomic commit, and data consistency. Applications of distributed algorithms target various forms of replication techniques.
Objectives
Distributed computing systems arise in a wide range of modern applications. This course surveys the foundations of many distributed computing systems, namely, the distributed algorithms that lie at their core. The course provides the basis for designing distributed algorithms and formally reasoning about their correctness. It addresses issues related to what distributed systems can and cannot do (i.e., impossibility results) in certain system models.
Teaching mode
In presence
Learning methods
Students will learn by following classes, reading suggested material, doing assignments, and working on a project.
Examination information
The overall course grade is based on a midterm exam, a project, assignments, and a final exam.
Education
- Master of Science in Computational Science, Lecture, Elective, 2nd year
- Master of Science in Economics in Finance, Lecture, Corsi a scelta o Field Project o Semestre all'estero (Digital Finance), Elective, 2nd year
- Master of Science in Financial Technology and Computing, Lecture, 2nd year
- Master of Science in Informatics, Lecture, Computer Systems, Elective, 1st year
- Master of Science in Informatics, Lecture, Computer Systems, Elective, 2nd year
- Master of Science in Informatics, Lecture, Information Systems, Elective, 1st year
- Master of Science in Informatics, Lecture, Information Systems, Elective, 2nd year
- PhD programme of the Faculty of Informatics, Lecture, Elective, 1st year (4.0 ECTS)