• Aucun résultat trouvé

4.4 Diffusion restreinte

4.4.2 Preuve de complexit´ e

D’apr`es le th´eor`eme 3.9, r´esoudre le probl`eme de la diffusion sous le mod`ele un-port bidi-rectionnel revient `a trouver un ensemble d’arbres Aa de diffusion restreinte pond´er´es par leur d´ebit xa, qui atteignent le d´ebit optimal du programme lin´eaire3.10 :

Maximiser ρopt=P

De plus, d’apr`es le th´eor`eme 3.1, on sait qu’on peut se restreindre `a ´etudier les solutions compos´ees uniquement d’un petitnombre d’arbres de diffusion. On peut donc d´efinir le pro-bl`eme de la diffusion restreinte en se basant sur le probl`eme DEC-PROG-LIN, comme suit. On rappelle qu’un notantci,j = αβi,j

i,j sous forme irr´eductible, on a not´e cmax= maxi,ji,j, βi,j}.

D´efinition 4.1 (DIFFUSION-RESTREINTE-COMPACTE). Etant donn´´ e une plate-forme G= (V, E), un processeur source, un ensemble de destinations Vcibles et une borne K sur le d´ e-bit, existe-t-il un ensemble pond´er´e d’arbres de diffusion (couvrantVcibles)(A1, x1), . . . ,(AN, xN)

Le th´eor`eme suivant, qui s’appuie sur l’´etude th´eorique du chapitre pr´ec´edent, montre que la formulation compacte ci-dessus est suffisante pour le probl`eme d’optimisation du d´ebit de la diffusion restreinte :

Th´eor`eme 4.10. Etant donn´´ e une plate-forme G= (V, E), un processeur source, un ensemble de destinations Vcibles et une borne K sur le d´ebit, s’il existe un ordonnancement (quelconque) des communications r´ealisant la diffusion restreinte d’une s´erie de N messages en tempsT(N) avec

lim sup N

T(N) >K,

alors il existe une solution `a DIFFUSION-RESTREINTE-COMPACTE(V, E, Psource, Vcibles, K).

D´emonstration. On consid`ere un ordonnancement quelconque pour qui r´ealise une s´erie de N diffusions restreintes en temps T(N). Tout d’abord, nous allons le d´ecrire sous la forme de sch´emas d’allocation et de sch´emas de communication. On consid`ere la diffusion duk`ememessage

de la s´erie dans cet ordonnancement. Supposons que le processeurPire¸coive deux fois ce message.

Alors on peut supprimer la deuxi`eme r´eception de ce message de l’ordonnancement, sans changer ni son temps d’ex´ecution ni sa validit´e. Donc les arˆetes sur lequel lek`eme message de la s´erie est diffus´ee forment un arbre enracin´e enPsource. Comme il en est de mˆeme pour tous les messages de la s´erie, et que certains de ces messages empruntent le mˆeme arbre, on notena(N) le nombre de messages parmi les N premiers messages de la s´erie, diffus´es en utilisant l’arbre Aa ∈ A.

De plus, nous appelonsTi,j(N) le temps total d’utilisation de l’arˆete (i, j) pour les N premiers messages de la s´erie.

Les contraintes suivantes doivent ˆetre respect´ees parni(N) et Ti,j(N).

– Le temps d’occupation des arˆetes doit ˆetre suffisant pour permettre l’envoi des messages pour tous les arbres de diffusion :

∀(i, j)∈E, X

Aa∈A (i,j)∈Aa

na(N)·ci,j 6Ti,j(N)

– Le temps d’occupation d’un port de sortie d’un processeur doit ˆetre inf´erieur au temps total de l’ordonnancement :

∀Pi∈V, X

(i,j)∈E

Ti,j(N)6T(N) – Il en va de mˆeme pour le port d’entr´e d’un processeur :

∀Pi ∈V, X

(j,i)∈E

Tj,i(N)6T(N) – De plus, ces quantit´es sont positives :

∀Aa∈ A, na(N)>0 On pose

xa= na(N)

T(N) etTi,j = Ti,j(N) T(N)

Ces quantit´es d´efinissent une solution valide (mais pas n´ecessairement optimale) du programme lin´eaire4.9, qui atteint la valeur objective suivante :

X

Aa∈A

xa = X

Aa∈A

na(N)

T(N) = N T(N).

Soit ρopt la valeur objective optimale du programme lin´eaire4.9. On a donc T(NN )opt, et ce pour toute valeur de N. Donc lim supTN(N)opt. Comme lim supTN(N) >K, on aK 6ρopt.

Il existe une solution programme lin´eaire qui r´ealise un d´ebit ρopt > K. D’apr`es le th´ eo-r`eme 3.1, on sait qu’il existe une solution compacte qui r´ealise un d´ebit sup´erieur `a K, c’est-` a-dire un ensemble pond´er´e d’arbre (A1, x1), . . . ,(AN, xN), avec

– N 6|E|,

– log(ai) + log(bi)62n(logn+ 2nlogcmax) +nlogcmax (en notantxi= abi

i), – P

ixi >K

Cet ensemble pond´er´e d’arbres (A1, x1), . . . ,(AN, xN) est une solution `a

DIFFUSION-RESTREINTE-COMPACTE(V,E,Psource,Vcibles,K).

Maintenant que nous avons d´efini de fa¸con compacte le probl`eme de la diffusion restreinte et que nous l’avons li´e au probl`eme g´en´eral, nous nous int´eressons `a sa complexit´e.

Th´eor`eme 4.11. DIFFUSION-RESTREINTE-COMPACTE(V,E,Psource,Vcibles,K) est NP-complet et n’appartient pas `a la classe APX.

D´emonstration. La preuve que DIFFUSION-RESTREINTE-COMPACTE est dans NP est une adaptation directe de la preuve que nous avons donn´e pour DEC-PROG-LIN-RED dans le th´eor`eme 3.1au d´ebut du chapitre pr´ec´edent.

Pour montrer que DIFFUSION-RESTREINTE-COMPACTE est NP-complet, nous utili-sons une r´eduction depuis le probl`eme de la couverture minimale de sommets, connu pour ˆetre NP-complet [51, probl`eme MINIMUM-SET-COVER]. On consid`ere une instance arbitraire I1 de ce probl`eme :

I1 : Soit C une collection de sous-ensembles d’un ensemble finiX de N ´el´ements et soit B un entier telle que 1 6B 6 |C|. existe-t-il dans C une couverture de X de taille au plus B? En d’autre termes, existe-t-il un sous-ensemble C0 de C de cardinal au plus B et tel que tout

´

Fig. 4.10 – L’instance I2 de DIFFUSION-RESTREINTE-COMPACTE construite `a par-tir de l’instance I1 suivante de MINIMUM-SET-COVER : X = {X1, . . . , X8}, C = {{X1, X2, X3, X4},{X3, X4, X5},{X4, X5, X6},{X5, X6, X6, X8}}.

En partant de I1, nous construisons l’instance suivanteI2 de DIFFUSION-RESTREINTE-COMPACTE. Le graphe de la plate-forme (voir figure 4.10) est compos´e de :

– un processeur source Psource,

– |C|processeursCi (16i6|C|), un pour chaque ´el´ement dans C,

– N processeurs Xi (16i6N), un pour chaque ´el´ement dans X, ce sont les destinations de la diffusion (Xi∈Vcibles).

Psourceest reli´e `a chaqueCi par une arˆete de coˆut 1/B. Un processeurCi est reli´e `a un processeur Xj par une arˆete de coˆut 1/N, si et seulement si Xj ∈Ci. Ce sch´ema risque de ne pas ˆetre un arbre, si unXj appartient `a plusieursCi deC0. On ajoute donc une arˆete (Ci, Xj) pourCi∈C0 et Xj, seulement s’il n’existe pas Ci0 ∈ C0 avec i0 < i et Xj ∈ Ci0. Enfin, on pose K = 1. La taille de I2 est clairement polynomiale en la taille de I1. Nous montrons queI2 a une solution si et seulement si I2 en admet une.

– Supposons que I1 ait une solution. Il existe donc une couverture C0 de X, de cardinal au plus B. Nous construisons un unique arbre de diffusion A comme ceci : pour toutCi

dans la couverture C0, nous ajoutons les arˆetes (Psource, Pi) et toutes les arˆetes (Pi, Pj) (pourXj ∈Ci) `a l’arbre A. Pour utiliser cet arbre,Psource doit envoyer|C0|6B messages sur des liens de communication de coˆut 1/B, ce qui prend moins d’une unit´e de temps.

Chaque processeurCi dansC0 re¸coit un message (en temps 1/B) et doit le transmettre `a

|Ci|6 N processeurs, en utilisant des liens de coˆut 1/N. Toutes les temps d’occupation des ports d’entr´ee et de sortie des processeurs sont donc inf´erieurs `a une unit´e de temps.

De plus, comme C0 est une couverture des Xj, tous les Xj re¸coivent le message d’un Ci ∈C0. On a donc construit un arbre de diffusion partielle de d´ebit sup´erieur `aB = 1 ; I2 admet une solution.

– Supposons maintenant queI2ait une solution. Il existe donc un ensemble pond´er´e d’arbres (A1, x1), . . . ,(AN, xN) r´ealisant un d´ebit sup´erieur `a 1, c’est-`a-dire avec P

ixi > 1. On note δi le degr´e sortant Psource dans l’arbre Ai, c’est-`a-dire le nombre de processeurs Ci

servant de relais dans l’arbre Ai. Pour effectuer toutes les communications sortant de Psource pour l’arbre Ai, il fautxi·δi/B. Pour que toutes les communications de l’ensemble d’arbres puisse se faire en une unit´e de temps, on a :

X

i

xi·δi

B 61 (4.10)

On noteδimin = miniδi. Par l’absurde, supposons que δimin> B, on a alors X

i

xi·δi B >X

i

xi·δimin B >X

i

xi >1 (4.11)

ce qui contredit l’´equation pr´ec´edente. Donc il existe un arbre de diffusionAimin qui utilise au plusB ´el´ementsCi comme relais. Comme Aimin est un arbre de diffusion restreinte, il couvre tous les ´el´ementsXj. On noteC0 l’ensemble des ´el´ementsCi utilis´es par cet arbre.

C0 est une couverture deX de cardinal au plusB, doncI1 admet une solution.

Nous montrons maintenant que DIFFUSION-RESTREINTE-COMPACTE n’appartient pas `a la classe APX. Supposons qu’il existe un algorithme fournissant en temps polynomial une λ-approximation de DIFFUSION-RESTREINTE-COMPACTE. Pour tout instance I1 du pro-bl`eme MINIMUM-SET-COVER, nous cr´eons l’instance I2 pr´esent´ee ci-dessus, et nous appli-quons l’algorithme d’approximation de DIFFUSION-RESTREINTE-COMPACTE sur cette ins-tance. Ceci peut ˆetre fait en temps polynomial, puisque la transformation est polynomiale. L’al-gorithme d’approximation de DIFFUSION-RESTREINTE-COMPACTE fournit un ensemble pond´er´e d’arbres {(A1, x1), . . . ,(AN, xN)} v´erifiant les deux premi`ere conditions de la d´ efini-tion 4.1(nombre born´e d’arbres et complexit´e born´ee du codage des coefficients) et de plus,

N

X

i=1

xi > 1 λ.

Pour chaque arbre Ai de cette approximation, nous calculons δi le degr´e du processeur source dans Ai, et nous choisissons l’arbre Aimin qui a le degr´e minimum : δimin = minδi. Ceci peut se faire en temps polynomial vu le nombre d’arbres et la complexit´e de codage desxi. Comme pr´ec´edemment, pour que toutes les communications ´emises par Psource puissent se faire en un temps unit´e, on a

X

i

xi·δi

B 61 Par l’absurde, supposons que δimin > λB. Alors nous avons

X

i

xi·δi B >X

i

xi·δimin

B = δimin B

X

i

xi > λX

i

xi

Or P

ixi > λ1 ce qui contredit l’in´egalit´e pr´ec´edente. Comme les messages transmis par l’arbre Aimin doivent atteindre tous les processeursXi, les processeursCi utilis´es comme relais dans cet arbre forment une couverture des Xi, de cardinal δimin 6λB.

Nous avons donc un algorithme construisant en temps polynomial une λ-approximation de MINIMUM-SET-COVER, or on sait que MINIMUM-SET-COVER ne poss`ede pas de tel algorithme (voir [5]). Donc il n’existe pas d’algorithme fournissant en temps polynomial une

λ-approximation de DIFFUSION-RESTREINTE-COMPACTE.

Cas du mod`ele un-port unidirectionnel Nous avons ´etabli la complexit´e du probl`eme de la distribution restreinte pour le mod`ele un-port bidirectionnel. Ce r´esultat s’´etend facilement au cas du mod`ele unidirectionnel : il suffit de dupliquer les processeurs qui ont besoin de faire `a la fois des ´emissions et des r´eceptions en deux parties, comme on a fait pour la construction du graphe biparti GB et en les reliant par un lien de coˆut nul. Dans l’instance I2, on transforme chaque processeur Ci en deux processeurs Ciin et Ciout et on rajoute une arˆete (Ciin, Ciout) de coˆut 0. L’arˆete (Psource, Ci) est transform´ee en une arˆete (Psource, Ciin) et les arˆetes (Ci, Xj) sont transform´ees en (Ciout, Xj). On peut alors utiliser la preuve pr´ec´edente pour montrer la difficult´e de ce probl`eme sous le mod`ele unidirectionnel.

Cette construction est g´en´erale : si un probl`eme de communications collectives est difficile sous le mod`ele un-port bidirectionnel, il l’est ´egalement sous le mod`ele unidirectionnel.

Nous venons de d’exhiber la premi`ere primitive de communications collectives dont le calcul du d´ebit est NP-complet, mˆeme sous le mod`ele un-port bidirectionnel. Ce n’est pas un cas isol´e : dans la prochaine partie, nous allons montrer le mˆeme r´esultat pour une autre primitive, le calcul des pr´efixes.

Autres r´esultats Comme le probl`eme de la diffusion restreinte est NP-complet, nous avons

´

elabor´es des heuristiques pour r´esoudre ce probl`eme. Ces heuristiques cherchent `a construire des arbres couvrant les cibles deVcibles, tout en maximisant le d´ebit de diffusion obtenu. Certaines sont bas´ees sur le r´esultat du programme lin´eaire pr´esent´e ci-dessus, qui fournit une borne sup´erieure sur le d´ebit, d’autres s’inspirent d’heuristiques existantes pour le probl`eme de Steiner.

Ces heuristiques sont pr´esent´ees et compar´ees `a l’aide des simulations dans [21].