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
3P
2+V P
2E
′), 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
Aconverge 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
Autilis´ee dans CPA). PourP ≫ V, cette
nouvelle d´efinition augmente la pente de croissance de l’aire moyenne. La relation T
pe≈ T
CPreste 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
Alorsque 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
CPdans 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
CPet deT
Aen 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
A3 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 3Processeurs
0 4 9 14 19 24 29Processeurs
0 4 9 14 19 24 29Temps (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
Dans le document
Ordonnancement de tâches parallèles sur plates-formes hétérogènes partagées
(Page 46-49)