Tolérance aux fautes dans les grilles de calcul
Classe des fautes
La capacité d’identification du modèle de pannes joue un rôle très important si l’on veut réaliser la tolérance aux fautes. En effet, les conséquences et le traitement d’une faute diffèrent selon son modèle. Les fautes peuvent être classées selon plusieurs critères : leur degré de gravité, leur degré de permanence et leur nature [7].
Selon leur degré de gravité – Fautes d’état :le changement des variables d’un élément peut être la conséquence de perturbations dues à l’environnement, des attaques ou simplement des défaillances du matériel ou du logiciel utilisé. Il est par exemple possible que des variables prennent des valeurs qu’elles ne sont pas censées prendre lors d’une exécution normale du système; – Fautes de code : le changement arbitraire du code d’un élément résulte la plupart du temps d’une attaque, mais certains types moins graves peuvent correspondre à des bogues ou à une difficulté à supporter la charge d’un élément du système; – Fautes franches ou de type crash : à un point donné de l’exécution, un élément cesse définitivement d’être actif et n’effectue plus aucune action; – Fautes d’omission : à divers instants de l’exécution, un élément peut omettre de communiquer avec les autres éléments du système, soit en émission, soit en réception. Le composant cesse momentanément son activité puis la reprend; – Fautes byzantines : elles correspondent simplement à un type arbitraire de fautes, et sont donc les fautes les plus malicieuses et donc les plus complexes à tolérer. Un composant présentant ce type de faute agit de manière complètement imprévisible pour l’observateur extérieur. Selon leur degré de permanence – Faute transitoire : elle se produit de manière isolée; – Faute intermittente : elle se produit aléatoirement à plusieurs reprises; – Faute permanente : elle persiste dès son apparition jusqu’à ce qu’elle soit réparée. Selon la nature de la faute – Faute intentionnelle : elle est créée avec une intention qui pourrait s’avérer malicieuse; – Faute accidentelle : elle se produit de manière accidentelle.
Tolérance aux fautes dans les systèmes répartis
La tolérance aux fautes dans les systèmes répartis est un domaine de recherche qui a été et qui demeure très largement étudié [60]. Les travaux dans ce domaine se différencient principalement selon trois critères : le type de fautes prises en compte (fautes de l’opérateur, fautes logicielles ou fautes matérielles), la technique de détection de fautes utilisée et l’approche de tolérance aux fautes proposée.
Comment faire face aux fautes?
Plusieurs phases successives, non obligatoirement toutes présentes, font partie d’un processus de tolérance aux fautes [60] : – Détection :Découvrir l’existence d’une faute (état incorrect) ou d’une défaillance (comportement incorrect); – Localisation : Identifier le point précis (dans l’espace et le temps) où l’erreur (ou la défaillance) est apparue; – Isolation : Confiner l’erreur pour éviter sa propagation à d’autres parties du système; – Réparation : Remettre le système en état de fournir un service correct. Le composant défectueux est identifié et le système fonctionne comme si les composants défectueux ne sont pas utilisés ou sont utilisés d’une façon telle que la faute ne cause guère de défaillance.
Mise en œuvre de détecteurs de défaillances
Lesdétecteursdefautessontdesélémentscentrauxdanslessystèmesrépartistolérantsaux fautes. La capacité d’un détecteur de fautes de fonctionner de manière complète et efficace, en présence d’une messagerie non fiable ainsi que des composants assujettis à une forte occurrence de fautes, peut avoir un impact majeur sur la performance de ces systèmes. « La complétude » est la garantie que la défaillance d’un membre du système soit finalement détectée par tous les autres membres. « L’efficacité » signifie que les défaillances sont détectées rapidement et avec une précision acceptable. Le premier travail pour répondre à ces deux propriétés fut pris en charge par Chandra et Toueg. Ces auteurs [31] ont démontré l’impossibilité pour tout algorithme de détection de fautes d’atteindre à la fois la complétude et l’efficacité dans un système non fiable et asynchrone. Cette impossibilité résulte de la difficulté inhérente au fait
Tolérance aux fautes dans les systèmes répartis
de déterminer si un processus à distance est réellement défaillant ou si ses transmissions sont simplement retardées. Il est donc impossible de mettre en œuvre un service de détection de fautes fiable sans faire plus d’hypothèses sur le système. Il existe deux grandes techniques pour la mise en œuvre de détecteurs de défaillances : celle basée sur des échanges périodiques de messages de vie, et celle basée sur des allers-retours (ping/pong).
|
Table des matières
INTRODUCTION GÉNÉRALE 1
Chapitre 1 Tolérance aux fautes dans les grilles de calcul
1.1 Introduction
1.2 Sûreté de fonctionnement
1.2.1 Entraves à la sûreté de fonctionnement
1.2.2 Attributs de la sûreté de fonctionnement
1.2.3 Moyens d’assurer la sûreté de fonctionnement
1.3 Classe des fautes
1.4 Tolérance aux fautes dans les systèmes répartis
1.4.1 Comment faire face aux fautes?
1.4.2 Mise en œuvre de détecteurs de défaillances
1.4.3 Techniques de tolérance aux fautes dans les systèmes répartis
1.5 Tolérance aux fautes dans les grilles de calcul
1.5.1 Définition et avantages de la grille
1.5.2 Architecture de la grille
1.5.3 Topologies de grilles
1.5.4 Domaines d’application des grilles de calcul
1.5.5 Projets sur les grilles de calcul
1.5.6 Défis des grilles de calcul
1.5.7 Fiabilité des grilles de calcul
1.5.8 Classe de fautes pour les grilles de calcul
1.5.9 Détection de fautes dans les grilles de calcul
1.5.10 Problèmes des méthodes de détection de fautes dans les systèmes répartis
1.5.11 Méthodes de détection de fautes dans les grilles de calcul
1.5.12 Méthodes de tolérance aux fautes dans les grilles de calcul
1.6 Conclusion
Chapitre 2 Ordonnancement de workflow dans les grilles de calcul
2.1 Introduction
2.2 Définition d’un workflow
2.3 Les workflows scientifiques
2.4 Modélisation des applications
2.5 Modélisation des ressources
2.5.1 Définition de topologie
2.5.2 Définition des liens
2.5.3 Définition des ressources de calcul
2.6 Ordonnancement et allocation de ressources
2.7 Catégories d’ordonnancement
2.7.1 Ordonnancement statique
2.7.2 Ordonnancement dynamique
2.8 Gestionnaires d’exécution de workflow
2.9 Ordonnancement de workflows tolérant aux fautes
2.10 Conclusion
Chapitre 3 Modèle et stratégie proposés
3.1 Introduction
3.2 Modèle de la grille
3.2.1 Modèle de base
3.2.2 Caractéristiques du modèle
3.3 Modèle de workflow
3.4 Stratégie d’ordonnancement de tâches
3.4.1 Tri de tâches selon leur priorité
3.4.2 Clustering des tâches
3.5 Système de tolérance aux fautes
3.5.1 Types de fautes
3.5.2 Détection de fautes
3.5.3 Recouvrement de fautes
3.6 Conclusion
Chapitre 4 Etude Expérimentale
4.1 Introduction
4.2 Implémentation
4.3 Évaluation de fiabilité
4.4 Évaluation de performances
4.4.1 Paramètres de simulation
4.4.2 Stratégies de référence
4.4.3 Résultats de performance
4.5 Conclusion .
CONCLUSION GÉNÉRALE
Bibliographie
Télécharger le rapport complet
