1 / 18

Systèmes en temps réel

Systèmes en temps réel. Critères d’ordonnancement en temps réel Partie I. Synopsis. Requis temporels Concurrence et ordonnancement Mécanismes d’ordonnancement Notation Algorithme Taux Monotone (Rate Monotonic Algorithm) Théorème des bornes d’utilisation Exemples. Requis temporels.

crescent
Download Presentation

Systèmes en temps réel

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. Systèmes en temps réel Critères d’ordonnancement en temps réel Partie I

  2. Synopsis • Requis temporels • Concurrence et ordonnancement • Mécanismes d’ordonnancement • Notation • Algorithme Taux Monotone (Rate Monotonic Algorithm) • Théorème des bornes d’utilisation • Exemples Ordonnancement (partie 1) - 2

  3. Requis temporels D’où viennent les requis temporels? • Requis de haut niveau (explicite) • Assemble deux gugusses chaque seconde • Brouille un émetteur en-dedans de 250 millisecondes de son identification • Requis dérivés (implicite) • précision: tracer une position d’émetteur à une précision de 50 • nous mène à la périodicité • dépendance: se remettre d’un message perdu en dedans de 500 msec • interface utilisateur: répond à une clé de clavier en dedans de 200 msec Ordonnancement (partie 1) - 3

  4. Concurrence et ordonnancement • Les systèmes concurrents démontrent un non-déterminisme extrême • considérez un simple système concurrent à 5 tâches • il y a 120 permutations possibles pour l’exécution dans un système non-préemptif et une infinité pour un système préemptif • Les systèmes en temps réel doivent restreindre ce non-déterminisme en utilisant l’ordonnancement • Ont définit le critère d’ordonnancement comme l’évaluation de la capacité qu’un système a de rencontrer ses échéanciers (deadlines) Ordonnancement (partie 1) - 4

  5. Mécanismes d’ordonnancement • Un mécanisme d’ordonnancement fournit: • Un algorithme pour l’utilisation des ressources du système • Une façon de prédire le comportement dans le pire cas • Il y a deux classifications de mécanismes • Statique (compile-time) et dynamique (run-time) • Nous allons seulement étudier les mécanismes statiques et en particulier, les méthodes préemptive basées sur les priorités • Mécanismes utilisent: • Un algorithme d’assignation des priorités; et • Un test d’ordonnancement Ordonnancement (partie 1) - 5

  6. Notation • C: temps d’exécution de pire cas pour une tâche • T: temps minimum entre le re-lancement de la tâche (période) • P: priorité assignée à la tâche • N: nombre de tâches dans le système • R: temps de réponse pire cas pour la tâche • B: temps de blocage pire cas pour la tâche • I: temps d’interférence de la tâche • Définit Utilisation: U = C/T Ordonnancement (partie 1) - 6

  7. Définit un simple modèle de tâche • Supposition: • Un ensemble de tâches fixes • Toutes les tâches sont périodiques • Les tâches sont complètement indépendantes * • Tous les surdébits (changement de contexte) sont ignorés (ou inclus dans les temps d’exécution des tâches) • Les échéanciers des tâches sont égales à leurs période • Implique que les tâches doivent compléter avant le re-lancement • Toutes les tâches ont un temps d’exécution pire cas • Instant Critique – définit comme étant la condition de charge maximum quand toutes les tâches sont relâchées en même temps Ordonnancement (partie 1) - 7

  8. Algorithme taux monotone Rate Monotonic Algorithm (RMA) • Une méthode d’assignation de priorité pour le modèle de tâches décrit plus tôt de tel façon à ce que: • Chaque tâche se voit assigner une priorité basée sur sa période, là où • Plus courte est la période, plus haute est la priorité • Exemple: Tâche Période (T) Priorité (P) A 100 3 B 25 1*plus haute C 205 4 D 60 2 Ordonnancement (partie 1) - 8

  9. Théorème des bornes d’utilisation • Un ensemble de N tâches périodiques indépendantes ordonnancées avec l’algorithme de taux monotone va toujours rencontrer ses échéanciers, si C1/T1 + … CN/TN N(2 1/N - 1) = URM(N) URM(N) converge à 69% pour un N large • Un test suffisant mais non nécessaire • c.-à-d. nous ne pouvons pas dire qu’un système avec une valeur d’utilisation plus haute ne peut pas être ordonné Ordonnancement (partie 1) - 9

  10. RMA Exemple 1 Tâche Ci Ti Ui A 20 100 0.2 B 30 150 0.2 C 60 200 0.3 U1 + U2 + U3 = 0.7, et est  URM(3) où URM(3) = 3*(21/3 - 1) = 0.779 Donc ces tâches vont toujours rencontrer leurs échéanciers avec l’ordonnancement: P(A) = 1, P(B)=2, P(C)=3 Ordonnancement (partie 1) - 10

  11. RMA Exemple 1 • Task Ci Ti Ui • A 20 100 0.2 • B 30 150 0.2 • C 60 200 0.3 - Tâche lancée - Tâche complète A 20 20 B 30 30 C 50 10 idle idle t 0 20 40 60 80 100 120 140 160 180 200 Ordonnancement (partie 1) - 11

  12. RMA Exemple 2 Tâche Ci Ti Ui A 12 50 0.24 B 10 40 0.25 C 10 30 0.33 U1 + U2 + U3 = 0.82, et n’est pas URM(3) où URM(3) = 3*(21/3 - 1) = 0.779 Donc ces tâches échouent le test d’utilisation, et en regardant le diagramme Gantt, on peut voir que les échéanciers ne seront pas rencontrés Ordonnancement (partie 1) - 12

  13. 10 RMA Exemple 2 • Task Ci Ti Ui • A 12 50 0.24 • B 10 40 0.25 • C 10 30 0.33 - Tâche lancée - Tâche complète x x - Échéancier manqué A 10 B 10 10 ... C 10 t 0 10 20 30 40 50 60 70 Ordonnancement (partie 1) - 13

  14. RMA Exemple 3 Tâche Ci Ti Ui A 40 80 0.5 B 10 40 0.25 C 5 20 0.25 U1 + U2 + U3 = 1.00, et n’est pas  URM(3) encore où URM(3) = 3*(21/3 - 1) = 0.779 Ces tâches échouent clairement le test d’utilisation, maisaprès avoir regardé le diagramme Gantt, on peut voir que les échéanciers sont respectés???? Ordonnancement (partie 1) - 14

  15. 10 10 5 5 5 5 RMA Exemple 3 • Task Ci Ti Ui • A 40 80 0.5 • B 10 40 0.25 • C 5 20 0.25 - Tâche lancée - Tâche complète A 5 15 5 15 B C t 0 10 20 30 40 50 60 70 80 Ordonnancement (partie 1) - 15

  16. Points additionnels sur RMA • RMA a l’avantage d’être stable dans les conditions de surcharge transitoires • Un sous ensemble des tâches (celle avec les priorités les plus hautes) vont encore rencontrer leurs échéanciers même en condition de surcharge temporaire. • Théorème de temps de complétion • Pour un ensemble de tâches périodiques, si chaque tâche rencontre son premier échéancier, quand toutes les tâches sont lancées en même temps, alors tous les échéanciers seront rencontrés chaque fois. Ordonnancement (partie 1) - 16

  17. Le point faible de RMA et test d’U • Le test d’utilisation n’est pas exacte • Suffisant, mais pas nécessaire • Donc nous devons utiliser d’autres tests (autre que de vérifier les cédules à la main) • Le modèle de tâches simple est trop restrictif • Permet seulement les tâches périodiques • Toutes les tâches doivent être indépendantes • implique que aucune ressources ne peuvent être partagées (pas de mutexes et de précédences) • Introduit • Analyse du temps de réponse - un test de critère d’ordonnancement plus fort • Supporte les tâches apériodiques (sporadiques) ainsi que la dépendance inter-tâches Ordonnancement (partie 1) - 17

  18. Références [1] Burns, A. and Wellings, A., “Real-Time Systems and Programming Languages”, Chapter 13, Addison Wesley, 1997 [2] TimeSys Corp, “The Concise Handbook of Real-Time Systems”, Version 1.0, 1999 [3] www.timesys.com [4] Gomaa, H., “Software Design Methods for Concurrent and Real-Time Systems”, Addison-Wesley, 1993. Ordonnancement (partie 1) - 18

More Related