_slides_Ordonnancement_temps_reel.pptx

108
Chapitre : Les Ordonnancements Temps réel 3 ème Systèmes Embarqués- ISI Ben Fradj Hanene Module: Conception de Systèmes temps-réel

Transcript of _slides_Ordonnancement_temps_reel.pptx

Page 1: _slides_Ordonnancement_temps_reel.pptx

Chapitre : Les Ordonnancements Temps réel

3 ème Systèmes Embarqués- ISI

Ben Fradj Hanene

Module: Conception de Systèmes temps-réel

Page 2: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 2

Définition

Ordonnanceur ≈ Planificateurattribuer la ressource « processeur » aux tâches au cours du temps, selon une politique d’ordonnancement

Page 3: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 3

Ordonnancement temps réel

l’exécution des tâches est soumise à des contraintes temporelles– cadence– temps de réponse (échéance, bout en bout)– …

le respect de ces contraintes temporelles est important– contraintes strictes, temps réel dur (« hard »)– contraintes relatives, temps réel mou (« soft »)

l’ordonnancement doit permettre le respect de ces contraintes

– l’ordonnancement doit être certifiable : la preuve du respect de ces

contraintes doit pouvoir être apportée à priori

– ordonnançabilité, « schedulability »

Page 4: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 4

Les Types d’ordonnancement

Ordonnancement « hors ligne »• la séquence d’ordonnancement est pré-calculée avant l’exécution effective

• à l’exécution, l’ordonnanceur est un simple séquenceur (« cyclic scheduler »)

• mise en œuvre efficace mais rigidité

Ordonnancement « en ligne »

• les décisions d’ordonnancement sont prises au cours de l’exécution

• à l’exécution, l’ordonnanceur implémente un algorithme d’ordonnancement

• surcoûts de mise en oeuvre mais flexibilité

Page 5: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 5

• Ordonnancement « non préemptif » / « préemptif »

– l’exécution de la tâche en cours ne peut être interrompue– la tâche en cours peut perdre involontairement le processeur

au profit d’une autre tâche (jugée plus urgente)

• « hybride »– selon que les tâches (ou des sections de tâche) sont ou non

préemptibles

Les Types d’ordonnancement

Page 6: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 6

1. politique « premier arrivé, premier servi »,

2. politique « plus court d ’abord »,

3. politique du tourniquet, « round robin »,

4. politique conduite par la priorité attachée à chaque tâche

Priorités fixes (statiques) / dynamiques

• indépendantes du temps• fixées à priori

• évoluent avec le temps• surcoût à l’exécution

Les Types d’ordonnancement

Quasi tous les exécutifs du marché

Page 7: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 7

• Temps partagé avec politique du tourniquet (round robin):

- Tranche de temps de taille fixe (quantum)- Pas de prise en compte des contraintes de temps- souvent utilisé en complément du mécanisme de priorité pour les tâches de priorités égales (équité entre ces tâches)

Les Types d’ordonnancement

Page 8: _slides_Ordonnancement_temps_reel.pptx

Les ordonnancements à priorités: Plan

• Caractéristiques des tâches temps réel• Ordonnancement préemptif à priorité fixe

– Rate Monotonic (RM)– Deadline Monotonic (DM)

• Ordonnancements préemptif à priorité dynamique– Earliest deadline first (EDF)

• Vérification d’ordonnançabilité

Page 9: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 9

Les tâches temps réel

• Tâches périodiques– elles sont activées à intervalles– de temps réguliers

• Tâches apériodiques – elles sont activées à des instants aléatoires

• Tâches sporadiques– une borne minimale de la durée séparant 2

activations successives est connues

Page 10: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 10

Caractéristiques des tâches temps réel

• Oi : date d’activation initiale, phase initiale, offset• Ci : durée d’exécution sans préemption• Ti : période d’activation• Di : délai critique, échéance relative

• Oi = Oj, (i,j) : tâches synchrones• Di = Ti : tâche à échéance sur requête• Di ? Ti : tâche à échéance arbitraire

Page 11: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 11

Ordo. préemptif à priorités fixes : RM

1. RM, « Rate Monotonic »

- Pour tâches périodiques- Définition [Liu & Layland, 1973]

la priorité d’une tâche est inversement proportionnelle à sa période (conflits résolus arbitrairement)

- Propriété :

- optimal dans la classe des algorithmes à priorités fixes,pour des configurations de tâches périodiques, synchrones,à échéance sur requête et indépendantes

- l'utilisation de la période limite l'utilisation aux seules tâches à échéance sur requête (Si Di ≠ Pi)

Page 12: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 12

Ordo. préemptif à priorités fixes: RM

Page 13: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 13

• Pour tâches périodiques• Définition [Leung & Whitehead, 1985]

La priorité d’une tâche est inversementproportionnelle à son échéance relative (conflitsrésolus arbitrairement)

• Propriété– Optimal dans la classe des algorithmes à priorités fixes pour des

tâches périodiques indépendantes à échéance ≤ période– équivalent à RMA dans le cas de tâches à échéance sur

requête, meilleur dans les autres cas

Ordo. préemptif à priorités fixes: DM

2. DM, « Deadline Monotonic »

Page 14: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 14

T1(r0 = 0, C=3, D=7, P=20), T2 (r0 = 0, C=2, D=4, P=5),T3 (r0 = 0, C=2, D=9, P=10)

Ordo. préemptif à priorités fixes: DM

Exemple

Page 15: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 15

Ordo. préemptif à priorités dynamiques : EDF

EDF, « Earliest Deadline First »• Définition : [Liu & Layland, 1973]

à un instant donné, la tâche la plus prioritaire (parmi les tâches prêtes) est: celle dont l’échéance est la plus proche

• Propriété : optimal dans la classe des algorithmes à priorités dynamiques, pour des configurations de tâches indépendantes périodiques, à échéance ≤ période et

Page 16: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 16

Ordo. préemptif à priorités dynamiques : EDF

Page 17: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 17

Exercice :

Ordo. préemptif à priorités dynamiques : EDF

Page 18: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 18

• Définition • Laxité : temps restant entre la fin d ’exécution de la tâche et son délai critique,

Lmax = D – C

• à un instant donné, la tâche la plus prioritaire (parmi les tâches prêtes) est celle dont la laxité est la plus petite

• Propriété

optimalité idem EDmais, nombre de préemptions engendrées supérieur

Ordo. préemptif à priorités dynamiques : Least Laxity (LL)

Least Laxity (LL)

Page 19: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 19

4 temps d ’exécution restant C(t) : C(t) = Cmax - Cexécuté

4 délai critique dynamique D(t) : temps restant avant la prochaine échéance, D(t) = d - t

4 laxité dynamique L(t) : temps avant le début d ’exécution de la tâche, L(t) = D(t) - C(t) = d - t - C(t)

t

r

Diagramme temporel d ’exécution

D

d

D(t)

t

L(t)

C(t)

Cmax

Pendant l'exécution de la tâche (à un instant donné t)

Modèle de tâches : paramètres dynamiques

Page 20: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 20

Ordo. préemptif à priorités dynamiques : Least Laxity (LL)

T1 (r0 = 0, C=3, , D=7, P=20), T2 (r0 = 0, C=2, D=4, P=5), T3 (r0 = 0, C=1, D=8, P=10)

Page 21: _slides_Ordonnancement_temps_reel.pptx

Les ordonnancements à priorités: Plan

• Caractéristiques des tâches temps réel• Ordonnancement préemptif à priorité fixe

– Rate Monotonic (RM)– Deadline Monotonic (DM)

• Ordonnancements préemptif à priorité dynamique– Earliest deadline first (EDF)

Vérification d’ordonnançabilité

Page 22: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 22

OrdonnançabilitéRôle• Formules mathématiques ou algorithmes permettant de vérifier

(prouver) que les tâches respecteront leurs contraintes de tempsClassification

• Vérification hors-ligne (avant exécution): statique– Critères analytiques calculables (CN, CS, CNS)– Simulation sur une durée finie :

• [0,PPCM (Ti)] si tâches synchrones• [min(Ok),max(Oi)+ 2*PPCM (Ti)]

– Cibles = systèmes temps-réel strict

• Vérification en-ligne (pendant l’exécution): dynamique• Tests d’acceptation en-ligne pour savoir si on accepte de nouvelles

tâches• Cibles = systèmes temps-réel souple

Page 23: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 23

• Données d’entrée des méthodes de verification : modèle du système

• Connaissance des informations sur les tâches (modèle de tâches)– Arrivée des tâches: périodique, sporadique, apériodique (dates

d’arrivées)– Synchronisations : précédences, exclusions entre tâches– Temps d’exécution au pire-cas (WCET)

• Sorties

Verdict sur le respect des contraintes de temps pour un algorithme d’ordonnancement donné

Ordonnançabilité

Page 24: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 24

Vérification : par simulation

• Périodicité des tâches → ordonnancement cyclique (pas la peine de simuler à l’infini)

• Durée de la période d’étude (hyperpériode)– Tâches synchrones : [0,PPCM(Pi)]– Tâches échelonnées (au moins un offset Oi non nul)

[min(Oi), max(Oi,Oj+Dj) + 2 * PPCM(Pi)]• Evaluation

– Valide quel que soit l’algorithme d’ordonnancement– Période d’étude peut être très longue selon les

relations entre périodes– Adapté aux ordonnancements hors-ligne

Page 25: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 25

• Condition nécessaire C– Il faut que C soit vérifiée pour que les contraintes de temps

soient respectées (système faisable)– C non vérifiée système non faisable– C vérifiée système peut être faisable (ou pas)

• Condition suffisante– Il suffit que C soit vérifiée pour que le système soit faisable– C vérifiée système est faisable (à coup sûr)– C non vérifiée système peut être faisable (ou pas)

• Condition nécessaire et suffisante– C vérifiée équivalent à montrer la faisabilité du système

Vérification : Critères analytiques

Page 26: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 26

• Utilisation du Taux d’utilisation du processeur (charge du proceseur par N tâches

• Condition nécessaire d’ordonnançabilité : U ≤ 1Cette condition n’est pas une condition suffisante (pas pour tous les ordonnancements)

N

i i

i

T

cU

1

Vérification : Critères analytiques

Page 27: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 27

Vérification : Critères analytiques

1.Ordonnancement RM :• pour que N tâches soient ordonnançables • Condition suffisante (CS)

• Si condition vérifiée avec Ci = WCETi de la tâche alors la condition est vérifiée avec Ci < WCETi

• s’applique aussi quand les tâches ne sont pas synchrones

Pour 3 tâches: U ≤ 0,779Pour n tâches U (N : U 0,69

Page 28: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 28

• Exercice: ces trois tâches sont elles ordonnançables selon la technique RM ?

T1 (r0 = 0, C=3, P=20),

T2 (r0 = 0, C=2, P=5),

T3 (r0 = 0, C=2, P=10)

Vérification : Critères analytiques

Page 29: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 29

2. Ordonnancement DM :• pour que N tâches soient ordonnançables • Condition suffisante (CS)

121

1

NN

i i

i ND

cU

Vérification : Critères analytiques

Page 30: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 30

• Exercice: ces trois tâches sont elles ordonnançables selon la technique DM (meme exemple)?

• T1 (r0 = 0, C=3, D=7, P=20), • T2 (r0 = 0, C=2, D=4, P=5), • T3 (r0 = 0, C=2, D=9, P=10)

Vérification : Critères analytiques

Page 31: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 31

3. Ordonnanancement EDF et LL

Vérification : Critères analytiques

Page 32: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 32

Vérification : Critères analytiques

Exemple

Page 33: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 33

• Exercice: ces trois tâches sont elles ordonnançables selon la technique EDF ?

• T1 (r0 = 0, C=3, D=7, P=20), • T2 (r0 = 0, C=2, D=4, P=5), • T3 (r0 = 0, C=1, D=8, P=10)

Vérification : Critères analytiques

Page 34: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 34

• Response time analysis (RTA, analyse de temps de réponse)

• Applicable pour tous les ordonnancements à priorité statique, quel que soit l’assignation des priorités (RM, DM, autre)

• Condition nécessaire et suffisante

Vérification : Pire temps de réponse

Page 35: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 35

Vérification : Pire temps de réponse

Page 36: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 36

Vérification : Pire temps de réponse

Page 37: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 37

• Algorithme de calcul des Ri (itératif)

• Quand la série converge, on a calculé le temps de réponse Ri

• Le système est ordonnançable quand Ri ≤ Di

Vérification : Pire temps de réponse

Page 38: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 38

Vérification : Pire temps de réponse

• Exercice: ces trois tâches sont elles ordonnançables selon cette technique d’ordonnancement ?

Page 39: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 39

Vérification : Pire temps de réponse

Page 40: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 40

Vérification : Pire temps de réponse

• temps de réponse de la tâche

• temps de réponse de la tâche

• temps de réponse de la tâche

Page 41: _slides_Ordonnancement_temps_reel.pptx

Les ordonnancements à priorités: Plan

• Caractéristiques des tâches temps réel• Ordonnancement préemptif à priorité fixe

– Rate Monotonic (RM)– Deadline Monotonic (DM)

• Ordonnancements préemptif à priorité dynamique– Earliest deadline first (EDF)

• Vérification d’ordonnançabilité• Ordonnancement de tâches apériodique• Ordonnancement de tâches en présence de ressources partagées

Page 42: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 42

Ordonnancement des tâches apériodique

• se distinguent des tâches périodiques par le fait que l'on ne connaît pas l'instant d'arrivée de la requête de réveil

• contraintes temporelles strictes ou relatives• buts à atteindre :

– si contraintes relatives : minimiser le temps de réponse

– si contraintes strictes : maximiser le nombre de tâches acceptées en respectant leurs contraintes

• 2 grandes catégories de traitement– traitement en arrière-plan– traitement par serveurs

Page 43: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 43

Tâches apériodiques à contraintes relatives

• traitement d'arrière-plan– le plus simple, mais le moins performant– tâches apériodiques ordonnancées quand le

processeur est oisif– si plusieurs tâches attendent, elles sont

traitées en mode FIFO

Page 44: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 44

Tp1 (r0=0, C=2, P=5), Tp2 (r0=0, C=2, P=10)Ta3 (r=4, C=2), Ta4 (r=10, C=1), Ta5 (r=11, C=2)

Tâches apériodiques à contraintes relatives

exemple de traitement d'arrière-plan

Page 45: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 45

• Traitement par serveur• un serveur est une tâche périodique créée spécialement

pour prendre en compte les tâches apériodiques• serveur caractérisé par :

– sa période– son temps d'exécution : capacité du serveur– serveur généralement ordonnancé suivant le même algorithme

que les autres tâches périodiques– une fois actif, le serveur sert les tâches apériodiques dans la

limite de sa capacité. L'ordre de traitement des tâches apériodiques ne dépend pas de l'algorithme général

Tâches apériodiques à contraintes relatives

Page 46: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 46

• Serveurs par scrutation (polling)– à chaque activation, traitement des tâches

jusqu'à épuisement de la capacité ou jusqu'à ce qu'il n'y ait plus de tâches en attente

– si aucune tâche n'est en attente (à l'activation ou parce que la dernière tâche a été traitée) , le serveur se suspend immédiatement et perd sa capacité qui peut être réutilisée par les tâches périodiques

Tâches apériodiques à contraintes relatives

Page 47: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 47

exemple de serveur par scrutation (ordonnancement RM)

• 2 tâches périodiques : Tp1 (r0=0, C=3, P=20) Tp2 (r0=0, C=2, P=10)• serveur : Tps(r0=0, C=2, P=5)• tâches apériodiques : Ta3 (r=4, C=2), Ta4 (r=10, C=1), Ta5 (r =11, C=2)

Tâches apériodiques à contraintes relatives

Page 48: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 48

• 2 approches : les traiter comme de tâches périodiques avec une

pseudo-période représentant l'intervalle minimal entre 2 occurrences utilisé dans le cas RM mais difficile d'évaluer la pseudo-période engendre une sous-utilisation du processeur

ordonnancer les tâches en EDF. A chaque nouvelle tâche apériodique, faire tourner une "routine de garantie" pour vérifier que toutes les contraintes temporelles seront respectées. Si non, refuser la tâche. 2 politiques d'acceptation dynamique favorise les tâches périodiques

Tâches apériodiques à contraintes strictes

Page 49: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 49

• acceptation dans les temps creux d'une séquence rigide de tâches ordonnancement EDF des tâches périodiques les tâches apériodiques acceptées sont ordonnancées dans les

temps creux des tâches périodiques (~ méthode d'arrière-plan) selon l'algorithme EDF

routine de garantie (au réveil d'une tâche apériodique):1) teste l'existence d'un temps creux suffisant entre le réveil et

l'échéance de la tâche apériodique)2) vérifie que l'acceptation de la nouvelle tâche ne remet pas en cause

le respect des contraintes temporelles des autres tâches apériodiques déjà acceptées et non encore terminées

si OK, la tâche est ajoutée à la liste des tâches apériodiques

Tâches apériodiques à contraintes strictes

Page 50: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 50

Tâches apériodiques à contraintes strictes

exemple de l'acceptation dans les temps creux

• Tp1 (r0=0, C=3, D=7, P=20), Tp2 (r0=0, C=2, D=4, P=5), Tp3 (r0=0, C=1, D=8, P=10)• Ta4 (r=4, C=2, d=10), Ta5 (r=10, C=1, d=18), Ta6 (r=11, C=2, d=16)

Page 51: _slides_Ordonnancement_temps_reel.pptx

Les ordonnancements à priorités: Plan

• Caractéristiques des tâches temps réel• Ordonnancement préemptif à priorité fixe

– Rate Monotonic (RM)– Deadline Monotonic (DM)

• Ordonnancements préemptif à priorité dynamique– Earliest deadline first (EDF)

• Vérification d’ordonnançabilité• Ordonnancement de tâches apériodique• Ordonnancement de tâches en présence de ressources partagées

Page 52: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 52

• une ressource critique ne peut: – être utilisée simultanément par plusieurs tâches– être réquisitionnée par une autre tâche– accès en exclusion mutuelle

• notion de section critique– séquence d'instructions pendant lesquelles on utilise

une ressource critique– sans problème dans le cas d'un ordonnancement non

préemptif, mais c'est rarement le cas dans un environnement temps réel évaluation du temps de réponse très difficile, sinon impossible

Ordo. en présence de ressources partagées

Page 53: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 53

• ordonnancement préemptif : ajout d’un protocole de gestion des ressources

1. phénomène d’interblocage (deadlock)

Ordo. en présence de ressources partagées

Page 54: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 54

Ordo. en présence de ressources partagées2. phénomène d’inversion de priorité

phénomène dû à la présence simultanée de priorités fixes et de ressources à accès exclusif dans un environnement préemptif

Inversion de priorité non prévu entre T1 et T3 peut engendrer un non respect d’échéances (grave si temps réel stricte)

Page 55: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 55

• le problème de l’ordonnancement de tâches périodiques en présence de ressources critiques est NP-difficile.

• il n’existe pas d ’algorithme d’ordonnancement en ligne optimal

• Protocole à héritage de priorité,

• Protocole à priorité plafonnée

Ordo. en présence de ressources partagées

Page 56: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 56

Ordo. en présence de ressources partagées1. Protocole à héritage de priorité, « Priority Inheritance Protocol »

- la tâche τ’ qui possède la ressource critique prend (temporairement) la prioritéde la tâche τ en attente de cette même ressource, si prio(τ) > prio(τ’)

Page 57: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 57

• Propriétés :- ne prévient pas les interblocages- permet d’évaluer une borne supérieure (et

pessimiste…) du temps de blocage au pire Bi des tâches

1. Protocole à héritage de priorité, « Priority Inheritance Protocol »

Ordo. en présence de ressources partagées

Page 58: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 58

Ordo. en présence de ressources partagées

• Définitions– Priorité plafond (priority ceiling) d’une

ressource Π(R) = priorité maximale des tâches qui l’utilisent

– Priorité plafond courante (current priority ceiling, ou ceiling) à un instant t : Π(t) = maximum des priorités plafond des ressources utilisées en t

2. Protocole à priorité plafonnée, « Priority Ceiling Protocol »

Page 59: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 59

Ordo. en présence de ressources partagées

2. Protocole à priorité plafonnée, « Priority Ceiling Protocol »

• Principe

1. chaque ressource R possède une priorité plafond associée Π(R) = max des priorités des tâches susceptibles d’y accéder

2. une tâche T ne peut accéder à une ressource R que si sa priorité est supérieure aux priorités plafond des ressources actuellement prises Π (t)

3. si la tâche T’ bloque une tâche T (plus prioritaire), T’ hérite de la priorité de T

Page 60: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 60

Exemple : • prio T1 > prio T2 > prio T3• partage de R entre T1, T3,P(R)= prio T1• T2 utilise une ressource R’, P(R’)= prio T2

T3 commence son exécution, réveil de T2 puis réveil de T1

Ordo. en présence de ressources partagées

T3

T2

T1

Prio

Π(t)1

2

T3 retrouve sa priorité nominaleT1 s’exécute (avant T2, moins prio

Bloqué bien que R’ libre

T1 est bloquéT3 hérite de la priorité de T1

Page 61: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 61

• Propriétés :- prévient les interblocages

- permet d’évaluer une borne supérieure (moins pessimiste…) du temps de blocage au pire Bi des tâches

2. Protocole à priorité plafonnée, « Priority Ceiling Protocol »

Ordo. en présence de ressources partagées

Page 62: _slides_Ordonnancement_temps_reel.pptx

Exploration de MarsMission Pathfinder

(NASA - juillet 1997)

Page 63: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 63

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

Page 64: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 64

Architecture matérielle

Processeur Mémoires

Sonde Pathfinder

Interface 1 Interface 2

bus VMEInterface bus

bus 1553

interface 1coupleur interface 2 interface 3

interface 4

moteurs vannes capteursolaire

analyseurétoiles

bus 1553

interface 5coupleur interface 6 interface 7

accéléromètrealtimètre

enregistreur météo (ASI/MET)

Robot mobile Sojourner

caméra

radio

Monoprocesseur RS6000 (RISC de IBM)

Page 65: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 65

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

Page 66: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 66

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

Page 67: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 67

Caractéristiques des tâches

• Liste des tâches et priorités relatives :

Page 68: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 68

Architecture logicielle• Architecture en tâches

Page 69: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 69

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

1. ORDO_BUS• priorité maximale• vérifie que le transfert des données a été correctement

effectué et prépare le transfert suivant

2. DISTRIBUTION_DONNÉES

• 2 ème priorité• collecte les données sur le bus et les place dans la

mémoire tampon

Page 70: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 70

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 (URM=0.729),• mais partage de la ressource MÉMOIRE_TAMPON analyse détaillée

Page 71: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 71

Recherche d’ordonnacement

• période d'étude théorique : 5000ms mais on peut 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• étude des cas CMÉTÉO = 2 et CMÉTÉO = 3

Page 72: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 72

: Tâche sans ressource

: Tâche avec ressource

Légende des diagrammes de Gantt

R

R: Demande de ressource

: Libération de ressource

Simulations

3.5. Exemple : Mission Mars Pathfinder

Page 73: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 73

Diagramme d'exécution des tâches pour Cmétéo = 2

inversion de priorité

inversion de priorité

RR

RRDIS

TR

IBU

TIO

ND

ON

NE

ES

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

t

OR

DO

BU

STA

CH

ER

AD

IOTA

CH

EC

AM

ER

ATA

CH

EM

ESU

RE

STA

CH

EM

ET

EO

: Tâche sans ressource : Tâche avec ressource

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

t

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

t

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

t

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

t

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

t

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

t

R

R

R R

R R

RR R

R

RR RR

RR

TAC

HE

PIL

OTA

GE

Page 74: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 74

alarme

R

R

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

t

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

t

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

t

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

t

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

t

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

t

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

t

?

inversion de priorité

inversion de priorité

R R

R R

RRR

R

R

R

DIS

TR

IBU

TIO

ND

ON

NE

ES

OR

DO

BU

STA

CH

ER

AD

IOTA

CH

EC

AM

ER

ATA

CH

EM

ESU

RE

STA

CH

EM

ET

EO

TAC

HE

PIL

OTA

GE

Diagramme d'exécution pour Cmétéo = 3

Page 75: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 75

Page 76: _slides_Ordonnancement_temps_reel.pptx

Les ordonnancements à priorités: Plan

• Caractéristiques des tâches temps réel• Ordonnancement préemptif à priorité fixe

– Rate Monotonic (RM)– Deadline Monotonic (DM)

• Ordonnancements préemptif à priorité dynamique– Earliest deadline first (EDF)

• Vérification d’ordonnançabilité• Ordonnancement de tâches apériodique• Ordonnancement de tâches en présence de ressources partagées• Ordonnancement de tâches dépendantes• Ordonnancement de tâches sur une architecture multiprocesseur

Page 77: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 77

Contraintes de précédences

• Contraintes de précédence– sur l'ordre d'exécution des tâches les unes par

rapport aux autres– généralement décrites par un graphe

• Ja < Jb indique que la tâche Ja est un prédécesseur de Jb• Ja Jb indique que la tâche Ja est un prédécesseur

immédiat de Jb

Page 78: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 78

Contraintes de précédences

• Contraintes de précédence– sur l'ordre d'exécution des tâches les unes par

rapport aux autres– généralement décrites par un graphe

• Ja < Jb indique que la tâche Ja est un prédécesseur de Jb• Ja Jb indique que la tâche Ja est un prédécesseur

immédiat de Jb

J1 < J2J1 J2J1 < J4J1 J4

Page 79: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 79

8 tâches :• 2 acquisitions• 2 traitements image• analyse de forme• analyse des différences• calcul de hauteur• reconnaissance finale

Contraintes de précédences

Page 80: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 80

Tâches avec des contraintes de précédences

• ici, seulement précédence simple– si Ti est périodique de période Pi, alors Tj l'est aussi et Pj = Pi

• principe de l'établissement de l'ordonnancement :– transformer l'ensemble des tâches dépendantes en un

ensemble de tâches « indépendantes » que l'on ordonnancera par un algorithme classique

– par des modifications des paramètres des tâches• si Ti Tj alors la règle de transformation doit respecter

– rj ≥ ri– Prioi > Prioj

– validation de l'ordonnançabilité selon des critères utilisés pour des tâches indépendantes

Page 81: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 81

Ordonnancement de tâches dépendantes

• Contraintes de précédence et Deadline Monotonic– la transformation s'opère hors ligne sur la

date de réveil et sur les échéances• r*i = Max{ri, r*j} pour tous les j tels que Tj Ti• D*i = Max{Di, D*j} pour tous les j tels que Tj Ti• si Ti Tj alors Prioi > Prioj dans le respect de la

règle d'affectation des priorités par DM

Page 82: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 82

Ordonnancement de tâches dépendantes

• contraintes de précédence et EDF– modification des échéances de façon à ce qu'une

tâche ait toujours un di inférieur à celui de ses successeurs (algorithme de Chetto et al.)

– une tâche ne doit être activable que si tous ses prédécesseurs ont terminé leur exécution

– modification de la date de réveil et de l'échéance• r*i = Max{ri, Max{r*j + Cj}} pour tous les j tels que Tj Ti• d*i = Min{di, Min{d*j - Cj}} pour tous les j tels que Ti Tj• on itère sur les prédécesseurs et successeurs immédiats• on commence les calculs par les tâches qui n'ont pas de

prédécesseurs pour le calcul des r et par les tâches qui n'ont pas de successeur pour le calcul des d

Page 83: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 83

Ordonnancement de tâches dépendantes

Paramètres des tâches Earliest Deadline

tâche ri Ci di ri* Di*

T1 0 1 5

T2 5 2 7

T3 0 2 5

T4 0 1 10

T5 0 3 12

T1

T5

T4

T3

T2

T1 n’a pas de prédécesseur

r1*=0

0

T2 n’a pas de prédécesseur

r2*=5

5

T3 a T1 pour prédécesseurr*3 = Max(r3, r*1+C1) = Max(0,1) = 1

1

T4 a T1 et T2 pour prédécesseursr*4 = Max(r4, r*1+C1, r*2+C2) = Max(0,1, 7) = 7

7

T5 a T3 et T4 pour prédécesseursr*5 = Max(r5, r*3+C3, r*4+C4) = Max(0, 3, 8) = 8

8

Page 84: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 84

T1

T5

T4

T3

T2

T5 n'a pas de successeurd*5 = 12

Paramètres des tâches Earliest Deadline

tâche ri Ci di ri* Di*

T1 0 1 5

T2 5 2 7

T3 0 2 5

T4 0 1 10

T5 0 3 12

0

5

1

7

8 12

T4 a T5 pour successeurd*4 = Min(d4, d*5-C5) = Min(10, 9) = 9

9

T3 a T5 pour successeurd*3 = Min(d3, d*5-C5) = Min(5, 9) = 5

5

T2 a T4 pour successeurd*2 = Min(d2, d*4-C4) = Min(7, 8) = 7

7

T1 a T3 et T4 pour successeursd*1 = Min(d1, d*3-C3, d*4-C4) = Min(5, 3, 8) = 3

3

Ordonnancement de tâches dépendantes

Page 85: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 85

Paramètres des tâches Earliest Deadline

tâche ri Ci di ri* Di*

T1 0 1 5

T2 5 2 7

T3 0 2 5

T4 0 1 10

T5 0 3 12

0

5

1

7

8 12

9

57

3

Ordonnancement de tâches dépendantes

Page 86: _slides_Ordonnancement_temps_reel.pptx

Les ordonnancements à priorités: Plan

• Caractéristiques des tâches temps réel• Ordonnancement préemptif à priorité fixe

– Rate Monotonic (RM)– Deadline Monotonic (DM)

• Ordonnancements préemptif à priorité dynamique– Earliest deadline first (EDF)

• Vérification d’ordonnançabilité• Ordonnancement de tâches apériodique• Ordonnancement de tâches en présence de ressources partagées• Ordonnancement de tâches dépendantes• Ordonnancement de tâches sur une architecture multiprocesseur

Page 87: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 87

Anomalie des ordonnancements multiprocesseurs

• Théorème de Graham : si un ensemble de tâches est ordonnancé de façon optimale sur un système multiprocesseur avec des priorités assignées, des temps d'exécution fixées et des contraintes de précédence, alors le fait d'augmenter le nombre de processeurs, de réduire les temps d'exécution ou de relaxer les contraintes de précédence peut conduire à détériorer la durée d'exécution de l'algorithme

Page 88: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 88

Anomalie des ordonnancements multiprocesseurs

exemple• 9 tâches de priorités décroissantes• contraintes de précédence et temps d'exécution :

1

2

3

4

9

8

7

6

5

(3)

(2)

(2)

(2)

(9)

(4)

(4)

(4)

(4)

Priorité tâche i > Priorité tâche j (pour i<j)

Page 89: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 89

Anomalie : augmenter le nombre de processeurs

• ordonnancement optimal sur un système à 3 processeurs

• sur un système à 4 processeurs :

1

2

3

4 5

6

7

8

912

P1

P2

P3

1

2

3

4

9

8

7

6

5

(3)

(2)

(2)

(2)

(9)

(4)

(4)

(4)

(4)

1

2

3

4

5

6

7

8

9

P1

P2

P3

P4

15

Page 90: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 90

1

2

3

4

9

8

7

6

5

(3)

(2)

(2)

(2)

(9)

(4)

(4)

(4)

(4)

1

2

3

4 5

6

7

8

912

Solution à 3 processeurs

1

2

3

4

5

6 8

7

916

• Si temps tâche 4 passe de 2 à 1

P1

P2

P3

P1

P2

P3

Anomalie : diminuer le temps d’exécution des tâches

Page 91: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 91

• en supprimant quelques relations de précédence

Anomalie : supprimer des précédences

1

2

3

4

9

8

7

6

5

(3)

(2)

(2)

(2)

(9)

(4)

(4)

(4)

(4)

1

2

3

4 5

6

7

8

912

1

2

3

4 5

6

8

7

916

P1

P2

P3

P1

P2

P3

1

2

3

4

9

8

7

6

5

(3)

(2)

(2)

(2)

(9)

(4)

(4)

(4)

(4)

Page 92: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 92

• Exemple d'anomalie sur des contraintes de ressources• 5 tâches allouées statiquement à 2 processeurs• T2 et T4 partagent une ressource exclusive

• si on réduit le temps d'exécution de T1

3

1 2

4 517

P1

P2

3

1 2

4 5P1

P2

22

Anomalie : partage de ressources

Page 93: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 93

deux approches d’ordonnancement multiprocesseur

On distingue en général deux types d’approche pour l’ordonnancement multiprocesseur :

1. Partitionnement et ordonnancement distribué:

- Il s’agit de partitionner l’ensemble des n tâches en m sous-ensembles disjoints : 1, 2, . . . , m et d’ordonnancer ensuite l’ensemble i sur le processeur Pi avec une stratégie d’ordonnancement locale monoprocesseur. Les tâches ne sont donc pas autorisées à migrer d’un processeur à l’autre.

Systèmes distribués

Page 94: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 94

2. Ordonnancement globale ou centralisé :

- Appliquer globalement, sur la plate-forme multiprocesseur entière, une stratégie d’ordonnancement unique et d’attribuer à chaque instant les m processeurs aux n tâches les plus prioritaires. Par exemple en utilisant RM ou EDF. - Dans ce cas, outre la préemption des tâches, on autorise aussi la migration de ces dernières ; c-à-d qu’une tâche peut commencer son exécution sur un processeur Pj , être préemptée et reprendre son exécution ultérieurement sur un autre processeur Pi

deux approches d’ordonnancement multiprocesseur

Page 95: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 95

Dans ces systèmes, il n'y a pas un unique mécanisme d'ordonnancement qui centralise les informations et les décisions d'ordonnancement, mais plusieurs: - La difficulté de maintenir une vision cohérente de l'état du système : En pratique,

chaque Ordonnanceur s'occupe de gérer un sous-ensemble identifié des tâches du système, et en isolement des autres ordonnanceurs.

- Les coûts de migration sont en général élevés, ce qui entraine que la décision d'affectation est plus déterminante qu'en multiprocesseur, et qu'elle peut difficilement être remise en cause.

- Il est nécessaire de prendre en compte l'ordonnancement de la ressource de communication (réseau) entre les processeurs.

1. Partitionnement et ordonnancement distribué

Page 96: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 96

- Temps d’exécution d’une tâche diffère d’un processeur à un autre (processeurs identiques ou hétérogènes).

- Temps de communication entre les processeurs.

Une étape d’affectation de tâches aux processeurs s’ajoute:

allocation ou partitionnement

1. Partitionnement et ordonnancement distribué

Page 97: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 97

1. Partitionnement et ordonnancement distribué

4 grandes classes d’algorithmes de partitionnement:

– algorithmes de regroupement: Ce type d’algorithme est souvent utilisé pour minimiser l’utilisation des liens de communications. L’algorithme procède en deux temps. Tout d’abord, une phase dite de clustering regroupe les tâches que l’on souhaite partitionner en modules ; pour cela, l’algorithme identifie les tâches qui communiquent le plus entre elles et les regroupent en clusters. Ensuite, chaquecluster est associé à un processeur.

- l’algorithme de sac à dos ou le Bin packing: il faut placer dans m boîtes de tailles identiques, k objets de tailles différentes. Dans notre cas, les objets sont les tâches, leurs tailles sont leurs taux d’utilisations processeur U(i ), la taille de chaque boîte est l’utilisation maximale que l’on peut atteindre : ln 2 pour RM, 1 pour EDF.

Page 98: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 98

– algorithmes de recuit simulé: Le recuit simulé est une méthode d’optimisation qui part d’une solution du problème et qui tente de l’améliorer en explorant l’espace de recherche par voisinages. L’algorithme considère les solutions du problème comme des états d’´energie du système et le but est de minimisercette énergie. A chaque itération, on fait diminuer la ”température” qui représente le paramètre clé de l’algorithme. L’´evaluation de la nouvelle solution obtenue est sujette à une probabilité d’acceptation, de manière à éviter de rester piégé dans un minimum local.

– algorithmes génétiques : Les algorithmes génétiques reposent sur les principes fondamentaux de la génétique. un algorithme génétique est un algorithme itératif de recherche globale dont le but est d’optimiser une certaine fonction. Dans le problème du partitionnement des tâches sur plusieurs processeurs, cet algorithme ^génère des solutions en minimisant une fonction coût ( par exemple les échéances et les communications du système).

1. Partitionnement et ordonnancement distribué

Page 99: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 99

algorithmes génétiques :

L’algorithme génétique se déroule de la manière suivante :1. génération de la première population2. évaluation (critère d’arrêt)3. sélection pour la reproduction4. croisement et mutation, retour en 2.

1. Partitionnement et ordonnancement distribué

Page 100: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 100

• RM en partitionné

1. Partitionnement et ordonnancement distribué

- Pour RM partitionné, il semble naturel d’utiliser la condition U < n(21/n − 1) afin de vérifier l’ordonnançabilité des tâches assignées au processeur p (ou n est le nombre de tâches assignées au processeur P).

- Cependant la borne n’est pas assez « serrée » pour définir une bonne stratégie multiprocesseur. On peut perdre jusqu’ `a 50 % des ressources.

Page 101: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 101

• EDF partitionné: FFDU

1. Partitionnement et ordonnancement distribué

- LIU et LAYLAND ont montré que des tâches à échéance surrequête sont ordonnançables par EDF sur un processeur si et seulement si U ≤ 1.- LOPEZ et al. ont montré que l’utilisation de cette borne monoprocesseur peut être utilisée pour définir une stratégie de partitionnement multiprocesseur : First-Fit-Decreasing-Utilization (FFDU). I.e., que dans le problème de bin packing on choisit à chaque étape la première boite qui convient en considérant les tâches par valeurs décroissantes du facteur d’utilisation.- Les mêmes chercheurs ont défini la condition d’ordonnançabilitésuivante :

Page 102: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 102

• Théorème (FFDU EDF Utilisation):

un ensemble de tâches périodiques avec échéance sur requête, est ordonnançable par l’une des partitions FFDU (et EDF localement sur chaque processeur) si

U < (m + 1)/2

1. Partitionnement et ordonnancement distribué

Page 103: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 103

2. Ordonnancement globale ou centralisé

Ci Pi

T1 1 4

T2 3 5

T3 7 20

Exemple d’ordonnancement « global RM » :

2

1

16P2

P1 3 1

3 24 5 8 10

1

2

1

2

1

20

3

P et M

Page 104: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 104

Algorithme de liste (List scheduling) :

- c’est la technique la plus utilisée quand il s’agit d’un ensemble de tâches dépendantes.- Une tâche devient prête pour exécution quand tous ces prédécesseurs ont fini leur exécution. La tâche racine qui n’a aucune précédence est actif à l’instant 0. L’algorithme de list scheduling met les tâches dans une file au fur et à mesure que les tâches deviennent prêtes pour exécution et envoie les tâches au processeur. Quand plus qu’une tâche est active au même instant, trouvé l’ordre optimal qui minimise le temps d’exécution est un problème NP-difficile. Plusieurs heuristiques sont développées parmi les quelles on trouve la tâche la plus longue avant (ALAP), la tâche la plus courte avant (ASAP),…

2. Ordonnancement globale ou centralisé

Page 105: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 105

Exercice 1 : ordonnancer cette application sur une architecture biprocesseur en utilisant l’algorithme de liste ASAP puis ALAP.

1

4

3

2

(2)

(4)

(3)

(1)

5

6

7

(3)(2)

(3)

2. Ordonnancement globale ou centralisé

Page 106: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 106

1

2

3

4

9

8

7

6

5

(3)

(4)

(1)

(2)

(9)

(2)

(1)

(3)

(5)

2. Ordonnancement globale ou centralisé

Page 107: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 107

Conclusion

• La théorie de l’ordonnancement pour les systèmes temps réel monoprocesseurs est un domaine de recherche bien établi à ce jour, il y a de nombreux travaux solides qui couvrent largement ce domaine de recherche.

• En revanche, l’ordonnancement pour les systèmes temps réel multiprocesseurs est une domaine de recherche relativement neuf, peu de résultats existent à ce jour.

Page 108: _slides_Ordonnancement_temps_reel.pptx

19/04/2023 Ben Fradj Hanene 108