ORDONANCEMENT DANS LES SYSTÈMES TEMPS RÉEL Asma Benmessaoud Université Mhamed Bougara Boumerdès (UMBB) Email: a_bemessaoud@esi.dz 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
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ÂCHES
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 Diagramme des états d une tâche
NOTION DE TÂCHE Paramètres définissant une tâche i S i : Arrivée de la tâche dans le système. C i : Durée maximale d exécution (capacité) P i : Période d activation (si la tâche est périodique) D i : Délai critique, le max acceptable pour l exécution de la tâche (relatif à P i si tâche périodique, à S i si tâche apériodique) R i : Date d exécution au plus tôt (date de réveil) Si tâche à contrainte stricte, l échéance d i = R i + D i est la date dont le dépassement entraine une faute temporelle
NOTION DE TÂCHE Illustration: diagramme temporel d exécution
NOTION DE TÂCHE Remarques Tâche i à contraintes relatives : D i est parfois omis. Tâche i apériodique : Pas de paramètre P i 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 C i /P i 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 C i /D i 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 LC i (t) des tâches i
NOTION DE TÂCHE Autres Définitions LC i (t) = D i -. 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
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
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
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 ORDONNACMENT
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
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 (D i = P i )
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 P i C i D i T1 20 3 20 T2 5 2 5 T3 10 2 10 Calcul des priorités - Prio (T1) = 1/P 1 = 1/20 - Prio (T2) = 1/P 2 = 1/5 - Prio (T3) = 1/P 3 = 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(P i )]. 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ù: D i P i RM est un cas particulier de DM
ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Deadline Monotic (ou DM) Exemple Tâche P i C i D i T1 20 3 14 T2 5 2 5 T3 15 2 15 Calcul des priorités - Prio (T1) = 1/D 1 = 1/14 - Prio (T2) = 1/D 2 = 1/5 - Prio (T3) = 1/D 3 = 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 D i (t) l échéance à l instant t, et D i le délai critique de la tâche i: - Tâche apériodique: D i (t) = D i + S i - Tâche périodique : D i (t) = date de début de l activation courante à t + D i 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 P i C i D i T1 20 1 8 T2 5 2 4 2 préemptions en 5 et 15 T3 10 4 10 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(P i )]. 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é X i (t) = D i - (t + C i c i (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 D i P i
ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL Least Laxity First (ou LLF) Exemple 3 préemptions en 3, 5 et 15 Tâche P i C i D i T1 20 1 8 T2 5 2 4 T3 10 4 10 T1 T2 T3
ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL
ALGORITHMES CLASSIQUES D ORDONNANCEMENT POUR LE TEMPS RÉEL