La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique 1- 1 Tutorial ordonnancement Emmanuel.

Présentations similaires


Présentation au sujet: "Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique 1- 1 Tutorial ordonnancement Emmanuel."— Transcription de la présentation:

1 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique 1- 1 Tutorial ordonnancement Emmanuel Grolleau LISI/ENSMA

2 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique 1- 2 Tutorial ordonnancement 1. Introduction aux modèles dordonnancement –Système exemple –Programmation dirigée par le temps/par les événements –Tâches concrètes et non concrètes –Périodicité –Structure dune tâche

3 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique 1- 3 Tutorial ordonnancement Aéronef Miniature Autonome de Détection et dObservation –Mini drone –Envergure 55 cm –Autonomie 20 à 30 minutes en vol de croisière –Masse ~930 grammes Centrale inertielle IMU 3 gyromètres 3 accéléromètres Echantillonnage interne > 1kHz Récepteur GPS 12 canaux 4Hz 30g Récepteur RC MODEM 860 MHz 9600 bps portée max 8km 100 mW Servocommandes MPC MHz RTOS OSEK/VDX Coprocesseur FP Utilisation 2 UART ( GPS, Modem) 5 entrées PWM RC 4 sorties PWM, Servos CAN ( IMU) CAN 1Mbps, 50Hz RS232 56kbps, 4Hz PPM, 50 Hz RS kbps, 10Hz Modes de vol Manuel : pilotage par RC Assisté : roulis/vitesse ascensionnelle Autonome : assisté + navigation mission Retour à la base Montée sur panne GPS/RC/Modem Crash sur place sur panne grave (IMU+RC) 38g 38+25g 58g 1.1 Exemple de STR : le drone AMADO

4 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique 1- 4 Tutorial ordonnancement Gestion parallèle de –Réception GPS »1 trame toutes les 250 ms, événement initié par un dispositif externe »chaque trame arrive octet par octet (120 octets/trame), chaque octet doit être stocké avant larrivée du prochain octet (1/5600o/s ~ 175 µs après) Pénalité : perte de la trame, donc prise en compte de la position retardée de 250 ms –Réception de données venant du sol »1 trame au plus toutes les 100 ms, événement initié par un dispositif externe »Chaque trame est composée de 10 octets, chaque octet doit être lu et stocké en moins de 1/960o/s ~ 1 ms Pénalité : perte dune commande provenant du sol –Réception de donnés de la centrale inertielle »1 message toutes les 20 ms, événement initié par un dispositif externe »Chaque message CAN est composé de 3 trames de 8 octets de données, séparés de 80 µs, comme dans le cas des liaisons RS-232, chaque trame doit être lue et stockée avant larrivée de la suivante Pénalité : instabilité, perte totale ou partielle de contrôle pouvant mener au crash –Récepteur de consignes manuelles via le récepteur RC »Assure le pilotage en mode répéteur lorsque le système est en mode manuel, initié par un dispositif externe »5 entrées doivent être surveillées (différence temporelle entre front montant et descendant) et les sorties correspondantes (servo-moteurs) doivent être mises à jour toutes les 20 ms Pénalité : fonctionnement manuel saccadé des gouvernes pouvant entraîner un crash –Génération des commandes vers les servo-moteurs »Initié par lhorloge interne »5 sorties doivent être programmées avec une valeur de commande toutes les 20 ms Pénalité : fonctionnement saccadé pouvant entraîner un crash 1.1 Besoin de parallélisme

5 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique 1- 5 Tutorial ordonnancement –Envoi des données vers le sol de navigation/horizon artificiel »Initié par lhorloge interne (choix de 50 ms) Pénalité : retard daffichage dinformations au pilote –Navigation »Calqué sur larrivée dinformations GPS (~250 ms) Pénalité : mauvaise trajectoire –Détection/gestion de pannes »Initié par lhorloge interne (choix de 200 ms) Pénalité : retard de détection de panne, danger de crash moteur allumé –Algorithme de régulation dattitude »Initié 1 fois sur 3 par les informations provenant de la centrale Pénalité : perte de contrôle Récapitulatif : –4 « tâches périodiques » sont initiées par un dispositif externe, leur période est imposée par ceux-ci, il nous faut répondre en temps réel à ceux-ci. On ne connaît pas la date de la première réception. –3 « tâches périodiques » initiées par lhorloge interne –2 tâches initiées par une autre tâche –Contraintes de temps inhérentes à la dynamique du système et des dispositifs capteurs/actionneurs –Les pénalités de retard peuvent aller dun certain inconfort à la destruction du système, voire à exposer les opérateurs à un risque physique –La plupart des événements se produisent de façon périodique (il arrive cependant que des événements soient apériodiques) »Exemple : données provenant du sol, au plus toutes les 100ms (mais cela peut être plus) 1.1 Besoin de parallélisme /2

6 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique 1- 6 Tutorial ordonnancement Pour lire un signal externe, il existe deux façons de procéder Scrutation (polling) : il sagit de scruter une entrée suffisamment fréquemment pour détecter un changement détat significatif –Exemple : scrutation de lentrée série provenant du GPS 1.2 Scrutation ou interruption ? Arrivée de lévénement scruté Réveil dune scrutation Exécution dune scrutation temps Période de scrutation Prise en compte de lévénement scruté Cas favorable temps Cas défavorable Événement manqué car arrivé juste après lavoir testé Retard dû à loccupation du processeur à autre chose Ecrasement de lévénement précédent Seul le 3 ème événement est perçu, après écrasement des 2 autres

7 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique 1- 7 Tutorial ordonnancement Principe du délai critique D i –Une tâche i doit se terminer dans un délai D i après être activée –Comment cela est-il vérifié ? Lors de létude dordonnançabilité Soit C i la durée maximum que le processeur doit consacrer à lexécution dune tâche Soit P i la période avec laquelle la tâche est activée –Le processeur doit consacrer C i /P i de la fraction de son temps à lexécution de la tâche Exemple : –Le GPS : il faut un temps de traitement de 54 µs par octet reçu, et la tâche de scrutation doit être capable de récupérer des événements séparés de 175 µs –Si lon choisit une période de scrutation de 87 µs, et un délai critique égal à la période, on est sûr de ne pas manquer doctet, mais à un coût de 54/87=62 % du processeur !!! –Ceci est dautant plus regrettable que les arrivées ont lieu pendant 120 octets/5600 octets/second ~ 21 ms toutes les 250 ms…. Imaginez le temps gaspillé… –Si lon ajoute les autres traitements, il nous faudra un processeur nettement plus rapide afin de diminuer le temps de traitement. 1.2 Scrutation Période + Délai critique écart événements temps Événement manqué car arrivé juste après lavoir testé Pas décrasement de lévénement précédent Délai critique Cas défavorable Prise en compte événement

8 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique 1- 8 Tutorial ordonnancement Exemple : –Dans le pire cas, la tâche traitant les octets provenant du GPS doit être activée toutes les 175 µs, elle utilisera donc 54/175 = 31 % du processeur lorsquun message arrivera, et ceci pendant 21 ms toutes les 250 ms. Le déclenchement des traitements sur interruption ne nécessite pas une période aussi courte que la scrutation. La charge C i /T i est donc moins élevée. Remarques : –Le traitement par interruption nécessite un capteur actif (en opposition au capteur passif) –On se ramène souvent au cas périodique, même lorsque les événements ne sont pas périodiques (le pire cas est périodique) –Il est fréquent que les dates réelles darrivée des événements ne soient pas connues, il faut essayer de se ramener au pire cas 1.2 Interruptions temps Cas défavorable Latence du noyau+activation de la tâche de traitement Pire période = durée minimale interévénement

9 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique 1- 9 Tutorial ordonnancement Programmation dirigée par les événements –Les tâches sont déclenchées par les événements (interruptions) »Exemple: larrivée dune trame CAN déclenche une interruption –Avantage : réactivité aux événements à moindre coût processeur –Inconvénient : dates de réveil des tâches (au moins partiellement) inconnues –On parle de tâches non concrètes –Exécution : ordonnancement en-ligne du système, généralement dirigé par les priorités Programmation dirigée par le temps –Les interruptions mettent à jour un modèle interne (exemple : dernière trame GPS reçue, dernière trame IMU reçue, etc.) –Avantage : système parfaitement connu (voire modulable pour augmenter lordonnançabilité) –On parle de tâches concrètes –Inconvénient : moins réactif aux événements (temps de réponse de bout en bout plus élevé et charge processeur plus élevée) –Exécution : ordonnancement hors-ligne ou en-ligne 1.2 Programmation dirigée par le temps/les événements

10 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Contrainte stricte (hard real-time) –Une violation des contraintes temporelles peut être dangereuse pour le système »Exemple : tâche dacquisition centrale inertielle du drone Contraintes fermes (firm real-time) –Violer une échéance nest pas catastrophique mais la qualité du résultat diminue »Exemple : daprès la simulation aérodynamique, pour la tâche dacquisition GPS, il faut au moins 1 trame sur 2 pour une navigation presque correcte (1,2)-firm »Au niveau de la centrale inertielle, 1 trame sur 2 serait suffisante pour assurer une stabilité suffisante du vol Contraintes molles (soft real-time) –Respecter les échéances augmente la qualité du résultat »Exemple : système météo envisageable sur le système AMADO, applications multimédia 1.3 Contraintes de temps

11 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Tâches périodiques –Tâches réveillées périodiquement »soit par lhorloge interne (exemple : génération de commandes toutes les 20 ms) »soit par un événement externe périodique (exemple : navigation toutes les 250 ms à réception dune trame GPS complète) ou possédant un délai minimal entre 2 déclenchements successifs (réception des données station sol) »soit par une tâche elle-même périodique (exemple : régulation dattitude réveillée toutes les 60 ms par la tâche de réception dinformation de la centrale inertielle) Tâches sporadiques (terminologie J.W.S. Liu) –Tâches à contraintes strictes réveillées par un événement externe non caractérisé par un délai minimal inter- arrivée. But : test dacceptance. Tâches apériodiques –Tâches à contraintes molles réveillées par un événement externe non caractérisé par un délai minimal inter- arrivée. –Ordonnancement de type meilleur effort 1.4 Périodicité des tâches

12 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Tâches réveillées par lhorloge interne Date_réveil date_courante Faire toujours … Date_réveil Date_réveil + Période_tâche Dormir jusquà Date_réveil Fait Tâches réveillées par événement extérieur –Utilisent une ISR (Interrupt Service Routine) exécutée dès que linterruption a lieu qui déclenche la tâche Faire toujours Attendre événement déclencheur … Fait Tâches logicielles (héritent de la périodicité de la tâche qui les réveille) Faire toujours Attendre événement ou message ou événement ou … … Fait 1.4 Structures typiques des tâches

13 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 2. Ordonnancement à priorités fixes –Notations –Problématiques –Exemple dalgorithme: RM –Validation »Simulation »Période dactivité »Tests polynomiaux –Autres algorithmes: DM, Audsley

14 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 2.1 Notations Temps i r i,1 r i,2 r i,3 r i,4 0 DiDi d i,1 d i,2 d i,3 TiTi CiCi Système de tâches S={ 1, 2, …, n } Tâche i caractérisée par –C i : sa pire durée dexécution ou WCET (worst-case execution time) –r i = r i,1 sa première date dactivation lorsquelle est connue. Dans ce cas on parle de tâche concrète. Parfois réglable au gré du concepteur (offset free). Lorsquelle est inconnue on parle de tâche non concrète. Dans le cas des tâches concrètes, on parle de tâches synchrones au démarrage (ou simultanées) si tous les r i sont nuls, asynchrones au démarrage (ou non simultanées) sinon –T i : sa période dactivation; à partir de sa première activation, créant une instance (job) j i,1 (ou i,1 ) à exécuter, une tâche est activée toutes les T i unités de temps, donnant à chaque fois naissance à une instance j i,j (ou i,j ). Les instances sont non réentrantes les unes par rapport aux autres. –D i : son délai critique (relative deadline) »Une instance j i,j de la tâche i doit être exécutée avant son échéance (deadline) d i,j = r i,j +D i »Les instances j i,1 et j i,2 respectent leur échéance alors que j i,3 viole son échéance »Si D i =T i on parle déchéance sur requête. Si D i >T i on parle déchéances arbitraires (lexécution dune instance peut « déborder » sur la période suivante) Remarque : souvent une lettre majuscule symbolise une durée et une minuscule une date

15 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 2.1 Différents modèles de tâches Périodicité –Tâches périodiques –Tâches sporadiques –Tâches apériodiques (algorithme de type meilleur-effort, pas de validation possible) Échéance –Échéance sur requête : T i = D i –Échéance : D i T i –Échéance arbitraire (ou non reliées au périodes) : T i et D i non ordonnés Réveil –Tâches concrètes : toutes les dates de réveil sont connues »Tâches simultanées i, r i = 0 »Tâches différées i / r i 0 »Tâches offset free : on peut choisir les r i comme cela nous arrange –Tâches non concrètes : les dates de réveil sont inconnues »Modèle RMA (Rate Monotonic Analysis) »Tâches non concrètes dans lesquels seuls les décalages entre certaines tâches sont connus Transactions et tâches à offset Modèle multiframe généralisé Interdépendance des tâches –Tâches indépendantes : toutes les tâches peuvent être préemptées par toute tâche nimporte quand –Tâches non préemtibles : une tâche ne peut être préemptée –Tâches partageant des ressources : lordonnancement doit respecter lexclusion mutuelle –Tâches à contraintes de précédence : certaines tâches doivent attendre des messages ou synchronisations provenant dautres tâches

16 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 2.1 Différents modèles de tâches Facteurs pratiques –Tâches à suspension : après son lancement, une tâche se suspend pendant une entrée/sortie par exemple –Energy aware scheduling : prise en compte de la gestion dénergie –Contraintes fermes, QoS… –Etc.

17 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 2.2 Problématiques de lordonnancement Problème de décision : un système est-il ordonnançable? –Existe-t-il un algorithme dordonnancement qui ordonnance fiablement une configuration donnée ? Le système est-il ordonnançable? Réponse : oui ou non »Exemple : S = { i ::= }={ 1 ::=, 2 ::= } »Exemple : S 2 = { i ::= }={ 1 ::=, 2 ::= } nest pas ordonnançable sur un seul processeur Problème de recherche dalgorithme ou de séquence pour un système de tâches –Trouver un algorithme dordonnancement qui ordonnance fiablement un système (méthode en-ligne) –Exhiber une séquence dordonnancement répétable infiniment qui ordonnance fiablement un système (méthode hors-ligne) Problème dordonnançabilité (cest un problème de décision) –Lalgorithme dordonnancement X ordonnance-t-il fiablement le système S? Un algorithme ordonnance fiablement un système de tâches si tout schéma darrivée conforme à la définition du système voit le système respecter les contraintes de toutes les instances des tâches 1 2 S est ordonnançable car il existe au moins un algorithme lordonnançant fiablement

18 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 2. 2 La complexité et lordonnancement La problématique principale de lordonnancement est quun bon nombre de problèmes (par exemple, lorsque les tâches partagent des ressources critiques) est NP-difficile ou Co-NP-difficile –Par conjecture, il nexiste donc pas dalgorithme donnant en tant raisonnable une réponse exacte –Donner une réponse exacte résulte en une explosion combinatoire Problématiques principales de lordonnancement en-ligne –Evaluer des algorithmes dordonnancement (les contraintes temporelles sont-elles respectées ? Tel critère est- il minimisé ?) en utilisant des tests approchés (heuristiques) polynomiaux ou pseudo-polynomiaux permettant dapproximer de façon la moins pessimiste possible le comportement dun algorithme »Par exemple, calculer une borne supérieure du temps de réponse des tâches qui soit la moins pessimiste possible, mais qui ne puisse en aucun cas être optimiste –Evaluer et comparer des algorithmes »Conditions doptimalité des algorithmes dans des classes dalgorithmes »Par exemple trouver un ratio qui caractérise lécart maximal donné par une heuristique par rapport à la réponse que donnerait un algorithme NP-difficile optimal Problématiques principales de lordonnancement hors-ligne –Limiter au maximum lexplosion combinatoire en réduisant au maximum lespace des états, en trouvant des classes déquivalence entre états lors dune construction/exploration de lespace des solutions.

19 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 2.3 Classes dalgorithmes dordonnancement Priorités fixes RM,DM,Audsley… Priorités dynamiques EDF,EDL,ML,Pfair… Algorithmes conservatifs (le processeur ne peut être inactif que si aucune tâche nest active) Ordonnancements non conservatifs Algorithmes en-ligne (ordonnancement dirigé par les priorités) Connaissance des instances actives uniquement Algorithmes hors-ligne (ordonnancement dirigés par le temps) Connaissance du passé et du futur

20 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 2.4 Ordonnancement à priorités fixes Utilisé par la quasi-totalité des applications embarquées actuelles Problèmes –Problème de décision : étant donné un système de tâches, existe-t-il une affectation de priorités ordonnançant fiablement le système ? »Réponse liée aux 2 problèmes suivants –Problème de recherche : trouver une affectation de priorités ordonnançant fiablement le système »Réponse sous forme dalgorithme de recherche daffectation nécessitant la résolution du problème suivant –Problème de décision : laffectation de priorité donnée ordonnance-t-elle fiablement le système ? »Réponse sous forme de tests dordonnançabilité

21 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Rate Monotonic Article de référence : –C.L. Liu and J.W. Layland,"Scheduling algorithms for multiprogramming in real-time environment", Journal of the ACM, vol. 20(1), pp , 1973 Contexte –Tâches indépendantes, périodiques, à échéance sur requête, non concrètes : une tâche est définie par avec implicitement D i = T i Algorithme –Affecter une priorité en fonction de la période : plus la période est petite, plus la priorité est élevée Résultats –Rate Monotonic est optimal dans la classe des algorithmes à priorités fixes »Cela signifie que si un algorithme à priorités fixes ordonnance fiablement un système de tâches S, alors RM ordonnance fiablement S »De façon équivalente, tout système ordonnançable par un algorithme à priorités fixes est ordonnançable par RM –Théorème de linstant critique: pour des tâches indépendantes, le pire temps de réponse pour une tâche de priorité i advient lorsque toutes les tâches de priorité supérieure à i sont activées simultanément avec la tâche étudiée. »Conséquence : pour des tâches non concrètes, le cas concret simultané est un pire cas. Si un algorithme ordonnance fiablement un système de tâches simultanées S={ } i=1..n, alors il ordonnance fiablement tout système de tâches S={ } i=1..n Tests dordonnançabilité possibles –Simulation => nous aurons à déterminer sur quelle durée (durée détude) (CNS) –Calcul du pire temps de réponse (CNS) –Calcul de la charge processeur (CS)

22 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Instant critique : illustration 1 2 Supposons que r 1 -r 2 = 4 Temps de réponse 2,1 = 12 Temps de réponse 2,2 = 13 temps 1 2 Temps de réponse 2,1 = 14 Temps de réponse 2,2 =13 temps Supposons les tâches simultanées Soit un système de tâches non concrètes S = { 1 ::=, 2 ::= } donné sous la forme. Une affectation de priorités RM donnerait Prio( 1 )=2, Prio( 2 )=1 Remarque : le temps de réponse dune tâche ne dépend que des tâches de priorité supérieure (ou égale) : 1 nest pas influencée par 2 Ou doit-on arrêter la simulation pour conclure que le système est fiablement ordonnancé ?

23 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Durée détude : cyclicité des ordonnancements Contexte –Leung et Merrill lont appliqué à des tâches indépendantes à échéance avec lalgorithme à priorités dynamiques Earliest Deadline –Geniet et Grolleau ont généralisé le résultat à (presque) tout algorithme dordonnancement déterministe pour tâches dépendantes ou indépendantes à échéance Résultats –Pour un algorithme dordonnancement déterministe A (face à la même configuration, lalgorithme prend la même décision) dun système de tâches concrètes simultanées à échéance, et une séquence dordonnancement valide A donnée par A sur lintervalle de temps [0..PPCM(T i )[. Le système est fiablement ordonnancé par A. La séquence infinie obtenue est A *. –Dans le même contexte, mais pour un système de tâches différées, soit une séquence valide A créée par A sur [0..max(r i )+2PPCM(T i )[. Notons A,montée la séquence sur [0..max(r i )+PPCM(T i )[ et A,c la séquence sur [max(r i )+PPCM(T i ).. max(r i )+2PPCM(T i )[. Le système est alors fiablement ordonnancé par A. La séquence infinie obtenue est A,montée A,c * Conséquences –Pour les systèmes de tâches indépendantes non concrètes, le système peut être validé par simulation du système de tâches concrétisé en simultané –Les systèmes de tâches indépendantes concrètes peuvent être validées par simulation –Une séquence dordonnancement hors-ligne peut être construite –Une simulation doit être menée sur une durée PPCM(T i ) pour des tâches simultanées –Et sur une durée au pire de max(r i )+2PPCM(T i ) pour des tâches différées –Est-ce que cest grand un PPCM ? »Non polynomial, une borne supérieure de PPCM(1,2,3,4..,m) est 3 m. »La simulation est une technique non polynomiale En général, proscrite des techniques de validation (sauf dans le cas concret différé), mais utilisée pour comprendre un fonctionnement ou en ordonnancement hors-ligne

24 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Demande processeur 1 2 temps Remarque 1 : le système se retrouve dans le même état à linstant 28 quà linstant 0 –Par même état nous entendons même motif darrivées des tâches, et comme à linstant initial, le processeur na plus rien à traiter Observons cela sur un diagramme de charge de niveau de priorité 1 temps Charge à traiter

25 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Autre vue de la demande processeur temps Période dactivité Point creux Demande processeur Traitement

26 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Période dactivité Intuitivement –La terminaison dune tâche est retardée (de façon équivalente, son temps de réponse est augmenté) par les requêtes des tâches de priorité supérieure ou égale –Plus la première instance des tâches de priorité supérieure (ou égale) est proche de la première instance dune tâche, et plus elle mettra de temps à descendre à 0 unités de temps de charge restante (cest quand la charge restant à traiter dune tâche tombe à 0 que celle-ci est terminée) –Remarque : la couleur na pas dimportance, puisque le diagramme fait apparaître les périodes dactivité du niveau de priorité du diagramme, ici celle de la tâche 2 –En comparaison, voici le diagramme des charges de niveau de priorité 2. Les périodes dactivité de niveau de priorité 2 ne durent quune unité de temps temps Charge à traiter Ceci est un temps creux Ceci est une période dactivité de niveau de priorité 1 Ceci aussi temps Charge à traiter Instant critique On peut voir sur ce diagramme de charge que lalgorithme RM est conservatif Ceci est un instant creux

27 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Calcul du pire temps de réponse (RTA) Articles de référence : –M. Joseph and P. Pandya,"Finding response times in real-time system", The Computer Journal, vol. 29(5), pp , 1986 Contexte –Tâches indépendantes à échéance inférieure ou égale à la période pour [JP 86] Résultats –Soit hp(i) lensemble des indices de tâches de priorité supérieure (ou égale) à la priorité de i, en excluant i »Par exemple, soient { 1, 2, 3, 4 } de priorité croissante, hp(2)={3,4} –Le temps de réponse de i est donné par la charge à traiter plus linterférence des tâches de priorité supérieure, en démarrant à linstant critique, car le pire temps de réponse de i intervient dans la plus longue période dactivité de niveau de priorité prio( i ), et celle-ci démarre (y compris pour les tâches à échéances arbitraires) à linstant critique Application au cas D i T i –Si i respecte ses échéances, son pire temps de réponse est le plus petit point fixe de la suite La suite converge si et seulement si U1 Complexité pseudo-polynomiale

28 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Calcul du pire temps de réponse échéances arbitraires La formule de calcul de [JP 86] ne peut pas sappliquer telle quelle est définie, car elle ne prend pas en compte la possibilité pour une instance i,j de la tâche i dinterférer avec les instances suivantes. Cependant le résultat suivant reste valide –Le temps de réponse de i est donné par la charge à traiter plus linterférence des tâches de priorité supérieure, en démarrant à linstant critique, car le pire temps de réponse de i intervient dans la plus longue période dactivité de niveau de priorité prio( i ), et celle-ci démarre (y compris pour les tâches à échéances arbitraires) à linstant critique –Il faut donc aller jusquà la fin de la période dactivité initiée par linstant critique et regarder dans cette période dactivité quelle est linstance de tâche avec le plus long temps de réponse Cest lidée exploitée par [Leh 90]. Lidée est quil faut tester toutes les échéances des instances situées dans la première période dactivité R i (*) (k) donne la date de fin la plus tardive de i,k (i.e. k ième instance de i ) doù On applique cette formule de la façon suivante : on commence à k=1 (on a alors le même fonctionnement que [JP 86]). –Si R i (*) (1)>D i, il y a violation déchéance (on peut tout de même continuer si lon souhaite obtenir le pire temps de réponse) –Si R i (*) (1)>T i, la deuxième instance fait partie de la première période dactivité, on termine donc pour k=1, mais on sait quil faudra tester aussi k=2. De même si R i (*) (2)>2T i, il faudra tester k=3, etc. tant que R i (*) (k)>kT i on teste k+1. Le processus converge si et seulement si U<1. Chaque date de fin dinstance i,k est comparée à d i,k

29 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Test polynomiaux Ils se basent sur lutilisation processeur –U i =C i /T i –U= U i Condition nécessaire triviale dordonnançabilité U 1 Liu & Layland ont proposé une condition suffisante dordonnançabilité (la plus connue mais pas la meilleure) –CS signifie que »si la réponse au test est OUI, le système est fiablement ordonnancé par RM »Si la réponse au test est NON, on ne peut conclure Condition suffisante de Liu & Layland 73 –Soit S une configuration de n tâches indépendantes à échéance sur requête. Le système S est ordonnancé fiablement par RM si U n (2 1/n – 1) charge 100%69% 0% incertitude n

30 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Test polynomiaux plus récents Borne de Sjödin et Hansson 98 Borne hyperbolique (Bini et al. 03) Borne de Bini et Baruah 07 –Tient en échéances arbitraires Tests polynomiaux réglables basés sur la RTA – -HET ( Hyperbolic Exact Test) de Bini et Buttazzo 04 –Schémas dapproximation

31 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Récapitulatif RM est optimal dans la classe des algorithmes à priorités fixes pour les systèmes de tâches indépendantes préemptibles à échéance sur requête, concrètes simultanées ou non concrètes Différents CS polynomiales basées sur la charge ou bien sur la RTA Une CN triviale est que U<1 pour quun système de tâches soit ordonnançable sur 1 processeur Tout algo La simulation permet, à un coût exponentielle, de valider un système de tâches indépendantes et préemptibles –Une séquence dordonnancement est périodique sur une période de PPCM(T i ) à partir du début pour des tâches simultanées, ou au pire de max(r i )+PPCM(T i ) pour des tâches différées Tout algo déterministe Le pire temps de réponse dune tâche intervient dans la première période dactivité, qui démarre à linstant critique (tâches indépendantes, préemptibles, concrètes simultanées ou non concrètes) –Dans le cas D i T i, il suffit de tester la 1 ère instance de chaque tâche (pseudo-polynomial) –Dans le cas D i >T i il faut tester toutes les instances de la 1 ère période dactivité (exponentiel) Tout algo à priorités fixes Spécifique ou tout algo à priorités fixes

32 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Deadline Monotonic Contexte –Tâches indépendantes, périodiques, à échéance D iT i, simultanées (donc concrètes) : une tâche est définie par Algorithme –Deadline Monotonic : Affecter une priorité en fonction du délai critique : plus le délai critique est petit, plus la priorité est élevée Résultats –Deadline Monotonic est optimal dans la classe des algorithmes à priorités fixes Tests dordonnançabilité possibles –Simulation (CNS) mais coût exponentiel (de lordre de PPCM(T i )) –RTA (CNS) à coût pseudo-polynomial : aucun changement par rapport à RM –Conditions suffisantes polynomiales

33 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Laffectation dAudsley Contexte –Tâches indépendantes, périodiques, à échéance arbitraires, concrètes non simultanées : une tâche est définie par Algorithme –Idée : le temps de réponse dune tâche ne dépend que des tâches de priorité supérieure. Donc soit k la tâche de priorité la plus faible. Son temps de réponse est indépendant de lordre des priorités des tâches de priorité supérieure (rappelons-nous que le calcul du temps de réponse se base sur la période dactivité de niveau Prio( k ), qui nest dépendante que de la charge des tâches, et non pas de leur priorité relative) –Principe : trouver une tâche ordonnançable avec la priorité la plus faible (appliquer un test dordonnançabilité dérivé de [Leh 90]) ou une simulation –Trouver dans les tâches restantes une tâche ordonnançable avec le niveau de priorité supérieur, procéder ainsi jusquà ce que toutes les tâches aient une priorité Résultats –Laffectation dAudsley est optimale pour les tâches indépendantes préemptibles concrètes non simultanées Tests dordonnançabilité possibles –Le système est ordonnançable par construction Complexité –Il y a au plus n(n-1)/2 affectation à tester, le problème étant que le test dordonnançabilité effectué à chaque pas est exponentiel –La complexité vient principalement du fait quil est Co-NP-difficile de déterminer lendroit où débute la plus longue période dactivité pour chaque niveau de priorité une simulation (ou quasi équivalent en complexité) est requise

34 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Audsley : exemple Soit S = {,, } un système de tâches indépendantes, préemptibles, concrètes données sous la forme –Essayons daffecter la priorité 1 (la plus faible) à 1 –Cela ne fonctionne pas, 1 ne peut donc se voir assigner la priorité la plus faible –Essayons daffecter la priorité 1 à 2 –Dans ce cas, le pire temps de réponse de 2 est 7, on peut donc lui affecter cette priorité Charge de prio Fin de période dactivité Violation déchéance temps Réveils Échéance de 1 Charge de prio temps Réveils

35 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Audsley : exemple /suite –Essayons maintenant daffecter la priorité 2 à 1 –Le pire temps de réponse est 1 –On donne alors la plus forte priorité à 3. La CNS dordonnançabilité pour 3 est C 3 D 3 puisque cest la seule tâche prise en considération. Charge de prio temps Réveils

36 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 3. Facteurs pratiques –Ressources critiques –Tâches non préemptibles –Contraintes de précédence

37 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 3.1 Ordonnancement en présence de ressources critiques Lorsque des ressources critiques sont en jeu, il faut prendre en compte le problème de lexclusion mutuelle –Problèmes possibles »Interblocage (dîner des philosophes) »Inversion de priorité (voir plus loin) »Anomalies dordonnancement 1 2 temps 3 Utilisation de la ressource R 1 2 temps 3 C 3 =5 => violation déchéance, cest une anomalie dordonnancement C 3 =6 => cela fonctionne sur la simulation La tâche est bloquée lors de laccès à la ressource, cest normal, cela sappelle un blocage (direct)

38 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Inversion de priorité Une inversion de priorité a lieu lorsquune tâche se voit retarder par une tâche de priorité inférieure, alors quelle ne partage pas de ressource directement avec cette tâche 1 2 temps 3 Utilisation de la ressource R Inversions de priorité : 2 sexécute alors que 1 est bloquée, pourtant ce nest pas 2 qui détient la ressource bloquant temps 3 blocage héritage Libération R => retour au niveau de priorité initiale

39 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Protocole à Priorité Héritée Article de référence : –L. Sha, R. Rajkumar and J.P. Lehoczky,"Priority inheritance protocols : an approach to real-time synchronization", IEEE Transactions on Computers, vol. 39n. 9, 1990, pp Contexte –Algorithmes à priorités fixes Nom –Protocole à priorité héritée (PPH) ou Priority Inheritance Protocol (PIP) Principe –Lorsquune tâche i est bloquée pour accéder à une ressource R, la tâche j détenant R hérite de la priorité de i pendant la durée de sa section critique sur R Résultats –Supprime toute inversion de priorité Effets de bord –Même une tâche nutilisant pas de ressource peut subir un blocage indirect de la part dune tâche de priorité inférieure 1 2 temps 3

40 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Etude du Protocole à Priorité Héritée Inconvénients –Ne supprime pas linterblocage –Si une tâche utilise plusieurs ressources, elle peut être bloquée à chaque entrée en section critique –Complexe à implémenter Implémentation –Lorsquune tâche est en section critique, son niveau de priorité peut être augmenté lorsquelle est en attente du processeur ou bloquée par une instruction de type prendre(ressource) sur une ressource quelle détient. Pendant son exécution, plusieurs tâches peuvent augmenter sa priorité i Utilisation de R 1 Utilisation de R 2 Utilisation de R 1 et R 2 Héritage de prio( j ) à cause de R 1 Héritage de prio( k ) à cause de R 2 Héritage de prio( m ) à cause de R 2 La priorité retombe à prio( j )

41 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Etude du Protocole à Priorité Héritée 1 2 temps 3 Utilisation de R 1 Utilisation de R 2 Utilisation de R 1 et R 2 Héritage de priorité Une tâche peut être bloquée par une section critique pour chaque ressource –Blocage direct ou indirect La durée de blocage B i dune tâche due aux sections critiques du système est la durée pendant laquelle une tâche peut être bloquée (de façon directe ou indirecte) par une tâche de priorité inférieure Pour PIP –lp(i) ensemble des indices de plus petite priorité que i –Durée SC i (R) : durée maximale de section critique de i sur R Dans lexemple, B 1 = 5, B 2 =3, B 3 = 0

42 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Etude du Protocole à Priorité Héritée Sil y avait une tâche de priorité intermédiaire située entre 1 et 2, même si elle nutilisait pas de ressource, son B i serait de 5 (durée SC 3 (R 1 )+durée SC 2 (R 2 )) car elle peut subir un blocage indirect dû à 1 Si il y avait une tâche de priorité supérieure à celle de 1, en appliquant la formule proposée, son B i serait de max{durée SC 3 (R 1 ),durée SC 1 (R 1 )}+max{durée SC 2 (R 2 ),durée SC 1 (R 2 )}=5 –Cependant, il est évident que la formule donnée est pessimiste dans ce cas, car cette tâche ne pourrait en aucun cas subir un blocage indirect, pourquoi ? La formule devrait prendre en compte le fait quon ne prend en compte que les ressources utilisées par au moins une tâche de priorité supérieure à la tâche dont on calcule le B i En fait, les formules de calcul du pire temps de réponse sont Pour D i T i Pour des échéances arbitraires

43 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Protocole à Priorité Plafond Article de référence : –L. Sha, R. Rajkumar and J.P. Lehoczky,"Priority inheritance protocols : an approach to real-time synchronization", IEEE Transactions on Computers, vol. 39n. 9, 1990, pp Contexte –Algorithmes à priorités fixes Nom –Protocole à priorité plafond (PPP) ou Priority Ceiling Protocol (PCP) Principe –Chaque ressource est munie dune priorité plafond égale à la plus grande priorité des tâches susceptibles de lutiliser –Une variable, nommée plafond système, est la priorité plafond maximale des ressources en cours dutilisation –Une tâche ne peut entrer en section critique (opération Prendre(R)) que si sa priorité est strictement supérieure au plafond système ou si elle détient elle-même le plafond système –Lorsquune tâche i est bloquée pour accéder à une ressource R, la tâche j détenant R hérite de la priorité de i pendant la durée de sa section critique sur R Résultats –Supprime toute inversion de priorité –Une tâche ne peut être bloquée au maximum que par une seule section critique de priorité inférieure par période dactivité –Absence dinterblocage Effets de bord –Même une tâche nutilisant pas de ressource peut subir un blocage indirect de la part dune tâche de priorité inférieure –Une tâche, même si elle est la plus prioritaire des tâches active, peut être bloquée en accédant à un sémaphore même libre : cest un blocage dévitement

44 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Comparaison PPP - PPH 1 2 temps 3 Utilisation de R 1 Utilisation de R 2 Utilisation de R 1 et R 2 Héritage de priorité PPH 1 2 temps 3 PPP = > 1 blocage max Blocage dévitement

45 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Etude du Protocole à Priorité Plafond Sur lexemple précédent : B 1 =max(2,3) ; B 2 = max(3) ; B 3 = 0 Les formules de calcul du pire temps de réponse sont les mêmes, sauf que B i est plus faible quavec le PPH Problème : implémentation aussi complexe que PPH Pour D i T i Pour des échéances arbitraires

46 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Protocole à Super Priorité ou Priorité Plafond Immédiat Article de référence : –C. Kaiser,"Exclusion mutuelle et ordonnancement par priorité", Technique et Science Informatiques, vol. 1(1), pp , 1982 Contexte –Algorithmes à priorités fixes Nom –Protocole à priorité plafond immédiat (PPPI) ou Protocole à Super Priorité ou Stak Based Priority Ceiling Protocol Principe –Chaque ressource est munie dune priorité plafond égale à la plus grande priorité des tâches susceptibles de lutiliser (comme pour PPP) –Une variable, nommée plafond système, est la priorité plafond maximale des ressources en cours dutilisation (comme pour PPP) –Une tâche ne peut entrer en section critique (opération Prendre(R)) que si sa priorité est strictement supérieure au plafond système ou si elle détient elle-même le plafond système (comme pour PPP) –Lorsquune tâche i entre en section critique, elle hérite pendant toute la section critique de la priorité plafond de la ressource Résultats –Mêmes propriétés que le protocole à priorité plafond, en effet même si le comportement peut être différent, le calcul du facteur de blocage est identique –Implémentation très simple »Il en résulte que ce protocole est implémenté sur la plupart des exécutifs (norme POSIX, norme OSEK/VDX) et en Ada »Etrangement, il nest pas proposé par VxWorks

47 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Utilisation de R 1 Utilisation de R 2 Utilisation de R 1 et R 2 Héritage de priorité 1 2 temps 3 PPP = > 1 blocage max Protocole à Super Priorité ou Priorité Plafond Immédiat Blocage dévitement

48 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Complexité et optimalité en présence de ressources Article de référence : –A.K. Mok, "Fundamental design problems of distributed systems for the hard real-time environment", Thesis, Massachussets Institute of Technologie, 1983 Contexte –Tout algorithme dordonnancement, tâches avec ressources critiques Résultats –Le problème de décider si un système de tâches avec contraintes de ressources est ordonnançable est un problème NP-difficile –Aucun algorithme en-ligne (non clairvoyant) nest optimal pour ordonnancer des tâches avec contraintes de ressources 1 2 Question : ce système peut-il être validé pour DM-PPP ?

49 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Preuve du résultat : –Le problème de décider si un système de tâches avec contraintes de ressources est ordonnançable est un problème NP-difficile »Réduction de 3-Partition : soit un ensemble {n 1, n 2, …, n 3m } de 3m entiers tels que n i =mB et B/4le même résultat tiendrait en non préemptible) »Pour chaque nombre n i construire une tâche périodique i définie par avec C i =n i, et D i =T i =mB+m (échéance sur requête) utilisant une ressource critique R pendant son exécution (i.e. les tâches ne peuvent pas se préempter mutuellement) »U=100%. Le système est ordonnançable si et seulement si on peut placer dans chaque intervalle de taille B 3 tâches dont la somme des C i vaut B. Cela signifie que si on répond à la question « le système est-il ordonnançable? » on répond par la même occasion à la question 3-Partition –Ceci sappelle une réduction polynomiale : Ordonnancer en présence de ressources est au moins aussi dur que 3-Partition => Ordonnancer en présence de ressources est NP-difficile au sens fort (il serait NP-complet si léquivalence était montrée, ou un algorithme NP exhibé) Ordonnancer avec ressource est NP-difficile 3m+1 BBBB

50 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement Conclusion sur les protocoles de gestion de ressources Problèmes rencontrés –Le problème de lordonnançabilité est NP-difficile au sens fort –Un algorithme non clairvoyant ne peut pas être optimal –En labsence de protocole, on a des problèmes dinversion de priorité et danomalies dordonnancement –La simulation ne valide en aucun cas le système Protocoles principaux définis dans le cas des techniques dordonnancements à priorité fixe –Protocole à priorité héritée »Durée de blocage relativement longue »Interblocage possible »Implémentation coûteuse en temps –Protocole à priorité plafond »Durée de blocage courte »Absence dinterblocage »Implémentation coûteuse en temps –Protocole à priorité plafond immédiate »Durée de blocage courte »Absence dinterblocage »Implémentation simple et peu coûteuse »Un peu anti-intuitif

51 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 3.2 Ordonnancement non-préemptif Complexité du problème dordonnançabilité –NP-difficile (la preuve de Mok tient dans ce contexte) A partir de ce que nous savons, nous pouvons déduire les propriétés suivantes –Linstant critique pour une tâche a lieu lorsquelle se réveille en même temps que toutes les tâches plus prioritaires quelle –Dans le cas du protocole à priorité plafond, une tâche peut être retardée une seule fois par une tâche de priorité plus faible pendant sa période dactivité

52 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 3.3 Contraintes de précédence et synchronisations Contraintes de précédence (représentent les messages/synchronisations) –Contraintes de précédence normale : les tâches ont la même période Découpage en forme normale –Chaque attente de message/synchronisation se trouve en début de tâche –Chaque envoi de message/synchronisation se trouve en fin de tâche –La priorité dune tâche et sa date de réveil doivent être cohérentes avec les précédences Exemple – 1 =, 2 =, 3 =, 4 = –Algorithme DM –Découpage – 1,1 =, 1,2 =, 1,3 =, 2,1 =, 2,2 =, 2,3 =, 3 =, 4 = –Mise en conformité des dates de réveil et priorités: si i j alors r i r j et avec DM D i D j (les ex-æquo sont traités de sorte que les priorités soient cohérentes avec les précédences) m1m1 m2m2 m4m4 m3m3 1,1 2,1 3 4 m1m1 m2m2 m4m4 m3m3 1,2 1,3 2,2 2,3

53 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 3.3 Contraintes de précédence et synchronisations –Ajustement des r i (et des D i pour conserver les mêmes délais critiques par rapport aux dates de réveil initialement données) »r 2,1 =1 r 3, et D 2,1 =D 2 -(r 2,1 -r 2 )=8-1=7 »r 2,2 =1 max(r 1,1,r 2,1 ), et D 2,2 =D 2 -(r 2,2 -r 2 )=8-1=7 »r 2,3 =1 r 2,2, et D 2,3 =D 2 -(r 2,3 -r 2 )=8-1=7 »r 1,3 =1 max(r 1,2,r 2,1 ) et D 1,3 =D 1 -(r 1,3 -r 1 )=7 »r 4 =1 r 2,3 et D 4 =D 4 -(r 4 -r 4 )=6 –Ajustement des délais critiques »Toutes les tâches précédant 4 doivent avoir un délai critique 6 »D 2,1 =6, D 1,1 =6, D 2,2 =6, D 2,3 =6 »Toutes les tâches précédent 1,3 doivent avoir un délai critique 7 => D 1,2 =7 1,1 2,1 3 4 m1m1 m2m2 m4m4 m3m3 1,2 1,3 2,2 2,3

54 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 3.3 Contraintes de précédence et synchronisations Simuler le fonctionnement du système –Vérifier que les contraintes de précédence sont respectées naturellement par lordonnancement Attention, il faut avoir conscience du fait que le découpage est un artifice de validation, les tâches ne sont pas découpées en réalité Attention, si les priorités ne sont pas cohérentes avec les précédences, simuler nest pas valider –Illustration: une anomalie dordonnancement –Rappel : C i est une durée au pire, donc à lexécution il est possible que C 1 <2 (par exemple C i =1) 1 2 temps 3 Priorité croissante 1 2 temps 3 Priorité croissante

55 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 3.4 Modèle à gigue dactivation Article de référence –K. Tindell, Adding Time-Offsets to Schedulability Analysis, Technical Report YCS 221, Dept of Computer Science, University of York, England, January 1994 Justification –Lorsque les tâches attendent un message provenant dun autre processeur, ordonnancé séparément du processeur analysé, une tâche attendant un message périodique sur le réseau peut se réveiller plus ou moins tard par rapport à sa date de réveil prévue. En effet, la tâche émettrice peut être plus ou moins retardée sur lautre processeur (voir analyse holistique dans le cas réparti). –Une instance i,k dune tâche à gigue dactivation (jitter ou release jitter) est activée entre les dates r i,k et r i,k +J i. Une telle tâche concrète avec gigue dactivation est définie par, et une non concrète par. Résultat de base connu [Tin 94] –La plus longue période dactivité dune tâche coïncide avec le réveil dau moins une tâche de plus haut niveau de priorité dont le réveil a été retardé dune valeur correspondante à sa gigue maximale 1 J1J1

56 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 3.4 Instant critique avec gigue de démarrage 1 2 J2J2 3 J1J1 Instant critique pour une tâche de plus faible priorité J3J3 –Interférence sur une période dactivité de niveau j de longueur t : –La longueur de la plus longue période dactivité de niveau de priorité i est donc le point fixe de –Le temps de réponse de chaque instance i,k faisant partie de cette période dactivité est donné par (noter la présence du jitter maximal)

57 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 3.5 Autres facteurs pratiques Groupes de tâches liés par des relations doffset –Modèle multiframe –Modèle multiframe généralisé –Transactions Tâches qui se suspendent

58 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 4. Ordonnancement à priorités dynamiques –Optimalité –Concept de demande processeur –Comparaison avec lordonnancement à priorités fixes

59 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 4.1 EDF Proposé à lheure actuelle dans quelques noyaux universitaires expérimentaux Lalgorithme le plus utilisé est Earliest Deadline First (EDF) –La priorité dune tâche est dautant plus importante que son échéance est proche Raison –Règle de Jackson [Jac 55]: Etant donné un système de tâches sporadiques simultanées indépendantes à échéance, nimporte quel algorithme qui exécute les tâches dans lordre des échéances non décroissantes est optimal en vue de minimiser le retard maximal –Retard i (Lateness): TR i – d i ; retard maximal L max = max i {Retard i } –J.R. Jackson, « Scheduling a production line to minimize maximum tardiness », Management Science Research Project 43, University of California, Los Angeles, 1955 –Preuve : réalisée par échange »Soit un algorithme A minimisant le retard maximal, tel quil existe deux tâches a et b avec d a d b et b termine juste avant a. Nous nommons la séquence ainsi produite. Notons que A ne respecte pas la règle de Jackson. Le retard maximal entre ces deux tâches dans, L max (a,b) est donné par le retard de a. Prenons maintenant la séquence identique à sauf que a sexécute juste avant b. Le retard maximal est donné soit par le retard de a (qui est inférieur à celui obtenu dans ) soit par le retard de b, qui ne peut lui non plus être supérieur à celui de a dans. Donc on peut toujours échanger lordre dexécution 2 à 2 sans augmenter le retard maximum en partant dune séquence, pour arriver à une séquence respectant la règle de Jackson qui minimise donc le retard maximal. b a b a dada dbdb dada dbdb LaLa LbLb LaLa LbLb

60 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 4.2 Optimalité Articles de référence –W. Horn, « Some simple scheduling algorithms », Naval Research Logistic Quarterly, 21, 1974 –M.L. Dertouzos,"Control robotics: the procedural control of physical processes", proc. IFIP Congress 1974, pp Contexte : tâches indépendantes Résultats –Jackson a étudié lancêtre dEDF (nommé Earliest Due Date) et a montré son optimalité pour minimiser le retard maximal lorsque toutes les tâches sont simultanées et sporadiques (noter quEDD na pas à être préemptif). –[Horn74] reprend cet algorithme sous le nom dEDF et montre son optimalité quant à la minimisation du retard maximal même dans le cas où les tâches ne sont pas simultanées –[Der74] démontre loptimalité dEDF pour le respect déchéances pour des tâches sporadiques réveillées à nimporte quel moment. Cela signifie que dans ce cas, si le système est ordonnançable, alors EDF lordonnance fiablement. –[LL73] un système de tâches périodiques, indépendantes, à échéance sur requête, simultanées ou non, est ordonnançable par EDF si et seulement si U1. »On voit que dans ce cas, même avec une charge de 100%, EDF respecte toujours les échéances –Dans un contexte où la préemption est toujours autorisée (pas de ressources critiques, tâches préemptibles), un système est ordonnançable si et seulement si il est ordonnancé fiablement par EDF (résultat très fort doptimalité !) –EDF perd son optimalité lorsque la préemption nest pas autorisée (tâches non préemptibles, ou bien exclusions mutuelles)

61 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 4.3 validation EDF : cas D iT i Article de référence –K. Jeffay and D.L. Stone,"Accounting for Interrupt Handling Costs in Dynamic Priority Task Systems", proc. IEEE Real-Time Systems Symposium, Raleigh-Durham, NC, USA, 1993 –S.K. Baruah, L.E. Rosier and R.R. Howell,"Algorithms and complexity concernig the preemptive scheduling of periodic, real-time tasks on one processor", Real-Time Systems, vol. 2, pp , 1990 Contexte : tâches indépendantes, concrètes simultanées Concepts –Demande processeur et période dactivité : une période dactivité pour EDF est une période [t,t+L] pendant laquelle la demande processeur (charge restante à traiter) déchéance t+L est non nulle. Résultats –En tâches simultanées, le temps de réponse le plus long arrive dans la première période dactivité –[JS93] Un système de tâches simultanées avec D i =T i est ordonnançable par EDF si et seulement si –Avec B p (busy period) longueur de la période dactivité, obtenue par point fixe de léquation –Remarque : en synchrone et à échéance sur requête, bien entendu la CNS U1 est à utiliser à la place de cette CNS. Cependant, cette CNS sert de base à la CNS de [BRH90] fonctionnant pour D i T i : Charge à traiter avant L (D i =T i ) Ensemble déchéances de la période dactivité Nombre de périodes entièrement terminées + la période en cours

62 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 4.3 Validation EDF : cas non concret Article de référence –M. Spuri, "Analysis of deadline scheduled real-time systems", INRIA, 2772, Jan, 1996 La plupart des applications dirigées par les priorités sont composées de tâches non concrètes. Résultat –Le pire temps de réponse dune tâche se trouve dans une période dactivité initiée par un instant où toutes les autres tâches sont réveillées en même temps. Interprétation –Lorsque lon veut évaluer le temps de réponse dune tâche non concrète, il faut considérer que toutes les autres tâches sont réveillées en même temps mais faire varier la date de réveil de la tâche dont on étudie le temps de réponses. –La gigue dactivation, lorsquil y en a une, est appliquée comme en priorités fixes : on considère un instant critique où toutes les autres tâches sont réveillées avec une gigue de démarrage maximale à linstant critique. Pour la tâche étudiée, on fait varier sa date de réveil entre les instants 0 et r tels que la période dactivité ait une longueur B p. Dès lors que la période dactivité diminue, on peut arrêter létude. –La validation dun tel système est longue puisquil faudra faire varier la date de réveil, au pire sur la longueur de la période dactivité qui peut être PPCM(T i ). Pour chaque date de réveil, il faut alors faire un calcul (recherche de point fixe) de temps de réponse.

63 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 4.3 Ordonnancement en présence de ressources critiques Articles de référence –M. Chen and K. Lin,"Dynamic priority ceilings : a concurrency control protocol for real-time systems", Real- Time Systems, vol. 2(4), pp , 1990 Nom : Protocole à Priorité Plafond Dynamique (PPPD) Principe : le plafond système est recalculé à chaque fin de tâche afin de sadapter à la variation des priorités Exemple : 1 ::=, 2 ::=, 3 ::=. Caractérisons la priorité dune tâche par sa prochaine date déchéance. Plus le nombre est petit, plus la priorité est élevée. A linstant , prio( 1,-0.66)=4, prio( 2,-0.66)=8, prio( 3,-0.66)=12. Le plafond de R 1 est donc p 1 (-0.66) =min{4,12}=4, et le plafond de R 2 est p 2 (-0.66)=min{8,12}=8. Le plafond système est alors défini comme dans le protocole original, et les règles et propriétés sont les mêmes Utilisation de R 1 Utilisation de R 2 Utilisation de R 1 et R 2 Héritage de priorité 1 2 temps 3 Blocage dévitement p 1 =4 p 2 =4 c=4 p 1 =4 p 2 =4 c=4 p 1 =10 p 2 =7.66 p 1 =10 p 2 =10 c= p 1 =16 p 2 =15.66 c= c=10 c=7.66c=15.66 p 1 =16 p 2 =16 c= p 1 =16 p 2 =16 c=16 p 1 =22 p 2 =22 c= c=22 c= c= 22

64 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 4.3 Ordonnancement en présence de ressources critiques Inconvénients –Implémentation complexe et coûteuse (gestion de lhéritage et mise à jour des plafonds) –Le protocole Preemption Ceiling a été proposé : celui-ci se base sur une table prévisionnelle. Il a été proposé dans : T.P. Baker,"Stack-based scheduling of real-time processes", The Journal of Real-Time Systems, vol. 3, pp , 1991 Pire durée de blocage –Pour une tâche donnée, la pire durée de blocage est la longueur maximale dune section critique des autres tâches Absence dinterblocage [CL90] proposent la condition suffisante suivante pour les systèmes de tâches simultanées à échéance sur requête : Pour lexemple traité précédemment : on ne peut donc pas conclure sur lordonnançabilité avec cette condition suffisante.

65 Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique Tutorial ordonnancement 4.4 Comparaison avec les FPP Avantages des algorithmes à priorités dynamiques –Puissance dordonnancement strictement supérieure –Bon comportement face au traitement des sporadiques (minimise le retard maximal) Inconvénients –Effet domino –Comportement complexe dans le cas non concret


Télécharger ppt "Laboratoire d'Informatique Scientifique et Industrielle - École Nationale Supérieure de Mécanique et d'Aérotechnique 1- 1 Tutorial ordonnancement Emmanuel."

Présentations similaires


Annonces Google