• Aucun résultat trouvé

3.3 La diusion sans fonction de routage imposée dans le modèle k et  ports

3.3.8 L'hypercube dans le modèle F 



La diusion d'un petit message dans l'hypercube paraît être un problème dicile si l'on cherche un protocole optimal en nombre d'étapes. Pour cette raison et comme nous le verrons dans cette section, souvent les auteurs ne considère pas la longueur des chemins, car cela conduirait à aboutir à un problème encore plus ardu. Le coût de la diusion, dans l'hypercube de dimension n, est donc réduit ici à bR?

F(H(n)) = b (H(n)) +b(H(n))L. Les deux premiers protocoles que

nous proposons utilisent le mode classique de commutation de messages.

i) Algorithme de l'arbre binômial recouvrant

Une première idée est d'avoir recours à un arbre de recouvrement binômial et de diuser le message sur les n ports de sortie. Cependant, cet algorithme, nommé SBT pour Spanning Binômial Tree (Cf. section 3.4.3), se révèle ne pas être une bonne approche comme l'illustre la gure 3.12. Certes, certains sommets vont recevoir le message plus tôt que dans la version 1-port (voir gure 3.20), mais le nombre d'étapes sera toujoursn.

0101 1111 0111 1011 0011 1101 1001 0110 1110 1010 1100 1000 0100 0010 0001 0000 [1] [2] [3] [4] [3] [3] [3] [2] [2] [2] [2] [2] [1] [1] [1]

Fig.3.12  : Algorithme de diusion SBT dans le modeF

 sur un hypercube H (4).

Ainsi, la complexité de cet algorithme est identique à celle du mode F1 pré-

senté en section 3.4.3.

ii) Algorithme de l'arbre double

McKinley et Tretz [19] ont modié légèrement l'algorithme SBT et ont pro- posé un algorithme nomméDT (Double Tree) an d'améliorer le nombre d'étapes. L'idée est d'eectuer, cette fois-ci, la diusion le long de deux arbres de recou- vrement dont les sources sont respectivement s et s.

Dans cet algorithme, le sommet émetteur, notés, eectue la première étape de l'algorithme SBT en mode  ports, sauf que le message envoyé dans la dimension 1, n'est pas à destination du voisin de s dans cette dimension, mais au sommet qui lui est antipodal (i.e. s). Ensuite, les deux sommets s et s se comportent comme les racines de deux arbres couvrants partiels. Dans le premier arbre, le routage s'eectue en changeant les 0 en 1, et dans le second arbre, le routage

76

s'eectue en changeant les 1 en 0. Un exemple de diusion dans H(5) est illustré par la gure 3.13. 01010 00011 01111 01101 01011 01001 00111 01000 00001 00010 00101 00110 10011 10010 11111 11110 11100 10101 10100 00100 11011 11101 01100 10110 11001 10111 11000 10000 11010 10001 01110 00000 01111 01101 01011 00111 00001 00010 00101 00110 10011 10010 11111 11110 11100 10101 10100 00100 11101 10110 11001 10111 10000 10001 00000 00011 01010 11010 01100 01110 01000 01001 11011 11000 Etape 1 Etape 2 Etape 3

Fig.3.13  : Algorithme DT dans l'hypercubeH(5).

En appliquant cet algorithme on obtientbR ? F(H(n))  +D+L+ jn 1 2 k ( + +L), soit: bR ? F(H(n)) b b b=L llog 2N 2 m 3 2D b

Cet algorithme est n'est pas optimal en nombre d'étapes.

iii) Protocole utilisant des sous hypercubes disjoints

Le principe de cet algorithme, qui se trouve aussi dans [18], a été donné par Perennes (communication privée) et est à la base de l'article de Ho et Kao [17] qui ont obtenu des résultats similaires de façon indépendante (Cf. section 3.5.3-i). Il construit l'ensemble St+1 à partir de St de manière récursive.

On essaie de partitionner l'hypercube H(n) end+1 sous hypercubes (deux à deux sommets disjoints)H0;H1;;Hd, de sorte que le sommet initiateur envoie

son message à un représentant de chaque sous hypercube selon des chemins deux à deux arc-disjoints. A l'étape suivante, on diuse en parallèle dans chacun des sous hypercubes et on obtient la relation suivante:

b (H(n)) = 1 + maxb (Hi):

L'idée est de choisir les dimensions des sous-hypercubes Hi de sorte que le

77 est ni, on a Pdi=02ni = 2n. Le meilleur choix consiste à prendre tous les n

i égaux

ou quasi égaux, c'est-à-dire ni = m, pour tout i, 0  i  d, ou ni = m ou

m+ 1 pour tout i. Ceci implique (d+ 1)2m  2n et (d+ 1)2m+1 > 2n d'où

m=n blog2(d+ 1)c.

On doit donc choisir d le plus grand possible. Les chemins entre le sommet initiateur et les représentants desd+1 sous hypercubes doivent être deux à deux arc-disjoints. On peut choisir le sommet initiateur comme représentant du sous hypercube auquel il appartient. Comme le degré de H(n) est n, on pourra au plus trouver n autres chemins arc-disjoints et donc d+ 1  n + 1 soit d  n.

On est donc amené à décomposer, si possible, H(n) en n+ 1 sous hypercubes de dimension m oum+ 1 avecm =n blog2(n+ 1)c.

De telles décompositions existent en grand nombre. Une fois la décomposi- tion trouvée, soit H0 le sous hypercube contenant l'initiateur. On peut choisir

n'importe quel sommetxi comme représentant de Hi. En eet, l'hypercube étant

n-connexe, il existe n chemins deux à deux sommet (et donc arc)-disjoints entre l'émetteur et lesxi, 1 in.

Pour la décomposition, une manière simple est de prendre comme sous hyper- cubes de dimensionn m (resp.n m+1) celui contenant les sommets ayantm

(resp. m+ 1) coordonnées xées. Deux tels sous hypercubes sont disjoints si les valeurs xées ne sont pas identiques. Par exemple, sin= 2k 1, alorsn k=m.

On peut considérer les 2k possibilités obtenues en xant lesk premières coordon-

nées (voir exemple avec n= 7). Si 2k 1< n <2k+1 1, on a m =n k et on

xe les k premières coordonnées pour 2k+1 n 1 sous hypercubes et les k+ 1

premières pour les autres (voir l'exemple ci-dessous pour n= 5).

Exemple. Exemples de décomposition. Les huit sous hypercubes (de dimension 4) pour n = 7 et les six sous hypercubes (deux de dimension 4 et quatre de dimension 3) pour n= 5. 0002222 0012222 0102222 0112222 1002222 1012222 1102222 1112222 00222 01222 10022 10122 11022 11122

Une autre manière consiste à procéder par récurrence.

78

catégories: ceux dont la dernière coordonnée vaut 0 et lesk 1 autres coordonnées xées sont choisies parmi les dimensions 1;2;;2k 1 1 et ceux dont la dernière

coordonnée vaut 1 et les k 1 autres coordonnées xées sont choisies parmi 2k 1;2k 1+2;;2k 1. On répète le processusk fois (voir l'exemple ci-dessous).

Exemple. Exemples de décomposition avec n= 3 et n= 7. 020 H0 120 H1 211 H2 201 H3 0202220 H0 1202220 H1 2112220 H2 2012220 H3 2221201 H4 2222111 H5 2222011 H6 2220201 H7

Nous verrons dans la section3.5.3-i que cette méthode à l'avantage de pouvoir réaliser les étapes de communications le long de chemins arc-disjoints en utilisant une fonction de routage classique de l'hypercube.

En résumé, nous avons:

Théorème 3.3.10



b (H(n))b (H(n log2(n+ 1))) + 1

Une application répétée de ce théorème fournit un protocole asymptotiquement optimal. bR? F(H(n)) b (H(n))  n log2(n+1)  = log+1N

Sans fonction de routage imposée, on peut eectuer la diusion en deux étapes sur H(5), ce qui est optimal.

79

Preuve. L'idée est de choisir 5 sommets relativement éloignés comme ensemble S1 pour que la

diusion s'eectue approximative- ment entre des sommets voisins à la deuxième étape.

Les 5 sommets choisis pour S1 sont

00111, 10101, 01110, 11011 et 11100. Il est aisé de trouver des chemins disjoints pour cette étape. Ensuite, comme le montre la gure 3.14, ces sommets diusent le message à tous les sommets non informés selon des chemins de longueur 1 excepté dans quatre cas où l'on a besoin de che- mins de longueur 2 ou 3. 2 01011 01001 00111 01000 00010 00101 00110 11110 11100 10101 10100 11101 10110 11000 11111 00100 10000 00000 00001 00011 01010 01111 01110 01100 01101 11010 10010 10011 10001 10111 11001 11011

Fig.3.14  : Diusion dans le mode F  surH

(5).

Remarque. La valeur obtenue pour H(5) permet d'améliorer d'autres valeurs par le théorème 3.3.10 comme par exemple n= 8 pour lequel b (H(8)) = 3.

iv) Protocole basé sur les codes

Ce protocole est présenté dans la thèse de Kodate [18]. Il utilise pour n = 2m 1 l'existence de codes linéaires cycliques très particuliers. Ainsi, l'ensemble

St 1 correspond à l'existence de codes parfaits de Hamming (Cf. [23]). En eet,

un sommet de l'hypercube peut être considéré comme un mot binaire d'un code, la distance dans l'hypercube correspond à la distance de Hamming entre 2 mots du code.

v) Résumé des résultats sur l'hypercube

Le tableau suivant montre la borne inférieure et les nombres d'étapes néces- saires avec diérents algorithmes proposés.MT désigne l'algorithme de McKinley et Tretz (section 3.3.8-ii),HK celui de Ho et Kao (Cf. section 3.5.3-i),HK0 ce-

lui présenté en section 3.3.8-iii et Codes celui obtenu par l'utilisation de codes correcteurs d'erreur et présenté en section 3.3.8-iv.