Projet : REFLECS

previous up next contents
Précédent : Diffusion fiable uniforme temps réel Remonter : Résultats nouveaux Suivant : Contrôle d'admission par expression paramétrique


   
Analyse des conditions de faisabilité nécessaires et suffisantes de EDF pour un problème d'ordonnancement centralisé de tâches non concrètes périodiques



Participant : Patrice Carrère.

Mots clés : temps réel, ordonnancement, condition nécessaire et suffisante de faisabilité, analyse de complexité .

Cette étude porte sur les conditions de faisabilité de l'algorithme d'ordonnancement par échéance la plus petite en premier, Earliest Deadline First (EDF). Nous considérons un problème d'ordonnancement centralisé de tâches non concrètes périodiques $ \tau$ = {$ \tau_{1}^{}$,...,$ \tau_{n}^{}$} pour lequel EDF a été prouvé optimal. On rappelle que, par opposition aux tâches concrètes pour lesquelles on connaît les valeurs des instants d'arrivée, une telle connaissance n'est pas accessible dans le cas non concret. Pour chaque tâche $ \tau_{i}^{}$ $ \in$ $ \tau$, les demandes d'activation surviennent périodiquement toutes les Ti unités de temps. Toute tâche $ \tau_{i}^{}$ $ \in$ $ \tau$possède une échéance relative de terminaison, notée Di, de sorte que toute occurrence de $ \tau_{i}^{}$ dont l'activation est demandée en t = a devra voir son exécution terminée en t = a + Di au plus tard. Les tâches sont interruptibles c'est-à-dire qu'elles peuvent faire l'objet d'une ou plusieurs réquisitions du processeur au cours de leur exécution.

Dans la littérature [SSRB98], il existe deux conditions de faisabilité nécessaires et suffisantes (CNS) pour le couple (problème, algorithme) considéré. La première est basée sur la demande processeur[*] et la seconde sur les pires temps de réponse[*]. Selon ces deux CNS, un jeu de tâches non concrètes périodiques $ \tau$ est faisable par EDF si, et seulement si, h(t) $ \leq$ t, $\forall t\in{\mathbbm R}^+$ ou ri $ \leq$ Di, pour tout $ \tau_{i}^{}$ $ \in$ $ \tau$. Ces deux tests de faisabilité sont de complexité pseudo polynomiale, respectivement en O(n2) et O(n3).

Dans un premier temps, nous introduisons une nouvelle expression analytique des temps de réponse. Grâce à ses propriétés, nous mettons en évidence qu'il est possible de ramener le test de faisabilité basé sur le calcul des pires temps de réponse des tâches de $ \tau$ à une complexité pseudo polynomiale en O(n2). Contrairement à bon nombre d'idées reçues, nous établissons ainsi que le calcul des temps de réponse n'est pas plus coûteux avec EDF qu'avec tout algorithme d'ordonnancement à priorités fixes (le test de faisabilité étant de complexité pseudo polynomiale en O(n3)).

Dans un second temps, toujours en se basant sur l'expression analytique des temps de réponse que nous avons introduite, nous énonçons une nouvelle CNS basée sur le calcul du temps de réponse de la tâche de plus petite échéance relative de terminaison. Ainsi, un jeu de tâches non concrètes périodiques $ \tau$ est faisable par EDF si, et seulement si, on vérifie rk $ \leq$ Dk avec Dk = min{Dj}, $ \forall$j $ \in$ [1, n]. Le test de faisabilité correspondant est également de complexité pseudo polynomiale en O(n2). Cette CNS est la conséquence d'un résultat plus général. En effet, nous avons mis en évidence que si ri $ \leq$ Diquelque soit $ \tau_{i}^{}$ $ \in$ $ \tau$, alors on vérifie également rj $ \leq$ Dj pour toute tâche $ \tau_{j}^{}$ $ \in$ $ \tau$ telle que Dj $ \geq$ Di. C'est-à-dire qu'indépendamment des durées d'exécution, si EDF est capable de garantir le service d'une tâche $ \tau_{i}^{}$en Di unités de temps, alors il en est de même pour toute tâche $ \tau_{j}^{}$vérifiant Dj $ \geq$ Di, en Dj unités de temps. Par ailleurs, on montre que les pires temps de réponse sont croissants avec les échéances relatives de terminaison. Ces propriétés sur les échéances relatives constituent des résultats non triviaux pour EDF dont le critère d'ordonnancement est basé sur des échéances absolues (et non relatives).

Dans un troisième temps, nous montrons de manière formelle que les CNS de la littérature, c'est-à-dire celles basées sur la demande processeur h et celles sur les pires temps de réponse ri, sont équivalentes. Pour y parvenir, nous prouvons que la nouvelle CNS est équivalente à chacune des deux autres CNS. C'est-à-dire que h(t) $ \leq$ t, $\forall t\in{\mathbbm R}^+$ équivaut à rk $ \leq$ Dk, avec Dk = min{Dj} et que ri $ \leq$ Di, $ \forall$$ \tau_{i}^{}$ $ \in$ $ \tau$équivaut à rk $ \leq$ Dk, avec Dk = min{Dj}. Ce résultat n'avait, à notre connaissance, jamais été formellement établi.

Pour compléter cette étude, nous nous sommes intéressés à un problème d'ordonnancement centralisé connexe, la seule différence avec le précédent résidant dans la non interruptibilité des tâches. Notons que, pour ce problème, EDF est également optimal et que l'on retrouve dans la littérature les deux CNS basées sur la fonction h et les temps de réponse. Cependant, nous n'avons pu généraliser l'expression analytique des temps de réponse que nous avons introduite en préemptif. Dans le cas non préemptif, nous ne pouvons espérer améliorer la complexité des tests de faisabilité. De même, ri $ \leq$ Di n'entraîne pas en général rj $ \leq$ Dj, pour tout $ \tau_{j}^{}$ $ \in$ $ \tau$ tel que Dj $ \geq$ Di. En revanche, dans le cas particulier de $ \tau_{k}^{}$, la tâche de plus petite échéance relative de terminaison, nous vérifions bien que rk $ \leq$ Dk implique rj $ \leq$ Dj pour tout j $ \in$ [1, n], mettant ainsi en évidence qu'un jeu de tâches non concrètes périodiques (non interruptibles) est faisable par EDF si, et seulement si, rk $ \leq$ Dk. Cette CNS permet, comme dans le cas préemptif, d'établir par transitivité que les CNS classiques basées sur la fonction h et les temps de réponse sont équivalentes.



Footnotes

... processeur[*]
La demande processeur h est une fonction à valeur dans ${\mathbbm R}^+$. Elle associe à tout $t\in{\mathbbm R}^+$ la somme des durées d'exécution des tâches à échéance absolue dans [0, t] dont l'activation est demandée dans [0, t].
...réponse[*]
Le pire temps de réponse ri d'une tâche $ \tau_{i}^{}$ $ \in$ $ \tau$correspond au plus grand intervalle de temps qui puisse exister, séparant un instant de demande d'activation de l'instant de fin d'exécution correspondant.


previous up next contents
Précédent : Diffusion fiable uniforme temps réel Remonter : Résultats nouveaux Suivant : Contrôle d'admission par expression paramétrique