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