1.
Algorithme de replacement du centre
d’un arbre de diffusion réduit
Dominique Grad, Thomas Noël, Jean-Jacques Pansiot
LSIIT UPRES-A No 7005
Université Louis Pasteur - Strasbourg
{grad, noel, pansiot}@dpt-info.u-strasbg.fr
http://dpt-info.u-strasbg.fr/~grad
Résumé : L’arbre de diffusion est la structure de communication adoptée dans les communications
multipoints. Dans le cadre de notre proposition LAR d’architecture de routage logique [PAN 98], nous
avons introduit la notion d’arbre réduit : arbre de diffusion centré, limité aux nœuds duplicateurs et aux
feuilles [GRA 96]. Nous présentons ici les propositions relatives à l’excentricité dans les arbres réduits,
puis nous exposons l’algorithme distribué de détermination du centre. Cet algorithme permet de replacer
périodiquement le ud centre d’un arbre de diffusion réduit. Ce mécanisme est particulièrement
important, puisqu’il permet une meilleure utilisation des ressources du réseau, le centre ayant un rôle
primordial de coordination dans notre architecture.
Mots-clés : Théorie des graphes, arbres de diffusion, algorithmique distribuée, centre et excentricité.
1. Contexte
L’arbre de diffusion a été adopté de longue date comme la structure de communication adéquate pour
une communication multipoint [WAL 80]. Dans un groupe dynamique, conforment au modèle de
groupe deférence [DEE 89], les membres récepteurs adhérent et se retirent en cours de
communication. Cest pourquoi la topologie de l’arbre et les caractéristiques telles que le diamètre ou
l’excentricité des nœuds évoluent en fonction de la constitution du groupe. Dans les propositions de
protocoles de routage, les candidats membres d’un groupe émettent leur requête d’adhésion à destination
d’un point de rendez-vous [EST 97] ou d’un centre [BAL 97]. La position de ce centre détermine ainsi
le point d’attachement de la branche ajoutée pour insérer le nouveau membre dans l’arbre. Une position
initiale arbitraire et statique du centre risque de conduire à une position fortement excentrée de ce nœud,
qui induit une dégradation des performances des mécanismes d’adhésion des protocoles de routage
multipoint.
La position du centre est un point crucial pour le routage multipoint et c’est pourquoi de nombreux
travaux ont été réalisés dans ce domaine : ils proposent un choix initial du centre ou le replacement en
cours de communication [CAL 95], ou encore des heuristiques de détermination d’un centre à partir de
la connaissance globale du groupe [THA 97] [WEI 97] et de la topologie du graphe sous-jacent
[FLE 95]. Notre heuristique consiste à définir simplement comme centre le nœud le moins excentré de
l’arbre, elle ne nécessite aucune connaissance globale de la constitution du groupe, ni de la topologie de
l’arbre ou du graphe. Nous proposons un algorithme distribué de détermination et de replacement du
centre sur des critères d’excentricité. Nous définissons l’excentricité d’un nœud, comme étant la
distance maximale en nombre de sauts au nœud le plus éloigné dans l’arbre. Le nœud d’excentricité
minimale, que nous appellerons le centre de l’arbre, est ainsi replacé en cours de communication, et les
insertions de nouveaux membres se font depuis ce nœud, induisant un meilleur équilibre de l’arbre.
2.
2. L’arbre réduit
Nous définissons ainsi les arbres réduits en adoptant les notations classiques de la théorie des graphes.
Soit un arbre T = ( V, E )V est l’ensemble des nœuds, et E V V l’ensemble des arêtes de cet
arbre. Nous identifions dans cet arbre, les trois classes disjointes de nœuds telles que V = R D M.
Soit R, l’ensemble des nœuds de degré 2 dans l’arbre, appelés nœuds relais, tels que R = { v V /
degT(v) = 2 }. Soit D l’ensemble des nœuds de degré supérieur à deux, appelés nœuds duplicateurs et
situés aux points d’embranchement de larbre, tels que D = { v V / degT(v) > 2 }. Soit M l’ensemble
des nœuds feuilles, que nous appelons nœuds membres, tels que M = { v V / degT(v) = 1 }. Un arbre
réduit est constitué de nœuds duplicateurs et de nœuds membres (en excluant les nœuds relais). A un
arbre quelconque T = ( V, E ), V = R D M, on associe un arbre réduit Tr = ( Vr, Er) tel que Vr = D
M, et ( v, w ) Er si et seulement si il existe un chemin v, u1, u2,...un, w dans T avec ui R. Autrement
dit, un chemin composé de nœuds relais de T est remplacé par une arête de Tr dite arête logique.
En figure 1, on peut voir l’exemple d’une arbre réduit compo de 2 nœuds duplicateurs et 5 nœuds
membres et nous présentons le replacement du centre C en C’. Les insertions ultérieures dans l’arbre se
feront en direction de C’, l’arbre bénéficiant d’un meilleur équilibre.
3. Centre et excentricité
Soit u un noeud quelconque d’un arbre réduit T = (V, E). Nous évaluons le centre, le diamètre et le
rayon d’un arbre T, notés respectivement CentreT, DiamT , RayonT. On suppose connue en chaque
ud u, la distance en nombre de sauts à un nœud quelconque v, notée dist(u, v). Chaque nœud
maintient la liste de ses voisins notée voisinsT( u ), et pour chaque arête logique de T incidente à u, on
suppose connue la distance au noeud le plus éloigné via cette arête. Soit dmT(u,v) la longueur du plus
long chemin commençant par l’arête (u, v). L’excentricité notée DT( u ) est la distance au noeud le plus
éloigné de u dans l’arbre :
DT( u ) = max( dmT( u , v ) ) pour v voisinsT( u ) (0 si u n’a pas de voisin).
Soit vm(u), un voisin par lequel est obtenu DT( u ) :
vm(u) voisinsT( u ) t.q. DT( u ) = dmT( u , vm(u) )
En chaque noeud u non feuille, on détermine également un voisin vb(u) par lequel on obtient la distance
maximale immédiatement inférieure ou égale à l’excentricité. Nous appelons cette distance l’excentricité
secondaire de u notée DbisT (u):
DbisT( u ) = max( dmT( u , v ) ) pour v { voisinsT( u ) \ vm(u) }
vb(u) voisinsT( u ), vb(u) vm(u), t.q. DbisT( u ) = dmT( u , vb(u) )
C’
Excentricité de C’ = 5
<
Excentricité de C = 7
Replacement du centre
C C’
C
Figure 1 : Replacement du centre d’un arbre réduit
3.
A noter que pour un noeud u, feuille de l’arbre T, tel que degT(u) = 1, on a
voisinsT( u ) = { v } DT( u ) = dmT( u , v ) , vm(u) = v, DbisT( u ) = 0
Proposition 1 : Si il existe dans un arbre T un noeud u ayant une excentricité égale à son excentricité
secondaire, alors u est précisément le centre unique de l’arbre T, le rayon de T est égal à DT( u), et le
diatre de T est égal à 2 * DT( u).
u V t.q. DT( u) - DbisT( u ) = 0 a) CentreT = { u }
b) RayonT = DT( u )
c) DiamT = 2*DT( u )
DT(u)
d=distT (u,vm(u))
uVm(u)
DbisT (u)+d
Sous - arbre
Tw
Sous - arbre
Tw’
Figure 2 : Estimation au noeud centre
Proposition 2 : Si il existe dans un arbre réduit T un noeud u tel que
DT(u) - DbisT (u) = 2 * distT( u, vm(u))
alors le centre unique est vm(u).
Proposition 3 : Si il existe dans un arbre T un noeud u tel que
DT(u) - DbisT (u) ] 0 , 2 * distT( u, vm(u)) [,
alors les centres sont les noeuds u et vm(u), et le diamètre est égal à DT(u) + DbisT (u).
u V t.q. DT( u) - DbisT( u ) ] 0 , 2 * distT ( u, vm(u)) [
a) CentreT = { u , vm(u) }
b) DiamT = DT(u) + DbisT( u )
Proposition 4 : Si il existe dans un arbre T un noeud u tel que DT(u) - DbisT (u) > 2 * distT( u, vm(u))
alors le centre unique est sit« après » vm(u). En d’autres termes, le voisin menant au centre est
identifié, mais la localisation exacte du centre n’est pas possible en u. De plus, on n’a qu’une estimation
du diamètre de l’arbre y comme :
DT( u ) + DbisT( u ) DiamT 2 * ( DT( u ) -distT( u, vm(u)) )
Les propositions précédentes ont été démontrées dans [GRA 99]. En Figure 3, on peut voir une synthèse
de l’estimation du centre et du diamètre d’un arbre réduit T en un noeud u quelconque, par évaluation de
la différence DT( u ) - DbisT( u ).
4.
02 * distT ( u ,vm(u))
centreT = { u , vm(u) }
centre ={vm(u)}
centreT = { u }
« après »
DT(u) - DbisT(u) =
Figure 3 : Estimation du centre d’un arbre réduit
4. Algorithme de détermination du centre
Nous exposons le calcul distribué permettant à partir des résultats prédents, determiner le centre et
le diamètre d’un arbre duit. Nous supposons une instance de l’algorithme pour une arbre T donné (qui
ne sera donc pas répété dans la notation suivante), exécutée en un nœud noté IdMoi. La table de routage
indiquant en chaque nœud, la distance à tout autre est notée dist(IdNoeud). Chaque nœud de l’arbre
maintient la liste des voisins dans l’arbre, notée listeVoisins, et pour chaque arête incidente, la distance
au noeud le plus éloigné dans l’arbre notée IdVoisin.dist. Soit Dist l’excentricité d’un processus, DistBis
l’excentricité secondaire, et le noeud par lequel on obtient la distance maximale sera noté IdVmax.
Chaque nœud transmet périodiquement à ses voisins dans l’arbre réduit, un message LAR_HELLO,
indiquant le maximum des distances obtenues par tous ses autres voisins. A noter, que ces messages
sont nécessaires à la maintenance de l’arbre réduit dans notre architecture LAR, notre canisme de
détermination du centre ne nécessitant donc pas d ‘émission de messages de contrôle supplémentaires. A
réception de ce message, un nœud met à jour la distance maximale pour un voisin, en additionnant la
distance reçue à la distance le séparant de ce voisin, puis recalcule Dist, DistBis et IdVmax. En cas de
modification de son excentricité, le nœud propage alors les nouvelles distances à ses voisins. Soit
l’algorithme de réception des messages propageant les informations d’excentricité :
// Traitement des messages LAR_HELLO avec mise à jour de Dist, IdVmax et DistBis
A réception de LAR_HELLO, distance depuis IdVoisin
SI IdVoisin listeVoisins ALORS
Erreur « Voisin inexisitant »
SINON
Réinitialiser IdVoisin.timer
// Mise à jour de la distance
IdVoisin.dist = distance + dist(IdVoisin)
SI IdVoisin.dist Dist ALORS
// Mise à jour de la distance maximale
Dist = IdVoisin.dist
IdVmax = IdVoisin
// Emission de LAR_HELLO, Dist à tous les voisins sauf Vmax
SINON
SI IdVoisin.dist DistBis ALORS
// Mise à jour de la distance secondaire
DistBis = IdVoisin.dist
// Emission de LAR_HELLO, DistBis à Vmax
FINSI
FINSI
FINSI
FIN
Notre algorithme nécessite l’émission d’un message sur chaque arête logique pour la propagation des
distances maximales, sa complexité en nombre de messages est donc en O(M + D), M est le nombre
de nœuds membres de l’arbre et D le nombre de nœuds duplicateurs. Il est à noter que notre algorithme
ne requiert pas d’émissions spécifiques, puisque la maintenance d’un arbre réduit est assurée par une
signalisationriodique entre les nœuds voisins de l’arbre (LAR_HELLO). Le centre, par une
5.
évaluation périodique des caractéristiques Dist et DistBis, estime son excentricité dans l’arbre réduit.
Lorsque la différence Dist-DistBis dépasse un certain seuil, il déclenche l’opération de replacement du
centre par la diffusion d’un message à tous les nœuds de l’arbre réduit. A réception d’un tel message
Chaque nœud ecute alors l’algorithme qui suppose que les données de distance sont consistantes.
Chaque nœud maintient l’identi du centre courant noe centre et l’identité du voisin dans l’arbre
menant au centre (voisin de l’arête logique père) notée père. Soit l’algorithme de détermination du
nouveau centre de l’arbre réduit :
// Traitement du replacement du centre en IdMoi
// Nous supposons que Dist, DistBis, et IdVmax sont mis à jour
// Au moment du délenchement de l’opération
SI Dist = DistBis ALORS
// Diffusion son identité dans l’arbre
centre = IdMoi
SINON
SI IDist - DistBis < dist(IdVmax) ALORS
SI IdMoi > IdVmax ALORS
// Arbitrage sur l’identité la plus grande
centre = IdMoi
SINON
centre =IdVmax
père = IdVmax
FINSI
SINON
// Attente de la publication de l’identité du nouveau centre
père = IdVmax
FINSI
FINSI
FIN
Dans notre algorithme, nous partons de l’hypothèse que les informations maintenues par chaque
processus sont consistantes, que les routes sont stables et les routes symétriques, afin que la distance
séparant deux nœuds soit estimée de manière équivalente par les deux nœuds. Dans le cas courant de
fréquentes reconfigurations du routage ou de routes non symétriques, on peut imaginer une variante de
l’algorithme levant cette hypothèse. Le centre ayant déclenché son replacement, collecte les
caractéristiques des nœuds candidats potentiels par une vague aller-retour dans l’arbre, procède à
l’élection d’un nouveau centre et propage dans l’arbre l’identité de ce nouveau centre. A l’annonce du
résultat de cette élection, chaque nœud de l’arbre met à jour ses données (arête père et identité du
centre).
Conclusion
Nous avons proposé un algorithme de replacement du centre d’un arbre de diffusion réduit, qui nous
permet de conserver les propriétés initiales de notre arbre, en cas de multiples adhésions/retraits en
cours d’une communication multipoint. Nous avons pu mesurer l’économie importante en ressources du
réseau apportée par notre solution dans le cas d’un arbre de diffusion centré où un nombre important de
messages convergent vers le centre. Dans le cadre de simulations, nous avons confronté notre solution
aux approches classiques, dans lesquelles le centre est choisi à priori en début de communication et
subsiste quel que soit l’évolution de la topologie de l’arbre de diffusion. Dans le cadre du développement
de notre proposition d’architecture sur une plate-forme IPv6, nous allons mettre en œuvre les
canismes de replacement du centre, afin de les valider dans une implémentation réelle.
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !