• Aucun résultat trouvé

4.4 Diffusion restreinte

4.4.1 Position du probl` eme

Nous nous int´eressons ici au probl`eme de la diffusion partielle d’une s´erie messages d’un processeurPsource`a un sous-ensembleVciblesde processeurs de la plate-forme. Nous avons vu dans le chapitre pr´ec´edent que nous n’´etions pas capable de trouver un ordonnancement optimal pour le d´ebit en utilisant la m´ethode de l’ellipso¨ıde : nous ´etions amen´es `a rechercher un arbre dirig´e couvrantVcibles, de poids minimal, ce qui est un probl`eme difficile (probl`eme de Steiner [65]).

Mˆeme si ce probl`eme est tr`es semblable `a celui de la diffusion pour lequel nous avons pu trouver une m´ethode de r´esolution efficace pour le cas du mod`ele un-port bidirectionnel (voir partie 4.2), l`a encore nous allons voir que la diffusion restreinte est plus difficile, puisque nous montrerons que trouver le meilleur d´ebit est un probl`eme NP-complet.

Avant de pr´esenter ce r´esultat, nous examinons sur un petit exemple pourquoi l’approche d´evelopp´e pour la diffusion est inapplicable ici. Nous pouvons en effet ´ecrire un programme lin´eaire tr`es semblable `a ce que nous avons fait pour la diffusion. Comme pour la diffusion, nous consid´erons le nombre de message communiqu´es sur l’arˆete (i, j) pendant une unit´e de temps,

`

a destination de Pk ∈ Vcibles, quantit´e qu’on note send(Pi →Pj, mk). La seule diff´erence est que cette quantit´e n’existe que pourPk∈Vcibles et non pour tout nœud de la plate-forme. Les send(Pi→Pj, mk) d´efinissent un flot entrePsource etPk. Comme pr´ec´edemment, nous posons

∀(i, j)∈E, s(Pi→Pj) = max

Pk∈Vcibles

{send(Pi→Pj, mk)}.

et nous supposons que tous les messages communiqu´es sur l’arˆete (i, j) sont un sous-ensemble des messages `a destination de Pk0, tel que send(Pi→Pj, mk0) = maxk {send(Pi →Pj, mk)}.

Nous obtenons donc le programme lin´eaire suivant, qui, comme pour la diffusion, d´efinit une

borne sup´erieure sur le d´ebit d’une diffusion restreinte : Th´eor`eme 4.9. Le programme lin´eaire 4.8 donne une borne sup´erieure pour le d´ebit d’un ordonnancement r´ealisant une s´erie d’op´erations de diffusion restreinte depuisPsourceversVcibles.

La preuve de ce r´esultat est tr`es semblable `a celle fournie pour la diffusion de donn´ees.

Consid´erons la plate-forme illustr´ee sur la figure 4.9(a), o`u les arˆetes sont ´etiquet´ees par le coˆut de transmission d’un message. Il y a deux destinations `a la diffusion : Vcibles = {P5, P6}.

Une solution optimale du programme lin´eaire pr´ec´edent est illustr´ee dans les figures suivantes : la figure 4.9(b) repr´esente les quantit´es de messages `a destination du processeur P5, donc la valeur desend(Pi→Pj, m5) sur chaque arˆete (i, j) et la figure 4.9(c)repr´esente les quantit´es de messages `a destination de P6. D’apr`es ces figures, on peut atteindre un d´ebit d’un message par unit´e de temps. Sur l’arˆete (P3, P4), au maximum 1/2 message est transmis, et commec3,4 = 2, le port de communication en sortie de P3 (comme le port en entr´ee de P4) est utilis´e `a plein temps.

On tente maintenant de reconstruire une solution fond´ee sur ces quantit´es. Pour obtenir un d´ebit de 1 message par unit´e de temps en direction de P5, on voit sur la figure 4.9(b) que le message doit ˆetre d´ecoup´e en deux parties, l’une passant par la route P0 →P1 →P5, l’autre par la route P0 → P2 → P3 → P4 → P5. On peut faire le mˆeme raisonnement pour la destination P6. On appelleala partie du message que la source envoie `a P1 etbla partie ´emise versP2. En utilisant les routes pr´ec´edentes, il faudrait utiliser la structure illustr´ee par la figure4.9(d)pour reconstruire une solution, ce qui implique que le lien (P3, P4) doit transporter les deux parties du messages. Ceci n’est pas possible en temps 1 `a cause du coˆut de communication sur ce lien.

On voit sur cet exemple qu’il n’est pas toujours possible de reconstruire un ensemble d’arbres de r´eduction convenables `a partir d’une solution du programme lin´eaire. La diff´erence avec le cas de la diffusion vient du fait qu’il n’existe pas d’´equivalent du th´eor`eme de d´ecomposition en arbres4.5pour des arbres couvrants uniquement un sous-ensemble de sommets dans le graphe.

P0

(a) Topologie, les processeurs cibles sont gris´es.

P0

(b) Nombre de messages transf´er´es sur chaque arˆete `a destination deP5.

(c) Nombre de messages transf´er´es sur chaque arˆete `a destination deP6.

(d) Un conflit apparaˆıt lorsqu’on tente de re-construire la solution.

Fig. 4.9 – Probl`eme pour la diffusion restreinte.

Remarque Un lecteur attentif et rompu aux techniques de Network Coding pourrait faire remarquer qu’une simple combinaison permet d’obtenir le d´ebit optimal sur l’exemple pr´ec´ e-dent : si le processeur P3, recevant les deux parties du messages a et b, calcule et envoie `a P4

la valeur (aXORb), le processeur P4 peut transmettre cette valeur `aP5 etP6. Chacune de ces destinations, poss´edant alors soit a et (a XOR b), soit b et (a XORb), peut reconstituer l’in-t´egralit´e du message. On obtient bien le d´ebit d’un message diffus´e toutes les unit´es de temps, comme calcul´e par le programme lin´eaire.

Ahlswede [2], puis Koetter [61] ont montr´e que ce r´esultat ´etait g´en´eral : dans tout graphe, il existe un codage qui permet d’atteindre le flot maximal pour tout couple (source, destination).

Cependant, ces consid´erations sortent du domaine de cette th`ese : nous nous restreignons, pour l’´etude de la diffusion restreinte, `a ne pas utiliser de codage. En effet, les codages propos´es par ces ´etudes et les algorithmes qui calculent ces codages pour un graphe de communication g´en´ e-ral sont d’une grande complexit´e. On pourrait aussi utiliser des combinaisons al´eatoires, comme propos´e dans le protocole de diffusion de fichiers en pair-`a-pair Avalanche [54], cependant dans ce cas, tous les nœuds cibles doivent effectuer l’inversion d’une matrice de grande taille pour reconstituer les messages initiaux, qu’elle que soit leur vitesse de calcul. Il nous semble impor-tant, pour une primitive de communication collective a priori sans calcul, de ne pas proposer des algorithmes n´ecessitant des calculs de grande taille. Dans notre contexte, il faudrait en outre que les nœuds qui ne sont pas des destinations de la diffusion participent aux calculs en cr´eant des combinaisons, ce qui nous semble encore plus d´elicat `a justifier. Dans la suite, nous nous consid´ererons donc le probl`eme de la diffusion restreinte sans calculs ou combinaisons de messages, et nous r´eservons l’utilisation des techniques de Network Coding `a de futurs travaux.