TD 1 Ordonnancement - Page d'accueil de François...

43
F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 1 TD 1 Ordonnancement

Transcript of TD 1 Ordonnancement - Page d'accueil de François...

F. Touchard Polytech Marseille IRM4 SICA 2012-13 TD Ordonnancement temps réel 1

TD 1Ordonnancement

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 30

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é