• Aucun résultat trouvé

Am´eliorations de l’heuristique CPA

toute tˆache du chemin critique, soit celle-ci est marqu´ee, soit elle a comme allocation son meilleur

nombre de processeurs.

La complexit´e au pire cas de iCASLB estO(V

3

P

2

+V P

2

E

), o`uE

≥Eest le nombre d’arcs

dansG

. Dans leurs ´evaluations, les auteurs de iCASLB obtiennent que leur heuristique donne

de meilleursmakespans que CPA et CPR. Mais nous pouvons remarquer que cette heuristique

est plus complexe que CPA.

Dans cette th`ese, nous avons choisi de partir de l’heuristique CPA et de lui apporter

diff´e-rentes am´eliorations car elle a un bon compromis entre sa complexit´e et lesmakespans obtenus.

Avant que l’heuristique MCPA ne soit propos´ee dans la litt´erature, nous avions propos´e nos

propres am´eliorations `a CPA. Nous pr´esentons ces am´eliorations que nous avons apport´ees `a

CPA dans la section suivante.

3.4 Am´eliorations de l’heuristique CPA

Dans cette section, nous proposons deux am´eliorations `a l’heuristique CPA de R˘adulescuet

al.[86]. La premi`ere porte sur la phase d’allocation et la seconde sur la phase de placement.

3.4.1 Nouveau crit`ere d’arrˆet de la proc´edure d’allocation

Nous avons constat´e exp´erimentalement que le calcul de l’aire moyenne de CPA est moins

pertinent lorsque le nombre de processeurs (P) de la plate-forme est beaucoup plus grand que le

nombre de tˆaches (V) et qu’il existe un surcoˆut li´e `a la parall´elisation des tˆaches (par exemple

α non nul dans le mod`ele d’Amdahl). En effet, lorsque ces deux conditions sont r´eunies, T

A

converge tr`es lentement vers T

CP

. Cela d´ebouche sur des allocations contenant un tr`es grand

nombre de processeurs. Or plus on alloue de processeurs `a chacune des tˆaches, plus le risque de

ne plus pouvoir ex´ecuter en parall`ele certaines tˆaches concurrentes augmente. En outre, du fait

du surcoˆut li´e `a la parall´elisation, plus on alloue de processeurs `a une tˆache, plus son efficacit´e

par rapport `a l’utilisation des processeurs diminue. Il peut donc s’av´erer pr´ef´erable d’arrˆeter le

processus d’allocation plus tˆot et donc de d´eterminer des allocations plus petites, afin de profiter

au mieux du parall´elisme de tˆaches et d’utiliser plus efficacement les ressources. Nous proposons

de trouver un compromis qui permet d’arrˆeter plus vite la proc´edure d’allocation dans le cas o`u

le nombre de ressources est tr`es ´elev´e en prenant min(P,√

P×V) au lieu de P dans le calcul

de l’aire moyenne. Cela nous conduit `a red´efinir la notion d’aire moyenne de la fa¸con suivante :

T

A

= 1

min(P,√

P ×V)

X

t∈V

(T(t, p(t))×p(t)). (3.3)

De mani`ere empirique, nous avons choisi la moyenne g´eom´etrique entre le nombre de

proces-seurs et le nombre de tˆaches,√

P ×V, car elle obtient un bon compromis entre l’utilisation des

ressources et le makespan des applications lorsque P devient tr`es grand devant V. Le fait de

prendre la valeur minimale entreP et√

P ×V entraˆıne que pourP ≤V, les allocations sont les

mˆeme qu’avec CPA (T

A

est ´egale `a l’aire moyenne T

A

utilis´ee dans CPA). PourP ≫ V, cette

nouvelle d´efinition augmente la pente de croissance de l’aire moyenne. La relation T

pe

≈ T

CP

reste toujours valable `a la fin de la proc´edure d’allocation.

Nous verrons dans le chapitre 5 qu’une estimation du taux d’utilisation de la plate-forme

(rapport de la puissance moyenne utilis´ee sur la puissance totale de la plate-forme) est β

=

T

A

/T

CP

. Puisqu’on aT

A

=p

P/V×T

A

lorsque le nombre de processeurs est sup´erieur au nombre

de tˆaches, la condition d’arrˆet de notre nouvelle proc´edure d’allocationT

CP

≈T

A

´equivaut alors

`

a r´eduire le taux d’utilisation de la plate-forme en le fixant `ap

Chapitre 3. Ordonnancement de graphes de tˆaches modelables sur grappes homog`enes

0 200 400 600 800 1000 1200 1400 1600 1800 2000 0 10 20 30 40 50 60 70

Évolution de TA, TA’ et TCP (en s)

Nombre d’itérations de la procédure d’allocation TA TA’ TCP

Fig. 3.2 – Exemple d’´evolution de T

A

, T

A

et de T

CP

dans la proc´edure d’allocation de CPA

et dans la nouvelle proc´edure d’allocation pour un DAG de 6 tˆaches sur une grappe de 30

processeurs.

La figure 3.2 montre un exemple d’´evolution deT

CP

et deT

A

en utilisant CPA ainsi que celle

de T

A

dans la nouvelle proc´edure d’allocation lors de l’ordonnancement d’un DAG de 6 tˆaches

(voir DAG de la figure 3.1) sur une grappe contenant 30 processeurs. Les temps d’ex´ecution des

tˆaches sont mod´elis´es par la loi d’Amdahl et leurs portions non parall´elisables respectives ont

´et´e tir´e al´eatoirement entre 0% et 20%. Dans cet exemple, le nombre de processeurs (P = 30)

est beaucoup plus grand que le nombre de tˆaches (V = 6). On note une importante r´eduction

du nombre total de processeurs allou´es lorsqu’on utilise la nouvelle proc´edure d’allocation (33

processeurs = 6 processeurs allou´es d`es l’initialisation + 27 processeurs suppl´ementaires) par

rapport au nombre total de processeurs allou´es avec CPA (74 = 6 + 68). Le tableau 3.1 compare,

pour le mˆeme DAG et la mˆeme plate-forme, les allocations des diff´erentes tˆaches `a l’issue des

deux proc´edures. Cette r´eduction des allocations fait passer la longueur du chemin critique de

180,10 secondes `a 272,58 secondes mais elle permet de mieux profiter du parall´elisme de tˆaches

existant dans le DAG. Ainsi, dans la figure 3.3 qui pr´esente le r´esultat de l’ordonnancement,

nous pouvons observer que l’ex´ecution en parall`ele des tˆaches 1 et 2, puis des tˆaches 3, 4 et 5

permet d’obtenir un meilleur temps de compl´etion par rapport `a l’ordonnancement de CPA en

plus d’une faible consommation de ressources.

Tˆache 1 2 3 4 5 6

Allocations avec T

A

3 29 24 8 1 9

Allocations avec T

A

2 11 11 4 1 4

Tab. 3.1 – Comparaison des allocations obtenues pour un DAG de 6 tˆaches sur une grappe de

30 processeurs.

Le compromis que nous venons de d´efinir n’est pas toujours optimal du point de vue du

temps de compl´etion des applications mais nous l’avons choisi car il permet surtout de mieux

3.4. Am´eliorations de l’heuristique CPA

g´erer l’utilisation des ressources. Ainsi, dans la figure 3.2 on observe qu’apr`es 30 it´erations lors

l’utilisation de la proc´edure de CPA (avec T

A

), les ajouts suppl´ementaires de processeurs ne

permettent pas de r´eduire significativementT

CP

.

326

273

2 2 1 1 5 5 4 6 6 4 3 3

Processeurs

0 4 9 14 19 24 29

Processeurs

0 4 9 14 19 24 29

Temps (s) Temps (s)

Fig. 3.3 – Ordonnancement du DAG de la figure 3.1 avec CPA (`a gauche) et en utilisant la

nouvelle allocation (`a droite) sur une grappe homog`ene de 30 processeurs.

3.4.2 Tassage lors du placement

L’objectif premier de cette th`ese ´etant l’ordonnancement de DAGs de tˆaches modelables sur

des plates-formes partag´ees, nous utiliserons des techniques de placement dynamiques,

c’est-`a-dire que la d´ecision de placement n’est effectu´ee qu’une fois la tˆache concern´ee prˆete.

Lorsqu’on utilise CPA, il peut arriver qu’une tˆache prˆete se mette `a attendre qu’une partie des

processeurs qui lui sont allou´es soient disponibles alors que la majorit´e des processeurs dont elle

aurait besoin le sont d´ej`a. Cette tˆache pourrait donc avoir une meilleure date de fin d’ex´ecution

si l’on r´eduisait son allocation de sorte qu’elle puisse d´emarrer son ex´ecution d`es la date o`u elle

est prˆete.

La technique de tassage que nous proposons permet d’´eviter cette situation. Elle permet

d’am´eliorer si possible la date de fin d’ex´ecution d’une tˆache prˆete en r´eduisant le nombre de

processeurs qui lui sont allou´es. `A l’instant o`u la tˆache prˆete la plus prioritaire est choisie

pour ˆetre plac´ee, on regarde d’abord s’il est possible de d´ebuter son ex´ecution imm´ediatement

avec son allocation initiale, `a savoir si le nombre de processeurs disponibles `a cette date est

sup´erieur ou ´egal `a cette allocation. Si cela est possible, alors la tˆache est plac´ee sur le nombre de

processeurs disponibles dont elle `a besoin. En revanche, si le nombre de processeurs disponibles

est inf´erieur `a l’allocation d´etermin´ee pour cette tˆache prˆete, il faut v´erifier si elle pourrait

terminer son ex´ecution plus tˆot en utilisant seulement les processeurs d´ej`a disponibles plutˆot

qu’en se mettant en attente que tous les processeurs qui lui sont allou´es soient libres avant de

d´emarrer son ex´ecution. Si elle peut effectivement am´eliorer sa date de fin d’ex´ecution en utilisant

seulement les processeurs disponibles, alors une nouvelle allocation est attribu´ee `a la tˆache prˆete

Chapitre 3. Ordonnancement de graphes de tˆaches modelables sur grappes homog`enes

courante et elle est plac´ee sur ces processeurs. Sinon elle est plac´ee selon son allocation initiale

et s’ex´ecutera d`es que tous les processeurs sur lesquels elle est plac´ee seront libres.

00000000000000 11111111111111 0000 1111 00000000000000 11111111111111 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 2 4 6 8 0 2 4 6 8 0 1 2 3 4 5 6 7 0 2 4 6 8 2 2 2 1 1 1