Introduction aux Systèmes Temps Réel Nicolas NAVET 2010/2011 http://www.loria.fr/~nnavet Introduction aux systèmes temps réel
Plan du cours 1. Systèmes temps réel : exemples et fondamentaux 2. Conception des applications temps réel : quelles techniques pour vérier le respect des contraintes? 3. Ordonnancement : choix de la bonne séquence d'exécution des activités du système.. Introduction aux systèmes temps réel 1
Systèmes temps réel : introduction Systèmes temps réel : correction logique et temporelle des résultats Contraintes temporelles sont issues de la dynamique du processus contrôlé Le plus souvent, les systèmes temps réel sont dire, physiquement liés au processus contrôlé embarqués, c'est à Ordonnancer c'est déterminer un ordre sur les activités d'un système Introduction aux systèmes temps réel 2
Systèmes embarqués temps réel : exemples Impact dans la société : le marché des systèmes embarqués architectures clients / serveurs + PC Chaque jour, on utilise environ 80 processeurs de manière transparente Introduction aux systèmes temps réel 3
X-by-Wire dans l'automobile Introduction aux systèmes temps réel 4
Typologie des contraintes de temps Contrainte de date au plus tard sur la n d'exécution (ou contrainte d'échéance - deadline) Contrainte de type (m, k) rm : respecter au moins m échéances toutes les k activations Contrainte de précédence entre tâches Minimisation de la gigue sur les ns d'exécution des tâches Maximisation de la fraîcheur des données d'entrée d'un algorithme Maximisation de la cohérence temporelle des données d'entrée d'un algorithme On parle de contraintes de temps : strictes (hard real-time) : non-respect catastrophique souples (soft real-time) : non-respect occasionnel sans conséquence de type best eort : on fait pour le mieux.. Ordonnancement est faisable ssi toutes les contraintes sont respectées Introduction aux systèmes temps réel 5
Contraintes de bout-en-bout : un exemple changement de vitesse τ G τ p_msg r p_msg BV τ L t τ α τ t réseau τ P t τ e δ propa τ p_rep r p_rep CM t R Ι R Ψ τ reaction ressource (CPU ou réseau) utilisée couple moteur effectivement réduit Figure 1: Décomposition d'une contrainte de temps entre un changement de vitesse et la réduction du couple moteur associée Introduction aux systèmes temps réel 6
Conception d'un système temps réel Cahier des Charges (fonctionnalités et contraintes) Architecture Fonctionnelle Architecture Matérielle Architecture Logicielle Placement et Configuration Remise en cause de choix de conception Architecture Opérationnelle Evaluation de Performances Modèles analytiques Modèles de simulation Prototypes, maquettes Approches hybrides non Contraintes respectées? oui Architecture Validée Dans les systèmes temps réel, la vérication du respect des contraintes (=validation du système) est cruciale... Introduction aux systèmes temps réel 7
Observation sur prototypes : Techniques de validation (1/2) + pas d'hypothèse simplicatrice + certaines contraintes ne peuvent être vériées que sur prototype - construction, instrumentation longues et coûteuses - résultats pire-cas sans validité - intervient tard dans le cycle de vie Modèles analytiques : + bien adaptés aux contraintes pire-cas et aux événements rares + validité du modèle vériable - hypothèses simplicatrices fortes - dicultés de modélisation! Introduction aux systèmes temps réel 8
Techniques de validation (2/2) Modèles de simulation : + moins d'hypothèses simplicatrices que les modèles analytiques + facilité de modélisation - résultats orientés pire-cas ou événements rares généralement sans validité - validité des modèles Techniques hybrides : couplage de modèles analytiques et de simulation - ex : prol de communication où les couches basses sont modélisées de façon analytique et les couches hautes sont simulées co-simulation hardware / software - ex : on simule l'activation des tâches et on exécute les tâches sur un processeur réel Introduction aux systèmes temps réel 9
Classes d'ordonnancement hors-ligne : séquence des exécutions est décidée à la conception puis déroulée pendant l'exécution en-ligne : choix d'ordonnancement sont faits en-ligne, ils utilisent certaines caractéristiques des tâches préemptif (resp. non-préemptif) : une tâche peut être interrompue par une autre + prioritaire non-oisif (resp. oisif) : le processeur est nécessairement utilisé si il y a du travail en attente d'exécution déterministe : le hasard n'intervient pas dans les choix d'ordonnancement Une politique d'ordonnancement est un algorithme qui détermine en-ligne l'activité à exécuter - propriétés requises : décidabilité et implémentabilité Une politique est optimale si elle conduit à un ordonnancement faisable si il en existe un Introduction aux systèmes temps réel 10
Modèles de tâches Les tâches sont apériodiques (une seule activation - on parle de jobs) ou, le plus souvent en temps réel, récurrentes Caractéristiques de tâches récurrentes : τ k,n est la n ième instance de la tâche τ k avec A k,n sa date d'arrivée : 0 A k,1,... A k,n 1 A k,n. T k,n def = A k,n+1 A k,n est le temps interarrivée. Pour une tâche périodique T k,n = T k n N. D k,n son échéance, l'échéance relativement à A k,n est D k,n, on a D k,n def = A k,n + D k,n, C k,n son temps d'exécution sur la machine cible - en pratique dicile à évaluer! Modèles d'activation : périodique, sporadique (il existe un temps minimum entre 2 activations de tâches) ou plus complexes : tâches multi-périodiques, tâches à temps d'exécution alternés, tâches MPEG etc... Introduction aux systèmes temps réel 11
Le paradoxe du lièvre et de la tortue Le processeur 1 (lièvre) sous FIFO est 10x plus rapide que le processeur 2 sous EDF (tortue) Job A (C tortue = 200, D = 220, A = 0) - Job B (C tortue = 10, D = 15, A = 2) Ordonnancement sur les processeurs Tortue et Lièvre (G. Le Lann) Nécessité de faire les bons choix d'ordonnancement... une analyse d'ordonnançabilité permet d'étudier la faisabilité du système Introduction aux systèmes temps réel 12
Analyse d'ordonnançabilité par simulation Principe : simuler le déroulement de l'ordonnancement du système pendant une période du système et vérier que toutes les instances de tâches respectent leur échéance. Avantages : permet de traiter des politiques d'ordonnancement ou des modèles de tâches qui seraient diciles à analyser mathématiquement, requiert peu de connaissances en ordonnancement pour être mise en oeuvre. Inconvénients : non utilisable pour des ensembles de tâches quelconques car la période du système est au minimum un PPCM des périodes des tâches, comme pour tout modèle de simulation se pose la question de la validité / correction du modèle... Introduction aux systèmes temps réel 13
Analyse d'ordonnançabilité par test de faisabilité Principe : appliquer une formule (close) qui en fonction des caractéristiques des C tâches décide de la faisabilité. Ex : faisabilité sous EDF ssi i 1 avec T i la période et C i le temps d'exécution de la tâche τ i. Avantages : simplicité de mise en oeuvre, en général le calcul a une complexité faible : souvent le test est basé uniquement sur la charge du système. Inconvénients : n'existe pas pour toutes les politiques, ne couvre pas tous les modèles de tâches : généralement tâches périodiques avec D k = T k, il ne s'agit souvent que de conditions susantes et non de conditions susantes et nécessaires, en cas de non-faisabilité, ne donne pas d'indication sur les tâches qui posent problèmes. T i Introduction aux systèmes temps réel 14
Analyse d'ordonnançabilité par calcul de bornes sur les temps de réponse Principe : appliquer une formule de récurrence qui calcule itérativement les dates de n d'exécution sur un morceau de trajectoire. Le morceau de trajectoire a été construit/choisi de façon à contenir les plus grands temps de réponse que la tâche considérée pourra recontrer. Avantages : le calcul de bornes sur les temps de réponse est possible pour la quasi totalité des politiques ayant un intérêt dans le temps réel, des modèles de tâches complexes peuvent être pris en compte, en cas de non-faisabilité, des informations sont disponibles sur les tâches qui posent problème. Inconvénients : calculs parfois complexes algorithmiquement. Introduction aux systèmes temps réel 15
Ordonnancement : la politique Earliest Deadline First (EDF) Principe : plus petite l échéance, plus grande la priorité Propriétés : optimalité vis-à-vis de la contrainte d échéance pour l ordonnancement mono-processeur préemptif Exercice : décider de la faisabilité des deux tâches périodiques τ 1 (C 1 = 2, T 1 = 5, D 1 = 5, A 1,1 = 0) et τ 2 (C 2 = 4, T 2 = 7, D 2 = 7, A 2,1 = 0) sous la politique EDF. τ 1 τ 2 0 10 20 30 40 50 Introduction aux systèmes temps réel, ENSEM 16
Ordonnancement : autres politiques de base Fixed-Priority Preemptive (FPP) : toutes les instances d une tâche possèdent la même priorité ( EDF). Allocation des priorités : Rate-Monotic (+petite la période, +grande la prio), Deadline Monotonic ou selon l importance de la tâche. Round-Robin : chaque tâche possède le CPU pendant un quantum de temps puis la tâche suivante prend la main τ 7,n τ 1,n τ 6,n Ψ k,n τ2,n τ 5,n τ 3,n τ 4,n Moins utilisées : Shortest Remaining Time First (optimale vis-à-vis du temps de réponse moyen), First-In First-Out (FIFO), Last-In First-Out (LIFO),... Introduction aux systèmes temps réel, ENSEM 17
Perspectives L'informatique embarquée temps réel prend une place de + en + importante dans notre société De plus en plus de systèmes sont critiques du point de vue sécurité d'où l'importance de la validation... Sous des hypothèses de fonctionnement déterministe du système (pas d'erreurs de transmission, pas d'erreurs logicielles, temps d'exécution connu,...), on sait vérier la faisabilité d'un système temps réel En pratique, des aléas peuvent survenir.. les approches de conception s'orientent vers validation probabiliste des contraintes (ex : distribution des temps de réponse) intégrer les problématiques de sûreté de fonctionnement (ex : abilité, disponibilité,... ) avec pour objectif de se situer sous un certain seuil de risque jugé acceptable (ex : 10 9 défaillance grave par heure de fonctionnement pour l'avionique) Introduction aux systèmes temps réel 19