TD temps réel 1 1 Introduction : RM, EDF, LLF 1.1 Question 1 2
Transcription
TD temps réel 1 1 Introduction : RM, EDF, LLF 1.1 Question 1 2
TD temps réel 1 1! INTRODUCTION : RM, EDF, LLF............................................................................................................................... 2! 1.1! QUESTION 1............................................................................................................................................................... 2! 2! THEOREME DE LA ZONE CRITIQUE ...................................................................................................................... 2! 2.1! QUESTION 1............................................................................................................................................................... 2! 3! RATE MONOTONIC OU EARLIEST DEADLINE .................................................................................................... 2! 3.1! QUESTION 1............................................................................................................................................................... 2! 3.2! QUESTION 2............................................................................................................................................................... 2! 3.3! QUESTION 3............................................................................................................................................................... 2! 4! TEMPS DE REPONSE DE BOUT EN BOUT............................................................................................................... 3! 4.1! RAPPELS .................................................................................................................................................................... 3! 4.2! EXEMPLE VU EN COURS .......................................................................................................................................... 3! 4.3! EXERCICE .................................................................................................................................................................. 4! 4.4! QUESTION .................................................................................................................................................................. 4! 4.4.1! Indication : Résultat ........................................................................................................................................... 4! 4.4.2! Rappel bus CAN.................................................................................................................................................. 5! 5! SERVEUR DIFFERE ....................................................................................................................................................... 5! 5.1! QUESTION 1............................................................................................................................................................... 5! 6! SERVEUR DE SCRUTATION ....................................................................................................................................... 5! 6.1! QUESTION 1............................................................................................................................................................... 5! 6.2! QUESTION 2............................................................................................................................................................... 6! 1 Introduction : RM, EDF, LLF Soit les trois tâches, prêtes à la date t = 0 : T1 : (C=1, D=P=3) T2 : (C=1, D=P=4) T3 : (C=2, D=P=6) 1.1 Question 1 Pour chacune des politiques d'ordonnancement RM, EDF et LLF : • Calculer U, le facteur d'utilisation du processeur, que peut-on en conclure ? • Donner un schéma du séquencement des tâches. Quel commentaire peut-on faire ? Indication : n(2(1/n)-1) = 0,78 pour n = 3. 2 Théorème de la zone critique 2.1 Question 1 Calculer U, le facteur d'utilisation du processeur, puis appliquer la méthode de la zone critique pour déterminer si les trois tâches suivantes sont ordonnançables. Elles sont toutes prêtes au temps t =0. T1 : (C=25, D=P=100) T2 : (C=50, D=P=200) T3 : (C=100, D=P=300) Rappel : Wi(t) = !(j=1) i Cj*!t/Tj" 3 Rate monotonic ou Earliest deadline Un système d'arrosage automatique doit arroser trois types de plantes : • les plus fragiles qui doivent être arrosées pendant 10 minutes, toutes les 40 minutes, • une deuxième catégorie qui doit recevoir de l'eau pendant 20 minutes, toutes les heures, • enfin, des plantes d'un troisième type qu'il faut arroser toutes les 80 minutes, pendant 20 minutes. L'arrosage peut se faire de façon fractionnée, c'est-à-dire s'interrompre et reprendre. 3.1 Question 1 On cherche une solution pour le partage de l'eau entre ces différentes variétés de plantes : 1. Définir la liste des tâches à accomplir, 2. Puis, pour les stratégies RM et EDF : o Calculer l'ordonnançabilité de ces tâches, o Donner un schéma d'utilisation du système d'arrosage à partir du temps 0. 3.2 Question 2 On veut maintenant se servir du système d'arrosage pour nettoyer les allées qui desservent les plantations. On décide de faire cet entretien pendant 10 minutes toutes les heures. Cet entretien est-il possible pendant les arrosages : 1. avec RMS, pourquoi ? 2. avec EDF, pourquoi ? 3.3 Question 3 Pour nettoyer toutes les allées, il faut 20 minutes. Si l'entretien commence 1h30 après le début de l'arrosage des plantes, pourra-t-on avoir completement nettoyé les allées : 2 TD Temps réel (1) 1. au bout d'une heure ? 2. après 100 minutes ? Résultat du calcul : 4 Temps de réponse de bout en bout 4.1 Rappels Dans l’approche holistique, on introduit le temps de réponse sous forme d’une gigue. Il faudra vérifier que le temps de réponse d’une tâche D activée par une tâche E à l’aide d’un message M est conforme à sa date d’échéance, c’est à dire que : Temps de réponse (E+M+D) ! Echéance(D). Méthode : itérer jusqu’au point fixe W(Ri) = Ri : 1. initialiser les gigues et les temps de réponse pour les messages et les tâches: ! Ji = 0 ! Riancien = 0 ! Ricourant : 1. pour les tâches : Ricourant = Ji +Wi = Ci + !(j> prio(i)) Cj en effet Wi = Ci + !(j> prio(i)) !( Jj + ")/Pj"*Cj = Ci + !(j> prio(i)) Cj 2. pour les messages : Ricourant = Ji + Mi = Mi 1 M2 M1 Calcul du temps de réponse : Tâche Ri = Ji + Wi avec : Wi = Ci + !(j> prio(i)) !(Jj + Wi) / Pj"*Cj Message Ri = Ji + Mi 2 gigue gigue gigue gigue 3 4 gigue gigue 5 11 12 Processeur A A B B A 6 7 8 9 10 11 12 4.3 Exercice Caractéristiques des tâches: Tâche Capacité Période T1 5 20 T2 10 35 T3 10 25 T4 5 50 T5 15 60 Priorité 1 2 2 3 3 Caractéristiques des messages : Message Période Sens M1 T1 vers T4 M2 T3 vers T5 M3 T4 vers T5 4.2 Exemple vu en cours Priorité 1 2 2 1 3 Processeur B (T4 envoie M1 vers T2, T3 activée par T1 via M1) : 1 2 3 4 5 6 7 8 9 10 T4 T3 gigue gigue gigue gigue gigue gigue gigue gigue gigue gigue 12 Bus : 2. itérations, tant qu’il existe un Riancien différent de Ricourant : ! pour chaque message et tâche, mettre à jour la gigue en fonction du temps de réponse : 1. Ji = max (Ji , maxj prec i( Rjcourant) ) ! pour chaque message et tâche, calculer les temps de réponses : 1. Riancien = Ricourant 2. Ricourant = CalculTempsReponse( i ) Caractéristiques des tâches: Tâche Période Capacité T1 100 4 T2 60 5 T3 100 3 T4 60 2 T5 90 3 Processeur A (T1 envoie M1 vers T3, T2 activée par T4 via M2 ) : 1 2 3 4 5 6 7 8 9 10 11 T1 T2 gigue gigue gigue T5 Processeur A C A C B Délai de comm. 10 10 2 4.4 Question Appliquer cette méthode de calcul au jeu de tâches et messages précédent. 4.4.1 Indication : Résultat Scénario: Message M1 émis par T1 vers T3 (délai 6) Message M2 émis par T4 vers T2 (délai 1) Processeur A (T1, prioritaire, envoie M1 vers T4, T3 envoie M1 vers T5) : 1 2 3 4 5 6 7 8 9 10 … 15 T1 T3 … Processeur B (T5 activé par T3 via M2 et par T4 via M3 ) : 1 2 … … 32 … … 47 T4 T3 gigue gigue gigue gigue gigue … … Processeur C (T3 envoie M3 vers T5, T2 est prioritaire) : 3 TD Temps réel (1) 4 TD Temps réel (1) T2 T4 1 … … … 10 … gigue gigue gigue … 5 … … gigue gigue … … … … 15 gigue 15 … … … … 25 … gigue gigue pour les trois tâches T1, T2 et T3, puis pour T1, T2, T3, et SCRUT qui prend en charge les quatre tâches apériodiques. Donner un schéma illustrant l'ordonnancement de T1, T2, T3 et des quatre tâches apériodiques. 30 • • Bus : 1 M1 M2 M3 gigue gigue gigue gigue gigue gigue gigue gigue gigue gigue gigue gigue … … 30 31 6.2 Question 2 32 … gigue gigue Les tâches apériodiques sont maintenant les deux suivantes • TA1 (C=8), date de réveil : t=6, • TA2 (C=15), date de réveil : t=20, Donner un schéma illustrant l'ordonnancement de T1, T2, T3, et de ces deux tâches apériodiques. gigue 4.4.2 Rappel bus CAN Pour n bits, la taille maximale de la trame est : Lmax = 47 + (8*n) + #( ( 34 + (8*n) -1)/ 4 )$ bits Bits de données 0 Lmax 55 Ou délai, en µs, pour un débit de 1 Mbits/s Efficacité (%) 0 8 65 16 75 24 85 32 95 40 105 48 115 56 125 64 135 12 21 28 34 38 42 45 47 Donc 8 octets en 135µs, Si la base de temps (tic) est de 1ms, pendant un tic on peut transmettre 10-3 / (135*10-6 ) = 103/135 = 7 paquets de 8 octets. 5 Serveur différé 5.1 Question 1 Soit les tâches, toutes prêtes à la date t=0 : T1: (C=2, D=P=3) T2: (C=1, D=P=4) La tâche T1 est un serveur différé. On introduit également A, une tâche apériodique caractérisée ainsi : A : réveil en 4, C=4 Donner un schéma illustrant l'ordonnancement de T2, et de la tâche apériodique. Que se passe-t-il ? 6 Serveur de scrutation Soit les trois tâches, toutes prêtes à la date t=0 : • T1 : (C=5, T =30) • T2 : (C=10, T =50) • T3 : (C=25, T =75) ainsi que les quatre tâches apériodiques : • TA1 : (C=8, réveil en 0), • TA2 : (C=4, réveil en 20), • TA3 : (C=13, réveil en 45), • TA4 : (C=10, réveil en 90), Elles sont prises en charge par un serveur de scrutation appelé SCRUT, tel que : • SCRUT(C=5, P=25), 6.1 Question 1 Calculer U, le facteur d'utilisation du processeur (ordonnancement RM) : 5 TD Temps réel (1) 6 TD Temps réel (1)