Détecteur de défaillances minimal pour le consensus adapté aux réseaux inconnus

Documents pareils
La voix en images : comment l évaluation objectivée par logiciel permet d optimiser la prise en charge vocale

Système de diffusion d information pour encourager les PME-PMI à améliorer leurs performances environnementales

statique J. Bertrand To cite this version: HAL Id: jpa

Notes de lecture : Dan SPERBER & Deirdre WILSON, La pertinence

Budget Constrained Resource Allocation for Non-Deterministic Workflows on a IaaS Cloud

AGROBASE : un système de gestion de données expérimentales

Comptabilité à base d activités (ABC) et activités informatiques : une contribution à l amélioration des processus informatiques d une banque

Sur le grossissement des divers appareils pour la mesure des angles par la réflexion d un faisceau lumineux sur un miroir mobile

Compte-rendu de Hamma B., La préposition en français

Les intermédiaires privés dans les finances royales espagnoles sous Philippe V et Ferdinand VI

Jean-Luc Archimbaud. Sensibilisation à la sécurité informatique.

Peut-on perdre sa dignité?

L indice de SEN, outil de mesure de l équité des systèmes éducatifs. Une comparaison à l échelle européenne

Dessin assisté par ordinateur en lycée professionnel

Étude des formes de pratiques de la gymnastique sportive enseignées en EPS à l école primaire

Program Analysis and Transformation: From the Polytope Model to Formal Languages

Un SIG collaboratif pour la recherche historique Partie. Partie 1 : Naissance et conception d un système d information géo-historique collaboratif.

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Les Champs Magnétiques

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Principe de symétrisation pour la construction d un test adaptatif

Les déterminants du volume d aide professionnelle pour. reste-à-charge

L exclusion mutuelle distribuée

Programmation linéaire

Ordonnancement temps réel

Organigramme / Algorigramme Dossier élève 1 SI

Recherche dans un tableau

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

Chapitre 2 Le problème de l unicité des solutions

Techniques d interaction dans la visualisation de l information Séminaire DIVA

Conception des systèmes répartis

Bourses d excellence pour les masters orientés vers la recherche

Cours de Systèmes d Exploitation

Limites finies en un point

Systèmes et algorithmes répartis

Les marchés Security La méthode The markets The approach

Jessica Dubois. To cite this version: HAL Id: jpa

Fonctions de plusieurs variables

Consultation Report / Rapport de consultation REGDOC-2.3.3, Periodic Safety Reviews / Bilans périodiques de la sûreté

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

Problèmes liés à la concurrence

Protection de la vie privée basée sur des ontologies dans un système Android

Licence Pro ASUR Supervision Mai 2013

Prototype de canal caché dans le DNS

Règlement relatif à l examen fait conformément à la Déclaration canadienne des droits. Canadian Bill of Rights Examination Regulations CODIFICATION

Détection d'intrusions et analyse forensique

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Algorithmique des Systèmes Répartis Protocoles de Communications

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

Machines virtuelles Cours 1 : Introduction

Le langage SQL Rappels

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

Installation et configuration d un serveur DHCP (Windows server 2008 R2)

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2

Gestion de stock pour un magasin

Cours d algorithmique pour la classe de 2nde

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Examen Médian - 1 heure 30

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Sylvain Meille. Étude du comportement mécanique du plâtre pris en relation avec sa microstructure.

RÉSUMÉ DE THÈSE. L implantation des systèmes d'information (SI) organisationnels demeure une tâche difficile

Programmation parallèle et distribuée

Transmission d informations sur le réseau électrique

affichage en français Nom de l'employeur *: Lions Village of Greater Edmonton Society

Contrôle stochastique d allocation de ressources dans le «cloud computing»

Monitor LRD. Table des matières

Cours de Programmation 2

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

e-science : perspectives et opportunités pour de nouvelles pratiques de la recherche en informatique et mathématiques appliquées

Famille continue de courbes terminales du spiral réglant pouvant être construites par points et par tangentes

Aspects juridiques des projets européens dans le 7e PCRD

Introduction aux algorithmes répartis

Cours 1 : La compilation

SSH, le shell sécurisé

Résolution d équations non linéaires

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Cheque Holding Policy Disclosure (Banks) Regulations. Règlement sur la communication de la politique de retenue de chèques (banques) CONSOLIDATION

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Université de La Rochelle. Réseaux TD n 6

Sur la transformation de l électricité statique en électricité dynamique

1 Définition et premières propriétés des congruences

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Annexe 6. Notions d ordonnancement.

Présentation par François Keller Fondateur et président de l Institut suisse de brainworking et M. Enga Luye, CEO Belair Biotech

Enseignement secondaire technique

NoSQL : hype ou innovation? Grégory Ogonowski / Recherches Octobre 2011

La complémentaire santé : une généralisation qui

Allocation de l adressage IP à l aide du protocole DHCP.doc

Cryptographie. Cours 3/8 - Chiffrement asymétrique

RAPID Prenez le contrôle sur vos données

Paris Airports - Web API Airports Path finding

Notes de cours : bases de données distribuées et repliquées

(Third-Man Attack) PASCAL BONHEUR PASCAL 4/07/2001. Introduction. 1 Domain Name Server. 2 Commandes DNS. 3 Hacking des serveurs DNS

NIVEAU D'INTERVENTION DE LA PROGRAMMATION CONCURRENTE

Langage SQL : créer et interroger une base

Manuel d'utilisation. Ticket Center Manuel d'utilisation. Ticket Center 2: mai AdNovum Informatik AG. Mis en circulation

Quelques algorithmes simples dont l analyse n est pas si simple

CONVENTION DE PARTENARIAT AGENCES

Transcription:

Détecteur de défaillances minimal pour le consensus adapté aux réseaux inconnus Thibault Rieutord, Luciana Arantes, Pierre Sens To cite this version: Thibault Rieutord, Luciana Arantes, Pierre Sens. Détecteur de défaillances minimal pour le consensus adapté aux réseaux inconnus. ALGOTEL 2015-17èmes Rencontres Francophones sur les Aspects Algorithmiques des Télécommunications, Jun 2015, Beaune, France. <hal- 01144111> HAL Id: hal-01144111 https://hal.archives-ouvertes.fr/hal-01144111 Submitted on 21 Apr 2015 HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Détecteur de défaillances minimal pour le consensus adapté aux réseaux inconnus Thibault Rieutord 1,2, Luciana Arantes 2, Pierre Sens 2 1 ENS Rennes, France 2 Sorbonne Universités, UPMC Univ Paris 06, CNRS, Inria, LIP6 - France Cet article présente une implémentation asynchrone d un nouveau détecteur de défaillances minimal pour la résolution du consensus dans le cas de réseaux inconnus, i.e., sans connaissance préalable sur le système. Ce détecteur ne repose pas sur des minuteurs. Nous donnons une propriété comportementale raisonnable, suffisante pour garantir son implémentation. Keywords: Systèmes asynchrones, consensus, détecteurs de défaillances, élection de leader, quorum, systèmes distribués. Le consensus permet de résoudre de nombreux problèmes d accord dans les systèmes répartis en présence de fautes. C est une brique fondamentale qui a été largement étudiée particulièrement dans les systèmes dont la topologie est connue (i.e., le nombre et la liste des participants est préalablement connue). Les détecteurs de défaillances, que l on notera FD, permettent de capturer les informations nécessaires et suffisantes sur les fautes pour résoudre le consensus. Par exemple, dans un système asynchrone (i.e., sans borne sur les délais de transmission) initialement connu avec une majorité de processus corrects, il a été montré que le détecteur Ω, qui retourne ultimement un chef correct, permet de résoudre le consensus de façon déterministe [CHT96]. Avec un nombre de fautes quelconque, Ω associé au détecteur quorum Σ est le détecteur minimum pour résoudre le consensus [DGFG10]. Dans des systèmes plus dynamiques tels que les nuages, les réseaux de capteurs sans fils ou les réseaux ad hoc, les hypothèses classiques d une connaissance préalable de la composition du système, ou même seulement du nombre de participants, ne sont plus possibles. Nous proposons donc une adaptation du détecteur de défaillances minimal pour le consensus adapté aux réseaux inconnus. Après avoir montré que des modèles usuels de synchronie partielle ne permettent pas d implémenter ce détecteur, nous proposons une implémentation totalement asynchrone du détecteur reposant sur une propriété comportementale du système. 1 Modélisation du problème Modèle de système. On considère un système distribué asynchrone à passage de messages. L ensemble des processus, dénoté Π, est de taille finie mais sa taille et sa composition sont inconnues des processus. Le modèle de panne franche est utilisé, les processus se comportent selon les spécifications jusqu au moment où éventuellement ils s arrêtent. Les canaux de communication sont fiables, les messages ne peuvent être ni altérés, ni perdus, ni dupliqués. Le réseau de communication n est pas nécessairement complet mais permet la communication entre chaque couple de processus quelles que soient les pannes qui se sont produites. Un processus est dit correct si il ne tombe pas en panne lors d une exécution donnée, sinon il est dit fautif. L ensemble des processus corrects est noté correct(f) où F correspond au motif des fautes d une exécution particulière. T correspond à un domaine temporel pouvant être discret, tel que N, ou continu, tel que R +. Consensus. Dans le problème du consensus, chaque processus propose une valeur v p et les processus décident d une certaine valeur en respectant les trois propriétés suivantes : Terminaison : Tout processus correct décide une valeur. Validité : Toute valeur décidée doit avoir été proposée. Accord : Une seule et unique valeur est décidée. La propriété d accord reflète la correction du protocole, la propriété de terminaison assure sa vivacité et la propriété de validité empêche l utilisation de solutions triviales basées sur un accord au préalable.

Thibault Rieutord, Luciana Arantes, Pierre Sens Ω : Election de Chef. Le FD Ω a été introduit dans [CHT96] indirectement pour montrer la minimalité d autres détecteurs. Il s avère être aussi le FD minimal pour la résolution du consensus lorsqu il y a une majorité de processus corrects et que le nombre de processus dans le système est connu des processus. Ω retourne à chaque processus p une variable leader p respectant la propriété suivante : τ T, q correct(f), p correct(f), t T,t τ : leader p = q Σ : FD à Quorum. Le détecteur de défaillances Σ a été introduit dans [DGFG10] pour trouver le détecteur minimal pour la résolution du consensus dans le cas général. Il est prouvé minimal pour l émulation de registres atomiques dans un système asynchrone à passage de messages. Grâce à ce résultat, il est montré que lorsque l on ajoute Ω à Σ (on utilisera la notation Ω,Σ ), on obtient le FD minimal pour la résolution du consensus quel que soit le nombre de pannes possibles dans un système connu. Σ retourne à chaque processus p un sous-ensemble du système composé de processus de confiance, Σ p (i.e., les processus considérés comme corrects). Cet ensemble vérifie les deux propriétés suivantes : Intersection : deux listes de processus contiennent toujours au moins un processus commun : t 1,t 2 T, p 1, p 2 Π : Σ p1 (t 1 ) Σ p2 (t 2 ) /0 Complétude : de façon ultime, les listes retournées ne contiennent que des processus corrects : τ T, p correct(f), t T,t τ : Σ p (t) correct(f) 2 Un nouveau détecteur de défaillances pour le Consensus Ω,Σ a été prouvé minimal pour la résolution du consensus dans un système asynchrone classique. Mais Σ nécessite une certaine connaissance de la composition du système pour pouvoir dès l initialisation assurer la propriété d intersection. Σ : Quorum FD pour les réseaux inconnus. Nous proposons ici de modifier Σ pour qu il conserve ses propriétés tout en s abstrayant des contraintes relatives à l absence de connaissance sur le système. L idée est que ce nouveau FD, dénoté Σ, doit se comporter comme Σ au bout d un certain temps, mais peut se permettre d indiquer que ce n est pas encore le cas en retournant la valeur. Σ renvoie donc à chaque processus p une valeur noté Σ p pouvant être, soit une liste de processus de confiance, soit la valeur. Les deux conditions suivantes doivent être respectées : Intersection limitée par : deux processus retournent des listes contenant au moins un processus en commun, si aucun des deux ne retourne : t 1,t 2 T, p 1, p 2 Π,Σ p1 (t 1 ),Σ p2 (t 2 ) : Σ p1 (t 1 ) Σ p2 (t 2 ) /0 Complétude étendue à : de façon ultime et pour tous les processus corrects, ne peut être renvoyé et les listes de processus de confiance retournées ne contiennent que des processus corrects : τ T, p correct(f), t T,t τ : Σ p (t) et Σ p (t) correct(f) L étude du consensus sur réseaux inconnus a déjà été conduite dans certains cas comme dans [ADGF08b]. Les auteurs proposent une implémentation de Σ en considérant une initialisation de Σ à un domaine d identifiants englobant le système. Ils supposent en outre qu il existe une estimation du nombre de processus comprise entre la stricte majorité et le total de processus. Il est à noter que cet article s intéresse au cas sans pannes. Il montre que la résolution du consensus est impossible mais le devient avec Σ. Théorème 1. Ω,Σ est le plus faible FD permettant la résolution du consensus dans un système asynchrone à passage de messages, avec un nombre quelconque de pannes franches. Pour prouver le théorème 1, deux aspects doivent être étudiés. Le premier point, le plus direct, est de voir si il est possible d implémenter Ω,Σ dans un système permettant de résoudre le consensus, cela se montre. Par convention et pour simplifier la formule il est considéré qu un processus en panne retourne toujours Π.. Par convention il est considéré qu un processus en panne retourne toujours.

Détecteur de défaillances minimal pour le consensus adapté aux réseaux inconnus en prouvant ce résultat pour Ω,Σ et en remarquant qu une implémentation de Σ en est une pour Σ. Le deuxième point est la question de la résolution du consensus dans un réseau inconnu avec Ω,Σ. Pour cela considérons un algorithme le résolvant avec Ω,Σ comme dans [ADGF08a]. Σ permet de fournir une liste de processus dont les messages pourront être attendus à différentes étapes de l algorithme de consensus. Avec Σ on introduit une attente lorsque est retourné. Si n est pas observé, le comportement et les garanties sont identiques à Σ et le consensus peut être résolu. Si est retourné à un moment donné, l attente sera finie par la propriété de complétude étendue à. Pour l algorithme de consensus, une telle attente est gérée exactement comme si l exécution avait été retardée à cause d un message lent émis par un des processus de la liste fournie. Σ et la nécessité de synchronie. Dans un réseau inconnu le nombre de processus corrects ne peut être utiliser pour attendre un certain nombre de messages et avoir un algorithme non-bloquant. De ce fait on peut montrer que l implémentation de Σ et donc la résolution du consensus est impossible sans des canaux de communications synchrones, i.e., ayant un délai de transmission borné et de borne connue des processus. Théorème 2. Un chemin composé de canaux de communications synchrones est nécessaire entre chaque couple de processus, dans une des deux directions, pour implémenter Σ et donc résoudre le consensus lorsque le réseau est inconnu. Ceci se montre grâce à l impossibilité de déterminer en temps limité, dans le cas purement asynchrone, si un processus est juste lent ou si il est tombé en panne. Un processus isolé se doit de décider sans attendre indéfiniment un message afin de respecter la propriété de terminaison du consensus. Mais un processus ne peut savoir si il est isolé ou si les autres sont juste trop lents à communiquer sans garanties sur le nombre de processus correct. Les temps de calculs et de communication doivent alors être bornés et de bornes connues pour pouvoir résoudre le consensus. En s intéressant à tous les couples de processus possibles on arrive à montrer cette nécessité dans une des deux directions pour au moins un chemin les reliant. 3 Implémentation de Σ : Le quorum gagnant Le seul moyen d éviter la nécessité de liens synchrones dans le système,cf. théorème 2, est de considérer qu une borne minimale de processus corrects existe et est connue des processus, nous appelons α cette borne. L implémentation de Ω peut se faire avec des hypothèses similaires [AGSS13]. Modèle à motif de messages. Proposée pour la première fois dans [MMR03], une méthode basée sur un déséquilibre dans la vitesse de réception des messages permet l implémentation d algorithmes non-bloquants et totalement asynchrones. Ce modèle se base sur un mécanisme de rondes de requête-réponses successives, où les processus envoient une requête à tous les processus et attendent un certain nombre de réponses, ici α. L article définit aussi une propriété s appliquant sur les canaux de communications : Définition 1. α-canal-gagnant : p est relié à q par un α-canal-gagnant si la réponse de p est toujours reçue parmi les α premières réponses à chaque requête de q. Il est montré dans [MMR03] que si tout processus, p, est connecté à un même processus correct, p l, par un α-canal-gagnant de p l vers p, alors on peut implémenter le FD S, strictement plus fort que Ω,Σ. Cette propriété est imposée sur des échanges directs dans [MMR03]. Elle peut être relaxée sur des chemins. Ces chemins doivent cependant être contraints pour exclure au final les processus en panne par exemple en limitant la longueur de ces chemins à au plus un certain β. Définition 2. (α,β)-chemin-gagnant : p est relié à q par un (α,β)-chemin-gagnant si pour chaque requête de q la réponse de p est reçue après une chaîne d au plus β relais de α-canal-gagnant. Le quorum gagnant. Pour implémenter notre nouveau FD Σ il n est pas nécessaire d avoir un processus dont la réponse est toujours reçue à temps, l objectif étant de fournir un ensemble de processus respectant la propriété d intersection. On peut donc relaxer la condition d implémentation de S d un processus vers un ensemble, que l on appellera le quorum, et dont les réponses d une majorité stricte des processus du quorum. Il est à noter que cela implique que tout résultat sur des conditions suffisantes pour implémenter Σ est aussi valable pour Σ.. Une contrainte de taille dynamique peut aussi être formellement décrite pour s abstraire d un paramètre supplémentaire β et des contraintes implicites sur le diamètre maximal du réseau lié à son choix, cela pouvant se faire par exemple en adaptant la taille au nombre de processus actifs connus ou à l ancienneté relative de leur activité connue.

Thibault Rieutord, Luciana Arantes, Pierre Sens sont reçues à chaque ronde parmi les α premières, α étant la borne minimale de processus corrects. Les processus du quorum sont interchangeables d une requête à l autre et d un processus à l autre, tant qu une stricte majorité est présente à chaque ronde. La propriété comportementale en résultant est la suivante : Définition 3. (α,β)-quorum-gagnant : Un ensemble de processus, Q w, tel que tout processus, p, est connecté à une stricte majorité de processus de Q w, de p vers les processus de Q w, par des (α,β)-chemins-gagnants. Algorithme 1: Implémentation de Σ avec un (α,β)-quorum-gagnant init : counter i 0, rec_ f rom i {(id i,0),(,0)}, Σ i ; Task T1 : Repeat forever broadcast QUERY(counter i ); wait until (RESPONSE(c,rec_ f rom) with c = counter i received from α distinct processes); let I = the set of processes from which p i received a RESPONSE message; let X = the set of the rec_ f rom sets received from the processes in I; rec_ f rom i {(ls,0) : ls I}; foreach R X do foreach (ls,age) R,age < β do if (ls,_) / rec_ f rom i then rec_ f rom i rec_ f rom i {(ls,age + 1)}; else if age < age,(ls,age ) rec_ f rom i then rec_ f rom i (rec_ f rom i \ {(ls,age )}) {(ls,age + 1)}; counter i = counter i + 1; if (,_) / rec_ f rom i then let Σ i {ls : (ls,_) rec_ f rom i }; End repeat; task T2 : upon reception of QUERY(c) from p j do send RESPONSE(c,rec_ f rom i ) to p j Si le système fourni un (α,β)-quorum-gagnant, alors l algorithme 1 implémente Σ. L algorithme envoie des requêtes périodiques et attend α réponses. Ce processus permet de transporter les informations d activité des processus, limités à un age de β retransmissions à l aide d un compteur age. est utilisé le temps que β phases de requêtes-réponses se soient terminées. Bilan. Les résultats présentés montrent que l absence de connaissance sur la composition du système ou du nombre de participants corrects empêche l application de méthodes connues pour la résolution du consensus. Alors que de fortes hypothèses de synchronie sont nécessaires en cas d absence totale de connaissance, l hypothèse raisonnable qu une borne minimale de processus corrects soit connue permet la résolution du consensus à l aide de modèles tel que celui à motif de messages. Références [ADGF08a] M. Abboud, C. Delporte-Gallet, and H. Fauconnier. Agreement and consistency without knowing the number of processes. In NOTERE 08, page 38. ACM, 2008. [ADGF08b] M. Abboud, C. Delporte-Gallet, and H. Fauconnier. Agreement without knowing everybody : a first step to dynamicity. In NOTERE 08, page 49. ACM, 2008. [AGSS13] L. Arantes, F. Greve, P. Sens, and V. Simon. Eventual leader election in evolving mobile networks. In Principles of Distributed Systems, pages 23 37. Springer, 2013. [CHT96] T.D. Chandra, V. Hadzilacos, and S. Toueg. The weakest failure detector for solving consensus. JACM, 43(4) :685 722, 1996. [DGFG10] C. Delporte-Gallet, H. Fauconnier, and R. Guerraoui. Tight failure detection bounds on atomic object implementations. JACM, 57(4) :22, 2010. [MMR03] A. Mostefaoui, E. Mourgaya, and M. Raynal. Asynchronous implementation of failure detectors. In DSN 03, pages 351 351. IEEE, 2003.. De manière implicite des contraintes de tailles sont imposées aux différents paramètres : Q w /2 + 1 < α correct(f).