1.25k likes | 1.44k Views
Plan. Ordonnancement Obtention des tests de faisabilité entre processus Analyse de l'interaction entre processus Inclusion de processus apériodiques. Vers une meilleure maîtrise du temps. Objectifs :
E N D
Plan • Ordonnancement • Obtention des tests de faisabilité entre processus • Analyse de l'interaction entre processus • Inclusion de processus apériodiques
Vers une meilleure maîtrise du temps • Objectifs : • Nous présentons les mécanismes spécifiques qui permettent de prévoir avec plus d'exactitude le comportement temporel d'un système. • Nous étudions les méthodes d'ordonnancement temps réel.
Ordonnancement /définitions • C'est lors de l'ordonnancement que l'on choisit la tâche qui devient la tâche courante. • Dans les systèmes temps réel, on espère collecter des informations a priori pour pouvoir prédire le comportement de l'application. • C'est pourquoi des ordonnancements hors fonctionnement (off line) prennent les décisions avant l'exécution du système. • Si cela est possible, on a recourt à des algorithmes en ligne (on line) qui prennent les décisions durant l'exécution du système.
Ordonnancement hors-ligne • La séquence d'ordonnancement est donc pré-calculée avant l'exécution. • A l'exécution, l'ordonnanceur est un simple séquenceur : on parle de cyclic scheduler • Le séquenceur lit un tableau "modulo la longeur" : pas besoin d'exécutif multitâche • La mise en œuvre est simple • La surcharge est facilement détectable • Rigidité du séquenceur est une limitation. t=19 (19mod7)=5
Ordonnancement en ligne • L'ordonnanceur implante un algorithme permettant de savoir à tout instant quel tâche exécuter • L'ordonnancement est un exécutif multitâche conduits par priorité • Les politiques sont importantes et flexibles • Un surcoût en temps et en ressource lors de la mise en œuvre • Les surcharge sont difficile à détecter
Ordonnancement /définitions • Un algorithme est dit statique s'il sait déterminer a priori les ordonnancements possibles de son système. • Un algorithme est dit dynamique si l'ordonnancement est déterminé lors de l'exécution. Il permet la prise en compte d'événements « non » prévus.
La faisabilité • Des études ont été menées pour trouver des critères associés aux tâches pouvant conduire à une politique d'ordonnancement optimale dans certains cas. • S'il existe un ordonnancement d'un ensemble de tâches qui respecte les contraintes temporelles associées à ces tâches, alors l'ensemble des tâches est dit faisable. • Un ordonnancement optimal est un ordonnancement qui peut produire un ordonnancement pour tout ensemble faisable de tâches.
Critères liés aux tâches • Les tâches périodiques sont celles qui doivent être activées à intervalles réguliers. Les instants de début d'exécution peuvent varier d'une instance à l'autre. Capacité Deadline T : période
Exemple : Fluide 2 Fluide 1 • 20 l de fluide 1 versé toutes les 100 ms. • 40 l de fluide 2 versé toutes les 150 ms. Sachant que pour verser un litre de fluide, il faut 1 ms. • 100 ms pour une prise de température toutes les 350 ms. Réacteur
Modélisation du problème : • La gestion des 2 fluides et de la température est représentée par 3 tâches indépendants nommées P1, P2 et P3. • Ces 3 tâches s’effectuent périodiquement avec des temps d’activation différents (resp. 100, 150 et 350). • Et chacune exige un certain temps d’exécution ( resp. 20, 40 et 100).
Exemple introductif : T C P1 100 20 P2 150 40 P3 350 100 P1 P2 P3 Fluide 2 Fluide 1 Réacteur 0 100 200 300 400 temps
Exemple introductif : T C P1 100 20 P2 150 40 P3 350 100 P1 P2 P3 Fluide 1 0 100 200 300 400 temps Réacteur
Exemple introductif : T C P1 100 20 P2 150 40 P3 350 100 P1 P2 P3 Fluide 2 0 100 200 300 400 temps Réacteur
Exemple introductif : T C P1 100 20 P2 150 40 P3 350 100 Réacteur P1 P2 P3 0 100 200 300 400 temps
Exemple introductif : T C P1 100 20 P2 150 40 P3 350 100 P1 P2 P3 Fluide 1 0 100 200 300 400 temps Réacteur
Exemple introductif : T C P1 100 20 P2 150 40 P3 350 100 P1 P2 P3 Fluide 2 0 100 200 300 400 temps Réacteur
Exemple introductif : T C P1 100 20 P2 150 40 P3 350 100 P1 P2 P3 0 100 200 300 400 temps Réacteur
Exemple introductif : ! T C P1 100 20 P2 150 40 P3 350 100 P1 P2 P3 0 100 200 300 400 temps
Critères liés aux tâches • Les tâches sporadiques ne sont pas activées de façon régulière, mais on peut définir un temps minimal d'apparition entre deux activations d'instances successives. Elles ont des contraintes de temps fortes. • Les tâches apériodiques sont activées également à des instants irréguliers mais avec des échéances plus lâches et sans temps minimal entre deux activations. Capacité Deadline A A + ?
Les algorithmes • Les algorithmes d'ordonnancement • statiques pilotés par tables • statiques préemptifs sur les priorités • dynamiques basés sur une planification à l'exécution • dynamiques basés sur la notion de meilleurs efforts
Les ordonnancements cycliques • On cherche à découper a priori une application en séquences élémentaires qui ne seront jamais interrompues. • Le modèle d'application est le suivant • Une séquence est une procédure définie par l'utilisateur • Un processus est une suite ordonnée de séquences ; qui s'exécutent consécutivement, dans l'ordre de la déclaration. • L'ordonnancement des processus est régi par un calendrier, c'est une table spécifiant la liste des processus à activer ; elle est de longueur arbitraire et exploitée cycliquement. • Le découpage en séquences élémentaires non interruptibles assure la protection des données partagées entre les processus.
Exemple T C D P1: 25 10 25 P2: 25 8 25 P3: 50 5 50 P4: 50 4 50 P5: 100 2 100 • Définir : • un cycle majeur PPCM = (25,50,100)=100 • un cycle mineur qui correspond au rythme des interruptions d'horloge. • Pendant le cycle mineur l'application ne peut être interrompue. • Ils définissent des points de contrôle permettant de contrôler que les traitements • applicatifs ont bien respecté leurs échéances.
Exemple T C D P1: 25 10 25 P2: 25 8 25 P3: 50 5 50 P4: 50 4 50 P5: 100 2 100 P1 P2 P3P5 10 8 5 2 P1 P2 P4 - 10 8 4 3 P1 P2 P3 - 10 8 5 2 P1 P2 P4 - 10 8 4 3 IT horloge IT horloge IT horloge IT horloge 25 IT horloge = interruption possible
Les inconvénients • Comment prendre en compte des traitements qui ne sont pas périodiques ? • Comment ajouter un traitement supplémentaire sans modifier tout le système ? • Difficile si le nombre de processus augmente. • Il n'existe pas de solution optimale dont la complexité soit polynomiale en fonction du nombre de processus. • Mais, il est très utilisé dans les systèmes critiques, en particulier les systèmes aéronautiques ou les systèmes de défenses.
Les algorithmes de décisions en ligne • Les prise de décision s'effectuent à partir de critères qui peuvent être • statiques (valeur d'une priorité) • dynamique (dépend du temps) • Dans les modèles statiques, on utilise une transformation hors ligne des contraintes temporelles en entiers fixes représentant les priorités. • Dans les modèles dynamiques, la priorité évoluera en fonction du temps.
Plan • Ordonnancement • Obtention des tests de faisabilité entre processus • Analyse de l'interaction entre processus • Inclusion de processus apériodiques
Obtention de tests de faisabilité d'ordonnancement • Existe-t-il des tests qui permettent de prévoir si un ensemble de tâches va respecter ses contraintes temporelles ?
Ordonnancement Rate-Monotonic (monotone par taux) • Il désigne la méthode d'affectation hors ligne de priorités statiques à un ensemble de tâches. • Les critères retenus pour les tâches sont • les tâches sont périodiques et sont à l'état PRÊT au début de chaque période. • Leur échéance se situe à la fin de la période. • Les tâches peuvent être préemptées. • Les tâches sont indépendantes les unes des autres. • Le temps d'exécution est connu. • L'affectation des priorités aux tâches se fait en fonction de la fréquence des tâches. • Si Ti désigne la période de la tâche i, sa priorité est égale à 1/Ti
Conditions suffisantes de l'analyse Rate Monotonic • Dans le cas où Di=Ti, n tâches respectent toutes les échéances si : n U = durée i / Période i i=1 n Ui = C i / T i i(2 1/i -1) i=1 i, 1 i n
Principe de l'obtention • Cas simplifié de deux tâches. • But : • Atteindre une utilisation maximale du processeur en toute sécurité. On cherche donc une borne d'utilisation maximale pour tout ensemble de tâches qui utilisent le processeur au maximum de ses capacités. • Démarche : • Pour un C1 donné on cherche C2 de façon à utiliser un maximum le processeur.
Exemple pour RM : T C P1 100 20 P2 150 40 P3 350 100
Exemple pour RM : T C P1 100 20 P2 150 40 P3 350 100
Exemple pour RM : T C P1 100 20 P2 150 40 P3 350 100 L’application numérique pour n = 3 donne :
Exemple pour RM : T C P1 100 20 P2 150 40 P3 350 100 On a bien, La condition de faisabilité est satisfaite On peut appliquer l'algorithme RM.
Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100
Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100
Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100
Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100
Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100
Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100 Préemption de P3 par P1!!!
Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100 60
Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100 60
Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100 60
Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100 30
Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100 Préemption de P3 par P2!!! 30
Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100 30
Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100 Préemption de P3 par P1!!! 20
Exemple pour RM : T C P1 100 20 P2 150 40 P3 350 100 P1 P2 P3 0 100 200 300 400 temps
Exemple pour RM : P1 P2 P3 0 100 200 300 400 500 600 700