Détecteurs de fautes pour réseaux dynamiques P. Sens, L. Arantes, M. Bouillaguet Projet REGAL
Plan Détecteurs de fautes non fiables Implémentation asynchrone Caractéristiques des réseaux dynamiques Algorithmes Performances
FLP 85 Impossible de résoudre le consensus de façon déterministe –Asynchrone –Réseau fiable –1 seul crash Idée : –Impossible de différencier un processus défaillant dun processus lent –La décision peut dépendre dun seul vote
Contourner FLP 85 Changer le problème –k-agreement [Cha90] Plusieurs valeurs peuvent être décidées –Consensus probabiliste [BO83] Des processus peuvent ne pas terminer Systèmes partiellement synchrones [DDS87] –Les bornes sont non connues, valables uniquement à partir dun moment –Algorithmique dépendante du système Les détecteurs de défaillances non fiables [CT96] –Algorithmique en asynchrone (indépendante du système) –Hypothèses plus facilement utilisables
Détecteur de défaillances Oracle local sur chaque nœud Fournit une liste des processus suspectés dêtre défaillants Informations non fiables –Possibilité de fausses suspicions p rq ts u s s s s s s LENT r r r Complétude : un processus défaillant doit être détecté comme défaillant Justesse : un processus correct ne doit pas être considéré comme défaillant
Classes de détecteurs Complétude forte : –Il existe un instant à partir duquel tout processus défaillant est suspecté par tous les processus corrects Justesse : –Forte : aucun processus correct nest suspecté –Faible : il existe au moins un processus correct qui nest jamais suspecté –Finalement forte : il existe un instant à partir duquel tout processus correct nest plus suspecté par aucun processus correct –Finalement faible : il existe un instant à partir duquel au moins un processus correct nest suspecté par aucun processus correct Consensus résoluble avec S Impossible à impl é menter en asynchrone Justesse ForteFaibleFinalement forteFinalement faible Complétude fortePS P S
Implémentations basées sur les temporisateurs Pinging Heartbeat to Détecteur de q p up p down p up p q Détecteur de q p up p down p up p q H H to
Implémentations asynchrones [Mostefaoui03] Hypothèses: –Ensemble de processus connus –Réseau maillé / fiable –f crashs au maximum –pas de temporisateur Basé sur un mécanisme de requêtes-réponse Principe nœud pi: Envoyer requête aux n nœuds Attendre n-f réponses Construire lensemble des suspects Réception requête : Renvoyer lensemble des réponses recus
Caractéristiques réseaux dynamiques Nombre de nœuds inconnu Graphe non complet Mobilité
Modèle Nombre de nœuds inconnu f fautes maximum Chaque nœud possède un « range » de transmission contenant au moins d nœuds (densité) Communication fiable Hypothèse temporelle : –Certains nœuds (les nœuds relais) doivent avoir la « Responsivness Property »: répondre parmi les premiers
F-covering network
Algorithmes (1) Variables du processus i: –range i –suspected i : ensemble des suspects –mistake i : les dernières erreurs –K i : la connaissance des voisins directs
Algorithmes (2) Agrégation des réponses Agrégation des suspects Agrégation des erreurs
Exemple
Preuve Preuve de <>S (voir rapport) Nécessité de propriété de responsivness : « Il existe dans chaque intersection au moins un nœud qui répond parmi les premiers »
Extension pour la mobilité Mobilité limitée : les propriétés de densité et « f- covering » doivent maintenue Idée : Lorsque la mobilité est détectée retirer le nœud des K du range source
Algorithme avec mobilité
Performances - Configurations
Performances – temps de détection
Performances – Justesse
Performances - Mobilité
Conclusion Problèmes ouverts : –F-covering trop « fort » : lalgorithme marcherait avec des hypothèses plus faibles –Le consensus Perspectives : –Algorithme moins dépendant de la densité –Etendre la mobilité
Référence Titre : –Asynchronous Implementation of Failure Detectors with partial connectivity and unknown participants Auteur : –Pierre Sens, Luciana Arantes, Mathieu Bouillaguet Rapport de recherche RR6088 hal.inria.fr