Vous êtes sur la page 1sur 18

06/12/2018

Chapitre 3 : Les
Ordonnancements Temps réel

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 rigide

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 œuvre mais flexible
A.Bouaicha 2

1
06/12/2018

Les Types d’ordonnancement

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

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


qu'au profit d'une interruption
– la tâche en cours peut perdre involontairement le processeur
au profit d’une autre tâche (jugée plus urgente) peut être
suspendue (mise à l'état « ready ») au profit d'une tâche de
priorité plus élevée ou d'une interruption

• « hybride »
– selon les tâches (ou des sections de tâche) : préemptives ou
non
A.Bouaicha 3

Principales classes d’algorithmes


1. politique « premier arrivé, premier servi », FIFO
Utilisé pour un train de travaux
Inconvénients: travaux courts pénalisés

2. politique « plus court d ’abord » Shortest job first


Simple mais ne satisfait pas les contraintes
3. politique du tourniquet, « round robin »: à tour de rôle
Temps partagé avec -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

- utilisé pour le trafic de données dans la


gestion des réseaux temps réel.
A.Bouaicha 4

2
06/12/2018

Principales classes d’algorithmes:

4. politique conduite par la priorité attachée à


chaque tâche

Priorités fixes (statiques) / dynamiques


(

• indépendantes du temps • évoluent avec le temps


• fixées à priori • surcoût de mise en œuvre
Offline •online
Pratiquement tous les exécutifs du marché
(ne varie pas en fonction du
temps : la tache la plus •(la priorité des tches varie en
prioritaire reste la meme ) fonction du tmp)
A.Bouaicha 5

Les tâches temps réel

• Tâches périodiques
– elles sont activées à intervalles de temps réguliers
– Exemple: lecture des capteurs
• Tâches apériodiques
– elles sont activées à des instants aléatoires:
– Cas de la gestion des erreurs ou déclenchement alarme
• Tâches sporadiques
– la durée minimum séparant 2 activations successives est
connues (pseudo période)
• commande d’un système: l’arrivé de certains événements
périodiques peut activer la A.Bouaicha
tache sporadique (selon les valeurs 6
mesurées par exemple)

3
06/12/2018

Les ordonnancements à
priorités: Plan
• Caractéristiques des tâches temps réel périodiques
• Ordonnancement préemptif à priorité fixe
– Rate Monotonic (RM)
– Deadline Monotonic (DM)
• Ordonnancements préemptif à priorité dynamique
– Earliest deadline first (EDF)
– Least Laxity (LL)
Vérification d’ordonnançabilité

Ordonnancement des taches


périodiques
•Caractéristiques des taches périodiques

• Oi : date d’activation initiale, phase initiale, offset (prête)


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

A.Bouaicha 8

4
06/12/2018

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


1. RM, « Rate Monotonic »
Définition
« la priorité d’une tâche est inversement proportionnelle à sa
période »
Il attribue la priorité la plus forte à la tâche qui possède la plus
petite période

A.Bouaicha 9

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


la tache 2 se réveille en 0, 5, 10, 15, 20 (
la tache 3 se réveille en 0, 10, 20

A.Bouaicha 10

5
06/12/2018

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

2. DM, « Deadline Monotonic »

• Définition
La priorité d’une tâche est inversement proportionnelle à son
échéance relative
Propriété
– Optimal dans la classe des algorithmes à priorités fixes pour des
tâches périodiques indépendantes
,

A.Bouaicha 11

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


Exemple T1(01 = 0, C=3, D=7, P=20),
T2 (02 = 0, C=2, D=4, P=5),
T3 (03 = 0, C=2, D=9, P=10)

A.Bouaicha 12

6
06/12/2018

Ordo. préemptif à priorités dynamiques


: EDF
EDF, « Earliest Deadline First »
• Définition :
à 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 et à échéance ≤ période

A.Bouaicha 13

Ordo. préemptif à priorités dynamiques


: EDF

A.Bouaicha 14

7
06/12/2018

Ordo. préemptif à priorités dynamiques


: EDF
Exercice :

A.Bouaicha 15

Ordo. préemptif à priorités dynamiques


: Least Laxity (LL)
Least Laxity (LL)
à un instant donné, la tâche la plus prioritaire (parmi
les tâches prêtes) est celle dont la laxité est la plus
petite
•Définition
•Laxité : c’est le temps restant entre la fin d ’exécution de la tâche et son
délai critique dynamique D(t)

Propriété
- optimalité idem EDF
- nombre de préemptions engendrées est plus important

A.Bouaicha 16

8
06/12/2018

Modèle de tâches : paramètres


dynamiques
Pendant l'exécution de la tâche (à un instant donné t)
L(t) = D(t) - C(t)
- délai critique dynamique D(t) : temps restant avant la prochaine échéance, D(t) = D – t
- temps d ’exécution restant C(t) : C(t) = Cmax – Cexécuté
- laxité dynamique L(t) : L(t) = D(t) - C(t) = D - t - C(t)

Diagramme temporel d ’exécution

D
Cmax L(t)

t
r D
t C(t)

D(t)
A.Bouaicha 17

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)

A.Bouaicha 18

9
06/12/2018

Les ordonnancements à
priorités: Plan
• Caractéristiques des tâches temps réel ériodiques
• Ordonnancement préemptif à priorité fixe
– Rate Monotonic (RM)
– Deadline Monotonic (DM)
• Ordonnancements préemptif à priorité dynamique
– Earliest deadline first (EDF)
– Least Laxity (LL)
Vérification d’ordonnançabilité

Ordonnançabilité
Rôle
• Formules mathématiques ou algorithmes permettant de vérifier que
les tâches respecteront leurs contraintes de temps
Classification

• Vérification hors-ligne (avant exécution):


– Critères analytiques calculables
– Cibles = systèmes temps-réel durs ou stricts

• Vérification en-ligne (pendant l’exécution):


• Tests d’acceptation en-ligne pour savoir si on accepte de nouvelles
tâches
• Cibles = systèmes temps-réel souples

A.Bouaicha 20

10
06/12/2018

Vérification : Critères analytiques


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

U=

Pour 3 tâches: U ≤ 0,779

A.Bouaicha 21

Vérification : Critères analytiques


• 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)

A.Bouaicha 22

11
06/12/2018

Vérification : Critères analytiques

2. Ordonnancement DM :

• pour que N tâches soient ordonnançables


• Condition suffisante (CS)
N
ci  N1 
U = ∑ ≤ N  2 − 1
i =1 Di  

A.Bouaicha 23

Vérification : Critères analytiques


• 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)

A.Bouaicha 24

12
06/12/2018

Vérification : Critères analytiques


3. Ordonnanancement EDF et LL

A.Bouaicha 25

Ordonnancement de tâches
apériodiques

13
06/12/2018

Les ordonnancements à
priorités: Tâches apériodiques
L’exécution des tâches est soumise à des
contraintes temporelles, le respect de ces
contraintes temporelles est important.
l’ordonnancement doit permettre le respect de ces
contraintes:
-« contraintes strictes » pour les systèmes temps
réel dur « hard »
- « contraintes relatives » pour les systèmes temps
réel mous « soft »

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
• buts à atteindre :
– si contraintes relatives (faibles contraintes)
But: minimiser le temps de réponse des taches
– si contraintes strictes
But: maximiser le nombre de tâches acceptées en
respectant leurs contraintes
2 grandes catégories de traitement
– traitement en arrière-plan (Exécution des tâches
apériodiques pendant le temps perdu: creux de
temps)
– traitement par serveurs (tache apériodique
périodique)

A.Bouaicha 28

14
06/12/2018

Tâches apériodiques à contraintes


relatives
Traitement d'arrière-
d'arrière-plan
– le plus simple, mais le moins performant
– tâches apériodiques ordonnancées quand le
processeur est oisif (libre ou inoccupé)
– si plusieurs tâches attendent, elles sont
traitées en mode FIFO

A.Bouaicha 29

Tâches apériodiques à contraintes


relatives
exemple de traitement d'arrière-plan

Tâches périodiques : Tp1 (r0=0, C=2, P=5), Tp2 (r0=0, C=2, P=10) (en RM)
Tâches apériodiques: Ta3 (r=4, C=2), Ta4 (r=10, C=1), Ta5 (r=11, C=2)

A.Bouaicha 30

15
06/12/2018

Tâches apériodiques à contraintes


relatives
Traitement par serveur
• un serveur est une tâche périodique créé 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 (RM)
– 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

A.Bouaicha 31

Tâches apériodiques à contraintes


relatives
• 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

A.Bouaicha 32

16
06/12/2018

Tâches apériodiques à contraintes


relatives
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)

A.Bouaicha 33

Tâches apériodiques à contraintes


strictes!!!
• 2 approches :
les traiter comme de tâches périodiques avec une
pseudo-période représentant l'intervalle minimal entre
2 occurrences (serveur)
comme en RM
mais difficile d'évaluer la pseudo-période
engendre une sous-utilisation du processeur
(peu utilisée)
ordonnancer les tâches en EDF dans les temps
creux. 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.

A.Bouaicha 34

17
06/12/2018

Tâches apériodiques à contraintes


strictes
• acceptation dans les temps creux d'une séquence rigide
de tâches (arrière plan)
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) tester 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

A.Bouaicha 35

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)

A.Bouaicha 36

18

Vous aimerez peut-être aussi