TD 1 Ordonnancement - Page d'accueil de François...
Transcript of TD 1 Ordonnancement - Page d'accueil de François...
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 2
Ordonnancement EDF
On considère 3 tâches périodiques :● Tp1 : (r0 = 0, C = 5, D = 25, P = 30)
● Tp2 : (r0 = 0, C = 10, D = 40, P = 50)
● Tp3 : (r0 = 0, C = 20, D = 55, P = 75)
1) quelle est la période d’étude ?2) cette configuration est-elle ordonnançable par EDF3) tracer le chronogramme. Identifier les temps creux.
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 3
Ordonnancement● période d'étude :
➢ PPCM(30, 50, 75) = 150● Ordonnançabilité par EDF
➢ condition suffisante :
● CH = 5/25 + 10/40 + 20/55 = 0,81
CH =∑i=1
n Ci
Di
≤ 1
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 4
Ordonnancement EDF
0
0
0
30 60 90 120 150
Tp1
Tp2
Tp3
25 55 85 115 145
5040 90 100 150140
55 75 150130
● Tp1 : (r0 = 0, C = 5, D = 25, P = 30)
● Tp2 : (r0 = 0, C = 10, D = 40, P = 50)
● Tp3 : (r0 = 0, C = 20, D = 55, P = 75)
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 5
Ordonnancement EDF
● temps creux : ➢ [40, 50], [65, 75], [110, 120], [125, 150]
0
0
0
30 60 90 120 150
Tp1
Tp2
Tp3
25 55 85 115 145
5040 90 100 150140
55 75 150130
5040 7565 120110 125 1500
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 6
Ordonnancement EDF● On introduit 5 tâches apériodiques :● Tap1 : (r0 = 40, C = 10, D = 15)
● Tap2 : (r0 = 70, C = 15, D = 35)
● Tap3 : (r0 = 100, C = 20, D = 40)
● Tap4 : (r0 = 105, C = 5, D = 25)
● Tap5 : (r0 = 120, 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 2012-13 TD Ordonnancement temps réel 7
Ordonnancement EDF
● Tap1 (r=40, C=10, D=15)
➢ acceptée dans le temps creux [40, 50]
0
0
0
30 60
90 120 150
Tp1
Tp2
Tp3
25 55 85 115 145
5040 90 100 150140
55 75 150130
5040 7565 120110 125 150
Tap1
Tap1
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 8
Ordonnancement EDF
● Tap2 (r=70, C=15, D=35)
➢ n'est pas acceptée car il n'y a pas de temps creux suffisant pour l'exécuter avant son échéance à t=105
0
0
0
30 60
90 120 150
Tp1
Tp2
Tp3
25 55 85 115 145
5040 90 100 150140
55 75 150130
5040 7565 120110 125 150
Tap1
Tap2
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 9
Ordonnancement EDF
● Tap3 (r=100, C=20, D=40)
➢ est acceptée car elle peut s'exécuter dans les temps creux [110, 120] et [125, 150] et se terminer avant son échéance à t=140
0
0
0
30 60
90 120 150
Tp1
Tp2
Tp3
25 55 85 115 145
5040 90 100 150140
55 75 150130
5040 7565 120110 125 150
Tap1 Tap3
Tap3
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 10
Ordonnancement EDF
● Tap4 (r=105, C=5, D=25)
➢ peut être acceptée car son exécution retarde la terminaison de Tap
3 sans remettre en cause le respect de l'échéance
0
0
0
30 60
90 120 150
Tp1
Tp2
Tp3
25 55 85 115 145
5040 90 100 150140
55 75 150130
5040 7565 120110 125 150
Tap1 Tap3
Tap3Tap4Tap1
Tap4
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 11
Ordonnancement EDF
● Tap5 (r=120, 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
0
0
0
30 60
90 120 150
Tp1
Tp2
Tp3
25 55 85 115 145
5040 90 100 150140
55 75 150130
5040 7565 120110 125 150
Tap1 Tap3
Tap5
Tap3Tap4Tap1
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 12
Serveur sporadique● 2 tâches périodiques + 1 serveur sporadique
➢ J1 : t
1 = 0, C
1 = 1, T
1 = 5
➢ J2 : t
2 = 0, C
2 = 4, T
2 = 15
➢ SS : Cs = 5, T
s = 10
● tâches apériodiques :➢ A
1 : t
a1 = 4, C
a1 = 2
➢ A2 : t
a2 = 8, C
a2 = 2
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 13
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 Pexe
< Ps
➢ RT : date de la récupération✔ calculée dès que le serveur devient actif (t
A)
✔ égale à tA + 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 2012-13 TD Ordonnancement temps réel 14
Serveur sporadique● 2 tâches périodiques + 1 serveur sporadique
➢ J1 : t
1 = 0, C
1 = 1, T
1 = 5
➢ J2 : t
2 = 0, C
2 = 4, T
2 = 15
➢ SS : Cs = 5, T
s = 10
● tâches apériodiques :➢ A
1 : t
a1 = 4, C
a1 = 2
➢ A2 : t
a2 = 8, C
a2 = 2
● ordonnancement : J1
J2
SSactive
tâchesapériodiques
CS
0 2 20 2 2
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 15
tâches avec demandes de ressources imbriquées
● 2 tâches T1 et T
2 (priorité P
1 > P
2) utilisant des ressources R
1 et R
2
● T2 démarre à t=0
demande R1 3 unités CPU plus tard
demande R2 2 unités CPU plus tard
relâche R2 3 unités CPU plus tard
relâche R1 2 unités CPU plus tard
utilise encore 1 unité CPU● T
1 démarre à t=4
demande R2 3 unités CPU plus tard
demande R1 3 unités CPU plus tard
relâche R1 2 unités CPU plus tard
relâche R2 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 2012-13 TD Ordonnancement temps réel 16
T1
T2
R1
aucun protocole d'accès aux ressources
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 17
T1
T2
R1
aucun protocole d'accès aux ressources
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 18
T1
T2
R1
R2 R1
aucun protocole d'accès aux ressources
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 19
T1
T2
R1
R2 R1
aucun protocole d'accès aux ressources
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 20
T1
T2
R1
R2 R1
R2
aucun protocole d'accès aux ressources
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 21
T1
T2
R1
R2 R1
R2
aucun protocole d'accès aux ressources
Deadlock
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 22
T1
T2
R1
R2 R1
R2
avec héritage de priorité
p2
P1
P2
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 23
T1
T2
R1
R2 R1
R2
avec héritage de priorité
Deadlock
p2
P1
P2
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 24
T1
T2
R1
R2
avec protocole de priorité plafonnée
p2
P1
P2
● quand T1 demande R
2, la priorité plafond C* est P
1
➢ T1 ne peut accéder à la ressource et se bloque
➢ T2 reprend la CPU avec p
2 = P
1
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 25
T1
T2
R1
R2
R2
avec protocole de priorité plafonnée
p2
P1
P2
● quand T2 demande R
2 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 2012-13 TD Ordonnancement temps réel 26
T1
T2
R1
R2
R2
avec protocole de priorité plafonnée
p2
P1
P2
R2
● T2 relâche R
2
➢ T1 est toujours bloquée en attente de R
2 à cause du protocole
➢ T1 garde la CPU avec p
2 = P
1
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 27
T1
T2
R1
R2
R2
avec protocole de priorité plafonnée
p2
P1
P2
R2 R1
● T2 relâche R
1
➢ T2 ne possède plus de sémaphore ⇒ p
2 revient à P
2
➢ T1 acquiert R
2 et la CPU
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 28
T1
T2
R1
R2
R2
avec protocole de priorité plafonnée
p2
P1
P2
R2 R1
● T1 demande et acquiert R
1, le relâche, relâche R
2 et se termine
R1 R1
R1
R2
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 29
T1
T2
R1
R2
R2
avec protocole de priorité plafonnée
p2
P1
P2
R2 R1
● T2 se termine
R1 R1
R1
R2
pas dedeadlock
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 31
La mission Pathfinder sur Mars
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 32
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 : 30W● liaison UHF avec la sonde
Pathfinder
● bug dans la gestion des ressources critiques ⇒ perte de données importantes
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 33
● monoprocesseur RS6000 (architecture RISC de IBM)(+ un processeur Intel 8085 pour les automatismes de base du robot)
Architecture
Processeur MémoiresInterfacecaméra
Interfaceradio
Interfacealtimètre
Interfaceaccéléromètre
Interfaceenregistreur
Interface bus
Interfacecapteur
Interfacevannes
Interfacemoteurs
Interfaceanalyseur
caméraémetteur
radio
enregistreurmétéo
accéléromètrealtimètrealtimètre
moteurs vannes capteurs solaires
analyseurd'étoiles
bus VME
bus 1553
bus 1553
Sonde Pathfinder
Robot Sojourner
Coupleur
Coupleur
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 34
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
Gestionsonde
Pathfinder
Carteradio
Cartecaméra
Réception
Emission
Images
Commandescaméra
Donnéesmesurées
Commandes
Interfacebus 1553
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 35
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 2012-13 TD Ordonnancement temps réel 36
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 bus1553
↑ 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 2012-13 TD Ordonnancement temps réel 37
Architecture logicielle
● Architecture en tâches
ORDO_BUS
HTR
commandes
TÂCHE_CAMÉRA
HTR
commandecaméra
TÂCHE_RADIO
HTR
émission
images
réception
DISTRIBUTION_DONNÉES
HTR
TÂCHE_PILOTAGE
HTR
TÂCHE_MESURE
HTR
TÂCHE-MÉTÉO
HTR
LIRE
ÉCRIRE
Tampon_données
données mesurées
(HTR : horloge temps réel)
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 38
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 2012-13 TD Ordonnancement temps réel 39
Caractéristiques des tâches
● pour CMÉTÉO
= 2, U=0.72 et pour CMÉTÉO
= 3, U=0.725
● analyse Rate Monotonic pourrait s'appliquer (URMA
=0.729),● mais partage de la ressource MÉMOIRE_TAMPON⇒ analyse détaillée
Paramètres (ms) Paramètresréduits
Tâche Priorité Ci Pi Ci Pi
Tempsutilisationressource
ORDO_BUS 7 25 125 1 5
DISTRIBUTION_
DONNÉES 6 25 125 1 5 1
TÂCHE_PILOTAGE 5 25 250 1 10 1
TÂCHE_RADIO 4 25 250 1 10
TÂCHE_CAMÉRA 3 25 250 1 10
TÂCHE_MESURES 2 50 5000 2 200 2
TÂCHE_MÉTÉO 1 [50, 75] 5000 [2, 3] 200 [2, 3]
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 40
recherche d'ordonnancement
● période d'étude théorique : 5000ms➢ mais on va se contenter d'étudier sur 250ms 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 CMÉTÉO
= 2 et CMÉ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 2012-13 TD Ordonnancement temps réel 41
diagramme d'exécution pour C=2
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
ORDO_BUS
TÂCHE_RADIO
TÂCHE_CAMÉRA
TÂCHE_MESURES
TÂCHE_MÉTÉO
RR R
R R
DISTRIBUTION_DONNÉES
TÂCHE_PILOTAGE
R R
R R
R
R
Inversion de priorité
Inversion de priorité
R
R R R R
R R
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 42
diagramme d'exécution pour C=3ORDO_BUS
DISTRIBUTION_DONNÉES
TÂCHE_PILOTAGE
TÂCHE_RADIO
TÂCHE_CAMÉRA
TÂCHE_MESURES
TÂCHE_MÉTÉO R R
Inversion de priorité
Inversion de priorité
R R
RR R R R
R R R
ResetALARME
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 43
C=3 avec héritage de prioritéORDO_BUS
TÂCHE_RADIO
TÂCHE_CAMÉRA
TÂCHE_MESURES
TÂCHE_MÉTÉO
RDISTRIBUTION_DONNÉES
TÂCHE_PILOTAGE R
R
R
R R R R
R
R R
R R
R R
R
R
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
R
Héritage de priorité