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 d’un processus lent – La décision peut dépendre d’un 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 d’un 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 p s r • Informations non fiables – Possibilité de fausses suspicions s s q r LENT 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 s t s r u s r Classes de détecteurs Justesse Complétude forte Forte Faible Finalement forte Finalement faible P S ◊P ◊S • 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 n’est suspecté – Faible : il existe au moins un processus correct qui n’est jamais suspecté – Finalement forte : il existe un instant à partir duquel tout processus correct n’est plus suspecté par aucun processus correct – Finalement faible : il existe un instant à partir duquel au moins un processus correct n’est suspecté par aucun processus correct • Consensus résoluble avec ◊S • Impossible à implémenter en asynchrone Implémentations basées sur les temporisateurs • DH Pinging p q p up Détecteur de q • Dto Dto p up p down DH Heartbeat p q Détecteur de q p up Dto Dto p up p down 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 l’ensemble des suspects Réception requête : • Renvoyer l’ensemble 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 range 1,2 2 3 6 range 5,6 7 range 9 9 8 4 1 5 range 3, 4 range 7, 8 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 Exemple Exemple 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 « fcovering » 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 – temps de détection Performances – Justesse Performances - Mobilité Conclusion • Problèmes ouverts : – F-covering trop « fort » : l’algorithme 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