• Aucun résultat trouvé

2.7.2 Analyse de la demande processeur des tâches GMF à priorités dyna-miques EDF

Considérons que toutes les tâches GMF satisfont la propriété L−MAD et sont ordonnancées par l’algorithme à priorités dynamiques EDF. Un test pour analyser la demande processeur consiste à vérifier pour tout intervalle de temps que la charge processeur produite est toujours inférieure ou égale à la longueur de l’intervalle. Ce test est limité par la plus longue période d’activité [16] et plus précisément par les dates d’échéances survenant dans la plus longue période d’activité. Soit dbf (Γi, t) (demand-bound function) la fonction déterminant le temps processeur maximum requis par les instances de la tâche Γiactivées dans l’intervalle de temps [0, t) et dont les échéances sont elles aussi dans cet intervalle (en considérant chaque trame comme initiant l’instant critique). [12] donne un algorithme « Build’list » calculant la demande processeur maximum durant la pre-mière période de la tâche (somme des temps de séparation des Ni trames) de chaque tâche GMF Γi du système Γ. Cet algorithme enregistre la demande processeur sous forme de couples (date d’échéance, demande processeur). La liste de couples sera utilisée facilement pour trouver la demande processeur maximum dans n’importe quel intervalle de temps t (algorithme Compute-dbf(t) [12]). Cette technique est similaire à celle de la représentation statique de l’interférence des transactions présentée précédemment dans ce chapitre.

Exploitant la périodicité de la fonction de la demande maximum dbf (Γi, t), une transformation de système à un ensemble de tâches sporadiques Γ modélisant cette fonction est possible. Γ est ordonnançable dans une architecture monoprocesseur si, et seulement si, le système Γdes tâches sporadiques correspondant est ordonnançable (théorème 2 de [12]).

Finalement, cette technique réduit alors le problème d’ordonnançabilité des tâches GMF avec priorités dynamiques EDF en problème d’ordonnancement de tâches sporadiques [15, 10]. Ces résultats peuvent être etendus pour des tâches GMF non L − MAD par une simple adaptation en cherchant le motif de périodicité de la fonction dbf (t).

2.8 Conclusion et problématique

Dans ce chapitre, nous avons présenté deux modèles de tâches : le modèle de tâches à offsets et le modèle de tâches multiframes (ainsi que les tâches multiframes généralisées). Ces deux modèles ont été proposées en lieu et place du modèle de tâches indépendantes de L&L [55] afin d’éviter le pessimisme de l’analyse d’ordonnançabilité correspondante lorsque certains types d’applications temps réel sont considérés. Nous n’avons présenté que les transactions et tâches MF (GMF) non concrètes.

Le modèle de L&L considère que toutes les tâches d’un système sont indépendantes et n’ont aucune contrainte concernant leurs activations. Le modèle de tâches à offset a été proposé afin de prendre en considération les relations de précédence entre les tâches. Toutes les tâches ayant une date d’activation liée au même évènement, et avec une même période sont regroupées dans une transaction. Ce modèle a été présenté dans la section 2.2. De nouvelles conditions

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

nançabilités ont été définies pour ce modèle. Le pire temps de réponse d’une tâche se produit dans une période d’activité initiée par l’activation simultanée d’une tâche de chaque transac-tion (une tâche plus prioritaire dans le contexte à priorités fixes). L’analyse exacte de temps de réponse (sections 2.3.4 et 2.4) a une complexité exponentielle vu le nombre de périodes d’activi-tés devant être examinée pour trouver le pire cas. Une analyse approchée avec une complexité pseudo-polynomiale est proposée pour les tâches à priorités fixes (sections 2.3.7, 2.3.8) comme à priorités dynamiques (section 2.4.2), mais ces méthodes approximatives fournissent une borne pessimiste de pire temps de réponse.

Le modèle de tâches multiframes et modèle de tâches multiframes généralisées (sections 2.6 et 2.7) ont été proposée afin de permettre à une tâche d’avoir une liste de durées d’exécution possibles contrairement au modèle de L&L [55] qui considère seulement une pire durée d’exécution pour chaque tâche. Chaque tâche est composée d’un ensemble de trames de durées d’exécutions diffé-rentes. L’analyse d’ordonnançabilité d’une tâche nécessite d’analyser celle de toutes ses trames. Dans le contexte des priorités fixes, pour ce type de tâches, le pire temps de réponse d’une trame se produit lorsqu’elle s’active simultanément avec une trame de chacune des tâches de priorité supérieure. Comme en tâches à offset, l’analyse exacte nécessite une étude de tous les scénarii pos-sibles en combinant toutes les trames de toutes les tâches. Dans cette situation l’analyse exacte est handicapée par la complexité exponentielle vu le nombre de combinaisons devant être consi-dérées. Une analyse approchée (sections 2.6.2.2, 2.7.1) avec une complexité pseudo-polynomiale est possible mais avec un taux de pessimisme important sur la qualité de tests par rapport à l’analyse exacte. Dans le contexte de priorités dynamiques, un test d’ordonnançabilité par analyse de la demande processeur est présenté dans la section 2.7.2. Ce test consiste à réduire le pro-blème d’ordonnancabilité des tâches GMF en propro-blème d’ordonnancement de tâches sporadiques. En résumé, dans les cas d’utilisation de la technique d’analyse de temps de réponse pour valider un système, il n’y a que l’analyse avec une complexité exponentielle qui fournit une décision exacte dans les deux contextes d’ordonnancement, à priorités fixes et à priorités dynamiques ; tandis que l’analyse avec une complexité pseudo-polynomiale est nécessairement pessimiste. Plusieurs problèmes sont alors à considérer dans l’analyse de ce type de modèles de tâches :

– Problème de qualité du test : Ce problème est lié à la caractérisation du pire scénario d’exé-cution pour une tâche données. C’est-à-dire parmi toutes les périodes d’activités (instants critiques) possibles, identifier laquelle provoque le pire temps de réponse pour la tâche analysée.

– Problème de complexité et temps d’exécution : Les algorithmes identifiant le pire scénario et le temps de réponse doivent avoir une complexité acceptable pour qu’ils puissent être applicables pour valider des systèmes de taille réaliste.

– Problème d’optimisation : Dans le cas où il n’existe pas une méthode d’analyse exacte avec une complexité acceptable le problème devient alors un problème d’optimisation. Les principaux critères d’optimisation considérés sont : amélioration de la qualité de décision de l’analyse approchée (réduction de pessimisme) et la minimisation du temps de traitement (complexité) nécessaire pour exécuter les algorithmes d’analyse.

Chapitre 3

Analyse mixte du pire temps de réponse

des tâches à offsets en priorités fixes

Résumé : Ce chapitre présente une méthode mixte d’analyse de temps de réponse, elle combine l’analyse exacte et l’analyse approchée dans un but de minimiser le pessimisme de la méthode approchée de Nolin tout en conservant une complexité pseudo-polynomiale. Nous montrons que cette méthode fournit un temps de réponse meilleur que celui fourni par les méthodes d’analyse approchée. Elle utilise comme paramètre le nombre de transactions pour lesquelles une analyse exacte d’interférence est appliquée. Plus ce paramètre est grand, plus la qualité de la solution est meilleure. Une évaluation de performances montre les limites d’application de la méthode en fonction du nombre de transactions choisi par rapport à une analyse exacte.

Chapitre 3. Analyse mixte du pire temps de réponse des tâches à offsets en priorités fixes