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

Critère d’ordonnancement en temps réel Partie II

Présentations similaires


Présentation au sujet: "Critère d’ordonnancement en temps réel Partie II"— Transcription de la présentation:

1 Critère d’ordonnancement en temps réel Partie II
Systèmes en temps réel Critère d’ordonnancement en temps réel Partie II

2 Synopsis Analyse du temps de réponse
Compter les relâchements Déterminer l’interfé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 d’exécution Requis temporels durs versus mous Ordonnancement (partie 2) - 2

3 Analyse du temps de réponse
Un désavantage du test d’ordonnancement basé sur l’utilisation (C/T) pour RMA est qu’il n’est pas exact. Le test est suffisant mais pas nécessaire Pour suppléer à ce test, nous introduisons la notion d’analyse du temps de réponse Avec l’analyse 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" Ordonnancement (partie 2) - 3

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

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 l’intervalle de temps 0 à Ri peut être dérivé par: # de relâches j = Ri/Tj (2) Fonction plafond [ 0, Ri ) 100 200 j i # de relâches = 2 40 40 40 5 Tj Ri Ti Ordonnancement (partie 2) - 5

6 Détermination de l’interférence
À partir de ceci l’interférence maximum de la tâche j sur i dans l’intervalle 0 à Ri est donnée par: interférence max =  Ri/Tj  Cj (3) Mais il peut y avoir d’autres tâches à plus haute priorité donc: Ii =   Ri/Tj Cj (4) [ 0, Ri ) jhp(i) Ordonnancement (partie 2) - 6

7 Calcul du temps de réponse
Substituant l’équation (4) dans (1) donne l’expression générale pour le temps de réponse: Ri = Ci +   Ri/Tj Cj (5) Notez le problème suivant: Ri 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) Ordonnancement (partie 2) - 7

8 Comprendre le temps de réponse (Exemple 1 du dernier cours)
RC = CC +  RC/TA  CA +  RC/TB  CB = (20) + 1(30) = 130 CA, TA CB, TB CC, TC Système= {(20, 100), (30, 150), (60, 200)} 100 200 A B C RC = 130 Ordonnancement (partie 2) - 8

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: win+1 = Ci +  win /Tj  Cj (6) où la valeur de départ (seed) wi0 = Ci L’algorithme se résume alors Résolu pour des valeurs successive de win+1 si win+1 = win , alors la solution est trouvée -> Ri = win si win+1 > Di , alors la tâche i ne rencontre pas son échéancier jhp(i) Ordonnancement (partie 2) - 9

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 l’on peut traiter l’intervalle minimum entre l’arrivée d’une 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 Ordonnancement (partie 2) - 10

11 Ordonnancement priorité avec échéancier monotone (Deadline Monotonic Priority Ordering)
La supposition que D=T dans modèle de tâche simple n’est 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 l’assignation 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 Ordonnancement (partie 2) - 11

12 DMPO Exemple Tâches Ci Ti Di Pi Ri * * 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 Ordonnancement (partie 2) - 12

13 Exécution pire cas vs moyenne
Comment fait-on pour connaître les pire cas de temps d’exé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-t’il d’autre? Il est de bonne mise d’avoir les nombres qui représentent les temps moyens Ordonnancement (partie 2) - 13

14 Requis temporels durs vs mous
En ajoutant des chevaux-vapeurs pour être capable d’ordonnancer va sûrement nous apporter des taux d’utilisation du CPU qui sont très bas sous des conditions normales, et bien qu’il y a des fois où cela est nécessaire... distinguer entre les requis temporels durs et mous Règle 1: on devrait être capable d’ordonnancer toutes les tâches en utilisant la moyenne des temps d’exé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 Ordonnancement (partie 2) - 14

15 Devoirs sur l’analyse du temps de réponse
Tâche Ci Ti Pi Utilisez l’ordonnancement RMA Appliquez le test d’ordonnancement d’utilisation Utilisez l’analyse du temps de réponse pour déterminer si le système peut être ordonnancé Ordonnancement (partie 2) - 15

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. Ordonnancement (partie 2) - 16


Télécharger ppt "Critère d’ordonnancement en temps réel Partie II"

Présentations similaires


Annonces Google