TD 1 Ordonnancement F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 1
Ordonnancement EDF On considère 3 tâches périodiques : Tp 1 : (r =, C = 5, D = 25, P = 3) Tp 2 : (r =, C = 1, D = 4, P = 5) Tp 3 : (r =, C = 2, D = 55, P = 75) 1) quelle est la période d étude? 2) cette configuration est-elle ordonnançable par EDF 3) tracer le chronogramme. Identifier les temps creux. F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 2
Ordonnancement période d'étude : PPCM(3, 5, 75) = 15 Ordonnançabilité par EDF condition suffisante : n CH = i=1 C i D i 1 CH = 5/25 + 1/4 + 2/55 =,81 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 3
Ordonnancement EDF Tp 1 Tp 2 Tp 3 25 3 55 6 85 9 115 12 145 15 4 5 9 1 14 15 55 75 13 15 Tp 1 : (r =, C = 5, D = 25, P = 3) Tp 2 : (r =, C = 1, D = 4, P = 5) Tp 3 : (r =, C = 2, D = 55, P = 75) F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 4
Ordonnancement EDF Tp 1 Tp 2 Tp 3 25 3 55 6 85 9 115 12 145 15 4 5 9 1 14 15 55 75 13 15 4 5 65 75 11 12 125 15 temps creux : [4, 5], [65, 75], [11, 12], [125, 15] F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 5
Ordonnancement EDF On introduit 5 tâches apériodiques : Tap 1 : (r = 4, C = 1, D = 15) Tap 2 : (r = 7, C = 15, D = 35) Tap 3 : (r = 1, C = 2, D = 4) Tap 4 : (r = 15, C = 5, D = 25) Tap 5 : (r = 12, C = 5, D = 15) Quelles sont les tâches qui peuvent être ordonnancées dans les temps creux des tâches périodiques? F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 6
Ordonnancement EDF Tp 1 Tp 2 Tp 3 25 3 55 6 85 9 115 12 145 15 4 5 9 1 14 15 55 75 13 15 4 5 65 75 11 12 125 15 Tap 1 Tap 1 Tap 1 (r=4, C=1, D=15) acceptée dans le temps creux [4, 5] F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 7
Ordonnancement EDF Tp 1 Tp 2 Tp 3 25 3 55 6 85 9 115 12 145 15 4 5 9 1 14 15 55 75 13 15 4 5 65 75 11 12 125 15 Tap 1 Tap 2 (r=7, C=15, D=35) Tap 2 n'est pas acceptée car il n'y a pas de temps creux suffisant pour l'exécuter avant son échéance à t=15 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 8
Ordonnancement EDF Tp 1 Tp 2 Tp 3 25 3 55 6 85 9 115 12 145 15 4 5 9 1 14 15 55 75 13 15 4 5 65 75 11 12 125 15 Tap 1 Tap 3 Tap 3 (r=1, C=2, D=4) Tap 3 est acceptée car elle peut s'exécuter dans les temps creux [11, 12] et [125, 15] et se terminer avant son échéance à t=14 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 9
Ordonnancement EDF Tp 1 Tp 2 Tp 3 25 3 55 6 85 9 115 12 145 15 4 5 9 1 14 15 55 75 13 15 4 5 65 75 11 12 125 15 Tap 1 Tap 3 Tap 1 Tap 4 Tap 3 Tap 4 (r=15, C=5, D=25) Tap 4 peut être acceptée car son exécution retarde la terminaison de Tap 3 sans remettre en cause le respect de l'échéance F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 1
Ordonnancement EDF Tp 1 Tp 2 Tp 3 25 3 55 6 85 9 115 12 145 15 4 5 9 1 14 15 55 75 13 15 4 5 65 75 11 12 125 15 Tap 1 Tap 3 Tap 1 Tap 4 Tap 3 Tap 5 (r=12, C=5, D=15) ne peut être acceptée car son exécution retarderait la terminaison de Tap 3 et remettrait en cause le respect de l'échéance Tap 5 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 11
Serveur sporadique 2 tâches périodiques + 1 serveur sporadique J 1 : t 1 =, C 1 = 1, T 1 = 5 J 2 : t 2 =, C 2 = 4, T 2 = 15 SS : C s = 5, T s = 1 tâches apériodiques : A 1 : t a1 = 4, C a1 = 2 A 2 : t a2 = 8, C a2 = 2 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 12
Serveur sporadique calcul de la récupération de capacité le serveur est dit «actif» quand la priorité de la tâche courante P exe est supérieure ou égale à celle du serveur P s le serveur est dit «inactif» si P exe < P s RT : date de la récupération calculée dès que le serveur devient actif (t A ) égale à t A + T s RA : montant de la récupération à effectuer à RT calculée à l'instant t I où le serveur devient inactif ou que la capacité est épuisée égal à la capacité consommée pendant l'intervalle [t A, t I ] F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 13
Serveur sporadique 2 tâches périodiques + 1 serveur sporadique J 1 : t 1 =, C 1 = 1, T 1 = 5 J 2 : t 2 =, C 2 = 4, T 2 = 15 SS : C s = 5, T s = 1 tâches apériodiques : A 1 : t a1 = 4, C a1 = 2 A 2 : t a2 = 8, C a2 = 2 ordonnancement : J 1 J 2 tâches apériodiques SS active 2 2 2 2 C S F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 14
tâches avec demandes de ressources imbriquées 2 tâches T 1 et T 2 (priorité P 1 > P 2 ) utilisant des ressources et T 2 démarre à t= demande 3 unités CPU plus tard demande 2 unités CPU plus tard relâche 3 unités CPU plus tard relâche 2 unités CPU plus tard utilise encore 1 unité CPU T 1 démarre à t=4 demande 3 unités CPU plus tard demande 3 unités CPU plus tard relâche 2 unités CPU plus tard relâche 3 unités CPU plus tard utilise encore 1 unité CPU tracer les chronogrammes et la priorité effective p 2 de T 2 sans aucun protocole de gestion des ressources, avec le protocole d'héritage de priorité, avec le protocole de priorité plafonnée F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 15
aucun protocole d'accès aux ressources T 1 T 2 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 16
aucun protocole d'accès aux ressources T 1 T 2 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 17
aucun protocole d'accès aux ressources T 1 T 2 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 18
aucun protocole d'accès aux ressources T 1 T 2 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 19
aucun protocole d'accès aux ressources T 1 T 2 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 2
aucun protocole d'accès aux ressources Deadlock T 1 T 2 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 21
avec héritage de priorité T 1 T 2 p 2 P 1 P 2 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 22
avec héritage de priorité Deadlock T 1 T 2 p 2 P 1 P 2 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 23
avec protocole de priorité plafonnée T 1 T 2 p 2 P 1 P 2 quand T 1 demande, la priorité plafond C* est P 1 T 1 ne peut accéder à la ressource et se bloque T 2 reprend la CPU avec p 2 = P 1 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 24
avec protocole de priorité plafonnée T 1 T 2 p 2 P 1 P 2 quand T 2 demande il n'y a pas de tâche autres que T 2 qui possèdent un sémaphore T 2 accède à la ressource avec toujours p 2 = P 1 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 25
avec protocole de priorité plafonnée T 1 T 2 p 2 P 1 P 2 T 2 relâche T 1 est toujours bloquée en attente de à cause du protocole T 1 garde la CPU avec p 2 = P 1 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 26
avec protocole de priorité plafonnée T 1 T 2 p 2 P 1 P 2 T 2 relâche T 2 ne possède plus de sémaphore p 2 revient à P 2 T 1 acquiert et la CPU F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 27
avec protocole de priorité plafonnée T 1 T 2 p 2 P 1 P 2 T 1 demande et acquiert, le relâche, relâche et se termine F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 28
avec protocole de priorité plafonnée T 1 T 2 p 2 P 1 pas de deadlock P 2 T 2 se termine F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 29
F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 3
La mission Pathfinder sur Mars F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 31
La mission Pathfinder sonde sur Mars, arrivée le 4 juillet 1997 robot mobile Sojourner chargé de différentes tâches photos relevés météo prélèvements poids : 11.5kg vitesse : 24m/h puissance totale : 3W liaison UHF avec la sonde Pathfinder bug dans la gestion des ressources critiques perte de données importantes F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 32
Architecture monoprocesseur RS6 (architecture RISC de IBM) (+ un processeur Intel 885 pour les automatismes de base du robot) Sonde Pathfinder Processeur Mémoires caméra Interface caméra émetteur radio Interface radio bus VME Interface bus bus 1553 Coupleur Interface altimètre Interface accéléromètre Interface enregistreur Robot Sojourner altimètre accéléromètre enregistreur météo bus 1553 Coupleur Interface moteurs Interface vannes Interface capteur Interface analyseur moteurs vannes capteurs solaires analyseur d'étoiles F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 33
Spécification fonctionnelle le système de gestion de la sonde communique avec l'extérieur par la carte radio pour les liaisons avec la terre la carte de liaison avec la caméra l'interface avec le bus 1553 pour les autres capteurs/actionneurs Carte radio Carte caméra Réception Emission Images Commandes caméra Gestion sonde Pathfinder Données mesurées Commandes Interface bus 1553 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 34
Architecture logicielle multitâche gérée par le noyau Vxworks (Wind River) 25 tâches périodiques (ex. : gestion du bus 1553) apériodiques (ex. : analyse des erreurs) communication et synchronisation par des files de messages suivant les phases de la mission (vol interplanétaire, aterrissage, exploration par le robot), toutes les tâches ne sont pas utiles F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 35
Architecture logicielle Liste des tâches et priorités relatives Priorité Tâche Nature de la tâche Maximum ORDO_BUS ordonnanceur du bus 1553 DISTRIBUTION_DONNEES distribution des données du bus 1553 TÂCHE_PILOTAGE pilotage de l'application (robot) TÂCHE_RADIO gestion des communications radio TÂCHE_CAMÉRA gestion de la caméra TÂCHE_MESURES mesures Minimum TÂCHE_METEO gestion des données météo F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 36
Architecture logicielle Architecture en tâches (HTR : horloge temps réel) HTR ORDO_BUS HTR DISTRIBUTION_ DONNÉES données mesurées HTR commandes TÂCHE_CAMÉRA HTR TÂCHE_PILOTAGE Tampon_données LIRE images commande caméra HTR TÂCHE_MESURE ÉCRIRE HTR TÂCHE_RADIO HTR TÂCHE-MÉTÉO réception émission F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 37
Utilisation du bus 1553 la gestion du bus est pilotée par une horloge à 8 Hz (125ms) 2 tâches pour réguler le transfert des données ORDO_BUS priorité maximale vérifie que le transfert des données a été correctement effectué et prépare le transfert suivant DISTRIBUTION_DONNÉES 2 ème priorité collecte les données sur le bus et les place dans la mémoire tampon F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 38
Caractéristiques des tâches Paramètres (ms) Paramètres réduits Tâche Priorité C i P i C i P i Temps utilisation ressource ORDO_BUS 7 25 125 1 5 DISTRIBUTION_ DONNÉES 6 25 125 1 5 1 TÂCHE_PILOTAGE 5 25 25 1 1 1 TÂCHE_RADIO 4 25 25 1 1 TÂCHE_CAMÉRA 3 25 25 1 1 TÂCHE_MESURES 2 5 5 2 2 2 TÂCHE_MÉTÉO 1 [5, 75] 5 [2, 3] 2 [2, 3] pour C MÉTÉO = 2, U=.72 et pour C MÉTÉO = 3, U=.725 analyse Rate Monotonic pourrait s'appliquer (U RMA =.729), mais partage de la ressource MÉMOIRE_TAMPON analyse détaillée F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 39
recherche d'ordonnancement période d'étude théorique : 5ms mais on va se contenter d'étudier sur 25ms en considérant que les tâches MESURES et MÉTÉO viennent de se terminer et en se mettant sur la période suivante étudier les cas C MÉTÉO = 2 et C MÉTÉO = 3 remplir les chronogrammes dans le cas où l héritage de priorité n est pas activé F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 4
diagramme d'exécution pour C=2 ORDO_BUS 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 R R R R R R R R R R DISTRIBUTION_DONNÉES 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 R TÂCHE_PILOTAGE R R R 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 Inversion de priorité TÂCHE_RADIO 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 Inversion de priorité TÂCHE_CAMÉRA 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 R R TÂCHE_MESURES 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 R R TÂCHE_MÉTÉO 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 41
ORDO_BUS diagramme d'exécution pour C=3 DISTRIBUTION_DONNÉES Reset ALARME 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 R R R R R 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 TÂCHE_PILOTAGE R R R 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 Inversion de priorité TÂCHE_RADIO 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 Inversion de priorité TÂCHE_CAMÉRA 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 TÂCHE_MESURES R R 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 TÂCHE_MÉTÉO R R 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 42
C=3 avec héritage de priorité ORDO_BU S 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 R R R R R R R R R R DISTRIBUTION_DONNÉ ES 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 R TÂCHE_PILOTAGE R R R 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 TÂCHE_RADIO 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 TÂCHE_CAMÉ RA 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 R R TÂCHE_MESUR ES Héritage de priorité 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 TÂCHE_MÉTÉO R R 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 8 19 2 21 22 23 24 25 F. Touchard Polytech Marseille IRM4 SICA 212-13 TD Ordonnancement temps réel 43