Introduction à l informatique temps réel SYSTEMES TEMPS REEL
Types de systèmes informatiques Systèmes transformationnels (calcul scientifique, SGBD) les données sont disponibles au lancement les instants de production des résultats ne sont pas contraints Systèmes interactifs (systèmes transactionnels ou outils bureautiques) les résultats dépendent de données produites par l environnement les instants de production respectent des valeurs statistiques Systèmes réactifs ou temps réel résultats entièrement conditionnés par l environnement connecté les instants de production dépendent de la dynamique du procédé 2
Définition (Groupe CNRS sur la problématique temps réel 1988) Le comportement d un système informatique est qualifié de temps réel lorsqu il est assujetti à l évolution d un procédé qui lui est connecté et qu il doit piloter ou suivre en réagissant à tous ses changements d état. 3
Propriétés Fortes interaction avec le procédé IHM inexistant, limité ou particulier Contraintes temporelles période de scrutation, délais Contraintes de coût, d espace, de consommation matériel taille mémoire Prédictibilité temps / espace Fiabilité / sûreté image de marque sécurité inaccessibilité 4
Validité d un programme TR Outre la correction algorithmique le temps intervient dans la validité du programme: le temps de réaction doit être adapté aux événements externes Le programme doit pouvoir fonctionner en continu en maintenant sa capacité à traiter le flux de données d entrée Faute temporelle faute algorithmique exemple: flux audio Au sens strict, «valider» un système temps réel c est démontrer rigoureusement que le système a le comportement spécifié (preuve de programme) Impossible avec les langages habituels 5
Systèmes dédiés L architecture matérielle et logicielle est une composante essentielle du système L architecture est adaptée aux besoins spécifiques de l application sur critères de: Fiabilité / robustesse Prédictibilité Taille Consommation Coût Dimensionnement particulier du système Compromis matériels et logiciels Système d exploitation par composants 6
Systèmes complexes Hétérogènes Temps réel / non temps réel Critiques / non critiques Communicants Entités réparties Parallélismes Evolutifs Ajout / suppression / modification pendant la durée de vie Hot plug Adaptatifs Modes d urgences, modes dégradés Garanties de QoS différence avec logiciel conventionnel 7
Exemple: régulation / asservissement pour contrôle numérique Entrée de Référence r(t) y k, r k sont les valeurs échantillonnées pour k=0,1,2,3 à la fréquence T fixe qui dépend du procédé et de la loi de contrôle. A / D A / D r k y k Loi de contrôle calcul u k D / A y(t) u(t) Par exemple, dans un contrôle de moteur d automobile on échantillonne plus fréquemment l angle de rotation du capteur procédé vilebrequin toutes les µsec que la température du moteur toutes les 10 sec actionneur 8
Exemple: navigation aérienne Interfaces opérateurs sol Niveau 2 Capteurs à terre Radars Calculs d états Contrôle de l espace aérien Niveau 1 Données de navigation Calculs d états Gestion du vol Niveau 0 Calculs d états Régulation du vol avions Capteurs embarqués actionneurs 9
Exemple: Multimédia Stockage, transmission & affichage de flux vidéo, audio, image ou graphique ont des contraintes temporelles fortes Cas de l image Standard vidéo 30 img/s (TVHD 60 img/s), téléconférence 10 à 20 MPEG-2 débit en compression selon l application de 1,5 à 35 Mb/s MPEG-2 est un très gros consommateur de CPU (surtout en compression) Cas du son De 16 kb/s (téléphone) à 128 kb/s (qualité CD) L oreille est très sensible aux glitchs ou trous de quelques centaines de millisecondes Dans une diffusion son & image la synchronisation des lèvres impose un décalage de moins de 80 ms entre les flux audio et vidéo 10
Multimédia Les applications multimédia ont donc des spécifications temporelles fortes, particulièrement sur les applications interactives (TV en direct) Compression & transmission des deux flux doivent respecter des contraintes de: synchronisation des flux régularité des flux délai de bout en bout 11
Définitions Un système est dit embarqué lorsqu il est intimement lié à un procédé à contrôler Un système est embarqué est dit enfoui lorsque son fonctionnement interne est peu ou pas du tout accessible Un système est qualifié de temps réel lorsqu il est assujetti à des contraintes temporelles explicites Un système est dit concurrent lorsqu il est composé de modules pouvant s exécuter en parallèle Un système est dit critique lorsque son cahier des charges n autorise aucune défaillance 12
Développement de systèmes TR (1) Spécification / modélisation / conception Encore peu répandu: UML, SDL, SART... approches «maison» Multitâche (LACATRE, chronogrammes, ) Approches synchrones (Esterel, Signal) Codesign (Approches heuristiques, SystemC, ) Programmation Systèmes logiciels sans OS OS temps réel RTOS (VxWorks, LynxOS, FreeRTOS, PICOS, Micrium ) OS généralistes (NT, Linux, Java, ) OS embarqués (RTX, Windows CE, JavaCard, Android ) Langages: ASM, C, C++, Java (technologies objets en expansion) Encore peu de réutilisation 13
Développement de systèmes TR (2) Communication Bus (VME, CompactPCI) Mémoire partagée, interruptions Réseaux de terrain (CAN, TTP, FIP) Réseaux (socket, TCP/IP) Middleware de communication (Corba TR, ControlHost, Design Patterns) Vérification / validation Ordonnancement, logique temporelle Approches synchrones (Esterel, Signal) 14
Qu'est ce que le temps réel? Définition (2): Un système temps réel est défini comme dont le comportement dépend : De l'exactitude des traitements effectuées Du temps où les résultats sont produits un système Un retard = le fait de rater une échéance = erreur du système. 15
Exemple : tâche périodique 16
Exemple : tâche périodique 17
Exemple : tâche périodique 18
Exemple : tâche périodique 19
Temps réel dur et lâche : Si le retard d' un traitement = exception (traitement spécifique en cas d'erreur) : on parle d'échéance dure, et il s'agit d'une défaillance Si le retard ne provoque pas d'exception: échéance lâche Un système dont aucune échéance ne doit être dépassée: Temps réel dur (hard real time) Si un dépassement occasionnel ne met pas en danger le système : temps réel lâche, ou mou (soft real time) 20
Temps réel critique : Terminologie qui met l'accent sur les conséquences d'une défaillance du système et concerne la sûreté de fonctionnement Le système est critique si : Il y a des conséquences humaines en cas de défaillance (contrôle aérien, centrales nucléaires, etc...) Le coût financier d'une défaillance du système est d'ordre supérieur à celui du système. (exploration spatiale, etc...) 21
Système et environnement : Système : ensemble d' «activités» correspondant à un où plusieurs traitements effectués en séquence ou en concurrence. Les traitements communiquent éventuellement entre eux. Le système est en interaction avec son environnement Modélisation simple : [1 n] processeurs + périphériques (capteurs, actionneurs) Les capteurs : collecte des signaux (évènements) émis par l'environnement Prélèvement de l'état fugitif de l'environnement (mesures) Les actionneurs effectuent les réactions du système 22
Système et environnement : Interaction système environnement : A des moments déterminés par une référence de temps interne au système : système pilotés par le temps (time driven system), programmée pour exécuter les actions/lectures à intervalles réguliers fixés par un timer (fonctionnement séquentiel) = systèmes synchrones A des moments déterminés par l'environnement lui même: il attend les sollicitations et réagit à celles ci: système piloté par les évènements (event driven system) = systèmes asynchrones Un système temps réel est composé d'un système contrôlé et d'un système contrôleur 23
24
Propriétés Prévisibilité Déterminisme Fiablité 25
Prévisibilité Conception afin que les performances soient définies dans le pire des cas Permet de déterminer à l'avance si un système va respecter ses contraintes temporelles Nécessite un bonne connaissance des paramètres liés aux calculs des activités = déterminisme 26
Déterminisme Enlever toute incertitude (= conserver la prévisibilité) Sur le comportement des activités individuelles Sur le comportement des activités groupées dans le contexte d'exécution (+ordonnancement) Sources de non déterminisme : Charge de calculs (variations des durées d'exécution des activités) Entrées sorties (temps de réaction, durée des communications) Interruptions (temps de réaction du système) Fautes et exceptions matérielles ou logicielles = Fiabilité 27
Fiabilité Intervention humaine directe difficile (syst temps réel embarqués) Conception tolérante aux fautes, pour garantir le comportement du système et de ses composants (prévisibilité => déterminisme => fiabilité) Temps de réaction cruciaux : conception de système dédiés 28
Compromis hardware/software Capacités, propriétés natives (rapidité), fiabilité du hardware Mémoire, cpu, com Poids des différents traitements pour mener à bien une tâche donnée Algo, complexité Gestion du hardware pour permettre l'execution des traitements (noyau temps réel) ordonnancement, gestion de la mémoire, préemption, etc... 29
Exemples Logiciel de contrôle d'un Combiné GSM: Embarqué Gestion des opérations de la couche physique Émission, réception, mesure des niveaux de réception, etc Gestion des procédures logiques Localisation, mesures de qualité du lien radio, Gestion de la conversation Relais entre deux reseaux IHM Redaction, navigation, etc... 30
Système de Video conférence sur réseau local Numérisation du signal video Reseau Séquence de 30 images/s Compression Accès, envoi, réception 31
Robot Autonome Robot type mars explorer: Aller du point A au point B sans être bloqué Navigation évitement d'obstaclew Contrainte importantes car il en découle la «survie» de la mission : le robot ne doit pas rester bloqué échantillonnage des capteurs de proximité Vitesse de déplacement Architecture de subsomption pour ordonnancement, navigation et évitement d'obstacles 32
Limites des systèmes classiques: Ordonnancement: temps partagé Gestion des entrées sorties et des interruptions sous optimales Gestion de la mémoire virtuelle très souple : engendre des fluctuations des temps d'exécution des activités d'un système Résolution temporelle pas assez fine 33
Mécanismes Fondamentaux Idée générale : revoir les mécanismes fondamentaux d'un OS classique pour comprendre les origines de la latence d'un système. Latence : Délai global de bout en bout entre le changement d'état dans un environnent et la réaction correspondante en sortie du système 34
Mécanismes Fondamentaux Il s'agit d'un délai composite qui comprend : Les Les Les Les délais délais délais délais de scrutation du système dus à l'os du calcul applicatif de transmission du message 35
Mécanismes Fondamentaux Il s'agit d'un délai composite qui comprend : Les Les Les Les délais délais délais délais de scrutation du système dus à l'os du calcul applicatif de transmission du message 36
Mécanismes Fondamentaux Il s'agit d'un délai composite qui comprend : Les Les Les Les délais délais délais délais de scrutation du système dus à l'os du calcul applicatif Gigue sur la latence : de transmission du message Décrit l'incertitude sur la latence Problèmes d'accès aux ressources ordonnancement 37
Mécanismes Fondamentaux Exemple (1) : système élémentaire Soit un système simple qui exécute un programme unique : Acquisition des données Traitement (calcul) Restitution des résultats 38
Mécanismes Fondamentaux Exemple (1) : système élémentaire 39
II. Mécanismes Fondamentaux Exemple (1) : phase 1 40
II. Mécanismes Fondamentaux Exemple (1) : phase 2 41
II. Mécanismes Fondamentaux Exemple (1) : phase 3 42
Mécanismes Fondamentaux Exemple (1) : système élémentaire Traitement séquentiel suffisant Séquencement réglé par l'horloge Pas de concurrence entre les phases OS simple Seule la dimension des ressources matérielles/logicielles est à prendre en face au pire des cas: simple) compte (faire 43
Mécanismes Fondamentaux Exemple (2) : système plus complexe : Un évènement survient à n'importe quel moment instant d'apparition non maîtrisé (traitement déjà cours,...) Il doit être pris en compte dans un délais maximum donné : en 44
Mécanismes Fondamentaux Exemple (2) : système plus complexe : Un évènement survient à n'importe quel moment instant d'apparition non maîtrisé (traitement déjà cours,...) Il doit être pris en compte dans un délais donné Deux grands modèles d'interaction : Scrutation cyclique (polling) Interaction par interruptions : en maximum 45
Mécanismes Fondamentaux Scrutation : Le système prend l'initiative d'activer la fonction qui va lire une entrée à un instant programmé pour vérifier si un évènement a eu lieu. Le plus souvent cette scrutation sera faite périodiquement. 46
II. Mécanismes Fondamentaux Scrutation : Boucle infinie : Tant que données non disponibles Vérifier les capteurs Lire les capteurs Traiter les données Démarrer les réactions Tant que action en cours Vérifier les actionneurs 47
Mécanismes Fondamentaux Scrutation (2) : Avantages : Latence du système = temps de traitement d'une boucle Cas proche du système simple séquentiel vu précédemment Simple à programmer Inconvénients «Alignement» de la boucle de traitements sur le périphérique le plus lent Programme difficile à maintenir 48
Mécanismes Fondamentaux Interaction par interruptions : Un signal hardware associé à l'arrivée d'un événement déclenche l'activation de la fonction qui va lire la donnée d'entrée. Le cours normal de l'execution du programme est intérompu. Initialement introduit pour gérer les E/S d'un processeur Concept étendu à la notion d'interruption interne ou exception (trap) logicielle 49
Mécanismes Fondamentaux Interaction par interruptions : 50
Mécanismes Fondamentaux Interaction par interruption : 1. Scrutation : Boucle infinie : tant que (état = données diponibles) vérifier état des capteurs lire les données mémorisées remettre à zéro état des capteurs 51
Mécanismes Fondamentaux Interaction par interruption : 2 gestionnaire d'interuption: Lire et mémoriser la donnée positionner (état = données acquitter l'interrupion diponibles) 52
Mécanismes Fondamentaux Interaction par interruption: Avantages : Le traitement d'un événement externe va être partagé entre un traitement immédiat effectué par le gestionnaire d'interruption et par une gestion différée, confié à une tâche: traitement multitâche possible. Inconvénients Une grande partie du temps cpu est consacré à autre chose que l'application Programme difficile à maintenir 53
Mécanismes Fondamentaux Il s'agit d'un délai composite qui comprend : Les délais de scrutation du système Les délais dus à l'os Les délais du calcul applicatif Les délais de transmission du message 54
II. Mécanismes Fondamentaux Services de base: Execution d'un programme par le (éventuellement en concurrence : Gestion de la mémoire Partage des ressources Synchronisation, communication Gestion du temps, horloge processeur ordonnancement) 55
II. Mécanismes Fondamentaux Services de base: Execution d'un programme par le (éventuellement en concurrence : Gestion de la mémoire Partage des ressources Synchronisation, communication Gestion du temps, horloge processeur ordonnancement) 56
II. Mécanismes Fondamentaux Les tâches : Programme : Objet statique : suite d'instructions agissant sur un ensemble de données Processus : Objet dynamique géré par l'os : tâche ou process Espaces mémoires séparés Communiquent par des canaux spéciaux Création coûteuse en temps Mécanismes de protection très coûteux Passage d'un processus à l'autre : coûteux transferts de mémoire 57
II. Mécanismes Fondamentaux Processus : Zone programme Zone de données Zone de pile (données temporaires) Ensemble des informations caratérisant l'execution d'un processus : contexte du processus Processus lourds (contexte important) Processus légers (contexte partagé/propre)
II. Mécanismes Fondamentaux Gestion multitâche et ordonnancement : Un processus peut avoit plusieurs états: Courant : tâche élue, qui possède le processeur Prêt : tâche éligible, demande le processeur En attente : tâche bloquée en attente d'un événement Transition d'un état à un autre : Réveil : «en attente» à «prêt» Allocation : «prêt» à «courant» Préemption : «courant» à «prêt» Blocage : «courant» à «en attente»
II. Mécanismes Fondamentaux
II. Mécanismes Fondamentaux
II. Mécanismes Fondamentaux
II. Mécanismes Fondamentaux
II. Mécanismes Fondamentaux
II. Mécanismes Fondamentaux
II. Mécanismes Fondamentaux
II. Mécanismes Fondamentaux
II. Mécanismes Fondamentaux
II. Mécanismes Fondamentaux La partie de l'os qui fait évoluer les états des tâches et qui alloue le processeur s'appelle l'ordonnanceur (scheduler) L'ordonnanceur est une procédure de service l'os Ordonnanceur : Préemptif : le processus courant peut être désaloué par décision de l'ordonnanceur (ex : interruptions) Non préemptif: la tâche courante ne peur être interrompue par une autre tâche de
II. Mécanismes Fondamentaux Lois d'ordonnancement (systèmes classiques) Premier arrivé, premier servi (FIFO) Premier tâche de la file est allouée Une tâche réveillée ou préemptée : fin de file
II. Mécanismes Fondamentaux Lois d'ordonnancement (systèmes classiques) Tour de rôle (tourniquet) FIFO Activation périodique des tâches Pas de notion urgence vis a vis des traitement Politique égalitaire : partage du temps
II. Mécanismes Fondamentaux Lois d'ordonnancement (systèmes classiques) Par priorité Choix dans la liste des tâches en fonction de la priorité la tâche La priorité la plus haute l'emporte (allocation) : pas de partage du temps «totalitaire» de
II. Mécanismes Fondamentaux Lois d'ordonnancement (systèmes classiques) Unix : priorités et partage du temps : Traitement des tâches de priorité les plus haute Tourniquet parmi les tâches de même priorité Traitement d'interruptions au détriment de tâches de fortes priorités
II. Mécanismes Fondamentaux Lois d'ordonnancement (systèmes TR) Limiter Limiter Utiliser le partage du temps les préemptions (très coûteux) les priorités Ordonner les priorités a priori lors des tests de faisabilité, en fonction des situations/charges du système possibles Grande importance de l'ordonancement/traitement préemptions des
II. Mécanismes Fondamentaux Rappel : Les délais Les délais Les délais Les délais de scrutation du système dus à l'os du calcul applicatif de transmission du message
II. Mécanismes Fondamentaux Gestion des ressources : Problème d'accès concurrent à une même ressource Ex: Tâches 1 et 2
II. Mécanismes Fondamentaux Gestion des ressources : On appelle séquence atomique une suite d'opérations exécutées par un système qui permet de passer d'un état cohérent à un autre état cohérent sans possibilité d'interruption de la séquence (ex : tâches 1 et 2) On appelle section critique une séquence d'opérations qu'il faut effectuer de façon atomique Les sections critiques opérant sur des ressources communes doivent être exécutées en exclusion mutuelle
II. Mécanismes Fondamentaux Pour assurer l'atomicité d'un séquence : Masquage matériel : on assure que la séquence ne sera préemptée en masquant toutes les interruptions et les appels au système pouvant provoquer une préemption Masquage logiciel : inhibition de l'ordonnanceur pendant le déroulement de la section critique. Utilisation de sémaphores d'exclusion mutuelle
II. Mécanismes Fondamentaux Sémaphore binaire ou d'exclusion mutuelle : Entité logique associée Deux primitives P et V sémaphore. à une ressource permettent de manipuler le Entrée d'une tâche en section critique : elle invoque le P Fin du traitement protégé : elle effectue le V
II. Mécanismes Fondamentaux P : Compteur = compteur 1 Si compteur < 0 Mettre la tâche en file d'attente Sinon accorder la ressource (FIFO) Compteur est initialisé à 1 Si plusieurs taches requiers de la file d'attente le P (déjà à 0) constitution Une tâche qui acquiers la ressource «passe le P»
II. Mécanismes Fondamentaux V : Compteur = compteur Si compteur <= 0 sortir une tâche + 1 de la file d'attente (FIFO) Lorsqu'une tâche à effectuée le V, le choix parmi les tâches en attente peut s'effectuer avec les mêmes critères que pour l'ordonnancement Mécanisme qui peut être étendu à plusieurs ressources: Seule la valeur d'initialisation du compteur
II. Mécanismes Fondamentaux Limites pour le TR: Attention aux blocages! Une tâche de faible priorité ne peut bloquer une tâche haute Solutions : Gestion des attentes par priorité Fournir des primitives de type «test de disponibilité» Associer un temps d'attente maximum aux primitives bloquantes
Plan : I. Introduction II. Mécanismes Fondamentaux III. Maîtrise du temps IV. Systèmes Temps Réel
III. Maîtrise du temps Ordonnancement Tests de faisabilité Analyse de l'interaction entre processus Inclusion de processus apériodiques
III. Maîtrise du temps Ordonnancement : «dans quel ordre exécuter les tâches?» Satisfaire les contraintes de temps des transactions TR en allouant de façon efficace les ressource cpu. Différentes catégories d'algorithmes : Off line : les décisions d'ordonnancement sont prises avant l'exécution du système : algorithme statique On line : réévaluation en ligne de l'ordonnancement en fonction de la modification des critères de choix (prise en compte d'évènements non prévus): algorithme dynamique
III. Maîtrise du temps 4 types d'algorithmes d'ordonnancement: Statiques pilotés par table : Hors ligne L'application va être découpée en séquences élémentaires qui ne seront jamais interrompues Une séquence est une procédure définie par l' utilisateur, C'est l'unité de base Un processus est une suite ordonnée de séquences l'ordonnancement des processus est régit par un calendrier C'est une table spécifiant le liste des processus à activer Application systématique par ordonnancement cyclique ABCABCABC
III. Maîtrise du temps 4 types d'algorithmes d'ordonnancement: Statiques pilotés par table : Les processus sont indépendants les uns des autres L'ordonnancement des processus est régi par une horloge Il n'existe pas de préemption Le découpage en séquences non interruptibles assure la protection Des données partagées entre les processus Il est aisé de certifier le comportement de l'application
III. Maîtrise du temps 4 types d'algorithmes d'ordonnancement: Statiques préémptifs basés sur les priorités Hors ligne Permet d'assigner les priorités aux tâches Une fois en cours d'exécution, le système un utilise ordonnancement préemptif (analyse rate monotonic) basée sur la notion de priorité fixée apriori.
III. Maîtrise du temps 4 types d'algorithmes d'ordonnancement: Dynamique avec planification à l'exécution Analyse en ligne Choix de l'ordonnancement en fonction de critères d'analyse : HPF : Highest Priority First EDF : Earliest Deadline First : échéance la plus proche LLF : Least Laxity First (marge la plus courte) EDF + notion durée de travail Prise de décision quand le système est actif Les critères peuvent varier durant l'exécution de
III. Maîtrise du temps 4 types d'algorithmes d'ordonnancement: Dynamique avec notion du meilleur effort : En ligne Pas d'analyse Le système fait de son mieux
III. Maîtrise du temps Les tâches : Périodiques Sporadiques Apériodiques
III. Maîtrise du temps Les tâches : Périodiques réguliers : doivent être activées à intervalles Sporadiques : irrégulières mais il existe un temps minimal entre deux activations Apériodiques : irrégulières
III. Maîtrise du temps Les tâches : Périodiques Sporadiques Apériodiques Et aussi : Tâches indépendantes Tâches dépendantes
Rappel : III. Maîtrise du temps C: coût d'une tâche D: échéance (deadline), la tâche doit être avant que D soit écoulé T: période d'activation de la tâche exécutée
Exemple : tâche périodique
III. Maîtrise du temps Ordonnancement Tests de faisabilité Analyse de l'interaction entre processus Inclusion de processus apériodiques
III. Maîtrise du temps Test de faisabilité : Déterminer s'il existe algorithme qui satisfait les contraintes du système. un S'il existe un ordonnancement d'un ensemble de tâches qui respecte les contraintes associées à ces tâches, alors l'ensemble des tâches est dit faisable Implique la connaissance du coût des tâches dans le pire des cas
III. Maîtrise du temps
III. Maîtrise du temps Test de faisabilité : Analyse Rate Monotonic (RM). Méthode d'affectation hors ligne de priorité statiques ensemble de tâches. Ordonancement optimal si HPF est utilisé Critères : Tâches périodiques à l'état Prêt au début de chaque période Échéance = Fin de Période (D=T) à une Les tâches ne se suspendent pas elles mêmes en cours d'exécution Préemtion possible, temps de Préemption négligeable Temps d'ordonancement négligeable Tâches indépendantes, C connu
III. Maîtrise du temps Test de faisabilité : Analyse Rate Monotonic (RM). L'affectation de priorité se fait en fonction de la fréquence des tâches: Plus la fréquence est forte, plus la priorité est élevée Priorité de la tâche i : Pi = 1/Ti Ordonnancement avec HPF
III. Maîtrise du temps Test de faisabilité : Analyse Rate Monotonic (RM). Condition suffisante : Métrique : taux d'utilisation du processeur = quantité de temps de traitement consommé par les tâches par n rapport au temps total : U duree i période i i1
III. Maîtrise du temps Test de faisabilité : Analyse Rate Monotonic (RM). Condition suffisante : Métrique : taux d'utilisation du processeur = quantité de temps de traitement consommé par les tâches par n rapport au temps total : U duree i période i i 1 Pour toute tâche i, avec Ci connu, et Ti=Di, on a: i i j j pour tout i, 1in, U C T i2 1i 1 j 1
III. Maîtrise du temps Test de faisabilité : Analyse Rate Monotonic Condition suffisante : En particulier pour n tâches on a: pour tout i, 1in, U C i T in2 1 n i 1 1 n (RM). Partie de gauche : taux d'utilisation par les n tâche Partie droite : temps cpu allouable au max, en fonction du nombre de tâche, n
III. Maîtrise du temps
III. Maîtrise du temps Théorème de la zone critique Si toutes les tâches arrivent initialement dans le système simultanément et si elles respectent leur première échéance, alors toutes échéances seront respectée par la suite quelle que soit l'instant d'arrivé des tâches pour tout i, 1in, min 0 td C i j j t. ceil t Tj 1 Avec t : instant d'arrivée de la tâche i 1 Prend en compte le retar imputable au déroulement des tâches de plus forte priorité
III. Maîtrise du temps Théorème de la zone critique Plus généralement : On considère un temps de simulation donnée. On réveille toutes les tâches périodiques en même temps à l'instant 0 (pire des cas) Si toutes les tâches sont ordonnancées par HPF sur temps de simulation sans qu'aucune échéance soit manquée, alors le test est considéré comme validé le
III. Maîtrise du temps Propriété harmonique : Cas particulier de tâches où toutes les périodes multiples entre elles: n pour tout i, 1in,U C i T i 1 i 1 sont
III. Maîtrise du temps Test de faisabilité : Analyse Deadline Monotonic (DM). Dérivée de RM Condition suffisante : L'echéance est str inférieure à la période (Di < Ti) La priorité est fixée par ordre inverse de l'échéance i pour tout i, 1in, U i C j D j i2 1 j 1 Affectation statique des priorités, on applique HPF 1i
III. Maîtrise du temps Test de faisabilité : Analyse Dynamique : EDF Ordonnancement dynamique : variation des priorités tâches lorsque le système est en fonctionnement Condition suffisante : pour tout i, 1in, U i C j T j 1 i j1 Priorité : tâche qui possède l'échéance la plus proche En cas d'egalité : la tâche en cours reste en execution des
III. Maîtrise du temps Exemple : HPF
III. Maîtrise du temps Exemple : HPF
III. Maîtrise du temps Exemple : HPF
III. Maîtrise du temps Exemple : HPF
III. Maîtrise du temps Exemple : HPF
III. Maîtrise du temps Exemple : HPF
III. Maîtrise du temps Exemple : HPF
III. Maîtrise du temps Exemple : EDF
III. Maîtrise du temps Exemple : EDF
III. Maîtrise du temps Exemple : EDF
III. Maîtrise du temps Exemple : EDF
III. Maîtrise du temps Exemple : EDF
III. Maîtrise du temps Exemple : EDF
III. Maîtrise du temps Exemple : EDF
III. Maîtrise du temps Test de faisabilité : Analyse Dynamique : LLF Ordonnancement dynamique : variation des priorités tâches lorsque le système est en fonctionnement Condition suffisante : pour tout i, 1in, U i C j T j 1 i j1 Priorité : tâche qui possède la marge la plus faible Marge = echeance temps de calcul restant des
III. Maîtrise du temps
III. Maîtrise du temps
III. Maîtrise du temps Interaction entre processus : Dans certains cas, les tâches peuvent être potentiellement dépendantes : cas d'accès en exclusion mutuelle à des ressources communes Pb de l'inversion de priorité : Une tâche de plus faible priorité bloque une tâche plus importante Le système doit temporairement inverser les priorités pour éviter le préemption (section critique) Coûteux et lourd à gérer
III. Maîtrise du temps Solution: héritage de priorité : Le possesseur du sémaphore est la tâche qui a eu le droit d'accéder à la ressource en exclusion mutuelle Héritage simple : c'est le sémaphore qui gère les priorités dans sa file d'attente La tâche qui détiens le sémaphore hérite de la priorité de la tâche qui réclame la ressource Limite à 1 le nombre d'inversion de priorités
III. Maîtrise du temps Solution: héritage de priorité (pour info): Héritage par verrou le plus haut Héritage par plafond de priorité
III. Maîtrise du temps Inclusion de processus apériodiques : Un processus périodique assimilé à intégré dans le système. Il contrôle les tâches apériodiques Ce serveur possède : Une priorité Pm (à définir) Un coût Cm dans le pire des cas définit profil d'arrivée des tâches apériodiques Une période Tm un serveur est en fonction du
III. Maîtrise du temps Fonctionnement en 2 phases: Scrutation des évenements périodiques à utiliser Déclenchement de l'exécution s'il y a au moins un événement en attente d'être traité. Dans ce cas, la capacité de traitement Cm est offerte. Donne un profil périodique à des événement apériodiques Peut être intégré dans RM, DM, etc...
III. Maîtrise du temps Résumé : analyse RM Affectation des priorités statique Optimal : si un algorihtme statique arrive a produire un ordonnancement, alors RM y arrive aussi Peut être augmenté pour prendre en compte: Les situations de blocage Les tâches apériodiques Simple Ne pas oublier de vérifier le cas harmonique
III. Maîtrise du temps Résumé : analyse DM Idem RM
III. Maîtrise du temps Résumé : ordonnancement HPF Simple Bien adapté aux tâches périodiques Très utilisé et apériodiques Indépendance impérative Sous optimal
III. Maîtrise du temps Résumé : ordonnancement EDF Simple Optimise l'usage des ressource Bien adapté aux tâches périodiques et apériodiques Indépendance impérative Comportement délicat en cas de surcharge Commence à apparaître dans les nouveux OS
III. Maîtrise du temps Résumé : ordonnancement LLF Priorités dynamiques Même hypothèses que EDF Optimal sur 1 cpu Meileur qu'edf en multiprocesseur Difficile à implanter: nécéssité de maintenir à jour le temps de calcul consommé pour chaque tâche
III. Maîtrise du temps Résumé général: Faire le test: RM ou DM Tester les différentes politique d'ordonacement: HPF vs EDF vs LLF Conclure sur la politique la moins coûteuse : La plus simple: le moins de calculs dynamiques Le moins de préemption