Volumes horaires
- CM 18.0
- TP 12.0
Crédits ECTS
Crédits ECTS 3.0
Objectif(s)
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(s)
Le cours est structuré en deux parties.
A- Algorithmes distribués et consensus [7 séances, Renaud Lachaize]
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
L'examen existe uniquement en anglais
Examen écrit et TP
S1=30%TP+70%E1; S2=30%TP+70%E2
Le cours est donné uniquement en anglais
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