HAL Id: hal-00479860
https://hal.archives-ouvertes.fr/hal-00479860
Submitted on 3 May 2010
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished 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.
Communications Efficaces et Auto-Stabilisation
Stéphane Devismes, Toshimitsu Masuzawa, Sébastien Tixeuil
To cite this version:
Stéphane Devismes, Toshimitsu Masuzawa, Sébastien Tixeuil. Communications Efficaces et Auto-
Stabilisation. 12èmes Rencontres Francophones sur les Aspects Algorithmiques de Télécommunica-
tions (AlgoTel), May 2010, Belle-Dune, France. pp.id 19. �hal-00479860�
Auto-Stabilisation †
St´ephane Devismes 1 , Toshimitsu Masuzawa 2 et S´ebastien Tixeuil 3
1
VERIMAG UMR 5104, Universit´e Joseph Fourier, Grenoble I
2
Graduate School of Information Science and Technology, Osaka University, Japan
3
LIP6 UMR 7606, Universit´e Pierre et Marie Curie, Paris VI
Dans cet article, nous introduisons le concept d’efficacit´e des communications dans les algorithmes auto-stabilisants.
Nous d´efinissons plusieurs mesures permettant de juger de cette efficacit´e. Nous en ´etudions les limites. Enfin, nous illustrons notre approche en proposant deux algorithmes auto-stabilisants ayant de bonnes propri´et´es d’efficacit´e des communications.
Keywords: syst`emes distribu´es, auto-stabilisation, algorithme silencieux, communications efficaces
1 Introduction
L’auto-stabilisation [Dij74] est un paradigme g´en´eral permettant de concevoir des algorithmes distribu´es tol´erants aux fautes transitoires. Une faute transitoire est une panne non-d´efinitive qui alt`ere le contenu des composant du r´eseau (processus ou canal de communication) o `u elle se produit. En supposant que les fautes transitoires n’alt`erent pas le code de l’algorithme, un algorithme auto-stabilisant retrouve de lui-mˆeme et en un temps fini un comportement normal apr`es que les fautes transitoires ont cess´e. Le crit`ere principal permettant de juger de l’efficacit´e d’un algorithme auto-stabilisant est le temps de stabilisation, c’est-`a-dire, le temps maximal n´ecessaire `a l’algorithme pour retrouver un comportement correct apr`es que les fautes ont cess´e. Dans cet article, nous soutenons que ce crit`ere n’est pas suffisant. En effet, il ne permet pas, par exemple, d’´evaluer le surco ˆut occasionn´e par la propri´et´e d’auto-stabilisation : en l’absence de faute, un algorithme auto-stabilisant a un co ˆut g´en´eralement sup´erieur `a son ´equivalent non auto-stabilisant. Ce surco ˆut est observable `a la fois au niveau du temps d’ex´ecution, de l’occupation m´emoire, du nombre et de la taille des messages ´echang´es. Par exemple, la plupart des algorithmes auto-stabilisants n´ecessitent que tous les processus continuent `a envoyer r´eguli`erement des informations `a tous leurs voisins (heartbeat) apr`es que le syst`eme a stabilis´e.
Dans cet article, nous proposons d’´etudier comment r´eduire le surco ˆut en communication des algorithmes auto-stabilisants. Afin de d´etecter d’´eventuelles nouvelles fautes, tout algorithme auto-stabilisant n´ecessite que les processus continuent `a s’´echanger des informations apr`es que le syst`eme a converg´e. Nous propo- sons ici de r´eduire le nombre de voisins avec lesquels un processus continue `a ´echanger des informations une fois que l’algorithme auto-stabilisant a retrouv´e un comportement normal, on parlera alors d’efficacit´e des communications. Une notion d’efficacit´e en communication a d´ej`a ´et´e introduite pour des algorithmes tol´erants aux pannes d´efinitives : dans [LFA00], les auteurs proposent des algorithmes qui garantissent qu’un nombre global de liens de communication finissent par ne plus jamais ˆetre utilis´es. Ici, notre ap- proche est diff´erente. Nous souhaitons r´eduire le nombre de voisins avec lesquels chaque processus com- munique. Ainsi, (1) le nombre de liens de communication globalement utilis´e est r´eduit et (2) la charge des communication est r´epartie entre les diff´erents processus. Notre notion d’efficacit´e des communications est particuli`erement pertinente pour des algorithmes silencieux. De tels algorithmes convergent en un temps fini vers une configuration `a partir de laquelle les informations ´echang´ees entre voisins sont toujours les
†