• Aucun résultat trouvé

L’id´ee d’´etudier le r´egime permanent en ordonnancement s’inspire d’un article de Bertsimas et Gamarnik [26], qui ´etudie le probl`eme du routage des paquets dans un r´eseau. Dans cette

partie, nous rappelons la m´ethode introduite dans cet article, que nous adapterons ensuite aux probl`emes qui nous int´eressent.

1.1.1 Routage de paquets

Dans cette ´etude, un r´eseau est repr´esent´e par un graphe (V, E) o`u les sommets deV sont les machines, cherchant `a transmettre des paquets de donn´ees de mˆeme taille en utilisant des liens de communication repr´esent´es par les arˆetes de E. Pour toute paire de nœuds k, l ∈ V, il y a un nombre de paquets nk,l `a transmettre du nœud k au nœud l, ce qu’on appelle des paquets de type (k, l). Le r´eseau est suppos´e homog`ene : tous les liens de communication sont identiques, et transmettre un paquet par un lien de communication prend un temps unit´e, pendant lequel aucun autre paquet ne peut ˆetre transmis sur ce lien. En revanche, tous les liens de communication peuvent ˆetre utilis´es simultan´ement ; il n’y a pas de contention au niveau des nœuds.

En suivant les notations de [26], on noteP l’ensemble des types de paquets : P =

(k, l) tels quenk,l >0

Le routage est libre : l’ordonnanceur doit choisir quelle route chaque paquet va emprunter pour rejoindre sa destination, puis `a quels instants le paquet utilisera les liens de communication de cette route. Le but du probl`eme est de construire un ordonnancement qui minimise le temps total n´ecessaire pour que tous les paquets soient achemin´es vers leur destination. On appelleC le temps d’ex´ecution optimal.

Comme la recherche du temps d’ex´ecution optimal est un probl`eme NP-complet [94], Bert-simas et Gamarnik proposent de rechercher une utilisation du r´eseau suffisamment efficace pour que le temps d’ex´ecution soit proche de l’optimal. L’algorithme qu’ils proposent s’ex´ecute en tempsC+O(√

C).

L’id´ee principale introduite dans cette ´etude est de s’int´eresser aux quantit´es moyennes de paquets qui transitent sur chaque arˆete en r´egime permanent, en se rapprochant d’un probl`eme de multi-flot. On consid`ere un ordonnancement valide quelconque. On peut d´efinir xk,li,j comme le nombre total de paquets de type (k, l) qui sont transmis par le lien (i, j) dans cet ordonnan-cement. Ces quantit´es doivent v´erifier certaines contraintes que nous exprimons maintenant.

On peut supposer sans perte de g´en´eralit´e que les paquets (k, l) ne repassent jamais par le nœudk et ne sont pas r´e´emis par le nœudl, ce qui s’exprime par :

xk,li,k = 0 etxk,ll,j = 0 ∀i, j, k, l∈V

On d´efinit pour chaque arˆete (i, j) la quantit´e totale de paquets transmis par cette arˆete : Ci,j = X

(k,l)∈P

xk,li,j,

ce qui est ´egalement le temps total d’occupation de l’arˆete (i, j). On appelleCmaxleur maximum : Cmax= max

i,j Ci,j.

Le temps total d’ex´ecution de l’ordonnancement est clairement plus grand queCmax.

Consid´erons le programme lin´eaire suivant :

On v´erifie que pour tout ordonnancement, les variablesxk,li,j d´efinies pr´ec´edemment v´erifient les contraintes de ce programme lin´eaire :

– les trois premi`eres contraintes expriment que les xk,li,j d´efinissent un flot entre k et l de valeur nk,l : tous les messages sont ´emis par la source k (1.1a), tous sont re¸cus par la destination (1.1b) et il y a conservation du nombre de messages de type (k, l) en un nœud iqui n’est ni source ni destination (1.1c) ;

– les deux contraintes suivantes reprennent la d´efinition du temps d’occupation des arˆetes, et d´efinissent la fonction objective comme leur maximum.

Comme tout ordonnancement doit v´erifier les contraintes de ce programme lin´eaire, la valeur optimale de la fonction objectiveCmaxest une borne inf´erieure sur le temps d’ex´ecution optimal C d’un ordonnancement.

Ce programme lin´eaire (en nombres rationnels) peut ˆetre r´esolu par un des nombreux pro-grammes de r´esolution (commelp-solve [24], Maple[39] oumupad [96]) et on utilise les valeurs des variables xk,li,j ainsi que la valeur de la fonction objective pour construire un ordonnance-ment s’approchant de l’optimal. Cet ordonnanceordonnance-ment est compos´e de deux phases : une phase p´eriodique et une phase finale de nettoyage. La premi`ere phase est organis´ee en p´eriodes de tailles Ω, d´efinies par les intervalles [mΩ; (m+ 1)Ω] pour m= 0. . .Cmax

−1. La taille de la p´eriode sera calcul´ee plus loin, pour minimiser le temps d’ex´ecution. Pendant chacune de ces p´eriodes, le nombre ak,li,j de paquets de type (k, l) transport´es par l’arˆete (i, j) est choisi pour ˆ

En r´ealit´e, il se peut qu’un tel nombre de paquets ne soient pas disponibles sur le nœud k au d´ebut de la p´eriode. Dans ce cas, l’arˆete (i, j) transporte autant de paquets que disponible, mais jamais plus deak,li,j.

Apr`es la fin de cette phase, c’est-`a-dire au tempsT =Cmax

Ω, il se peut que des paquets ne soient pas encore arriv´es `a destination. Ces paquets sont alors rout´es s´equentiellement (donc de fa¸con tr`es inefficace).

On peut v´erifier simplement la validit´e de cet ordonnancement : pendant une p´eriode, le nombre total de paquets transmis par l’arˆete (i, j) est :

X

(la derni`ere in´egalit´e venant de1.1e). Dans la seconde phase, comme un seul paquet est trait´e

`

a chaque instant, il n’y a pas non plus de congestion.

Le temps d’ex´ecution de la seconde phase peut ˆetre born´e par M×L, o`uM est le nombre de paquets restant dans le r´eseau apr`es la premi`ere phase, etLla longueur du plus long chemin d’une source `a une destination, en particulierL6|V|.

Dans [26], Bertsimas et Gamarnik montrent que l’on peut borner le nombre de paquets r´esiduels `a l’issue de la premi`ere phase (nous ne d´etaillons pas ici leur calcul) :

M 6

Cmax

Ω + 1

|E| |P|+|E|Ω

Pour minimiser cette quantit´e, on choisit une longueur de p´eriode Ω = p

Cmax|P|. Le nombre de paquets r´esiduels est alors born´e par

M 62|E|p

Cmax· |P|+|E| |P|

L’ordonnancement propos´e s’ex´ecute en un temps CH tel que Cmax6C 6CH 6Cmax+O(p

Cmax)

L’ordonnancement ainsi r´ealis´e estasymptotiquement optimal quand le nombre de paquets

`

Pour un grand nombre de paquets `a router, la solution propos´ee est donc d’une performance

´

equivalente `a la solution optimale.

1.1.2 Int´erˆet du r´egime permanent

Au vu de l’article de Bertsimas et Gamarnik, on peut mettre en ´evidence plusieurs avantages d’une approche centr´ee sur l’´etude du r´egime permanent :

1. Quand la minimisation du temps d’ex´ecution d’un probl`eme est difficile, ´etudier le r´egime permanent et chercher `a maximiser son d´ebit est parfois plus abordable.

2. Dans l’´etude pr´ec´edente, la relaxation en r´egime permanent est justifi´ee d`es que le nombre de paquets `a router est important. Nous faisons une hypoth`ese semblable pour les commu-nications collectives ou les probl`emes d’ordonnancement que nous ´etudions : le nombre de messages ou de tˆaches `a traiter est suffisamment grand pour qu’on puisse n´egliger l’impact des phases d’initilisation et de terminaison de l’ordonnancement, en se concentrant sur le r´egime permanent qui repr´esente la phase pr´epond´erante.

3. L’ordonnancement fond´e sur le r´egime permanent se caract´erise par sa simplicit´e, et sa description compacte : dans le cas du routage des paquets, il suffit de connaˆıtre combien de paquets transitent sur chaque lien pendant une p´eriode (avec ´egalement un m´ecanisme simple pour router les paquets r´esiduels).

L’´etude de Bertsimas et Gamarnik montre que le choix de la dur´ee de la p´eriode est im-portant. Prendre une p´eriode qui est de l’ordre de la racine carr´ee du temps total d’ex´ecution (Cmax), permet `a la fois (i) d’avoir des p´eriodes suffisamment longues pour que le fait d’arrondir les valeurs rationnelles en valeur enti`eres n’ait pas d’incidence notable sur les performances, et (ii) d’avoir un grand nombre de p´eriodes de telle sorte que la phase de routage des paquets r´esiduels soit relativement petite par rapport au temps total de l’ordonnancement.

Bien qu’ing´enieuse, cette m´ethode conduit `a utiliser une p´eriode de plus en plus grande quand le nombre de messages `a router augmente. Nous n’allons pas utiliser cette m´ethode pour d´eterminer la taille de la p´eriode : nous fixerons la taille de la p´eriode en fonction des param`etres de la plate-forme et de la solution du programme lin´eaire, et nous construirons un ordonnance-ment p´eriodique qui r´ealise exactement le d´ebit optimal (sans arrondir les valeurs rationnelles comme propos´e ci-dessus). Ainsi nous obtenons une p´eriode ind´ependante du nombre de mes-sages `a router (qui peut ne pas ˆetre connu `a l’avance) et un algorithme en Cmax+O(1), au lieu d’un algorithme enCmax+O(√

Cmax) (notreO(1) d´epend des caract´eristiques de la plate-forme, et ´eventuellement de l’application, mais en aucun cas du nombre de messages `a router, ou de tˆaches `a ordonnancer). En revanche, la m´ethode de Bertsimas et Gamarnik pour choi-sir la p´eriode permet de s’adapter `a un nombre de messages quelconque, alors que nous nous concentrons sur le cas d’un grand nombre de messages.

Pour le probl`eme du routage de paquets, la relaxation en r´egime permanent conduit `a r´ e-soudre un programme lin´eaire, correspondant `a un probl`eme de multi-flot. Nous utiliserons la mˆeme approche, en exprimant nos diff´erents probl`emes sous forme de programmes lin´eaires en nombres rationnels. R´esoudre un programme lin´eaire en rationnels est de complexit´e polyno-miale, et il existe de nombreux logiciels permettant de le faire de fa¸con efficace. Le premier algorithme qui a permis de montrer que cette complexit´e ´etait polynomiale est la m´ethode des ellipso¨ıdes [66,88], dont l’int´erˆet est surtout th´eorique. Nous l’utiliserons cependant pour ´etablir la complexit´e de certains probl`emes de communications collectives car elle pr´esente des propri´ e-t´es combinatoires int´eressantes : elle nous permettra en particulier d’utiliser des programmes lin´eaires avec un nombre exponentiel de contraintes.