Introduction à la tolérance aux défaillances

Slides:



Advertisements
Présentations similaires
Chapitre annexe. Récursivité
Advertisements

Machines séquentielles
1 CNAM Vendredi 29 Novembre 2002 Bases de Données Avancées UV C Responsable : Mr Scholl PROTOCOLE A DEUX PHASES Meryem Guerrouani.
Détecteurs de fautes pour réseaux dynamiques P. Sens, L. Arantes, M. Bouillaguet Projet REGAL.
Calculs de complexité d'algorithmes
Apprentissage de représentation et auto-organisation modulaire pour un agent autonome Bruno Scherrer 6 janvier 2003 Directeurs : F. Alexandre, F. Charpillet.
Tolérance aux défaillances de logiciel
GEF 435 Principes des systèmes d’exploitation
Architecture ENT-UNR.
Stabilisation instantanée efficace
Introduction Qu'est ce que le temps-réel ?
BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,
"Recherche de scénarios redoutés à partir d'un modèle réseau de Petri"
IRISA18 novembre ACI Sécurité DADDi Dependable Anomaly Detection with Diagnosis IRISA.
1 ACI DADDI - Réunion de lancement IRISA - Projet ADEPT Michel Hurfin Jean-Pierre Le Narzul Frédéric Tronel 23 mai 2005.
INTRODUCTION.
Les Ateliers de Génie Logiciel
CALCUL PARALLELE PRODUIT : MATRICE – VECTEUR 10 pages Exposé par :
                                        République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique.
Systèmes distribués C. Delporte-Gallet (ESIEE-IGM)
Conception et analyse des algorithmes
Architecture de grille générique, multi-
Algorithmes et résolution de problèmes FGE
Amélioration de la sécurité des données à l'aide de SQL Server 2005
Aide à la décision et à la négociation dans un problème de gestion de production distribuée Jean-Pierre Camalot et Patrick Esquirol LAAS-CNRS 7, avenue.
Algorithmique et Programmation
Réunion DataGraal Janvier 2003 Grenoble
Algorithme à vague Stéphane Devismes.
Algorithmique et Programmation
Le Système Processeur David Saint-Mellion.
Consensus distribué En ce qui concerne ce document, le problème de consensus sera étudié (examiner, considérer, explorer, analyser). Le problème est provoqué.
Universté de la Manouba
Les détecteurs de défaillances
Détection de défaillances pour les grilles
Vincent Thomas Christine Bourjot Vincent Chevrier
Efficacité des algorithmes
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
Programmation non procédurale Le projet ECOLE 2000
Mécanismes d'exécution et de communication
Analyse des Algorithmes
Vincent Gramoli Advisor : Alexander A. Shvartsman
ANALYSE METHODE & OUTILS
Fondements de l’algorithmique des réseaux
1 Détecteurs de défaillances adaptables Marin BERTIER Thèmes SRC Laboratoire d'Informatique de Paris 6 Université Pierre & Marie Curie.
Julien Pley – Équipe ADEPT Colloque de DEA 2001/2002
Paramètres significatifs dans le processus de modélisation de la disponibilité Rennes le 24 mars 2004 Ahmed Bouabdallah, Nora Cuppens-Boulahia et Frédéric.
Créer des packages.
Programmation linéaire en nombres entiers
“Software defined Storage”
Modèles et protocoles de cohérence des données en environnement volatil Grid Data Service IRISA (Rennes), LIP (Lyon) et LIP6 (Paris) Loïc Cudennec Superviseurs.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
1 Nomination de mandataire Marin BERTIER. 2 Contexte ► Développement des GRIDs  Grand nombre de sites  Organisé hiérarchiquement ► Niveau local  cluster.
Foued Mnasri Weal Rekik
Le partage de la ligne.
Code de sécurité des travaux, 5e édition, 2008
Méthodes et outils de conception Introduction à la programmation Paramètre de retour Appel d’une fonction Portée des variables Définition Pourquoi les.
1 Détection et tolérance aux fautes dans JuxMem Sébastien Monnet IRISA / PARIS Lyon, 05/12/2003.
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
Algorithmique : Introduction
Introduction et Généralités sur l’Algorithmique
GPA-779 Application des systèmes experts et des réseaux de neurones.
Algorithmique distribuée 1, consensus, détecteurs de défaillances etc… Hugues Fauconnier LIAFA 1-tolérante aux pannes!
Systèmes d’exploitation Processus conclusion Modèle conceptuel de processus Pour masquer les effets des interruptions, les SE fournissent un modèle conceptuel.
Définition Un algorithme est l’énoncé d’une séquence d’actions primitives réalisant un traitement pouvant être exécuté par un processeur bien défini dans.
Algorithmique Conditions et Itérations Cours de BTS/CPI 1ère année Algo – Prog CPI/BTS1 – M. Dravet – 17/09/2003 Dernière modification: 17/09/2003.
Réseaux de Petri et suivi du joueur
Algorithmes parallèles
A. Lebrun. Principe de base Dans la logique combinatoire, les sorties dépendent des différentes entrées et peuvent être calculées par l’algèbre de Boole.
Les bascules et registres
Systèmes Distribués et Autostabilisation
Transcription de la présentation:

Introduction à la tolérance aux défaillances Joffroy Beauquier LRI CNRS – Université Paris Sud

Défaillances

Motivation Accroissement du nombre des composants Impossibilité de relancer le système chaque fois qu’une défaillance se produit Le problème se pose aussi dans le cas séquentiel

Trois approches Algorithmes robustes Auto-stabilisation Etats de reprise et retours en arrière

Les hypothèses (algorithmes robustes) Les défaillances n’affectent qu’une partie du système Utilisation de la redondance par la multiplication Mais problème du consensus Bien entendu les défaillances peuvent frapper l’algorithme de consensus

Types de défaillances (algorithmes robustes) Processus initialement morts Défaillances définitives Omissions Comportement byzantin (malveillant) Hiérarchie de défaillances

Les hypothèses (auto-stabilisation) Les défaillances peuvent frapper tout ce qui n’est pas fixe dans le système (mémoires, canaux mais pas le code) Les défaillances sont peu fréquentes (par rapport au temps de récupération)

Algorithmes robustes L’effet des défaillances est masqué La correction est maintenue tout au long de l’exécution Le surcoût dû au contrôle est très important Approche réservée à des systèmes critiques (aviation civile, contrôle de centrales nucléaires, navette spatiale)

Algorithmes auto-stabilisants L’effet des défaillances n’est pas masqué Après des défaillances, le comportement cesse d’être correct, mais après un certain délai, il le redevient, sans intervention extérieure ou centralisée Le surcoût en phase stabilisée est faible

Auto-stabilisation Défaillances Etats Etats légitimes Temps

Problèmes de décision (alg. robustes) Chaque processus dispose d’une valeur d’entrée Chaque processus (correct) doit écrire de manière irréversible une valeur de sortie La valeur de décision dépend des valeurs d’entrée

Consensus sur les entrées Calculs répliqués sur plusieurs machines (au début d’un pas, les valeurs d’entrée sont identiques) Pour chaque pas de calcul, on obtient donc autant de résultats que de réplications En l’absence de défaillances tous les résultats sont identiques Avec des défaillances ils peuvent être différents. On veut que les processus non défaillants tombent d’accord sur la valeur à utiliser pour le pas suivant

Consensus : exemples L’effet d’un capteur défectueux, qui donne des résultats différents de ceux des capteurs en bon état, doit être neutralisé La navette spatiale

1 1 1 1 1 1 1 Voteur 1

Diffusion fiable

Diffusion fiable Un diffuseur doit envoyer une valeur à tous les autres processus Chaque processus doit décider une valeur Tous les processus corrects doivent décider la même valeur Si le diffuseur est non-défaillant, la valeur décidée doit être la valeur du diffuseur

Commit/abort

Commit-Abort Base de données répliquée Une transaction impliquant plusieurs sites doit être exécutée (commit) soit sur tous les sites, soit sur aucun (abort) Vote des sites (oui ou non) Si tous les sites votent oui chacun doit décider oui Si un des sites vote non chacun doit décider non

Election Un des processus doit décider d’être le leader et les autres de ne pas l’être Régénération du jeton d’un token ring Désignation d’un serveur

Group membership Systèmes en ligne (contrôle du traffic aérien, système d’exploitation) Les composants défectueux doivent être réparés Nécessité de reconfigurer le groupe des processeurs actifs

Consensus : spécification Terminaison : tout processus non défaillant décide une valeur Accord : deux processus non défaillants ne décident pas deux valeurs différentes Non-trivialité : si les valeurs initiales des processus non défaillants sont égales, c’est la seule valeur de décision possible

Consensus : résultat d’impossibilité Il n’existe pas d’algorithme résolvant le consensus dans un système asynchrone où les défaillances se réduisent à une seule panne « crash »

Contourner le résultat d’impossibilité Introduire des hypothèses de synchronisme partiel Détecteurs de défaillances Solutions probabilistes

Les détecteurs de défaillances Chandra et Toueg (1996) Peut-être! P en panne? Oracle Réseau

Les détecteurs de défaillances Défaillances de type « crash » Un détecteur de défaillances est un module qui fournit une liste de processus suspectés de crash Détecteur le plus faible pour résoudre le consensus : il existe un instant à partir duquel il existe un processus correct qui n’est jamais suspecté

Auto-stabilisation Auto-stabilisation Etats Etats Temps Temps Défaillances Défaillances Etats Etats Etats légitimes Etats légitimes Temps Temps

Auto-stabilisation : le cas du token ring Chaque processus possède une seule variable de type {0, 1, 2, 3, 4, 5} 5 4 3 3

Auto-stabilisation : le cas du token ring 5 5 5 4 3 3 3 3

Auto-stabilisation : le cas du token ring 5 5 5 5 5 5 3 5 5 3 3 3 3

Auto-stabilisation : le cas du token ring 5 5 5 5 5 5 5 5 5 3 3 5 3 5 5

Auto-stabilisation : le cas du token ring 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5

Avantages de l’auto-stabilisation (1) Pas besoin d’initialisation Adaptée par nature aux réseaux dynamiques Pas besoin de reset ni d’intervention extérieure a pas de centralisation Très faible surcoût en phase stabilisée : les échanges sont purement locaux Tolérance suffisante pour les applications non critiques

Avantages de l’auto-stabilisation (2) Pas de diffusions coûteuses Solutions à mémoire bornée Solutions time-adaptive Technique éprouvée et incontournable La formalisation permet d’obtenir des outils génériques qui simplifient la programmation

Conclusion (1) Deux aspects critiques des systèmes répartis actuels : fiabilité et sécurité Pour la fiabilité, deux approches : Réplication + consensus : coûteux, mais les défaillances sont masquées Auto-stabilisation : moins coûteux, mais la correction n’est pas garantie durant la phase de stabilisation

Conclusion (2) La solution réside sans doute dans la complémentarité des deux approches (Cf. Projet de maison intelligente de Microsoft) Il existe aussi d’autres techniques à base de points de reprise