Problématique de l`ordonnancement temps-réel
Transcription
Problématique de l`ordonnancement temps-réel
Problématique de l’ordonnancement temps-réel 1 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 Plan du cours La notion de tâche temps-réel Le mécanisme d’ordonnancement L’ordonnancement de tâches périodiques L’ordonnancement de tâches apériodiques 2 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 La notion de tâche temps-réel Le modèle canonique des tâches temps-réel r0 T0 T1 D0 D1 C0 d0 r1 τi(Ci, Ti, Di) d1 - ri : date de réveil - Di : délai critique - Ti : période d’exécution - di = ri + Di : date d’échéance - Ci : durée d’exécution maximale - L = Di – Ci : laxité 3 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 La notion de tâche temps-réel Les niveaux de contraintes temporelles - Temps-réel strict/dur (hard real-time) (ex : Airbag) - toutes les instances de tâches doivent être exécutées dans le respect de leurs échéances - Temps-réel souple/mou (soft real-time) (ex : Distributeur automatique) - les tâches peuvent manquer des échéances - Temps-réel ferme (firm real-time) (ex : Systèmes multimédias) - les tâches sont autorisées à ne pas respecter occasionnellement leurs échéances 4 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 La notion de tâche temps-réel Les types de tâches temps-réel - Les tâches périodiques (ex : Relevé de température) - activation à intervalles réguliers, - à échéances sur requêtes si Di = Ti - Les tâches apériodiques/sporadiques - activation à des instants irréguliers, - intervalle de temps entre deux activations borné (sporadiques) ou non (apériodiques), - à contraintes relatives, (ex : Requête sur une borne de service) (ex : Arrêt d’urgence) - à contraintes strictes 5 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 La notion de tâche temps-réel Diagramme d’états d’une tâche temps-réel - courant : la tâche s’exécute sur le processeur - prêt : la tâche est prête à s’exécuter mais n’a pas le processeur - en-attente : il manque une ressource (en plus du processeur) à la tâche pour qu’elle puisse s’exécuter 6 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 Le mécanisme d’ordonnancement L’ordonnancement des tâches temps-réel ORDONNANCEUR PROCESSEUR tâche élue DISPATCHER file d’attente des tâches en attente file d’attente des tâches prêtes - ORDONNANCEUR : alloue le processeur aux différentes tâches - DISPATCHER : implémente l’ordonnanceur (élection des tâches prêtes) 7 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 Le mécanisme d’ordonnancement Typologie des algorithmes d’ordonnancement - Monoprocesseur / multiprocesseur - En-ligne / Hors-ligne - Préemptif / Non préemptif - Oisif / Non oisif - Centralisé / Réparti 8 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches périodiques L’ordonnancement non préemptif - Ordonnancement selon l’ordre d’arrivée : - premier arrivé, premier servi (First Come First Serve - FCFS) - Ordonnancement selon la durée de calcul : - le plus court d’abord (Shortest Job First – SJF) 9 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches périodiques L’ordonnancement préemptif T1 - Ordonnancement sans notion de priorité : - temps-partagé avec politique du tourniquet (round-robin) T2 T3 - Ordonnancement à priorités (statiques ou dynamiques) : CPU T3 - la tâche la plus prioritaire obtient le processeur T1 CPU T2 10 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches périodiques Ê Ordonnancement préemptif sans notion de priorité L’ordonnancement temps-partagé (Round-Robin) - Principe : allocation du processeur par tranche (quantum) de temps - Exemple (q=20, n=4) : Tâches τ1 (53) τ 2 (17) τ 3 (68) τ 4 (24) 0 20 37 57 77 97 117 134 121 154 162 Temps - Chaque tâche obtient le processeur au bout de (n-1)*q unités de temps au plus 11 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches périodiques Ê Ordonnancement préemptif sans notion de priorité L’ordonnancement temps-partagé (Round-Robin) - Intérêts : - Equité de l’attribution du processeur entre toutes les tâches - Mise en œuvre simple - Inconvénients : - Pas de prise en compte de l’importance relative des tâches - Difficulté du choix de la tranche de temps Æ Si q est trop grand, round-robin devient équivalent à FIFO Æ Si q est trop petit, il y a augmentation du nombre de changements de contexte ! 12 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches périodiques Ê Ordonnancement préemptif à priorités L’ordonnancement préemptif à priorités - Ordonnancement à priorités fixes (statiques) - Rate Monotonic (RM) - Deadline Monotonic (DM) - Ordonnancement à priorités dynamiques - Earliest Deadline First (EDF) - Least Laxity First (LLF) 13 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches périodiques Ê Ordonnancement préemptif à priorités fixes Rate Monotonic (RM) - Principe : une tâche est d’autant plus prioritaire que sa période d’activation Ti est petite - Exemple : Tâches τ 1 (3,20,20) τ 2 (2,10,10) τ 3 (2,5,5) 0 2 4 6 8 10 12 14 16 18 20 Temps - Propriété : RM est optimal dans la classe des algorithmes à priorités fixes pour des tâches périodiques indépendantes à échéances sur requêtes (Di=Ti) 14 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches périodiques Ê Ordonnancement préemptif à priorités fixes Rate Monotonic (RM) - Conditions de faisabilité : n - Condition nécessaire : Ci U = ∑ ≤1 i =1 Ti n - Condition suffisante : 1 Ci U = ∑ ≤ n(2 n − 1) i =1 Ti U (1) = 1; U (2) = 0.828; U (3) = 0.779; U (∞) = ln 2 ≈ 0.693 15 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches périodiques Ê Ordonnancement préemptif à priorités fixes Deadline Monotonic (DM) - Principe : une tâche est d’autant plus prioritaire que son délai critique Di est petit - Exemple : Tâches τ 1 (3,20,9) τ 2 (2,10,10) τ 3 (2,5,5) 0 2 4 6 8 10 12 14 16 18 20 Temps - Propriété : DM est optimal dans la classe des algorithmes à priorités fixes pour des tâches périodiques indépendantes telles que Di≤Ti 16 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches périodiques Ê Ordonnancement préemptif à priorités fixes Deadline Monotonic (DM) - Conditions de faisabilité : n - Condition nécessaire : Ci U = ∑ ≤1 i =1 Ti n - Condition suffisante : 1 Ci U =∑ ≤ n(2 n − 1) i =1 Di U (1) = 1; U (2) = 0.828; U (3) = 0.779; U (∞) = ln 2 ≈ 0.693 17 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches périodiques Ê Ordonnancement préemptif à priorités fixes L’ordonnancement à priorités fixes - Intérêts : - Mécanisme simple - S’implante naturellement dans les OS du marché - Inconvénients : - Hypothèses restrictives - Indépendance des tâches impérative pour l’utilisation des conditions de faisabilité - Borne supérieure pour le facteur d’utilisation du processeur 18 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches périodiques Ê Ordonnancement préemptif à priorités dynamiques Earliest Deadline First (EDF) - Principe : à chaque instant, la tâche la plus prioritaire est celle dont l’échéance absolue di est la plus proche - Exemple : Tâches τ 1 (1,20,8) τ 2 (4,10,10) τ 3 (2,5,4) 0 2 4 6 8 10 12 14 16 18 20 Temps - Propriété : EDF est optimal dans la classe des algorithmes préemptifs pour des tâches périodiques indépendantes telles que Di≤Ti 19 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches périodiques Ê Ordonnancement préemptif à priorités dynamiques Earliest Deadline First (EDF) - Condition de faisabilité : - si Di=Ti : n - Condition nécessaire et suffisante : Ci U = ∑ ≤1 i =1 Ti - si Di ≤Ti : n - Condition suffisante : Ci ≤1 U =∑ i =1 Di 20 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches périodiques Ê Ordonnancement préemptif à priorités dynamiques Least Laxity First (LLF) - Principe : à chaque instant, la tâche la plus prioritaire est celle dont la laxité L(t) = ri+Di-(t+Ci (t)) est la plus petite - Exemple : Tâches τ 1 (1,20,8) τ 2 (4,10,10) τ 3 (2,5,4) 0 2 4 6 8 10 12 14 16 18 20 Temps - Propriété : LLF est optimal dans la classe des algorithmes préemptifs pour des tâches périodiques indépendantes telles que Di≤Ti 21 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches périodiques Ê Ordonnancement préemptif à priorités dynamiques Least Laxity First (LLF) - Condition de faisabilité : - si Di=Ti : n - Condition nécessaire et suffisante : Ci U = ∑ ≤1 i =1 Ti - si Di ≤Ti : n - Condition suffisante : Ci ≤1 U =∑ i =1 Di 22 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches périodiques Ê Ordonnancement préemptif à priorités dynamiques L’ordonnancement à priorités dynamiques - Intérêts : - Simplicité de mise en oeuvre - Optimisation de l’usage des ressources - Bien adapté aux tâches périodiques à courtes échéances - Inconvénients : - Indépendance des tâches impératives pour l’utilisation des conditions de faisabilité - Instabilité en cas de surcharge (EDF) - Nombreux changements de contexte dans certains cas (LLF) - Difficilement implantable dans les OS actuels 23 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches apériodiques L’ordonnancement de tâches apériodiques - Objectif : - cas de tâches apériodiques à contraintes relatives → minimiser le temps de réponse des tâches - cas de tâches apériodiques à contraintes strictes → garantir le respect d’un maximum de tâches 24 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches apériodiques L’ordonnancement de tâches apériodiques - La gestion des tâches en arrière-plan : - Background scheduling (BG) - La gestion des tâches par un serveur : à priorités fixes : à priorités dynamiques : - Polling Server (PS) - Dynamic Sporadic Server (DSS) - Deferrable Server (DS) - Dynamic Priority Exchange Server (DPE) - Priority Exchange Server - Improved Priority Exchange Server (IPE) - Sporadic Server - Total Bandwidth Server (TBS) - Slack Stealer Server - Earliest Deadline as Late as possible (EDL) 25 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches apériodiques Ê La gestion des tâches en arrière-plan Background Scheduling (BG) - Principe : les tâches apériodiques sont exécutées en tâches de fond, lorsqu’il n’y a pas de requêtes périodiques à l’état prêt - Mécanisme de fonctionnement : Tâches périodiques RM/EDF File de + haute priorité CPU Tâches apériodiques FCFS File de + basse priorité 26 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches apériodiques Ê La gestion des tâches en arrière-plan Background Scheduling (BG) - Exemple (RM-BG): Tâches τ 1 (4,10,10) τ 2 (2,6,6) 2 1 Apériodiques 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 Temps 27 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches apériodiques Ê La gestion des tâches en arrière-plan Background Scheduling (BG) - Intérêts : - Simplicité de mise en oeuvre - Pas d’impact sur les tâches périodiques - Inconvénients : - Le temps de réponse des tâches apériodiques peut être élevé - Applicable uniquement pour des tâches apériodiques à contraintes relatives - Utilisable principalement dans des systèmes à charge modérée 28 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches apériodiques Ê La gestion des tâches par un serveur à priorités fixes Polling Server (PS) - Principe : Une tâche périodique (Cs, Ps) appelée serveur apériodique active les tâches apériodiques dans son temps d’exécution appelé capacité du serveur - Exemple (RM-PS, Cs=2; Ts=5): Tâches τ 1 (2,6,6) τ 2 (1,4,4) 2 1 2 1 PS (2,5) 0 2 4 6 8 10 12 14 16 18 20 22 24 26 2 Capacité de 1 PS 0 Temps 29 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches apériodiques Ê La gestion des tâches par un serveur à priorités fixes Polling Server (PS) - Intérêts : - Meilleures performances que celles obtenues avec la gestion des tâches apériodiques en tâches de fond - Faibles complexités de calcul et d’implémentation - Inconvénients : - La capacité du serveur est perdue en cas d’absence de tâche apériodique en attente lors du réveil du serveur - Hypothèses restrictives de l’algorithme RM 30 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches apériodiques Ê La gestion des tâches par un serveur à priorités fixes Deferrable Server (DS) - Principe : identique à celui du Polling server à l’exception que DS conserve sa capacité courante jusqu’à la fin de sa période d’activation - Exemple (RM-DS, Cs=2; Ts=5): Tâches τ 1 (2,6,6) τ 2 (1,4,4) 2 1 2 1 DS (2,5) 0 2 4 6 8 10 12 14 16 18 20 22 24 26 2 Capacité de 1 DS 0 Temps 31 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches apériodiques Ê La gestion des tâches par un serveur à priorités fixes Deferrable Server (DS) - Intérêts : - Meilleures performances que celles obtenues avec le server Polling - Faibles complexités de calcul et d’implémentation - Inconvénients : - Hypothèses restrictives de l’algorithme RM 32 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches apériodiques Ê La gestion des tâches par un serveur à priorités dynamiques Total Bandwidth Server (TBS) - Principe : Lorsque la kème requête apériodique arrive au temps t=rk, elle reçoit une échéance fictive calculée comme suit : Date de réveil de la requête occurrente Durée d’exécution de la requête occurrente C ka d k = m a x ( rk , d k − 1 ) + Us Largeur de bande CPU allouée au serveur Échéance fictive de la requête précédente 33 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches apériodiques Ê La gestion des tâches par un serveur à priorités dynamiques Total Bandwidth Server (TBS) - Exemple (EDF-TBS, Up=0.75; Us=0.25): Tâches τ 1 (3,6,6) τ 2 (2,8,8) d1 1 2 d2 1 d3 TBS (0.25) 0 2 4 6 8 d1 = max(3,0) + 10 12 14 16 18 20 22 24 1 = 3+ 4 = 7 0.25 d 2 = max(9,7) + 26 Temps 2 = 9 + 8 = 17 0.25 d 3 = max(14,17) + 1 = 17 + 4 = 21 0.25 34 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches apériodiques Ê La gestion des tâches par un serveur à priorités dynamiques Total Bandwidth Server (TBS) - Intérêts : - Mise en œuvre assez simple - Faibles complexités de calcul et d’implémentation - Inconvénients : - Performances assez médiocres pour des systèmes fortement chargés - Nécessité de connaître les durées d’exécution des tâches apériodiques occurrentes 35 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches apériodiques Ê La gestion des tâches par un serveur à priorités dynamiques Earliest Deadline as Late as possible (EDL) - Principe selon l’algorithme suivant : début si (tâches apériodiques présentes) alors - exécuter les tâches apériodiques au + tôt - exécuter les tâches périodiques au + tard sinon - exécuter les tâches périodiques au + tôt fin 36 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches apériodiques Ê La gestion des tâches par un serveur à priorités dynamiques Earliest Deadline as Late as possible (EDL) - Exemple (EDF-EDL) : Tâches τ 1 (3,6,6) τ 2 (2,8,8) 1 2 1 EDL 0 2 4 6 8 10 12 14 16 18 20 22 24 26 Temps 37 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 L’ordonnancement de tâches apériodiques Ê La gestion des tâches par un serveur à priorités dynamiques Earliest Deadline as Late as possible (EDL) - Intérêts : - Serveur optimal - Pas de nécessité de connaître les durées d’exécution des tâches apériodiques occurrentes - Inconvénients : - Complexités de calcul et d’implémentation élevées - Besoins mémoire importants 38 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 Conclusion (1) - En bref : - L’ordonnanceur a pour rôle d’allouer le processeur aux différentes tâches - L’ordonnancement temps-réel - est régi par une politique spécifique basé sur la priorité - peut être hors-ligne ou en-ligne - doit être déterministe - Compromis simplicité / performances des algorithmes d’ordonnancement - Quantification de l’overhead d’ordonnancement 39 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 Conclusion (2) - Programmation synchrone / asynchrone - Modèle de temps synchrone – Cadre d’étude - Hypothèse des temps de calculs et des temps de communications nuls - Simultanéité possible pour les événements - Contrôle logique et temporel de l’application Æ vérification formelle - Modèle de temps asynchrone – Monde réel - Temps de calculs éventuellement longs - Non-simultanéité des événements - Difficultés voire impossibilité de preuves de correction de l’application 40 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 Extension à la notion d’exécutif temps-réel Outils de compilation Outils d’édition Gestion E/S Ordonnanceur Gestion mémoire Noyau TR Exécutif TR OS TR Gestion du temps Outils de debuggage 41 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006 Références 1. Giorgio Buttazzo, HARD REAL-TIME COMPUTING SYSTEMS: Predictable Scheduling Algorithms and Applications, Second Edition, Springer, 2004. 2. J. Stankovic, K. Ramamritham, M. Spuri, and G. Buttazzo, Deadline Scheduling for Real-Time Systems, Kluwer Academic Publishers, Boston, 1998. 3. J. W. S. Liu, Real-Time Systems, Prentice Hall, New Jersey, 2000. 42 Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006