La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Systèmes en temps réel Critère dordonnancement en temps réel Partie II.

Présentations similaires


Présentation au sujet: "Systèmes en temps réel Critère dordonnancement en temps réel Partie II."— Transcription de la présentation:

1 Systèmes en temps réel Critère dordonnancement en temps réel Partie II

2 Ordonnancement (partie 2) - 2 Synopsis Analyse du temps de réponse Temps de réponse Compter les relâchements Déterminer linterférence Calculer le temps de réponse Exemple Ordonnancement avec les tâches apériodiques Ordonnancement priorité avec échéanciers monotones ( Deadline Monotonic Priority Ordering ) Pire cas du temps dexécution Requis temporels durs versus mous

3 Ordonnancement (partie 2) - 3 Analyse du temps de réponse Un désavantage du test dordonnancement basé sur lutilisation (C/T) pour RMA est quil nest pas exact. Le test est suffisant mais pas nécessaire Pour suppléer à ce test, nous introduisons la notion danalyse du temps de réponse Avec lanalyse du temps de réponse, on peut: Prédire le pire cas pour le temps de réponse pour chaque tâche Ensuite on compare le temps de réponse et échéancier pour chaque tâche Si tous les pires cas de temps de réponse sont plus petits que les échéanciers respectifs, le système est "ordonnançable"

4 Ordonnancement (partie 2) - 4 Réponse Le temps de réponse pour une tâche est défini comme étant la somme de son pire temps dexécution et de son interférence maximale -> R i = C i + I i (1) où I i est linterférence maximale * que la tâche i peut subir dans tout intervalle de temps [t, t + R i ) *La condition pour linterférence maximale se produit évidemment quand toutes les tâches de plus haute priorité sont relâchées en même temps que i, linstant critique.

5 Ordonnancement (partie 2) - 5 Comptage des relâchements Considérez une tâche i et une tâche à plus haute priorité j Maintenant, le nombre de relâchements de la tâche j dans lintervalle de temps 0 à R i peut être dérivé par: # de relâches j = R i /T j (2) Fonction plafond [ 0, R i ) jiji 40 5 TiTi TjTj # de relâches = 2 RiRi

6 Ordonnancement (partie 2) - 6 Détermination de linterférence À partir de ceci linterférence maximum de la tâche j sur i dans lintervalle 0 à R i est donnée par: interférence max = R i /T j C j (3) Mais il peut y avoir dautres tâches à plus haute priorité donc: I i = R i /T j C j (4) [ 0, R i ) j hp(i)

7 Ordonnancement (partie 2) - 7 Calcul du temps de réponse Substituant léquation (4) dans (1) donne lexpression générale pour le temps de réponse: R i = C i + R i /T j C j (5) Notez le problème suivant: R i est sur les deux côtés de léquation!!! Avant de résoudre ceci, regardons si on peut le comprendre dans le domaine du problème j hp(i)

8 Ordonnancement (partie 2) - 8 Comprendre le temps de réponse (Exemple 1 du dernier cours) R C = C C + R C /T A C A + R C /T B C B = (20) + 1(30) = ABCABC R C = 130 C A, T A C B, T B C C, T C Système= {(20, 100), (30, 150), (60, 200)}

9 Ordonnancement (partie 2) - 9 Résolution de léquation du temps de réponse Essentiellement, on forme une relation récursive avec léquation (5) et on résout itérativement: w i n+1 = C i + w i n /T j C j (6) où la valeur de départ (seed) w i 0 = C i Lalgorithme se résume alors Résolu pour des valeurs successive de w i n+1 si w i n+1 = w i n, alors la solution est trouvée -> R i = w i n si w i n+1 > D i, alors la tâche i ne rencontre pas son échéancier j hp(i)

10 Ordonnancement (partie 2) - 10 Ordonnancement avec tâches apériodiques Le modèle de tâche simple que nous avons traité jusquà maintenant est trop limité de plusieurs façons. Ne pas être capable de traiter les tâches apériodiques est une restriction majeure. Une approche est de faire paraître les tâches apériodiques (ou sporadiques) comme des tâches périodiques Considérez que lon peut traiter lintervalle minimum entre larrivée dune tâche apériodique comme une période, T Seulement avec cette supposition, on peut utiliser RMA avec les deux types de tâches, MAIS

11 Ordonnancement (partie 2) - 11 Ordonnancement priorité avec échéancier monotone (Deadline Monotonic Priority Ordering) La supposition que D=T dans modèle de tâche simple nest pas réaliste pour les tâches apériodiques typiquement, une tâche apériodique ne va pas se produire fréquemment (grand temps inter-arrivé) mais va être vitement traitée -> D < T donc lassignation de priorité basé sur T ne va pas habituellement satisfaire le requis pour rencontrer D Deadline Monotonic Priority Ordering (DMPO) est une méthode qui fait ce qui suit: Plus léchéancier est proche, plus la priorité est haute

12 Ordonnancement (partie 2) - 12 DMPO Exemple TâchesC i T i D i P i R i * * temps de réponse sont calculés en utilisant la méthode de léquation (7) notez que un ordre RMA ne pourrait pas ordonnancer ces tâches

13 Ordonnancement (partie 2) - 13 Exécution pire cas vs moyenne Comment fait-on pour connaître les pire cas de temps dexécution? Mesure intrusive Analyse basée sur un modèle du processeur Est-ce réaliste pour les conditions normales? Les valeurs de pire cas pourraient être grandement plus larges que celles observées en opération normale Pour les tâches apériodiques, le pire cas des temps inter- arrivée pourrait être plusieurs ordres de grandeur de trop Qui a-til dautre? Il est de bonne mise davoir les nombres qui représentent les temps moyens

14 Ordonnancement (partie 2) - 14 Requis temporels durs vs mous En ajoutant des chevaux-vapeurs pour être capable dordonnancer va sûrement nous apporter des taux dutilisation du CPU qui sont très bas sous des conditions normales, et bien quil y a des fois où cela est nécessaire... distinguer entre les requis temporels durs et mous Règle 1: on devrait être capable dordonnancer toutes les tâches en utilisant la moyenne des temps dexécution et inter-arrivée Règle 2: toutes les tâches avec des requis temporels durs devraient être ordonnancées avec les pires cas

15 Ordonnancement (partie 2) - 15 Devoirs sur lanalyse du temps de réponse TâcheC i T i P i Utilisez lordonnancement RMA Appliquez le test dordonnancement dutilisation Utilisez lanalyse du temps de réponse pour déterminer si le système peut être ordonnancé

16 Ordonnancement (partie 2) - 16 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] [4] Gomaa, H., Software Design Methods for Concurrent and Real-Time Systems, Addison- Wesley, 1993.


Télécharger ppt "Systèmes en temps réel Critère dordonnancement en temps réel Partie II."

Présentations similaires


Annonces Google