Problématique de l ordonnancement temps-réel 1
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
La notion de tâche temps-réel Le modèle canonique des tâches temps-réel τ i (C i, T i, D i ) T 0 D 0 T 1 D 1 r 0 d 0 C 0 r 1 d 1 - r i : date de réveil - T i : période d exécution - C i : durée d exécution maximale - D i : délai critique - d i = r i + D i : date d échéance - L = D i C i : laxité 3
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
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 D i = T i - 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, - à contraintes strictes (ex : Requête sur une borne de service) (ex : Arrêt d urgence) 5
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
Le mécanisme d ordonnancement L ordonnancement des tâches temps-réel ORDONNANCEUR PROCESSEUR file d attente des tâches en attente file d attente des tâches prêtes tâche élue DISPATCHER - ORDONNANCEUR : alloue le processeur aux différentes tâches - DISPATCHER : implémente l ordonnanceur (élection des tâches prêtes) 7
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
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
L ordonnancement de tâches périodiques L ordonnancement préemptif T 1 - Ordonnancement sans notion de priorité : - temps-partagé avec politique du tourniquet (round-robin) T 3 T 2 CPU - Ordonnancement à priorités (statiques ou dynamiques) : - la tâche la plus prioritaire obtient le processeur T 1 T2 T 3 CPU 10
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 154 121 162 Temps - Chaque tâche obtient le processeur au bout de (n-1)*q unités de temps au plus 11
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
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
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 T i 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 (D i =T i ) 14
L ordonnancement de tâches périodiques Ordonnancement préemptif à priorités fixes Rate Monotonic (RM) - Conditions de faisabilité : i - Condition nécessaire : 1 U n = i= 1 i - Condition suffisante : n U n 2 1) n = i= 1 C T i C T i ( 1 U ( 1) = 1; U (2) = 0.828; U (3) = 0.779; U ( ) = ln 2 0.693 15
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 D i 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 D i T i 16
L ordonnancement de tâches périodiques Ordonnancement préemptif à priorités fixes Deadline Monotonic (DM) - Conditions de faisabilité : i - Condition nécessaire : 1 U n = i= 1 i - Condition suffisante : n U n 2 1) n = i= 1 C T i C D i ( 1 U ( 1) = 1; U (2) = 0.828; U (3) = 0.779; U ( ) = ln 2 0.693 17
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
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 d i 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 D i T i 19
L ordonnancement de tâches périodiques Ordonnancement préemptif à priorités dynamiques Earliest Deadline First (EDF) - Condition de faisabilité : -si D i =T i : i - Condition nécessaire et suffisante : 1 - si D i T i : U - Condition suffisante : i 1 U n = i= 1 C D i n = i= 1 C T i 20
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) = r i +D i -(t+c i (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 D i T i 21
L ordonnancement de tâches périodiques Ordonnancement préemptif à priorités dynamiques Least Laxity First (LLF) - Condition de faisabilité : -si D i =T i : i - Condition nécessaire et suffisante : 1 - si D i T i : U - Condition suffisante : i 1 U n = i= 1 C D i n = i= 1 C T i 22
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
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
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) - Deferrable Server (DS) - Priority Exchange Server - Sporadic Server - Slack Stealer Server - Dynamic Sporadic Server (DSS) - Dynamic Priority Exchange Server (DPE) - Improved Priority Exchange Server (IPE) - Total Bandwidth Server (TBS) - Earliest Deadline as Late as possible (EDL) 25
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 File de + haute priorité Tâches apériodiques File de + basse priorité RM/EDF FCFS CPU 26
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) Apériodiques 1 0 2 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 Temps 27
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
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 (C s, P s ) appelée serveur apériodique active les tâches apériodiques dans son temps d exécution appelé capacité du serveur - Exemple (RM-PS, C s =2; T s =5): Tâches τ 1 (2,6,6) τ 2 (1,4,4) PS (2,5) 2 1 2 1 2 Capacité de 1 PS 0 0 2 4 6 8 10 12 14 16 18 20 22 24 26 Temps 29
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
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, C s =2; T s =5): Tâches τ 1 (2,6,6) τ 2 (1,4,4) DS (2,5) 2 1 2 1 2 Capacité de 1 DS 0 0 2 4 6 8 10 12 14 16 18 20 22 24 26 Temps 31
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
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=r k, 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 ( ) d = max r, d + k k k 1 C U a k s Largeur de bande CPU allouée au serveur Échéance fictive de la requête précédente 33
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, U p =0.75; U s =0.25): Tâches τ 1 (3,6,6) τ 2 (2,8,8) TBS (0.25) 1 d 1 2 1 d 2 d 3 0 2 4 6 8 10 12 14 16 18 20 22 24 26 1 d1 = max(3,0) + = 3+ 4 = 0.25 7 Temps 2 d2 = max(9,7) + = 9 + 8 = 17 0.25 1 d3 = max(14,17) + = 17 + 4 = 21 0.25 34
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
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
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) EDL 1 2 1 0 2 4 6 8 10 12 14 16 18 20 22 24 26 Temps 37
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
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
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
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
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