View
6
Download
0
Category
Preview:
Citation preview
UAE
A. Moussa
OutLine
I. Introduction
II. Modèle canonique
III. Nature et propriétés des algorithmes d’ordonnancement
IV. Approche cyclique
V. Algorithme en ligne à priorité fixe
VI. Analyse du temps de réponse
VII. Algorithme en ligne à priorité variable
VIII. Prise en compte des tâches apériodiques
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
UAE
A. Moussa
I. Introduction
2
-Priorité
La priorité d’une tâche est une métrique qui caractérise son
importance.
Plus la tâche est importante et critique du point de vue temporel,
plus la priorité qu’on lui assigne est élevée.
- Les priorités des tâches peuvent être:
• statiques (les priorités sont fixes, ne changent pas de valeur
pendant
l’exécution de l’application).
• dynamiques (les priorités peuvent changer pendant l’exécution
de l’application).
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
UAE
A. Moussa 3
-Ordonnancement
Taches temps reel soumises a des contraintes de temps, plus ou
moins strictes
➢ instant de demarrage
➢ instant de fin
➢ absolus ou relatifs a d'autres taches
● le but de l'ordonnancement est de permettre le respect
de
ces contraintes, lorsque l'execution se produit dans un mode
courant
● il doit permettre de borner les effets d'incidents ou de
surcharges
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
I. Introduction
UAE
A. Moussa 4
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
II. Modèle canonique d’une tâche
r : date de réveil, moment du déclenchement de la 1ere requête
d'exécution
C : durée d'exécution maximale (capacité)
D : délai critique, délai maximum acceptable pour son execution
P : periode (si tache periodique)
d = r+D : échéance (si tache a contraintes strictes)
tache periodique : r(k) = r0 + k*P, si D = P, tâche à échéance sur
requête
UAE
A. Moussa 5
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
II. Modèle canonique d’une tâche
● Parametres statiques
➢ U = C/P : facteur d'utilisation du processeur
➢ CH = C/D : facteur de charge du processeur
● Paramètres dynamiques
➢ s : date du debut de l'execution
➢ e : date de la fin de l'execution
➢ D(t) = d-t : delai critique residuel a la date t (0 ≤ D(t) ≤ D)
➢ C(t) : duree d'execution residuelle a la date t (0 ≤ C(t) ≤ C)
➢ L(t) = D(t) - C(t) : laxite nominale residuelle
➢ TR = e - r : temps de reponse de la tache
➢ CH(t) = C(t)/D(t) : charge residuelle (0 ≤ CH(t) ≤ C/P)
UAE
A. Moussa 6
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
II. Modèle canonique d’une tâche
● Caractéristiques de la tâche
- preemptibles ou non
- dépendance ou indépendance
➢ ordre partiel prédéterminé ou induit
➢ partage de ressources
- priorité externe
➢ ordonnancement hors ligne determine a la
conception
-gigue (jitter) maximale
➢ variation entre la requête et le début de
l'exécution
- urgence ↔échéance
- importance
UAE
A. Moussa 7
III. Nature et propriétés des algorithmes d’ordonnancement
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
- configuration : ensemble de n taches mises en jeu par
l'application
- intervalle d'etude : intervalle de temps minimum pour
prouver l'ordonnancabilite d'une configuration
)rmin( i0
)()max( 0 ii PPPCMr
)(2),max( 00 ijji PPPCMRrr
TP
TA
L’objectif est de piloter l'application TR avec 2 objectifs majeurs :
➢ en fonctionnement nominal : respect des contraintes temporelles
➢ en fonctionnement anormal (par exemple pannes matérielles) : atténuer les
effets des surcharges et maintenir un état cohérent et sécuritaire
● ordonnancer = planifier l‘éxecution des requêtes de façon à respecter les
contraintes de temps
UAE
A. Moussa 8
III. Nature et propriétés des algorithmes d’ordonnancement
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
1. Types d’algorithmes d’ordonnancement:
● en ligne ou hors ligne
➢ choix dynamique ou predefini a la conception
● préemptif ou non preemptif
➢ une tache peut perdre le processeur (au profit
d'une tache plus prioritaire) ou non
➢ algorithme préemptif toutes les ⇔ taches
preemptibles
● strategie du meilleur effort ou inclémence
➢ en TR mou, meilleur effort = faire au mieux avec
les processeurs disponibles
➢ en TR dur, obligation des respecter les contraintes
temporelles : inclemence aux fautes temporelles
● centralise ou reparti
UAE
A. Moussa 9
2. Approches Classiques
a- premier arrivé, premier servi
Exemple T1(C1=3); T2(C2=4); T3(C3=1); T4(C4=6)
b- Tourniquet Roubin-Round
Même Exemple
c- Avantages et Inconvénients de l’approche
Avantages :
– Pas besoin de sections critiques à gérer car chaque
processus a son propre espace d’adresse
Inconvénients :
– Chaque période de processus doit être un multiple du
cycle mineur
– Difficulté à introduire des tâches sporadiques
– Difficulté à trouver l’ordonnancement optimal qui
maximise l’utilisation du CPU
III. Nature et propriétés des algorithmes d’ordonnancement
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
UAE
A. Moussa 10
IV. Algorithmes à Priorité Constante
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
1. Rate Monotonic (RM)
Cet algorithme attribue une priorité constante fonction de la
période de la tâche, de telle sorte que la tâche de plus petite
période est la tâche la plus prioritaire.
Condition suffisante
(Liu and Layland)
Quand N -> ∞ le terme de droite tend vers 69.3%
dans la pratique, on peut rencontrer des ordonnancements valides qui vont
jusqu'a 88%
● on peut montrer que RMA est un algorithme ≪ optimal ≫ :
➢ une configuration qui ne peut pas être ordonnancée par RMA ne pourra pas
être ordonnancée par un autre algorithme a priorité fixe
UAE
A. Moussa 11
IV. Algorithmes à Priorité Constante
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
1. Rate Monotonic (RM): Exemple
T1(C1=3, P1=20)
T2(C2=2, P2=5)
T3(C3=2, P3=10)
UAE
A. Moussa 12
Exemple 2
T1(C1=6, P1=25)
T2(C2=5, P2=20)
T3(C3=5, P3=15)
Exemple 3
T1(C1=8, P1=16)
T2(C2=2, P2=8)
T3(C3=1, P3=4)
Vérifier l’hypothèse de Liu and Layland et donner
une solution pour l’ordonnancement
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
IV. Algorithmes à Priorité Constante
1. Rate Monotonic (RM): Exemple
UAE
A. Moussa 13
Cet algorithme attribue une priorité constante, fonction du
délai critique de la tâche, telle que la tâche de plus petit délai
critique est la tâche la plus prioritaire
Condition suffisante
T1 (r1 = 0, C1 = 3, R1 = 7, P1 = 10)
T2 (r2 = 1, C2 = 3, R2 = 4, P2 = 5).
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
IV. Algorithmes à Priorité Constante
2. Deadline Monotonic (DM)
UAE
A. Moussa 14
- Motivations
- Le test d’ordonnancement est imprécis
- Difficile à généraliser pour un modèle de processus plus
général
- Applications
pour tous les ordonnancements à priorité statique, quel que soit
l’assignation des priorités (RM, DM, autre)
- Principe
- Calcul du temps de réponse Ri de chaque tâche à son instant
critique (calcul itératif) et Vérification pour tout i que Ri ≤ Di
- Méthode de calcul du Temps de Réponse
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
IV. Algorithmes à Priorité Constante
3. Analyse du temps de réponse
UAE
A. Moussa 15
Méthode de calcul du Temps de Réponse
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
IV. Algorithmes à Priorité Constante
3. Analyse du temps de réponse
UAE
A. Moussa 16
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
IV. Algorithmes à Priorité Constante
3. Analyse du temps de réponse: Exemple
UAE
A. Moussa 17
1. Earlest Deadline
Il s’agit d’une politique mise à jour du deadline après chaque tick
d’horloge. La plus grande (petite) priorité est assignée à la tâche
qui a le plus petit (grand) deadline non nul. La tâche la plus
prioritaire est ensuite choisie pour être exécutée.
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
IV. Algorithmes à Priorité Variable ou Dynamique
test d'acceptabilité
➢ condition nécessaire :
➢ condition suffisante:
● on peut montrer que EDF est un algorithme optimal pour
les algorithmes a priorite dynamique
UAE
A. Moussa 18
1. Earlest Deadline: Exemple
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
IV. Algorithmes à Priorité Variable ou Dynamique
T1 (r = 0, C=3, , D=7, P=20),
T2 (r = 0, C=2, D=4, P=5),
T3 (r = 0, C=2, D=8, P=10)
UAE
A. Moussa 19
2. Least Laxity
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
IV. Algorithmes à Priorité Variable ou Dynamique
C’est un algorithme a priorite variable
● aussi appele Least Slack Time (LST)
● base sur la laxité résiduelle
➢ la priorité maximale est donnée à la tâche qui a la plus
petite laxité résiduelle L(t) = D(t) – C(t)
● équivalent a EDF si on ne calcule la laxité qu'au réveil des
taches
● optimum a trouver entre la granularité du calcul et le
nombre de changements de contexte provoques
UAE
A. Moussa 20
2. Least Laxity : Exemple
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
IV. Algorithmes à Priorité Variable ou Dynamique
T1 (r = 0, C=3, , D=7, P=20),
T2 (r = 0, C=2, D=4, P=5),
T3 (r = 0, C=2, D=8, P=10)
UAE
A. Moussa 21
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
VI. Taches apériodiques à contraintes relatives
1. Introduction taches prises en compte dans une configuration comprenant déjà des
taches périodiques critiques. les tâches apériodiques peuvent être critiques
(contrainte stricte) ou non (contrainte relative)
a priori, on ne connait pas l'instant d'arrivée de la requête de réveil de la
tache apériodique
- besoin d'une hypothèse sur le taux d'arrivée maximal des
requêtes
- les tâches apériodiques dont le taux d'arrivée est borné
supérieurement sont dites ≪ sporadiques ≫
✔la charge due aux taches apériodiques est bornée
✔ on peut garantir la réponse
● buts a atteindre :
➢ si contraintes relatives : minimiser le temps de réponse
➢ si contraintes strictes : maximiser le nombre de taches acceptées en
respectant leurs contraintes
● 2 grandes catégories de traitement
➢ traitement en arrière-plan
➢ traitement par serveurs
UAE
A. Moussa 22
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
VI. Taches apériodiques à contraintes relatives
2. Traitement d'arriere-plan
● taches apériodiques ordonnancées quand le processeur
est oisif
➢ les taches périodiques restent les plus prioritaires
(taches critiques)
● ordonnancement relatif des taches apériodiques en mode FIFO
● préemption des taches apériodiques par les taches périodiques
● traitement le plus simple, mais le moins performant
Exemple: ordonnancement RMA des taches periodiques
Tp1 (r0=0, C=2, P=5), Tp2 (r0=0, C=2, P=10)
Ta3 (r=3, C=2), Ta4 (r=10, C=1), Ta5 (r=11, C=2)
UAE
A. Moussa 23
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
VI. Taches apériodiques à contraintes relatives
2. Traitement d'arriere-plan
UAE
A. Moussa 24
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
VI. Taches apériodiques à contraintes relatives
3. Traitement par serveur
un serveur est une tache périodique créée spécialement
pour prendre en compte les tâches apériodiques
● Le serveur est caracterisé par
➢ sa periode
➢ son temps d'exécution : capacité du serveur
➢ Le serveur ordonnance suivant le même algorithme
que les autres taches périodiques (RMA)
➢ une fois actif, le serveur sert les taches apériodiques
dans la limite de sa capacité.
➢ l'ordre de traitement des taches apériodiques ne
dépend pas de l'algorithme général
UAE
A. Moussa 25
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
VI. Taches apériodiques à contraintes relatives
3. Traitement par serveur: Serveur par scrutation
Serveurs par scrutation (polling)
➢ a chaque activation, traitement des taches en suspens
jusqu'a épuisement de la capacité ou jusqu'a ce qu'il n'y ait
plus de taches en attente
➢ si aucune tache n'est en attente (a l'activation ou parce que
la dernière tache a été traitée) , le serveur se suspend
immédiatement et perd sa capacité qui peut être réutilisée
par les taches périodiques (amélioration du temps de
réponse)
UAE
A. Moussa 26
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
VI. Taches apériodiques à contraintes relatives
3. Traitement par serveur: Serveur par scrutation
exemple de serveur par scrutation (ordonnancement RMA)
➢ 2 taches periodiques : Tp1 (r0=0, C=3, P=20) Tp2 (r0=0,
C=2, P=10), serveur : Tps (r0=0, C=2, P=5)
UAE
A. Moussa 27
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
VI. Taches apériodiques à contraintes relatives
3. Traitement par serveur: Serveur par scrutation
exemple de serveur par scrutation (ordonnancement RMA)
➢ 2 taches periodiques : Tp1 (r0=0, C=3, P=20) Tp2 (r0=0,
C=2, P=10), serveur : Tps (r0=0, C=2, P=5)
➢ taches aperiodiques : Ta3 (r=4, C=2), Ta4 (r=10, C=1), Ta5
(r=11, C=2)
UAE
A. Moussa 28
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
VI. Taches apériodiques à contraintes relatives
3. Traitement par serveur: Serveur par scrutation
limitations du serveur par scrutation
➢ perte de la capacité si aucune tâche apériodique en attente
➢ si occurrence d'une tache apériodique alors que le serveur
est suspendu, il faut attendre la requête suivante
UAE
A. Moussa 29
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
VII. Taches apériodiques à contraintes strictes
● les algorithmes précédents restent possibles, mais l’exécution
d'un test d'accéptance avant l'acceptation ou le rejet de la tache :
➢ suffisamment de temps CPU disponible (processeur oisif ou
capacité serveur disponible) avant l‘écheance de la tache
aperiodique
ordonnancer les taches en EDF
● A chaque nouvelle tache apériodique, faire tourner une
"routine de garantie" pour vérifier que toutes les contraintes
temporelles seront respectées
➢ si oui, accepter la tache.
➢ si non, refuser la tache.
● 2 politiques d'acceptation dynamique :
➢ acceptation dans les temps creux
➢ ordonnancement conjoint
● favoriser les taches périodiques
1. Introduction
UAE
A. Moussa 30
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
VII. Taches apériodiques à contraintes strictes
2. Acceptation dans les temps creux
● ordonnancement EDF des tâches périodiques
● les taches apériodiques acceptées sont ordonnancées dans
les temps creux des taches periodiques (~ méthode d'arriere -
plan) selon l'algorithme EDF
● routine de garantie (au réveil d'une tache apériodique):
➢ teste l'existence d'un temps creux suffisant entre le réveil et
l‘échéance de la tâche apériodique)
➢ vérifie que l'acceptation de la nouvelle tache ne remet pas
en cause le respect des contraintes temporelles des autres
taches apériodiques déjà acceptées et non encore terminées
➢ si OK, la tache est ajoutée a la liste des taches
aperiodiques
UAE
A. Moussa 31
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
VII. Taches apériodiques à contraintes strictes
2. Acceptation dans les temps creux
exemple
➢ 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)
UAE
A. Moussa 32
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
VII. Taches apériodiques à contraintes strictes
2. Acceptation dans les temps creux
exemple
➢ 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=2, d=18), Ta6 (r=11, C=2, d=16)
UAE
A. Moussa 33
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
VII. Taches apériodiques à contraintes strictes
3. Ordonnancement conjoint
a l'arrivée de chaque nouvelle tache apériodique, construction
d'une nouvelle séquence EDF:
➢ si la construction est possible : acceptation de la tache
➢ sinon rejet
exemple
➢ 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),
UAE
A. Moussa 34
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
VII. Taches apériodiques à contraintes strictes
3. Ordonnancement conjoint
a l'arrivée de chaque nouvelle tache apériodique, construction
d'une nouvelle séquence EDF:
➢ si la construction est possible : acceptation de la tache
➢ sinon rejet
exemple
➢ 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)
UAE
A. Moussa 35
Chap. II: Ordonnancement Monoprocesseur
De Tâches Indépendantes
VII. Taches apériodiques à contraintes strictes
3. Ordonnancement conjoint
a l'arrivée de chaque nouvelle tache apériodique, construction
d'une nouvelle séquence EDF:
➢ si la construction est possible : acceptation de la tache
➢ sinon rejet
exemple
➢ 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=2, d=18),
Ta6 (r=11, C=2,
d=16)
Recommended