Distributed systems are composed of several computational units, classically called processes, that run concurrently and independently, without any central control. Additional difficulties are introduced by asynchrony (processes and channels operate at different speeds) and by limited local knowledge (each process has only a local view of the system and has a limited amount of information).
Distributed algorithms are algorithms designed to run in this quite challenging setting. They arise in a wide range of applications, including telecommunications, internet, peer-to-peer computing, blockchain technology...
This course aims at giving a comprehensive introduction to the field of distributed algorithms. A collection of significant algorithms will be presented for asynchronous networked systems, with a particular emphasis on their correctness proofs. Algorithms will be analyzed according to various measures of interest (eg., time and space complexities, communication costs). We will also present some "negative" results, i.e., impossibility theorems and lower bounds as they play a useful role for a system designer to determine what problems are solvable and at what cost.
- Modelling of distributed networked systems
- Wave and traversal algorithms
- Leader election
- Logical time and global snapshots
- Detection of stable properties
- Link reversal algorithms
The course material is in English. Lectures can be taught either in French or in English, at the students' convenience.
Graded lab session + final written exam.
A fair knowledge of combinatorics and graph theory and is desirable as well as some knowledge of sequential algorithms (INF421).
Parcours de rattachement
Format des notesNumérique sur 20Littérale/grade réduit
Pour les étudiants du diplôme Diplôme d'ingénieur de l'Ecole polytechniqueLe rattrapage est autorisé
- Crédits ECTS acquis : 5 ECTS
La note obtenue rentre dans le calcul de votre GPA.
Pour les étudiants du diplôme Cybersecurity : Threats & DefensesLe rattrapage est autorisé
- Crédits ECTS acquis : 4 ECTS