Vous êtes sur la page 1sur 6

ORDONNANCEMENT TEMPS REEL MULTIPROCESSEUR SOUS

CONTRAINTES DE TEMPS ET DENERGIE


RAKOTOARISOA Hasina Patrick 1 et RASTEFANO Elise2
Laboratoire de Recherche Systmes Embarqus, Instrumentations et
Modlisation des Systmes et Dispositifs Electroniques
Ecole Doctorale en Sciences et Techniques de lIngnierie et de lInnovation
Universit dAntananarivo
1

patrickhasina@yahoo.fr - 2rastefano_el@yahoo.fr

Rsum : Cet article traite un algorithme


dordonnancement pour loptimisation du
temps dexcution et de la consommation
nergtique
dune
architecture
multiprocesseur. Cet algorithme est divis
en deux parties : lordonnancement temps
rel sous contrainte de temps et ensuite
lordonnancement
sous
contrainte
dnergie. Le premier algorithme nous
donne lallocation et lordonnancement des
tches sur les processeurs tandis que le
deuxime dtermine la vitesse que chaque
tche devra tre excute pour avoir le
compromis entre le temps dexcution des
tches et la consommation nergtique des
processeurs. Le rsultat est obtenu en
dterminant les vitesses dexcution
optimales de chaque tche sur les
processeurs car le temps dexcution et la
consommation dnergie sont lis la
vitesse dexcution.
Mots cls : Ordonnancement, temps rel,
multiprocesseur,
consommation
nergtique,
optimisation
dnergie,
algorithme
Abstract: This paper deals with a
scheduling algorithm for the optimization
of the execution time and the energy
consumption
of
a
multiprocessor
architecture. This algorithm is divided into
two parts: real time scheduling under
constraint of time and then scheduling

under constraint of energy. The first


algorithm gives us the allocation and
scheduling of tasks on the processors while
the second algorithm determines the speed
that each task will have to be executed to
have the trade off between task execution
time and processor power consumption.
The result is obtained by determining the
optimum execution speeds of each task on
the processors because the execution time
and the energy consumption are related to
the speed of execution.
Keywords:
Scheduling,
real
time,
multiprocessor,
energy
optimization,
energy consumption, algorithm
1- Introduction :
L'ordonnancement est la slection des
tches excuter un moment prcis par
un processeur [1]. L'ordonnancement
temps rel est donc la slection des tches
temps
rel.
Le
principe
de
l'ordonnancement
temps
rel
multiprocesseur est d'associer les tches
avec les processeurs qui composent
l'architecture. Une des problmes majeurs
des systmes embarqus est lautonomie
nergtique. Cette autonomie est fonction
de lexcution des tches sur les
processeurs. Le prsent article donne un
algorithme dordonnancement temps rel

multiprocesseur qui respecte en mme


temps le deadline des tches et qui
consomme moins dnergie.
2- Travaux connexes :
Plusieurs
travaux
traitaient
dj
lordonnancement
temps
rel
multiprocesseur. Il y a plusieurs
architectures de multiprocesseurs selon la
nature des processeurs, la nature des
communications entre processeur, le type
de mmoire [2] [3]. Mais les principes
gnraux de lordonnancement sur les
architectures multiprocesseurs sont presque
les mmes. Nous allons considrer le cas
particulier des plates-formes identiques
composes de m processeurs : 1, P2, . . .,
Pm. Et nous allons faire lordonnancement
de n tches priodiques/sporadiques
= {1, 2,,n} sur une plate-forme
parallle compose de m processeurs
identiques : P1, P2, , Pm.
Lordonnancement sur une architecture
multiprocesseur devra respecter les
contraintes suivantes :
- un processeur excute au plus une
tche chaque instant ;
- une tche sexcute sur au plus un
processeur chaque instant [2].
Il y aussi des travaux qui traite de
lordonnancement temps rel des tches
combin
avec
la
consommation
nergtique. Ces travaux sintressent
surtout lordonnancement sur un
processeur [4] [5].
3- Mthodologie :
Tout
dabord,
le
problme
dordonnancement repose sur lallocation
des tches sur les processeurs. Dans cette
premire partie, on devra respecter les
contraintes de temps dexcution des
tches. Do le nom du premier algorithme

lordonnancement temps rel sous


contrainte de temps .
Ensuite, le deuxime algorithme dtermine
la vitesse que chaque tche devra tre
excute pour avoir le compromis entre le
temps dexcution des tches et la
consommation
nergtique
des
processeurs. Le rsultat est obtenu en
dterminant les vitesses dexcution
optimales de chaque tche sur les
processeurs car le temps dexcution et la
consommation dnergie sont lis la
vitesse dexcution.
3.1- Mthode de dtermination du temps
dexcution et dnergie optimal pour
une tche :
Il sagit de choisir parmi tous les
ordonnancements qui maximisent le dbit,
ceux qui dpensent le moins dnergie. Des
ordonnancements faisables dun mme
ensemble de tches sur des machines
multiprocesseurs peuvent conduire des
consommations
dnergie
optimales
diffrentes, compte tenu du nombre de
processeurs. Il faut donc trouver non
seulement lordonnancement adquat, mais
galement le nombre de processeurs qui
donne la consommation nergtique
minimale parmi les consommations
optimales du mme ensemble de tches.
Daprs les thories existantes et daprs
ROHRIK VLCU [4], la puissance
dissipe P est une fonction convexe et
strictement croissante. Elle est approche
par un polynme qui est au moins du
second degr. On prend donc dans ce
mmoire la valeur de la puissance en
fonction de la vitesse des tches :
P(v) = v
O est le degr maximal du polynme.

Alors, on a les deux quations suivantes


pour trouver le temps d'excution
minimale
et
l'nergie
consomme
minimale pour une tche :

Ci = wi/v

Di

Ei= v.wi/v
D'aprs la premire ingalit, chaque tche
doit tre excute jusqu' sa deadline pour
avoir l'nergie minimale car la vitesse
diminue en fonction du temps d'excution.
La deuxime quation fait le calcul
d'nergie consomme par chaque tche lors
de son excution.
Conclusion :

3.2-

Dans la Figure 1 ci-dessous, l'allure de la


courbe en bleu reprsente l'influence de la
vitesse sur l'nergie consomme par une
tche et courbe en rouge sur le temps
dexcution dune tche. On prend ici la
puissance dissipe P(v)=v.
60
energie
temps
50

40

30

20

10

0.2

0.4

0.6

0.8

1
vitesse

1.2

1.4

1.6

1.8

Figure 1 : Allure des courbes de temps


d'excution et d'nergie consomme d'une
tche.
A laide de cette figure, on peut dduire
que le temps dexcution doit tre gal
son
deadline
pour
avoir
la
consommation dnergie minimale.

4- Prsentation de lalgorithme :
Lalgorithme est dduit de lalgorithme
dordonnancement optimal sous contrainte
de temps. De ce fait, il est ncessaire
dutiliser soit lalgorithme EDF pour le cas
de priorits dynamiques, soit lalgorithme
RM pour le cas de priorits fixes. Cet
ordonnancement ne tient compte que le
temps dexcution des tches.
Pour la consommation dnergie, il est
ncessaire de modifier la vitesse
dexcution des tches. Le calcul de cette
vitesse
constitue
le
critre
dordonnancement
sous
contrainte
dnergie. Cette modification peut tre une
rduction ou une augmentation selon
lchance de chaque tche et aussi les
besoins de lapplication. Donc, si on rduit
la vitesse, on gagnera en consommation
dnergie mais la tche devient lente. Par
contre, si on augmente la vitesse, le temps
dexcution devient petit mais la tche
consomme plus dnergie.
Finalement, loptimisation du temps
dexcution des tches et la consommation
dnergie des processeurs est obtenue
partir de ces deux ordonnancements :
ordonnancement sous contrainte de temps
et ordonnancement sous contrainte
dnergie.
Lalgorithme d'ordonnancement temps rel
multiprocesseur sous contraintes de temps
et dnergie se fait en trois tapes :
lallocation
initiale
des
tches,
ordonnancement multiprocesseur et la
dtermination
du
nouveau
temps
dexcution des tches et de la
consommation nergtique :

Tableau 1 : Tableau reprsentant les


caractristiques des tches ordonnancer.
Algorithme : Optimisation du temps
d'excution et de la consommation
nergtique
d'une
architecture
multiprocesseur

1: Initialiser lensemble des tches


ordonnancer
,
,
,,
% Analyse dordonnanabilit de
lensemble des tches sur une
architecture multiprocesseur
2: si

est ordonnanable alors


%Allocation des tches sur les
processeurs

3:
processeur

Allouer

sur

un

4:
Dterminer la vitesse que
chaque tche devra tre excute en
utilisant
Ci = Di - Oi
5:
Rordonnancer ensuite les
tches avec le nouveau temps dexcution.
6: sinon
7:
8

nest pas ordonnanable


: fin si

5- Exemple dapplication :
On considre les tches dcrites dans le
Tableau 1 suivant. Ces tches sont
ordonnancer sur deux processeurs :

Tches
1
2
3

Oi
0
5
0

Ci
3
6
11

Di
5
13
13

Ti
5
13
13

wi
6
24
55

Ces tches sont ordonnanables sur deux


processeurs puisque les relations suivantes
sont vrifies :
U() 1,98
Umax() = 0,769
En prenant la fonction de puissance
dissipe P(v) = v3, pour l'allocation initiale
des tches (sans optimisation de temps
excution et de consommation d'nergie),
on a :
vi = 2 ; v j = 4 et v k = 5
Sur le processeur P1 :
E1 = 24 + 384 = 408 nW.s
Sur le processeur P2 :
E2 = 1375 nW.s
Sur l'ensemble des processeurs :
E = E1 + E2 = 1783 nW.s
Alors, le temps d'excution de ces tches
est t = 11 ns et l'nergie consomme est
E = 1783 nW.s.
De ce fait, on a l'ordonnancement optimal
des tches de la Figure 2.

Figure 2 : Ordonnancement optimal des


tches.
Appliquons maintenant, sur ces tches,
notre optimisation de temps d'excution et
de l'nergie consomme. La fonction de
puissance dissipe reste la mme P(v) = v3.
vi = 1,2 ; v j = 3 et v k = 4,23
Sur le processeur P1 :
E1 = 8,64 + 216 = 224,64 nW.s
Sur le processeur P2:
E2 = 984,1 nW.s
Sur l'ensemble des processeurs :
E = E1 + E2 = 1208,74 nW.s
Alors, le temps d'excution de ces tches
est t = 13 ns et l'nergie consomme est
E = 1208,74 nW.s.
La figure 3 montre lordonnancement
optimis en temps dexcution des tches
et en consommation nergtique.

Figure 3 : Ordonnancement optimis des


tches.
6- Discussion et conclusion :
La thorie nous montre quon peut rduire
la consommation dnergie laide de bon
algorithme dordonnancement. Pour arriver
lobjectif, il faut donc considrer le
temps dexcution des tches et ainsi que
sa vitesse dexcution sur les processeurs.
Puisque le rsultat obtenu na pas
dinfluence sur le comportement du
systme (Les deadlines sont respectes),
alors notre algorithme est valable mais
dautres aspects peuvent tre considrs
aussi pour atteindre la minimisation de
consommation nergtique des systmes
embarqus.
Cet
article
est
consacr

lordonnancement
temps
rel
multiprocesseur sous contrainte de temps
et dnergie. Lnergie consomme est
proportionnelle la vitesse dexcution des
tches. Donc, nous avons dmontr que le
temps dexcution dune tche doit tre
gal son deadline pour que lnergie
consomme soit le minimum possible. On
a alors une optimisation de temps
dexcution et de lnergie consomme.

Rfrence :
[1] Jalil Boukhobza, Systmes
dexploitation pour lembarquLordonnancement , Universit de
Bretagne Occidentale Lab-STICC.
[2] Jol GOOSSENS, Ordonnancement
multiprocesseur , Universit Libre de
Bruxelles, ETR'07 - 6 septembre 2007.
[3] Mohamed MAROUF,
Ordonnancement temps rel dur
multiprocesseur tolrant aux fautes
appliqu la robotique mobile , Thse de
Doctorat, Ecole Nationale
Suprieure des mines de Paris, 01 Juin
2012.
[4] Dana - Mihaela BOHARIK VLCU,
Ordonnancement optimal de tches pour la
consommation nergtique du
processeur, Thse de Doctorat, Universit
Paris XII Val de Marne, 19/02/2004.
[5] Vincent NELIS, Ordonnancement de
processus dans les systmes temps rel
monoprocesseurs sous contraintes de
temps et d'nergie , Universit Libre de
Bruxelles.