1 / 124

Plan

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 :

bayard
Télécharger la présentation

Plan

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Plan • Ordonnancement • Obtention des tests de faisabilité entre processus • Analyse de l'interaction entre processus • Inclusion de processus apériodiques

  2. 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.

  3. 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.

  4. 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

  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

  6. 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.

  7. 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.

  8. 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

  9. 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

  10. 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).

  11. 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

  12. 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

  13. 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

  14. Exemple introductif : T C P1 100 20 P2 150 40 P3 350 100 Réacteur P1 P2 P3 0 100 200 300 400 temps

  15. 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

  16. 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

  17. Exemple introductif : T C P1 100 20 P2 150 40 P3 350 100 P1 P2 P3 0 100 200 300 400 temps Réacteur

  18. Exemple introductif : ! T C P1 100 20 P2 150 40 P3 350 100 P1 P2 P3 0 100 200 300 400 temps

  19. 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 + ?

  20. 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

  21. 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.

  22. 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.

  23. 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

  24. 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.

  25. 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.

  26. Plan • Ordonnancement • Obtention des tests de faisabilité entre processus • Analyse de l'interaction entre processus • Inclusion de processus apériodiques

  27. 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 ?

  28. 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

  29. 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

  30. 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.

  31. Taux d'utilisation

  32. Exemple pour RM : T C P1 100 20 P2 150 40 P3 350 100

  33. Exemple pour RM : T C P1 100 20 P2 150 40 P3 350 100

  34. Exemple pour RM : T C P1 100 20 P2 150 40 P3 350 100 L’application numérique pour n = 3 donne :

  35. 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.

  36. Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100

  37. Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100

  38. Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100

  39. Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100

  40. Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100

  41. 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!!!

  42. Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100 60

  43. Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100 60

  44. Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100 60

  45. Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100 30

  46. 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

  47. Exemple pour RM : P1 P2 P3 0 100 200 300 400 temps T C P1 100 20 P2 150 40 P3 350 100 30

  48. 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

  49. Exemple pour RM : T C P1 100 20 P2 150 40 P3 350 100 P1 P2 P3 0 100 200 300 400 temps

  50. Exemple pour RM : P1 P2 P3 0 100 200 300 400 500 600 700

More Related