• Aucun résultat trouvé

5.5 Analyse d’ordonnançabilité accélérée

5.5.3 Complexité de la méthode

Dans le contexte des tâches sporadiques ordonnancées par l’algorithme EDF, [15, 10] a prouvé que pour un facteur d’utilisation U < 1 la longueur de la période d’activité est bornée par ℓ =1−UU maxNi=1{Ti− Di}et la complexité de l’analyse d’ordonnancabilité est O (N.ℓ), avec N le nombre de tâches et U =PN

i=1(Ci/Ti) le facteur d’utilisation du système.

L’analyse d’ordonnançabilité des systèmes de transactions est divisée en deux grandes phases. La première est la représentation statique de la fonction de la demande processeur maximum, pour chaque transaction Γi du système, durant un intervalle de temps t ≤ d0

max+ Ti. Cette opération a, pour une transaction Γi, une complexité de :

O  1 +d 0 max− d0min Ti  |Γi|2. log  1 + d 0 max− d0min Ti  |Γi| 

La deuxième phase est la détermination de l’ordonnancabilité du système, en utilisant la recherche dans les tables Pi, obtenues dans la première phase. La recherche d’une valeur dans une table Pi

nécessite un temps de complexité O  log  1 +d 0 max− d0 min Ti  |Γi| 

Notons X le nombre d’échéances (de l’ensemble ψ) qui doivent être vérifiées. D’où la complexité totale de la deuxième phase est

O  X log  1 + d 0 max− d0min Ti  |Γi| 

Dans le cas où Dij < Ti la complexité de calcul est réduite à Oi|2. log (|Γi|) pour la phase de la représentation statique de la demande processeur, et pour le test d’ordonnançabilité à O (X log |Γi|). Par conséquent, la complexité totale devient Oi|2. log (|Γi|) + X log |Γi|. Pour comparaison, nous présentons la complexité de l’analyse de temps de réponse (RTA), des tâches à offset, proposée par Harbour [71], fournissant une condition suffisante d’ordonnançabi-lité. Comme nous l’avons présenté dans le chapitre 2, cette analyse consiste à calculer une borne supérieure du pire temps de réponse pour chaque tâche dans le système, en utilisant une fonction d’interférence maximum (approximation). Pour une tâche analysée τua, notons : X le nombre d’échéances (instants critiques), de toutes les tâches du système, dans la plus longue période d’ac-tivité ; Y le nombre d’itérations parcourues durant le processus du calcul du temps de réponse (recherche itérative d’un point fixe) d’une instances de τua, pour un instant critique donné ; et Z le nombre d’instances de τua activées dans la période d’activité correspond à l’instant critique considéré.

Le calcul de l’interférence maximum, d’une transaction, durant un intervalle de temps t, a une complexité O(|Γi|2). L’analyse de temps de réponse consiste à calculer le temps de réponse de toutes les instances, activées dans la période d’activité, de la tâche analysée, et cela pour tous les instants critiques possibles dans la période d’activité. D’où la complexité de l’algorithme RTA, pour τua est :

5.6. Conclusion

O(X × Y × Z × |S| × |Γi|2)

L’analyse est effectuée pour chacune de tâches du système afin d’avoir une décision sur l’ordon-nançabilité du système, avec une complexité O(X × Y × Z × |S|2× |Γi|3).

Nous remarquons que la méthode que nous avons proposée dans ce chapitre fournit un test d’ordonnançabilité exact avec une complexité polynomiale. Par contre le test pseudo-polynomial existant, basé sur l’analyse de pire temps de réponse est suffisant.

5.6 Conclusion

Pour les transactions ordonnancées par EDF, il n’existait qu’une analyse suffisante d’ordonnan-çabilité avec une complexité pseudo-polynomiale. Le test exact basé sur les temps de réponse est inapplicable à cause de sa complexité exponentielle. Dans ce chapitre, nous avons proposé un test exact d’ordonnançabilité des transactions avec une complexité pseudo-polynomiale. Ce test est basé sur l’analyse de la demande processeur, il fournit une réponse sur l’ordonnançabilité globale de système, sans aucune information sur les temps de réponse des tâches. Le temps de calcul a été optimisé par la méthode d’implémentation présentée dans la section 5.5 qui consiste à représenter statiquement la fonction de la demande processeur dans des tables ; ces tables sont utilisées par la suite pour déduire la demande du système pour n’importe quel intervalle de temps.

Conclusion

Dans le travail présenté dans ce mémoire, nous avons contribué au test d’ordonnançabilité des transactions temps réel. Le modèle des transactions est considéré sans aucune restriction sur les gigues et sur les délais critiques (cas le plus général). Notons que ces résultats sont applicables sur le modèle de tâches multiframes et multiframes généralisées, car il a été montré que ces deux modèles sont des cas particuliers des transactions. Nous avons prouvé formellement et confirmé par des évaluations expérimentales la qualité des résultats des méthodes et des propriétés pro-posées.

Dans la partie État de l’art de ce mémoire, nous avons introduit les système temps réel et la pro-blématique de l’ordonnancement, suivi par les résultats de base, pour le test d’ordonnançabilité des systèmes de tâches basés sur le modèle de Liu et Layland (tâches indépendantes). Dans cer-tains types d’applications, il existe une relation de décalage d’activations entre les tâches ce qui rend pessimistes les tests effectués sur le modèle de Liu et Layland. Le modèle des transactions permet de prendre en considération les décalages d’activation. Cependant, dans le cas priorités fixes les tests exacts ont une complexité exponentielle tandis que les tests avec une complexité pseudo-polynomiale sont pessimistes (approchés).

Notre contribution à l’ordonnancements des transactions concerne les deux contextes d’ordon-nancement : priorités fixes et priorités dynamique EDF. En priorités fixes nous avons focalisé sur l’analyse de temps de réponse, les principaux résultats sont :

– Optimisation de la qualité du test approché en conservant un calcul pseudo-polynomial : la méthode d’analyse mixte, proposée dans le chapitre 3, améliore la borne supérieure du temps de réponse fournie par la méthode d’analyse approchée de Turja-Nolin. Elle consiste à combiner le principe du calcul exact et le principe d’approximation afin de diminuer le pessimisme de l’analyse pire cas, permettant ainsi d’améliorer la borne supérieure du temps de réponse fournie tout en conservant une complexité pseudo-polynomiale. Notons que cette méthode est paramétrable, plus le nombre de transactions considérées pour une analyse exacte est élevé, meilleure est la qualité de l’analyse d’ordonnançabilité, et plus la complexité du calcul est importante. L’évaluation expérimentale a montré que la méthode mixte avec deux transactions choisies pour une analyse exacte (NM2) offre le meilleur compromis qualité/temps de calcul pour des systèmes de taille réaliste (de quelques dizaines au quelques centaines de tâches).

– Identification du pire scénario (analyse exacte) : pour certaines transactions, nous pouvons identifier la tâche candidate qui initie l’instant critique pire cas. Ces transactions sont

Conclusion

celles qui vérifient la propriété d’accumulativité monotonique. Par conséquent, si toutes les transactions sont accumulativement monotoniques pour une tâche analysée alors l’instant critique pire cas est identifiable dans un temps pseudo-polynomial et la condition suffisante de son ordonnançabilité est nécessaire et suffisante.

– Optimisation en temps de calcul : nous avons défini la propriété de dominance des tâches. Toute tâche dominée par une autre tâche est éliminée comme candidate à initier l’instant critique, évitant ainsi tous les instants initiés par elle. Notons que la propriété d’accu-mulativité monotonique des transactions AM est cas particulier de la propriété de tâches dominées. L’évaluation expérimentale a montré que le gain en nombre d’instants critiques conduit à une accélération importante du temps de calcul surtout pour les méthodes mixtes NM2 et NM3 et que la propriété d’AM peut confirmer que le test approché donne un ré-sultat exact pour un taux considérable des tâches dans le système.

Dans le cas d’ordonnancement à priorités dynamiques EDF, nous avons proposé un test exact basé sur l’analyse de la demande processeur avec une complexité pseudo-polynomiale. Il fournit une réponse booléenne sur l’ordonnançabilité globale du système, sans aucune information sur les temps de réponse des tâches. Afin d’optimiser le temps de calcul, nous avons proposé une im-plémentation qui consiste à représenter statiquement la fonction de la demande processeur dans des tables ; puis les tables sont utilisées pour déduire la demande du système pour n’importe quel intervalle de temps.

En perspective de ces travaux, dans le contexte d’ordonnancement à priorités fixes, nous pensons pouvoir améliorer la qualité de l’analyse d’ordonnançabilité, en fixant un nombre seuil d’ins-tants critiques pour appliquer chacune des méthodes d’analyse mixte et exacte. Il s’agit, pour une tâche analysée, en fonction du nombre d’instants critiques à considérer, après avoir éliminé tous les instant initiés par des tâches dominées, de choisir alternativement la méthode d’analyse exacte ou la méthode d’analyse mixte (NM2, NM3, ...). Cela permettrait de maîtriser le temps de traitement, tout en améliorant la qualité du test d’ordonnançabilité.

Une autre étude est envisagée : l’idée est d’étendre notre analyse d’ordonnançabilité exacte des transactions avec priorités dynamiques EDF en prenant en compte des ressources partagées. Nous souhaitons aussi étudier l’optimalité de l’algorithme d’ordonnancement EDF pour les tran-sactions.

Les transactions sont non concrètes, mais dans le cas réel, un système peut comprendre des tâches indépendantes concrètes. Notons que l’analyse des tâches concrètes différées est NP-Difficile. Donc l’étude de l’ordonnançabilité des systèmes de transactions en présence de tâches concrètes devient plus complexe. L’idée est d’étudier la possibilité de modéliser les offsets d’activations des tâches concrètes par une transaction afin d’améliorer la qualité de l’analyse. Un autre problème envisagé est d’attribuer les offsets aux tâches concrètes de façon à assurer l’ordonnançabilité du système.

Annexe A

Formules complètes