• Aucun résultat trouvé

MÉTHODES BASÉES SUR L’ALGORITHME GREEN-RTO 145 fonction de sa largeur de bande CPU,U S, est toujours donnée par [CB97] :

Ordonnancement de tâches apériodiques avec gestion de surcharge

2. MÉTHODES BASÉES SUR L’ALGORITHME GREEN-RTO 145 fonction de sa largeur de bande CPU,U S, est toujours donnée par [CB97] :

dak= max(rak, dak−1) +C

a k

Us (6.3)

où,

Ckaest la durée d’exécution de la requête apériodique courante, USest le facteur d’utilisation du serveur tel queUS ≤ 1 − U

p, Par définition,da0 = 0.

Par la suite, nous avons proposé des théorèmes et formules qui étendent ces résultats en prenant en compte la contrainte énergétique.

2.2.2.2 Point de vue énergétique

Dans un premier temps, nous proposons une limitation de la consommation énergétique des tâches apériodiques dans le théorème suivant :

Théorème 2.3 Soient une configuration de n tâches périodiques temps réel fermes, avec un facteur d’utilisa-tion énergétique équivalentUe, et une configuration de tâches apériodiques servies par un serveur TBS, avec un facteur d’utilisation énergétique du serveurUes. Dans chaque intervalle de temps[t1, t2], considérons que Eapeest la demande totale d’énergie requise par les tâches apériodiques ayant leur date d’arrivée supérieure ou égale àt1et leur date d’échéance inférieure ou égale àt2, alors il est nécessaire que :

Eape≤ (E(t1) + (t2− t1)Pr)Ues (6.4) Preuve :

Considérons que pendant l’intervalle[t1, t2], il existe m tâches apériodiques possédant une date de réveil su-périeure ou égale àt1et une échéance inférieure ou égale àt2. Nous supposons que la puissance reçue,Pr, est constante. Par conséquent, l’énergie disponible fournie pendant l’intervalle[t1, t2] est égale à E(t1) + (t2− t1)Pr. CommeUesest la proportion d’énergie disponible pour les tâches apériodiques, la quantité d’énergie maximale pouvant être consommée par les tâches apériodiques est(E(t1) + (t2− t1)Pr)Ues. Par conséquent, soitEape la quantité d’énergie consommée par les tâches apériodiques sur l’intervalle [t1, t2] telle que Eape =Pm

i=1,(ra i≥t1),(da

i≤t2)EialorsEape ≤ (E(t1) + (t2− t1)Pr)Ues.2 Ceci nous amène à proposer, le théorème suivant :

Théorème 2.4 Soient une configuration de n tâches périodiques, avec un facteur d’utilisation énergétique équivalent Ue, et une configuration de m tâches apériodiques servies par un serveur TBS. Soit Ues le fac-teur d’utilisation énergétique du serveur. Le système global est ordonnançable du point de vue énergétique seulement si :

Ue+ Ues ≤ 1 (6.5)

où,Ue, est l’utilisation équivalente énergétique associée aux tâches périodiques et est définie dans le chapitre 3. Nous rappelons que nous le calculons comme suit :

Ue= maxL≥0  Pn i=1g∗ i(0, L) E(0) + Er(0, L)  (6.6)

E(0)représente le niveau initial d’énergie dans la batterie,Er(0, L) représente l’énergie reçue pendant l’inter-valle[0, L(.

On suppose que la puissance reçue par l’environnement est constante pendant une hyperpériodeH=P P CM ( T1.s1, .., Ti.si, .., Tn.sn). CommePr(t) = Pr ∀t, Er(0, L) = Pr.L, où L représente les échéances des jobs rouges pendant l’intervalle[0, H(.

La demande énergétique des jobs rouges d’une tâche périodiqueτiest calculée comme suit :

gi(0, L) = ( L Ti   L Ti.si  )Ei (6.7)

Preuve :

Supposons que Ue + Ues ≤ 1 et qu’une violation d’échéance survienne par manque d’énergie à un instant t = tv. Cette violation est précédée par l’exécution de jobs rouges périodiques et/ou tâches apériodiques. Par conséquent, soit un instantt = t1 inférieur àt. Seuls les jobs rouges des tâches périodiques et les tâches apé-riodiques ayant leur instant de réveil supérieur ou égal àt1 et une échéance inférieure ou égale àt = tv sont exécutées sur l’intervalle[t1, tv].

Soit Eg, la demande d’énergie globale des tâches s’exécutant sur l’intervalle [t1, tv]. S’il y a eu un manque d’énergie à un instant tv, ceci s’explique par le fait que la demande d’énergie sur l’intervalle [t1, tv] excède l’énergie disponible entret1ettv:

Eg> E(t1) + (tv− t1)Pr.

Remarquons aussi queEg ≤ g(t1, tv) + Eape. où :

-g(t1, tv) est la demande énergétique des jobs rouges ayant leur instant de réveil supérieur ou égal à t1et une échéance inférieure ou égale àt = tvtelle queg(t1, tv) =Pn

i=1gi(t1, tv),

-Eapeest la demande énergétique des tâches apériodiques ayant leur instant de réveil supérieur ou égal àt1et une échéance inférieure ou égale àt = tv.

Ceci implique que :

Eg ≤ g(t1, tv) + (E(t1) + (tv− t1)Pr)Ues

≤ (E(t1) + (tv− t1)Pr)Ue+ (E(t1) + (tv− t1)Pr)Ues ≤ (E(t1) + (tv− t1)Pr)(U

e + Ues)

Par suite,Ue+ Ues> 1 qui contredit notre supposition.2

Enfin, d’après les formules étudiées dans cette partie, nous proposons une nouvelle formule permettant de calculer l’échéance fictive d’une tâche apériodiqueϕken considérant les contraintes énergétiques du système. Théorème 2.5 Soit un serveur TBS avec une largeur de bande énergétique telle queUes= 1−U

e. L’échéance fictive d’une tâche apériodiqueϕkest calculée comme suit :

dak= max(rk, dk−1) + & Ea k Ues− E(rk) Pr ' (6.8) Preuve : Le calcul de l’échéance fictivedak, pour une tâche apériodiqueϕk, est fait à l’instant de son réveil ra

k. Considérons que ϕk a une demande énergétique qui vautEa

k. Par conséquent l’échéance fictive doit être calculée de sorte que la tâche puisse disposer de cette quantité d’énergie. Selon la condition6.4,Eka ne doit pas excéder l’énergie disponible pendant l’intervalle[rka, dk]. Par suite, Eak ≤ (E(rka) + (dak− rak)Pr)Ues. On obtient l’inégalité suivanteda

kEak Ues−E(ra k) Pr + ra k.

Une tâche apériodique n’est jamais préemptée par une autre tâche apériodique et dans le pire-cas, une tâche apériodiqueϕk−1 finit son exécution àda

k−1. Donc une tâche apériodiqueϕk en attente commence son exécution à l’instantt = max(rka, dak−1) et l’inégalité précédente devient : dak

Eak Ues−E(ra

k)

Pr + max(rak, dak−1). 2

2.2.2.3 Point de vue temporel et énergétique

Dans cette partie, nous prenons en compte les contraintes temporelles et énergétiques du système. Par consé-quent, le calcul de l’échéance fictive devient comme suit.

Théorème 2.6 Soient une configuration de n tâches périodiques temps réel fermes et une configuration de tâches apériodiques servies par un serveur TBS, l’échéance fictive d’une tâche apériodiqueϕken fonction de la largeur de la bande CPUUSet la largeur de la bande énergétiqueUesest calculée comme suit :

dak = max(rka, dak−1) + max( C a k US  , &Ea k Ues − E(rk) Pr ' ) (6.9)

2. MÉTHODES BASÉES SUR L’ALGORITHME GREEN-RTO 147 Preuve : La preuve découle des formules6.3et6.4.2

Nous proposons deux algorithmes basés sur l’algorithme TBS :T BS-Green-RTO et T BSop-Green-RTO. Ces deux algorithmes diffèrent uniquement par le calcul de l’échéance fictive :

- avecT BS-Green-RTO, on considère que l’énergie dans la batterie à l’instant t = max(rk, dk−1) n’est pas connue et donc la formule de l’échéance fictive pour une tâcheϕkdevient :

dak= max(rka, dak−1) + max( C a k US  ,  Eka Ues.Pr  ) (6.10)

- avecT BSop-Green-RTO, l’énergie dans la batterie à l’instantt = max(rk, dk−1) est connue et donc l’échéance fictive pour une tâcheϕkest donnée par :

dak= max(rak, dak−1) + max( C a k US  , &Ea k Ues − E(max(rak, dak−1) Pr ' ) (6.11)

AvecT BS-Green-RTO ou T BSop-Green-RTO, une fois l’échéance fictive de la tâche apériodique arrivant calculée, celle-ci est ajoutée à la liste des tâches apériodiques prêtes. Ainsi à chaque instant t, le job dans la liste des jobs rouges prêts et la liste des tâches apériodiques prêtes, ayant la plus proche échéance sera choisi pour être exécuté. Celui-ci sera exécuté seulement si la laxité énergétique du système est positive et si l’énergie disponible dans la batterie est suffisante.

2.2.3 Exemple illustratif de TBS-Green-RTO

Nous reprenons l’exemple illustratif précédent. La Figure6.2représente l’ordonnancement des configurations

ap´eriodiques t τ2 t τ1 t t 15 30 45 60 12 24 36 48 60 ϕ1(0, 9, 15) ϕ2(0, 3, 8) ϕ3(20, 7, 15) ϕ1 ϕ2 ϕ3 E(t) 1 2 3 4 5 6 15 22 35 job rouge τ1(3, 12, 12, 2, 7) τ2(3, 15, 15, 2, 8)

FIGURE6.2 – Ordonnancement selon TBS-Green-RTO T ∗ et ϕ selon l’algorithme TBS-Green-RTO.

CommeUp = 0.4 et Ue = 0.45, alors US = 0.6 et Ues = 0.55. Les tâches apériodiques ϕ1 etϕ2 arrivent à l’instant t=0, les échéances fictives calculées sont respectivementda1 = 0 + max( 9

0.6 ,  15 0.55∗2) = 15 et da 1 = max(0, 15) + max( 3 0.6 ,  8 0.55∗2) = 22.

ϕ1etϕ2 sont ordonnancées conjointement aux jobs rouges selon Green-RTO. Ainsi le job rougeτ1,1est celui qui a la plus proche échéance. Après avoir calculé la laxité énergétique du système et avoir obtenu une valeur positive égale à22, le job rouge τ1,1commence son exécution.

Ensuite à l’instant t=3, le jobτ2,1est le plus prioritaire. La laxité énergétique du système est calculée en prenant en considération la consommation des jobsτ2,1 etϕ1 telle queSlackEnergy(3) = E(3) + (d2,1− 3)Pr− (E2,1+ Ea

1) = 5 + 24− (8 + 15) = 6. Comme SlackEnergy(3) est positive alors le job rouge τ2,1commence son exécution. Il termine à l’instant t=6, et c’est le job apériodiqueϕ1 qui est le plus prioritaire. Comme la laxité énergétique a déjà été calculée entre l’instant t=6 et t=15 et que celle-ci est positive, et comme l’énergie disponible dans la batterie est suffisante (E(6) = 3), ϕ1 commence son exécution.ϕ1 finit son exécution à l’instant t=15.ϕ2ayant l’échéanceda2 = 22 est la plus prioritaire. La laxité énergétique du système à l’instant

t=15est calculée et vaut SlackEnergy(15) = E(15) + (22− 15)Pr − Ea

2 = 6 + 14− 8 = 12. Comme SlackEnergy(15) est positive, ϕ2 commence son exécution à l’instant t=15. A l’instant t=20, une tâche apé-riodiqueϕ3arrive. L’échéance fictiveda3 = 35 lui est attribuée. Comme ϕ3a la plus proche échéance à l’instant t=20, la laxité énergétique du système est calculée. Celle-ci étant positive,ϕ3démarre son exécution dès son arrivée.

Nous remarquons dans cet exemple que le temps de réponse de la tâche ϕ3 est nettement meilleur que celui obtenu avec BG-Green-RTO (il y a un gain de 8 unités de temps). On obtient respectivement pour les tâches apériodiquesϕ12 etϕ3, des temps de réponse égaux à 15, 18, 7. Les temps de réponse normalisés correspondant aux tâchesϕ12etϕ3sont respectivement égaux à 0.6, 0.18 et 1.

2.2.4 Exemple illustratif deT BSop-Green-RTO

Nous reprenons l’exemple illustratif précédent. La Figure6.3représente l’ordonnancement des configurations

ap´eriodiques t τ2 t τ1 t t 15 30 45 60 12 24 36 48 60 ϕ1(0, 9, 15) ϕ2(0, 3, 8) ϕ3(20, 7, 15) ϕ1 ϕ2 ϕ3 E(t) 1 2 3 4 5 6 15 20 32 job rouge τ1(3, 12, 12, 2, 7) τ2(3, 15, 15, 2, 8)

FIGURE6.3 – Ordonnancement selonT BSop-Green-RTO T ∗ et ϕ selon l’algorithme T BSop-Green-RTO.

CommeU

p = 0.4 et U

e = 0.45, alors US = 0.6 et Ues= 0.55.

Les tâches apériodiquesϕ1 etϕ2arrivent à l’instant t=0. Les échéances fictives calculées sont respectivement da1 = 0 + max( 9 0.6 ,l0.5515 −6 2 m ) = 15 et da1 = max(0, 15) + max( 3 0.6 ,l0.558 −6 2 m ) = 20.

ϕ1 et ϕ2 sont ordonnancées conjointement aux jobs rouges selon Green-RTO. On remarque que ϕ2 a une échéance plus courte que celle calculée avec TBS-Green-RTO. Cependant dans cet exemple, il n’y a pas de jobs devant s’exécuter entret = 15 et t = 22. Même si l’échéance calculée est plus courte, le temps de réponse deϕ2ne sera pas amélioré avecT BSop-Green-RTO.

ϕ3 arrive à l’instant t=20 et se voit attribuer l’échéanceda3 = 32. Même si cette échéance est plus courte que celle obtenue avec TBS-Green-RTO, comme aucune tâche n’est plus prioritaire queϕ3 entre t=20 et t=35, le temps de réponse sera le même que celui obtenu avec TBS-Green-RTO.

Par conséquent, dans cet exemple, on peut observer que l’ordonnancement avec T BSop-Green-RTO est similaire à celui obtenu avec TBS-Green-RTO. On observe aussi que les temps de réponse sont meilleurs que ceux observés avec BG-Green-RTO. Ceci dit, comme il n’y a que les jobs rouges des tâches périodiques qui sont exécutés, la QoS globale obtenue au niveau des tâches périodiques est minimale et vaut 50% comme le paramètre de pertes vaut 2 pourτ1etτ2.

3 Algorithmes basés sur Green-BWP

En utilisant les algorithmes basés sur Green-RTO, on minimise le temps de réponse des tâches apériodiques tout en engendrant une dégradation maximale de la QoS du système au niveau des tâches périodiques. Nous proposons une autre solution sans cet inconvénient, basée sur Green-BWP.