Final mark Session1: 30%TP + 70%ET Final mark Session2: 30%TP

Transcription

Final mark Session1: 30%TP + 70%ET Final mark Session2: 30%TP
Code ECTS
DISTRIBUTED ALGORITHMS AND FAULTS TOLERANCE [3 ECTS]
Algorithmique distribuée, tolérances aux fautes
Course total volume: 30h
Period : 2 bimester
Professors : Vivien QUEMA , Lorena ANGHEL
E-mail : [email protected] , [email protected]
Objectives
At the basis of reliable distributed systems are several mechanisms, such as leader election, (ordered) broadcast, consensus,
etc. This course introduces the main algorithms that are used to implement these mechanisms; and yet the design techniques to limit
the impact of software or hardware failures. We present several algorithms and give some example of basic correctness proofs.
Moreover, we study how the different assumptions that can be made on a system (synchrony, faults, etc.) impact the design of
distributed algorithms.
Contents
The course is structured in two parts:
A- Distributed algorithms and agreement [7 lectures, Vivien Quéma]
The course contains three parts: distributed algorithms and engineering distributed applications. Study of algorithms that are at the
basis of reliable distributed systems. Proofs that these algorithms are correct.
B - Fault-tolerance [3 lectures, Lorena Anghel]
This part focuses on the main design techniques to limit the impact of software or hardware failures: faults avoidance; robustness; N
version programming; recovery blocks techniques; acceptation test; retry; check points and rollback.
Prerequisites
Centralized operating systems; networks; elements of probability.
Examination
Exam + Practical activity.
___________________________________________________________________________________________________________
Final mark Session1: 30%TP + 70%ET
Final mark Session2: 30%TP + 70%ET2
DESCRIPTION IN FRENCH
Objectifs de l’enseignement
La conception et la réalisation des systèmes répartis tolérants aux fautes s'appuient sur un ensemble de mécanismes de base: élection,
diffusion, consensus, etc. Ce cours introduit les principaux algorithmes utilisés pour construire ces mécanismes de base ; ainsi que les principales
techniques utilisées pour limiter l’impact des pannes logicielles ou matérielles. Des résultats d'impossibilité, ainsi que des preuves simples
d'algorithmes sont étudiés afin de sensibiliser l'étudiant à la possibilité d'implanter un algorithme pour un mécanisme donné en fonction des
hypothèses faites sur le système (synchronie, occurrence de fautes, etc.).
Contenu
Le cours est structuré en deux parties.
A- Algorithmes distribués et consensus [7 séances, Vivien Quéma]
Etude des algorithmes de base pour la construction de systèmes tolérants aux fautes. Preuves sur les propriétés des algorithmes.
B – Tolérance aux pannes [3 séances, Lorena Anghel]
Principales techniques utilisées pour limiter l’impact des pannes logicielles ou matérielles: MTBF et évitement de fautes. ; logiciel robuste ;
programmation N versions ; blocs de recouvrement ; construction du test d’acceptation ; reprise ; technique de points de contrôle et de retour à un
état correct.
Pré requis
Aucun
Forme d’examen
Examen écrit et TP.
Bibliographie / textbooks
1) Siewiorek, Swarz, Reliable Computer Systems, Design and Evaluation, second edition 1992
2) D.K. Pradhan, Fault Tolerant Computing: Theory and Techniques, Prentice Hall, 1986
19