• Aucun résultat trouvé

Analyse d’ordonnançabilité des tâches à offset avec priorités dynamiques (EDF) 67

2.4 Analyse d’ordonnançabilité des tâches à offset avec priorités

dynamiques (EDF)

Dans cette section, nous présentons l’extension de l’analyse de temps de réponse des tâches indépendantes ordonnancées par un algorithme d’ordonnancement dynamique EDF [102, 103] pour des tâches à offsets (transactions) avec priorités dynamiques [71]. La définition de l’instant critique pour une tâche analysée τua dans le contexte des priorités dynamiques est différente de celle utilisée pour les priorités fixes (section 2.3) car l’ensemble des tâches plus prioritaires qu’une tâche τua varie au cours du temps.

Le théorème 22 montre que le pire temps de réponse d’une tâche τua peut être trouvé dans une période d’activité initiée par l’activation simultanée d’une tâche τic de chaque transaction Γi (i 6= u) après avoir été retardée par sa gigue maximale.

Théorème 22 [71] La pire contribution d’une transaction Γisur le temps de réponse d’une tâche analysée τua se produit lorsque la première activation d’une certaine tâche τic coïncide avec le début de la période d’activité après avoir retardée par une valeur maximum de gigue.

Pour trouver le pire temps de réponse, nous devons alors examiner toutes les périodes d’activité possibles en combinant toutes les tâches des transactions initiant la période d’activité. Pour une période d’activité initiée par une tâche τicd’une transaction Γi, les instances d’une tâche τij sont classées en trois ensembles Set0, Set1 et Set2. La définition de ces ensembles est la même que celle présentée pour les tâches avec priorités fixes.

La pire contribution d’une tâche τij est produite lorsque les instances de l’ensemble Set1 sont retardées par une quantité de gigue telle que toutes s’activent au début de la période d’activité et les instances de l’ensemble Set2 s’activent à leurs rythmes maximum (i.e. avec gigues nulles, et à la période Ti) (théorème 3 dans [71]).

2.4.1 Fonction d’interférence

Puisque l’ordonnancement dynamique (EDF) d’une tâche est basé sur l’échéance de l’instance étudiée, pour calculer le temps de réponse d’une instance τua avec une échéance survenant à la date D, il est nécessaire de déterminer la pire interférence Wic(t, D) de l’ensemble des tâches de chaque transaction Γi dans une période d’activité de longueur t avec échéance D. Pour cela on ne doit considérer que les instances activées dans [0, t) mais avec un échéance survenant à ou avant D.

Le nombre d’instances (Set1 plus Set2) d’une tâche τij activées dans [0, t) lorsque une tâche τic

initie la période d’activité est donné par :  Jij + Φijc Ti  + t − Φijc Ti  (2.36)

Chapitre 2. Analyse d’ordonnançabilité des tâches avec décalage d’activation (à offsets)

Maintenant, nous déterminons le nombre d’instances ayant un échéance à ou avant D qui est donné par la formule suivante :

 Jij + Φijc Ti  + D − Φijc− dij Ti  + 1 (2.37)

D’où l’interférence Wijc(t, D) d’une tâche τij dans une période d’activité t avec un échéance D est :

Wijc,P alencia(t, D) = Jij + Φijc

Ti  + min t − Φijc Ti  , D − Φijc− dij Ti  + 1  0 Cij (2.38) Finalement, l’interférence totale d’une transaction Γi est donnée par la somme des interférences de toutes ses tâches.

Wic,P alencia(t, D) = X

∀j∈Γi

Wijc,P alencia(t, D) (2.39)

Comme dans l’analyse à priorité fixe, nous devons étudier toutes les périodes d’activité afin de trouver le pire temps de réponse exacte d’une tâche analysée. Cette analyse exhaustive a une complexité exponentielle vu que le nombre de périodes d’activité à examiner est égal au produit des nombres de tâches des transactions. Une méthode avec une complexité pseudo-polynomiale qui donne une borne approchée de pire temps de réponse a été proposée dans [71]. Nous la présentons dans la section suivante.

2.4.2 Méthode d’analyse approchée

Cette approche est similaire à celle proposée pour les tâches à priorités fixes [107, 70]. Elle permet d’obtenir une borne supérieure du pire temps de réponse en utilisant une borne d’interfé-rence Wi,gonzalez(t, D) (fonction d’interférence maximum) pour chaque transaction Γi. Cela évite d’examiner toutes les combinaisons de tâches possibles.

Wi,P alencia(t, D) = max

∀c∈Γi

Wic,P alencia(t, D) (2.40)

[102] a montré que l’instant critique produisant le pire temps de réponse d’une tâche analysée τua survient au début de la période d’activité ou à un instant auquel l’échéance de τua coïncide avec l’échéance d’autre tâche d’une autre transaction. Pour chaque instant critique, il est néces-saire de déterminer le temps de réponse de chacune des instances de τua activées dans la période d’activité. La même numérotation des instances proposée dans la section précédente (équations 2.7-2.9) pour les tâches à priorités fixes est gardée dans ce cas.

L’ensemble Ψ des instants critiques à considérer correspond alors à l’ensemble des échéances de toutes les instances de toutes les tâches de toutes les transactions.

2.4. Analyse d’ordonnançabilité des tâches à offset avec priorités dynamiques (EDF)

Ψ =[

∀Γi

ijc+ (p − 1)Ti+ dij} (2.41)

∀p = p0,ijc...pL,ijc, ∀c, j ∈ Γi

Pour un instant critique, soit A la date de la première activation de τua après le début de la période d’activité, la date de fin d’exécution de l’instance p est donnée par l’équation itérative suivante, en ajoutant la contribution de toutes les transactions.

wuacA (p) = (p − p0,uac+ 1)Cua+ Wuc(wAuac(p), DAuac(p)) + X

∀i6=u

Wi(wuacA (p), DAuac(p)) (2.42)

Où W

uc(wAuac(p), DuacA (p)) est l’interférence de la transaction Γu sans prendre en compte l’in-terférence de la tâche analysée τua, et DA

uac(p) est l’échéance de l’instance étudiée p lorsque la première instance est activée à la date A. Cette échéance est définie par :

DAuac(p) = A + Φuac+ (p − 1)Ta+ dua (2.43)

Par conséquent le temps de réponse de l’instance est la différence entre sa date d’activation et sa date de fin d’exécution. Pour chaque p nous devons examiner seulement ceux qui ont la première activation A entre 0 et Tu, les instants critiques vérifiant cette condition doivent être analysés.

Ψ= {Ψx ∈ Ψ / Φuac+ (p − 1)Ta+ dua≤ Ψx < Φuac+ pTa+ dab} (2.44) Notons que la date de la première activation est déduite à partir de l’échéance Ψxd’une instance p d’une tâche τij considérée.

A = Ψx− [Φijc+ (p − 1)Tu+ dua] (2.45)

2.4.3 Bilan

L’analyse exacte de pire temps de réponse des tâches à offsets avec priorités dynamiques est ex-ponentielle. La seule méthode approchée proposée par Palencia et Harbour [71] fournit une borne pessimiste du pire temps de réponse avec un complexité pseudo-polynomiale. Cette complexité est plus élevée que celle de l’analyse approchée proposée pour les tâches à priorités fixes selon le critère du nombre d’instants critiques à considérer, qui correspond à toutes les échéances de toutes les instances survenant dans la période d’activité.

Tous ce que nous avons présenté jusque là concerne l’ordonnançabilité des transactions non concrètes avec priorités fixes ou dynamiques. De nombreux travaux ont été proposés pour analy-ser des transactions concrètes (supposons que les dates des premières activations des transactions sont connues). Ainsi les travaux de Pellizzoni et Lipari [75, 76, 73] ont proposé une méthode de

Chapitre 2. Analyse d’ordonnançabilité des tâches avec décalage d’activation (à offsets)

calcul de temps de réponse et d’analyse holistique pour des transactions concrètes asynchrones (chaque transaction possède un offset d’activation en plus des offset des tâches) avec un or-donnancement à priorités dynamiques. D’autres travaux ont étudié l’analyse de systèmes avec algorithmes d’ordonnancement hybride à priorités fixes et dynamiques [58, 43]. Pop et al [77] a étudié l’analyse de transactions dans le domaine des systèmes déclenchés par le temps et par évènement (time-triggered and event-triggered). Des systèmes avec ordonnancement hybride et avec un motif d’arrivée complexe pour les tâches ont été étudiés dans [87, 37].

2.5 Autres modèles prenant en compte des décalages