Upload
hoangnga
View
225
Download
0
Embed Size (px)
Citation preview
ORDONANCEMENT DANS LES
SYSTÈMES TEMPS RÉEL
Asma Benmessaoud
Université Mhamed Bougara Boumerdès (UMBB)
Email: [email protected]
A.Benmessaoud - 2010 / 2011
SOMMAIRE
Introduction
Notion de tâches
L’ordonnancement
Classification des algorithmes d’ordonnancement
Propriétés des algorithmes d’ordonnancement
Algorithmes classiques d’ordonnancement Temps-Réel
INTRODUCTION
Définition de l’ordonnancement
Ensemble de règles définissant l’ordre d’exécution des calculs
sur un processeur.
INTRODUCTION
Pourquoi un ordonnancement Temps-Réel ?
Pour prendre en compte les besoins d’urgence,
d’importance et de réactivité des applications Temps-
Réel impacte sur le respect des contraintes de
temps/
INTRODUCTION
Résultat
Fournir une description de la séquence de
planification des tâches à effectuer de manière à
respecter les contraintes temporelles.
INTRODUCTION
Propriétés recherchées
Faisabilité : Voir s’il y a possibilité d’exhiber un test de
faisabilité, c’est-à-dire :
- avoir des conditions permettant de décider hors-ligne
du respect des contraintes des tâches.
- Prédictibilité du temps de réponse des tâches.
Optimalité : Considéré comme un critère de
comparaisons des algorithmes (un algorithme est dit
optimal s’il est capable de trouver un ordonnancement
pour tout ensemble faisable de tâches).
INTRODUCTION
Propriétés recherchées
Complexité: Les tests de faisabilité sont ils
polynômiaux? Exponentiels? …etc.
Facilité de mise en œuvre: L’ordonnanceur est-il facile
à implémenter ?
NOTION DE TÂCHE
Définition d’une tâche
Unité de base de l’ordonnancement Temps-Réel,
constituée d’une suite d’instructions, des données
et le contexte d’exécution (état)
NOTION DE TÂCHE
Types de tâches
Tâches dépendantes / indépendantes
Tâches importantes / urgentes
Tâches répétitives / périodiques: activations
successives tâches critiques
Tâches répétitives / apériodiques : une seule
activation Tâches non critiques
Tâches prioritaires (ex: sauvegarde en cas de chute
de tension)
NOTION DE TÂCHE
Etats d’une tâche
Elu : une processeur est alloué à la tâche
Bloquée : La tâche attend une ressource, un
message, ou un signal de synchronisation.
Prête (éligible): la tâche attend d’être élue.
Passive: La tâche n’a pas de requête en cours.
Inexistante: La tâche n’est pas créée.
NOTION DE TÂCHE
Paramètres définissant une tâche i
Si : Arrivée de la tâche dans le système.
Ci: Durée maximale d’exécution (capacité)
Pi: Période d’activation (si la tâche est périodique)
Di: Délai critique, le max acceptable pour l’exécution
de la tâche (relatif à Pi si tâche périodique, à Si si
tâche apériodique)
Ri: Date d’exécution au plus tôt (date de réveil)
Si tâche à contrainte stricte, l’échéance di = Ri + Di
est la date dont le dépassement entraine une faute
temporelle
NOTION DE TÂCHE
Remarques
Tâche i à contraintes relatives : Di est parfois omis.
Tâche i apériodique : Pas de paramètre Pi
Plus les paramètres précédents sont exacts, plus la
qualité de l’ordonnancement est meilleure
NOTION DE TÂCHE
Autres Définitions
Soit une mise en jeu d’un ensemble de n tâches qui
s’exécutent. On suppose que le départ est simultané.
Nous parlons donc de :
Facteur d’utilisation du processeur pour n tâches
périodiques :
U =
avec Ci/Pi ≤ 1 (facteur d’utilisation du processeur par tâche)
NOTION DE TÂCHE
Autres Définitions
Facteur de charge du processeur pour tâches périodiques :
CH =
avec Ci/Di ≤ 1
Laxité du processeur à l’instant t, LP(t) = l’intervalle de temps à partir de t pendant lequel le processeur peut rester inactif sans remettre en cause le respect des échéances ( LP(t) ≥ 0, qqs t). LP(t) est égale au min des laxités conditionnelles LCi(t) des tâches i
NOTION DE TÂCHE
Autres Définitions
LCi(t) = Di - . Les tâches j sont celles qui sont
déclenchées à l’instant t et qui devancent i dans
la séquence de planification.
L’ORDONNANCEMENT
Méthodes d’analyse
Lorsqu’un problème d’ordonnancement ce pose, on:
1. Modélise les tâches du système et leurs contraintes
temporelles.
2. Choisit un algorithme d’ordonnancement
3. Valide la faisabilité du jeu de tâches (théorique puis
pratique)
4. Retourne éventuellement au point 1 ou 2
L’ORDONNANCEMENT
Ordonnanceur : structure, fonctions
Trois traitements successifs :
Calcul d’informations d’ordonnancement selon:
- en ligne / hors ligne, périodicité, période, échéance,
laxité, …etc.
Gestion des files d’attente par
priorité/importance/classe d’applications et application
d’une politique (FIFO, round Robin, …etc.)
Election de la tâche en tête de file selon l’algorithme
utilisé.
CLASSIFICATION DES ALGORITHMES D’ORDONNANCEMENT
Ordonnancement « Hors-ligne » / « En ligne »
Hors-ligne : L’algorithme construit la séquence complète de planification des tâches sur la base de tous les paramètres temporels des tâches. Séquence connue avant l’exécution.
statique, rigide et très efficace car elle suppose que tous les paramètres, y compris les dates de réveil, sont figés.
ne s’adapte pas aux changements de l’environnements
CLASSIFICATION DES ALGORITHMES D’ORDONNANCEMENT
Ordonnancement « Hors-ligne » / « En ligne »
En-ligne : capable à tout instant de l’exécution d’une application de choisir la prochaine tâche à ordonnancer, en utilisant les informations des tâches déclenchées à cet instant. Ce choix peut être remis en cause par l’occurrence d’un nouvel événement.
Dynamique solutions moins bonnes (car pas assez d’informations) Surcoût dans la mise en œuvre. Permet l’arrivée imprévisible des tâches. Autorise la construction progressive de la séquence d’ordonnancement.
CLASSIFICATION DES ALGORITHMES D’ORDONNANCEMENT
Ordonnancement « Hors-ligne » / « En ligne »
Remarque :
Pour pouvoir traiter les tâches apériodiques (et les
surcharges anormales), l’ordonnancement se fait
souvent en ligne.
CLASSIFICATION DES ALGORITHMES D’ORDONNANCEMENT
Ordonnancement « Préemptif » / « Non-préemptif»
Préemptif : Permet à l’ordonnanceur de déposséder la tâche élue du processeur au profit d’une autre tâche jugée plus prioritaire.
N’est utilisable que si toutes les tâches sont préemptibles.
La tâche ayant perdu le processeur passe à l’état prêt pour être élue ultérieurement sur le même processeur ou sur un autre.
CLASSIFICATION DES ALGORITHMES D’ORDONNANCEMENT
Ordonnancement « Préemptif » / « Non-préemptif»
Non-Préemptif :
N’arrête pas l’exécution d’une tâche élue.
Peut en résulter des fautes temporelles qu’un
algorithme préemtif aurait évitées.
CLASSIFICATION DES ALGORITHMES D’ORDONNANCEMENT
Remarque
Meilleur effort (Best effort ) pour une application à
contraintes relatives : la stratégie d’ordonnancement
est celle du meilleur effort : elle essaie de faire au
mieux avec les processeurs disponibles.
Pour une application à contraintes strictes :
l’ordonnanceur doit garantir le respect des CT. Il y a
obligation de réussite et non tolérance aux fautes
temporelles.
PROPRIÉTÉS DES ALGORITHMES D’ORDONNANCEMENT
Séquence valide:
un algorithme d’ordonnancement délivre une séquence
d’ordonnancement valide pour une configuration de
tâches donnée si toutes les tâches respectent leur CT.
Une configuration est ordonnançable dès qu’il existe
au moins un algorithme capable de fournir une
séquence valide pour cette configuration.
Algorithme optimal : s’il est capable de produire une
séquence valide pour toute configuration de tâches
ordonnançables.
PROPRIÉTÉS DES ALGORITHMES D’ORDONNANCEMENT
Période d’études:
Pour valider une configuration de tâches périodiques et
apériodiques, on effectue une analyse temporelle de
l’exécution de la configuration.
Pour les tâches périodiques : il suffit d’effectuer
l’analyse sur une période
Début de la période d’étude : t = Min{ri0}, date de
réveil de la première requête de la première tâche de la
configuration.
Fin de la période d’étude : Max{ri , 0, rj, Dj} +
2*PPCM(Pi), i : tâches périodiques, j : tâches
apériodiques (PPCM(Pi ) seulement, si périodiques).
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Rate Monotic (ou RM)
Algorithme préemptif, à priorité fixe
Pour tâches périodiques
Définition [Liu & Layland 1973]:La propriété d’une tâche est inversement proportionnelle à sa période d’activation. C’est-à-dire que la priorité d’une tâche = F(sa période).Où : La tâche de plus petite période est la plus prioritaire. En cas de conflit, on fait un choix arbitraire
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Rate Monotic (ou RM)
Caractéristiques
- Propriétés fixes Analyse hors-ligne applications
statiques.
- Complexité faible et mise en œuvre facile dans un
système d’exploitation.
- Algorithme optimal dans la classe des algorithmes à
priorités fixes à échéance sur requête (Di = Pi)
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Rate Monotic (ou RM)
Fonctionnement
- Phase de calcul : priorité = 1/périodicité
- Phase d’élection : élection de la plus forte priorité.
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Rate Monotic (ou RM)
Exemple
Tâche Pi Ci Di
T1 20 3 20
T2 5 2 5
T3 10 2 10
Calcul des priorités
- Prio (T1) = 1/P1 = 1/20
- Prio (T2) = 1/P2 = 1/5
- Prio (T3) = 1/P3 = 1/10
Prio(T2) > Prio (T3) > Prio (T1)
T1
T2
T3
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Rate Monotic (ou RM)
Evaluation de l’ordonnaçabilité (faisabilité)
- Période d’étude = [0, PPCM(Pi)]. Solution exacte
- Taux d’utilisation (Cas préemptif) : Condition suffisante mais non nécessaire
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Rate Monotic (ou RM)
Temps de réponse
délai entre l’activation d’un tâche et sa terminaison.
Solution parfois exacte (selon les modèles de tâches).
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Rate Monotic (ou RM)
Calcul du temps de réponse hypothèse : Cas préemptif Principe : pour une tâche i, on cherche à évaluer, au pire cas, son temps d’exécution + son temps d’attente lorsque des tâches plus prioritaires s’exécutent. Où encore :
Où hp(i) est l’ensemble des tâches de plus forte priorité que i ; ⌈x⌉ est l’entier directement plus grand que x.
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Rate Monotic (ou RM)
Techniques de calcul : évaluation itérative
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Deadline Monotic (ou DM)
Algorithme préemptif à priorité fixe
Pour tâches périodiques
Définition [Leung & Whitehead 1985]:
La priorité d’une tâche est inversement proportionnelle
à son échéance relative. C’est-à-dire que la tâche la
plus prioritaire est celle du plus petit délai critique.
En cas de conflit, le choix est fait de manière
arbitraire.
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Deadline Monotic (ou DM)
Caractéristiques
- Optimal dans la classe des algorithmes à priorités
fixes pour des tâches périodiques indépendantes où:
Di ≤ Pi
RM est un cas particulier de DM
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Deadline Monotic (ou DM)
Exemple
Tâche Pi Ci Di
T1 20 3 14
T2 5 2 5
T3 15 2 15
Calcul des priorités
- Prio (T1) = 1/D1 = 1/14
- Prio (T2) = 1/D2 = 1/5
- Prio (T3) = 1/D3 = 1/15
Prio(T2) > Prio (T1) > Prio (T3)
T1
T2
T3
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Earlies Deadline First (ou EDF)
Algorithme préemptif à priorité dynamique
Application pour tâches périodiques et non périodiques
Définition [Leung & Whitehead 1985]:
- A un instant t donné, la tâche la plus prioritaire
parmi les tâches prêtes, est celle dont l’échéance
absolue est la plus proche.
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Earlies Deadline First (ou EDF)
Caractéristiques
- Algorithme à priorité dynamique mieux adapté que
RM aux applications dynamiques.
- Supporte les tâches périodiques et apériodiques.
- Algorithme optimal : utilise jusqu’à 100% de la
ressource processeur.
- Mise en œuvre difficile dans un système d’exploitation.
- instable en sur-charge: moins déterministe que RM.
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Earlies Deadline First (ou EDF)
Fonctionnement
1.Phase de calcul calcul d’une échéance.Soit Di(t) l’échéance à l’instant t, et Di le délai critique de la tâche i:- Tâche apériodique: Di(t) = Di + Si
- Tâche périodique : Di(t) = date de début de l’activation courante à t + Di
2.Phase d’élection: élection de la plus courte échéance d’abord
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Earlies Deadline First (ou EDF)
Exemple
Tâche Pi Ci Di
T1 20 1 8
T2 5 2 4
T3 10 4 10
2 préemptions en 5 et 15
T1
T2
T3
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Earlies Deadline First (ou EDF)
Evaluation de l’ordonnaçabilité (faisabilité)
- Période d’étude = [0, PPCM(Pi)]. Solution exacte
- Taux d’utilisation (Cas préemptif) :
Condition suffisante
Et une condition nécessaire :
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Earlies Deadline First (ou EDF)
Evaluation de l’ordonnaçabilité (faisabilité)
- Temps de réponse : complexité importante
- Nombres d’unité de temps libre =
(1 – Taux d’utilisation) x période d’étude
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Least Laxity First (ou LLF)
Algorithme préemptif à priorité dynamique
Définition [Mok & Dertouzos 1989]:
- A un instant t donné, la tâche la plus prioritaire
parmi les tâches prêtes, est celle dont la laxité Xi(t) =
Di - (t + Ci – ci(t)) est la plus petite
en cas de laxités égales, sélectionner la tâche du
plus petit numéro en t
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Least Laxity First (ou LLF)
Caractéristiques
- Optimal dans la classe des algorithmes préemptifs
pour des configurations de tâches périodiques
indépendantes avec Di ≤ Pi
ALGORITHMES CLASSIQUES D’ORDONNANCEMENT POUR LE TEMPS RÉEL
Least Laxity First (ou LLF)
ExempleTâche Pi Ci Di
T1 20 1 8
T2 5 2 4
T3 10 4 10
3 préemptions en 3, 5 et 15
T1
T2
T3