View
238
Download
0
Category
Preview:
Citation preview
8/18/2019 Ch4 ITR Ordonnancement
1/74
Faculté Polytechnique
Chapitre 4: Ordonnancement
Informatique temps-
réel
Pierre.manneback@umons.ac.bePierre Manneback
8/18/2019 Ch4 ITR Ordonnancement
2/74
Université de Mons
Table de matière
1. Généralités
2. Ordonnancement de tâches périodiques
3. Ordonnancement avec tâches apériodiques4. Ordonnancement avec ressources partagées
2Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
3/74
Université de Mons
Référence principale
G. Buttazzo « Hard real-time computingsystems », Springer, 2011 (livre + slides)
3Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
4/74
Définition d’une tâche
Une tâche est une séquence d’instructions qui, en l’absence d’interruptions,sont exécutées sur un processeur jusqu’à complétion finale.
Une tâche sera généralement et concrètement représentée par un processusou un thread.
4Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
5/74
Paramètres d’une tâche temps-
réelri temps de release ou d’arrivée (dans le pool des tâches
prêtes)
si temps de démarrage réel
Ci temps d’exécution au pire
(Worst Completion Exec Time ou WCET ou capacité)di deadline absolu
Di deadline relatif (di – ri)
f i temps maximal de fin d’une tâche (contrainte f i
8/18/2019 Ch4 ITR Ordonnancement
6/74
Autres paramètres d’une tâche
f i-di retard ou avance si négatif
ci(t) temps maximal restant à exécuter
di – t – ci(t) laxité (latitude temporelle ou période creuse d’exécution, slack en anglais)
6Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
7/74Université de Mons
Définition d’un job
Un job (sous-tâche) est une partie d’une tâche: suite d’instructions de latâche s’étant exécutées sans interruptions ou dans un laps de temps donné.
On utilisera notamment la notion de job pour les tâches périodiques, en tantque sous-tâche effectuée dans une période donnée.
7Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
8/74
Tâches périodiques
Apparition cyclique de jobs ou sous-tâches, avecgigue ( jitter, petit décalage temporel) possible
Typique des tâches d’acquisition, de traitement de
signal, de multimédiaProgrammation généralement conduite par le temps(time-driven, séquenceur)
8Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
9/74Université de Mons
Modèle de Tâches périodiques
Fi = temps de démarrage de la tâcheTi = période de la tâcheDi = deadline relatif de chaque jobCi = temps d’exécution maximal d’un job
9Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
10/74
Tâches apériodiques
Tâches apériodiques ou sporadiques: tâches à occurrenceirrégulière de jobs. Ces jobs ont généralement des deadlinesstricts: réponse à une alarme, événement prioritaire à traiter, etc
La programmation de ces tâches est souvent conduite par lesévénements (signaux ou interruptions).
.10Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
11/74
Le problème d’ordonnancement
Etant donné un ensemble de tâches avec contraintes, et unearchitecture matérielle et logicielle (processeurs et ressources),trouver une planification des tâches qui satisfasse les contraintes
11Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
12/74Université de Mons
L’ordonnancement est un
problème difficile…
Généralement, pas de possibilité praticable de calculde solution optimale, mais proposition de solutionsapprochées par des heuristiques. Dans le cas du temps-
réel, c’est suffisant, tant que les contraintes sontrespectées!
Nécessité de travailler avec des hypothèsessimplificatrices
Ici: mono-processeur, tâches préemptives(interruptibles), pas de contraintes de précédenceentre tâches, principalement tâches périodiques
12Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
13/74Université de Mons
Table de matière
1. Généralités
2. Ordonnancement de tâches périodiques
3. Ordonnancement avec tâches apériodiques4. Ordonnancement avec ressources partagées
13Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
14/74
Ordonnancement de tâches
périodiquesHypothèse supplémentaire: pas de partage des ressources
Notation: ti ( Ci , Ti , Di) ou ti ( Ci , Ti ) si Di = Ti (échéance sur requête)
14Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
15/74Université de Mons
Exemple
Si les hypothèses de capacités exprimées ci-dessus sont remplies,l’ordionnancement proposé est admissible
15Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
16/74Université de Mons
Mise en œuvre potentielle
16Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
17/74Université de Mons
Mise en oeuvre séquentielle
Avantages – Simple, sans exécutif temps-réel nécessaire
– Overhead minime
Inconvénients – Peu robuste par rapport à des surcharges éventuelles
– Peu extensible – Pas approprié pour le traitement d’événements
apériodiques
17Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
18/74Université de Mons
Ordonnancements par priorités
Chaque tâche reçoit une priorité basée sur sescontraintes temporelles
La vérification du respect des contraintes est
faite analytiquement L’ordonnanceur supporte la gestion des
priorités (par ex. la préemption)
Les priorités peuvent être statiques oudynamiques, déterminées a priori (hors ligne) ouen ligne
18Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
19/74
Faisabilité de l’ordonnancement
Chaque tâche a un tauxd’utilisation (maximal, duprocesseur, par période)
Le taux d’utilisation global est
donc
Il doit être plus petit ou égal à 1dans tous les cas pour qu’un
ordonnancement soit possible
19Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
20/74Université de Mons
2 algorithmes classiques : RM et
EDF
Priorité à la tâche de plus petite période
Priorité à la tâche au deadline absolu le plus proche
20Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
21/74Université de Mons
Earliest Deadline First (EDF)
Activation, à chaque occurrence d’un nouveau job, du
job avec le deadline absolu le plus proche.
Les tâches doivent être interruptibles (préemptibles).
Les priorités sont déterminées en ligne, en fonction
des nouveaux jobs et de leur deadline, et sont doncdynamiques.
21Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
22/74Université de Mons
Exemple EDF
22Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
23/74Université de Mons
EDF est « optimal»
Un algorithme d’ordonnancement est dit optimal au niveau admissibilité, pour
un domaine d’application, s’il peut générer un ordonnancement admissible, dès
qu’il en existe un.
On peut prouver que c’est le cas d’EDF : – Si des tâches périodiques sans contraintes de précédence ou de partage
de ressources sont ordonnançables, alors elles le sont par EDF
Les tâches périodiques avec Di=Ti et sans gigue sont ordonnançables par EDF si
et seulement si ∑Ui ≤ 1
Ce critère n’est plus que nécessaire si Di
8/18/2019 Ch4 ITR Ordonnancement
24/74
Rate Monotonic (RM)
Priorité fixe a priori, basée sur la période: au plus une tâche estfréquente (période courte), au plus elle est prioritaire
24Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
25/74
Université de Mons
Un problème pour lequel RM ne
marche pas
25Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
26/74
Un problème pour lequel RM
marcheDifférence: la capacité de t2 a été diminuée de 4 à 3
26Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
27/74
Conditions d’admissibilité pour RM et EDFHypothèses:
Tâches périodiques
Échéances sur requêtes (Di=Ti)
Tâches indépendantes (pas de partage de ressources, ni decontraintes de précédences)
27Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
28/74
Université de Mons
Condition suffisante d’admissibilité
pour RM
RM Utilization Bounds
0.5
0.6
0.7
0.8
0.9
1
1.1
1 4 16 64 256 1024 4096
The Number of Tasks
U t i l i z a t i o n
?
OK
Not OK
28Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
29/74
Université de Mons
Ordonnancement RM: exemple avec utilisation ne
satisfaisant pas le test, mais acceptable
t1(1,4) t2(3,12) t3(6,16)
48
test d'utilisation non satisfait(0.25+0.25+0.375) ≥ 3(21/3 -1)=0.779…
0 8 16 24 32 40
t1
t2
t3
Ordonnancement RM
29Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
30/74
Université de Mons
Optimalité de RM
Il a été prouvé que RM est optimal pour la classed’ordonnancements a priori, à priorité fixe (Liu)
Cela veut dire que si un problème (tâchespériodiques, indépendantes, à échéance sur requête etsans gigue) est ordonnançable par un algorithme àpriorité fixe, alors il l’est par RM.
30Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
31/74
Université de Mons
Indépendance temporelle et spatiale destâches.
Tâches périodiques, à échéance sur requête(Di=Ti) et sans gigue (Fi=0). Changement de contexte considéré commenul.
L’optimalité d’EDF et de RM ne vaut que
dans certaines conditions drastiques !
31Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
32/74
Université de Mons
Extension pour tâches à échéance
inférieure à la période (Di
8/18/2019 Ch4 ITR Ordonnancement
33/74
Université de Mons
Comment garantir l’admissibilité?
33Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
34/74
Temps de réponse pour RM ou DM
Soit HP(t i ) : ensemble des tâches à plus haute priorité que t i . Letemps de réponse Ri de chaque tâche t i est donné par:
Ri = Ci + SHP(ti)
Ri/Tk
Ck
où
x désigne l’entier directement supérieur à x, par exemple
3,01
= 4
L’ordonnancement RM ou DM est acceptable si et seulement si
Ri ≤ Di , pour toute tâche ti
L’équation du temps de réponse est une équation au point fixe (x=f(x))
34Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
35/74
Université de Mons
Temps de réponse pour RM ou DM
Iterate until(Ri
s > Di )or (Ris = Ri
(s-1))
Fonction positive, croissante. Converge si bornée35Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
36/74
Université de Mons
Ordonnancement RM
calcul du temps de réponse
0
t1(1,4) t2(3,12) t3(4,16)
8 16 24 32 40 48
R1 = 1 R2 =3 + R2/4 =4 R3=4+ R3/4 + R3/12 *3 = 10
Di = Ti
36Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
37/74
Université de Mons
Ordonnancement RM
calcul temps de réponset1(1,4) t2(3,12) t3(6,16)
48
R1 = 1 R2 =3 + R2/4 =4 R3=6+ R3/4 + R3/12 *3 = 12
0 8 16 24 32 408 16 24 32 40 48
Di = TiLe test Ulub n’est pas satisfait!
37Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
38/74
Université de Mons
Ordonnancement RM
non admissibilitét1(1,4) t2(3,12) t3(7,16) Di = Ti
48
R1 = 1 R2 =3 + R2/4 =4 R3> 16!
0 8 16 24 32 408 16 24 32 40 48
Echec!
38Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
39/74
Université de Mons
Ordonnancement RM non
admissible avec Di 9
Échec!
39Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
d d bl
8/18/2019 Ch4 ITR Ordonnancement
40/74
Université de Mons
Ordonnancement DM admissible
avec Di
8/18/2019 Ch4 ITR Ordonnancement
41/74
EDF avec Di
8/18/2019 Ch4 ITR Ordonnancement
42/74
Université de Mons
La demande du processeur dans
l’intervalle [0,L]
42Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
T d’ d i ibili é EDF D T
8/18/2019 Ch4 ITR Ordonnancement
43/74
Test d’admissibilité EDF, Di
8/18/2019 Ch4 ITR Ordonnancement
44/74
Université de Mons
Test d’admissibilité EDF, Di
8/18/2019 Ch4 ITR Ordonnancement
45/74
Université de Mons
Test d’admissibilité EDF, Di
8/18/2019 Ch4 ITR Ordonnancement
46/74
Université de Mons
Test d’admissibilité EDF, Di
8/18/2019 Ch4 ITR Ordonnancement
47/74
Université de Mons
Test d’admissibilité EDF, Di
8/18/2019 Ch4 ITR Ordonnancement
48/74
Université de Mons
Test d’admissibilité EDF, Di
8/18/2019 Ch4 ITR Ordonnancement
49/74
Université de Mons
Ordonnancement EDF admissible
avec Di
8/18/2019 Ch4 ITR Ordonnancement
50/74
Université de Mons
Table de matière
1. Généralités
2. Ordonnancement de tâches périodiques
3. Ordonnancement avec tâches apériodiques
4. Ordonnancement avec ressources partagées
50Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
51/74
Université de Mons
Tâches apériodiques strictes
Si on a un problème temps-réel critique, il fautune garantie d’intervalle minimal d’arrivée entre
tâches. On ne peut donc traiter que les tâches
apériodiques avec
Ci = WCETi et MITi > Ci
WCET = Worst-Case Execution Time
MIT = Minimum Inter-arrival Time
51Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
52/74
Université de Mons
Tâches apériodiques souples
Elles peuvent être exécutées au plus tôt, tant que celan’implique aucun retard des tâches strictes.
On s’intéresse ici au temps de réponse moyen et à desgrandeurs statistiques (% de tâches en retard, retardmoyen ou maximal, etc).
52Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
Exemple d’ordonnancement d’une tâche apériodique
8/18/2019 Ch4 ITR Ordonnancement
53/74
Université de Mons
Exemple d ordonnancement d une tâche apériodique
avec EDF
activation immédiate
53Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
Exemple d’ordonnancement d’une tâche apériodique
8/18/2019 Ch4 ITR Ordonnancement
54/74
Université de Mons
Exemple d ordonnancement d une tâche apériodique
avec EDF
activation en service arrière-plan
54Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
55/74
Serveur de tâches apériodiques
Tâches apériodiques groupées en une pseudo-tâche périodique(serveur) d’une capacité Cs et d’une période TsCe serveur est ordonnancé comme les autres tâches.
Le choix de la tâche apériodique élue par le serveur est laissé
libre (« first arrived », « min deadline », etc)
55Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
56/74
Université de Mons
Polling server
Le serveur a une période et une capacité fixée apriori.
Au début de chaque période, son « budget » est
initialisé à sa capacité. Si le serveur devient actif, et qu’il n’y a pas de job en
attente, le budget est mis à 0 pour la période donnée.
Si le serveur devient actif, et qu’il y a des jobs en
attente, ceux-ci s’exécutent ( dans un ordre défini par leserveur) en consommant le budget, tant qu’il est
positif.
56Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
57/74
Université de Mons
Polling server - exemple
57Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
Serveur en différé
8/18/2019 Ch4 ITR Ordonnancement
58/74
Serveur en différé
« Deferable server (DS) »
Similaire au « polling server », mais le budget n’est pasenlevé s’il n’y a pas de jobs en attente lors de son réveil
Cela donne un meilleur temps de réponse pour les
taches apériodiques (au détriment des tachespériodiques)
58Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
59/74
Université de Mons
Deferable server - exemple
59Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
60/74
Université de Mons
Table de matière
1. Généralités
2. Ordonnancement de tâches périodiques
3. Ordonnancement avec tâches apériodiques
4. Ordonnancement avec ressources partagées
60Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
Ordonnancement avec ressources
8/18/2019 Ch4 ITR Ordonnancement
61/74
Ordonnancement avec ressources
partagéesUne tâche prioritaire peut être longtemps bloquée en l’attente
d’une ressource critique.
(rouge = actif Section Critique (SC), vert=actif hors SC, jaune=i/o)
61Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
Solution affecter une priorité plus haute
8/18/2019 Ch4 ITR Ordonnancement
62/74
Université de Mons
Solution: affecter une priorité plus haute
à la tâche en section critique
62Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
Solution plus souple
8/18/2019 Ch4 ITR Ordonnancement
63/74
Université de Mons
Solution plus souple
Priority Inversion Protocol
63Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
64/74
Université de Mons
Ordonnancement PIP
64Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
65/74
Université de Mons
Pro/Cons de PIP
65Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
66/74
Université de Mons
Blocage en chaîne avec PIP
66Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
67/74
Université de Mons
Plafond d’une ressource
67Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
68/74
Université de Mons
Priority Ceiling Protocol (PCP)
68Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
69/74
Université de Mons
Exemple de PCP
69Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
70/74
Université de Mons
Pro/Cons de PCP
70Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
Garantie d’ordonnançabilité avec
8/18/2019 Ch4 ITR Ordonnancement
71/74
Université de Mons
Garantie d ordonnançabilité avec
contraintes de ressources
Sélection d’un algorithme d’ordonnancement
et d’un protocole d’accès aux ressources
Calcul du temps maximal de blocage (Bi) pour
chaque tâche Test de garantie en utilisant le terme dû aublocage
71Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
Condition suffisante d’admissibilité
8/18/2019 Ch4 ITR Ordonnancement
72/74
Université de Mons
Condition suffisante d admissibilité
avec RM
72Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
Condition suffisante d’admissibilité
8/18/2019 Ch4 ITR Ordonnancement
73/74
Université de Mons
Condition suffisante d admissibilité
avec EDF
73Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
8/18/2019 Ch4 ITR Ordonnancement
74/74
Quelques commentaires finaux
2 classes d’algorithmes d’ordonnancements :en ligne, hors ligne Hors ligne : RM et variantes
En ligne : EDF et variantes
Traiter les tâches apériodiques dans une tâche « serveur
périodique » Contraintes de partage de ressources: nécessité dechangement de priorités (PIP et mieux PCP)
Nous n’avons pas abordé de nombreux autres points,
notamment le traitement de contraintes de précédence entretâches
Recommended