CONSERVATOIRE NATIONAL DES ARTS ET METIERS PARIS

Dimension: px
Commencer à balayer dès la page:

Download "CONSERVATOIRE NATIONAL DES ARTS ET METIERS PARIS"

Transcription

1 CONSERVATOIRE NATIONAL DES ARTS ET METIERS PARIS MEMOIRE pour l examen probatoire du CNAM en INFORMATIQUE L ordonnancement temps réel des tâches et des messages Laurent Dehoey Soutenance : mai 2004 JURY : Président : Professeur C. Kaiser

2 Introduction Ordonnancement temps réel (TR) Contraintes temporelles Modèle de tâche Définitions, propriétés Ordonnanceurs hors ligne / en ligne Configuration de tâches (CT) («task sets») Ordonnançabilité Algorithmes de base pour tâches périodiques Rate Monotonic (RM) Deadline Monotonic (DM) ou Inverse Deadline (ID) Earliest Deadline First (EDF) Least Laxity First (LLF) Prise en compte des tâches non périodiques Tâches sporadiques Tâches apériodiques Ordonnancement de tâches et de messages interdépendants Contraintes de précédence Partage de ressources Ordonnancement temps réel distribué Placement des tâches et affectation des priorités Analyse holistique Ordonnancement conjoint des tâches et des messages Analyse holistique : Concepts de base Analyse holistique : Principes Cas pire - Pires temps de réponse Exemple d application : validation d un système TR distribué Placement et affectation des priorités : Etude de cas Middleware temps réel : RT-CORBA Middleware temps réel Introduction à CORBA CORBA temps réel (RT-CORBA) Architecture RT-CORBA Ordonnancement RT-CORBA TAO (The Ace ORB) Micro noyau ZEN Conclusion Bibliographie Glossaire/Abréviations Tables des illustrations Probatoire Ordonnancement temps réel des tâches et des messages 2

3 Introduction Les applications temps réel occupent de plus en plus de place parmi nos systèmes informatiques. Ces applications sont discrètes et ne font pas parler d elles tant qu elles fonctionnent correctement. Mais lorsque survient un problème, il est souvent la cause de conséquences graves ou médiatiques importantes. On pense aux centrales nucléaires, aux cracks boursiers, à la sonde martienne Pathfinder,... Le comportement exact et sûr de ces applications est directement relié à la maîtrise des contraintes temporelles des procédés physiques qu elles pilotent ou surveillent. Cette maîtrise passe par l ordonnancement temps réel des tâches et des messages, éléments de base logiques des applications. Le domaine complexe du temps réel a longtemps été confiné aux systèmes centralisés et monolithiques. Or les applications dans lesquelles l homme dépose sa confiance aujourd hui, sont de plus en plus imposantes et pour continuer à fonctionner correctement doivent se répartir, se distribuer, se délocaliser sur plusieurs sous systèmes. La conception de ces applications passe par des architectures multiprocesseurs au fonctionnement parallèle (fortement couplé) ou réparties à travers un réseau de communication. Le temps réel doit pouvoir utiliser et contrôler ces ressources nouvelles pour lui. Nous allons dans ce rapport étudier les possibilités et les limites des algorithmes classiques d ordonnancement temps réel, afin de comprendre comment il peut être possible d optimiser la conception et le contrôle des applications complexes réparties. Nous introduirons ensuite les problématiques de la validation d un système distribué, grâce à l analyse holistique, et celle de l affectation de priorités dans une architecture répartie. Une étude de cas dans l industrie automobile nous permettra d établir l utilité de méthodes automatiques de validation. Enfin, afin de faciliter le développement de ces nouvelles applications complexes, nous recenserons les plateformes distribuées qui offrent aux développeurs des services d ordonnancement temps réel, en particulier les extensions temps réel de CORBA et du langage java. Probatoire Ordonnancement temps réel des tâches et des messages 3

4 1 Ordonnancement temps réel (TR) «La validité d un système TR dépend de l exactitude des résultats qu il produit mais aussi de l instant de cette production : un résultat juste mais hors délai est un résultat inutilisable». Afin de comprendre la problématique de l ordonnancement temps réel dans les systèmes distribués et parallèles, nous allons dans cette première partie établir une terminologie, rappeler certains concepts et étudier le fonctionnement des principaux algorithmes classiques d ordonnancement TR de tâches et de messages dans les architectures centralisées. 1.1 Contraintes temporelles Les contraintes temporelles que le système TR doit supporter sont de deux natures : - strictes : les échéances ne doivent sous aucun prétexte êtres dépassées sous peine de conséquences graves pour l être humain ou le système lui même - relatives : les conséquences d un dépassement d échéance sont quantifiables et supportables pour le système dans une certaine mesure Le non respect de ces contraintes est appelé une faute temporelle. 1.2 Modèle de tâche La fonction d un algorithme d ordonnancement TR est de choisir la prochaine tâche à faire exécuter à un processeur. Ce choix se fait en prévoyance du respect dans un futur plus ou moins proche des contraintes temporelles. Pour cela il collecte des informations pertinentes sur les tâches qui composent l application. On distingue deux types de tâches : - Les tâches périodiques qui sont activées à intervalles réguliers - Les tâches non périodiques réparties en deux catégories : o Les tâches sporadiques à contraintes de temps strictes o Les tâches apériodiques à contraintes de temps relatives On définit pour une tâche périodique τ i, quatre paramètres temporels de base (cf. Figure 1.1): - r i : sa date d activation, ou de premier réveil. - C i : sa charge, la durée que le processeur doit lui consacrer pour la mener à terme. - D i : son délai critique, c est le temps qui est accordé à la τ i pour être exécutée. La date qu elle ne doit pas dépasser se nomme l échéance d i = r i +D i. Au-delà la tâche est en faute temporelle. - T i : sa période d activation On dérive de ces paramètres de base : - u i = C i /T i le facteur d utilisation du processeur par la tâche (u 1) - ch = C i /D i le facteur de charge du processeur (ch 1) - L=D i -C i Laxité nominale de la tâche. Le retard maximal pour son début d exécution Les paramètres dynamiques des tâches en fonction du temps t qui s écoule : - s i la date de début d exécution de la tâche (à ne pas confondre avec r i ) - e i la date de fin d exécution de la tâche - D i (t)=d i -t le délai critique résiduel à la date t : 0 D i (t) D i - C i (t) durée d exécution résiduelle à t : 0 C i (t) C i - L i (t)=d i (t)-c i (t) laxité nominale résiduelle. Notons que L i (t)=d i +r i -t-c i (t) - TR i = e i -r i le temps de réponse, on a 0 TR i D i quand la tâche n est pas en faute temporelle. Ce paramètre est important, nous le retrouverons au chapitre CH i (t)=c i (t)/d i (t) la charge résiduelle 0 CH i (t) u i CH(e i )=0 Probatoire Ordonnancement temps réel des tâches et des messages 4

5 C i + Activation Echéance Réactivation s i TR i e i Temps r i D i T i d i Figure 1.1 Modèle temporel d une tâche périodique Une tâche périodique est définie par sa notation : Tp(r i,c i,d i,t i ) Une tâche non périodique est définie par : Tap(r i,c i,d i ) 1.3 Définitions, propriétés Ordonnanceurs hors ligne / en ligne - Un ordonnanceur hors ligne établit avant le lancement de l application une séquence fixe d exécution des tâches à partir de tous les paramètres de celles-ci. - Un ordonnanceur en ligne établit dynamiquement, avec ces mêmes paramètres, la séquence d exécution des tâches au fur et à mesure que surgissent les évènements au cours de l application : nouvelle tâche, dépassement d échéance, Configuration de tâches (CT) («task sets») - On appelle configuration de tâche (CT) l ensemble des n tâches τ i qui constituent l application temps réel (ATR). - Les tâches sont dites à départ simultané si elles ont la même date de réveil r i. A départ échelonné sinon. - Le facteur d utilisation du processeur pour une CT de n tâches périodiques : n Ci U = i= 1 Ti - Le facteur de charge du processeur pour une CT de n tâches périodiques : n Ci CH = i= 1 Di - Laxité du processeur : LP(t) intervalle de temps pendant lequel le processeur peut rester inactif sans perdre le contrôle du respect des échéances. Pour tout t on doit avoir LP(t) 0. - Pour calculer cette laxité on a besoin de calculer la laxité conditionnelle de chaque tâche τ i LC ( t) = D i i 1 i j= 0 C ( t) où la somme en j se fait sur le temps d exécution de j Probatoire Ordonnancement temps réel des tâches et des messages 5

6 toutes les tâches qui sont devant la tâche i dans la séquence de planification considérée. On alors LP(t)=Min{LC i (t)} - Temps creux («processor idle time») : suite d intervalles de temps, dépendante de la configuration de tâches et de son ordonnancement, pendant laquelle LP(t) reste strictement positive Ordonnançabilité - Séquence valide ou faisable: une séquence d ordonnancement de tâches calculée par un algorithme d ordonnancement est dite valide si toutes les tâches de la CT respectent leurs contraintes temporelles. - Configuration ordonnançable : une CT est dite ordonnançable si l on est sûr qu il existe au moins un algorithme capable de fournir une séquence valide. - Algorithme optimal / ordonnanceur optimal : les propriétés des CT du paragraphe ci-dessus peuvent aider à choisir une politique d ordonnancement. Un ordonnanceur est optimal s il produit systématiquement une séquence valide pour toute configuration que l on sait ordonnançable. - Test d ordonnançabilité : ce test permet de vérifier qu une CT périodique pourra être transformée en une séquence valide par un ordonnanceur donné. - Test d acceptabilité ou de garantie : dans un ordonnancement en ligne, une nouvelle tâche pourra être ajoutée à une séquence déjà validée, si la nouvelle séquence est elle-même valide. L ordonnanceur peut pour ce choix se baser encore sur les propriétés des CT du paragraphe ci-dessus. - Période d étude : pour une configuration de tâches périodiques, la séquence valide se répète de manière cyclique sur cette période o pour une configuration de tâches périodiques à départ simultané elle est égale à [0, PPCM(T i )] o pour une configuration de tâches périodiques i et apériodiques j à départ échelonné elle est égale à [Min(ri0), Max{ri0,(rj0+Dj)}+2*PPCM(Ti)] Algorithmes de base pour tâches périodiques Il existe quatre grands algorithmes classiques d ordonnancement temps réel. Les deux premiers sont basés sur des priorités fixes, et utilisés dans les analyses d ordonnancement hors-ligne. Les deux suivants utilisent comme critère de priorité des caractéristiques dynamiques du modèle de tâche et sont utilisés pour les calculs d ordonnançabilité en ligne Rate Monotonic (RM) Les tâches à échéance sur requête (D i =T i ) aux périodes les plus courtes passent en premières Une condition suffisante pour le test d ordonnançabilité portant sur le facteur d utilisation du n Ci 1 / n) processeur n(2 1) i= 1 Ti Soient les trois tâches τ 1 (0, 20, 100, 100), τ 2 (0,40,150,150) et τ 3 (0,100,350,350) à échéance sur requête (cf Figure 1.2). La période d étude est PPCM(100, 150, 350)=2 2 *3*5 2 *7= Ci 1/ 3) On a U 1 =0.2, U 2 =0.267, U 3 =0.286 et = (2 1) = La condition i= 1 Ti suffisante est vérifiée. Une séquence valide existe pour ordonnancer ces 3 tâches en respectant leurs échéances. 1 Plus Petit Commun Multiple Probatoire Ordonnancement temps réel des tâches et des messages 6

7 Figure 1.2 Exemple d ordonnancement Rate Monotonic Préemptif Deadline Monotonic (DM) ou Inverse Deadline (ID) Les tâches aux délais critiques les plus courts passent en premières Une condition suffisante pour le test d ordonnançabilité porte sur le facteur de charge du n Ci 1/ n) processeur: n(2 1) i= 1 Di On remarque que si T i =D i on se retrouve à ordonnancer selon RM Earliest Deadline First (EDF) Les tâches à la plus proche échéance d i =(D i+ r i ) passent en premières Condition nécessaire et suffisante pour le test d ordonnançabilité de tâches périodiques à n Ci échéance sur requête : 1 i= 1 Ti n Ci Une condition suffisante pour des tâches quelconques (cf. paragraphe 1.5) : 1 D n Ci Une condition nécessaire pour des tâches quelconques (cf. paragraphe 2.2.2) : 1 T i= 1 i= 1 i i Figure 1.3 Exemple d ordonnancement EDF de tâches à échéance sur requête Least Laxity First (LLF) Les tâches de plus petite laxité résiduelle passent en premières. Les séquences fournies par LLF sont identiques à EDF quand les priorités utilisées sont celles calculées au moment du réveil. L intérêt est alors de calculer pour chaque instant t la priorité des tâches en attente, mais alors on introduit des changements de contexte qui peuvent devenir non négligeables. 1.5 Prise en compte des tâches non périodiques Les applications temps réel peuvent avoir à prendre en compte des évènements non périodiques comme les alarmes ou les interventions de l opérateur. Ces tâches doivent être exécutées sans tarder car elles ont, comme les tâches périodiques, leurs propres échéances strictes ou relatives. Probatoire Ordonnancement temps réel des tâches et des messages 7

8 1.5.1 Tâches sporadiques Les deux algorithmes dynamiques vus au paragraphe 1.4 ci-dessus (EDF et LLF) peuvent être utilisés pour ordonnancer des combinaisons de tâches périodiques et non périodiques à contraintes strictes, car leur condition suffisante d ordonnançabilité ne fait pas intervenir la période mais le délai critique ou la laxité nominale (qui peut être obtenue à partir du délai critique): - Si l on connaît la borne supérieure d utilisation du processeur (C i ) on préféra LLF, car il favorise les tâches qui ont le moins de marge pour leur exécution. On le préférera donc pour des tâches sporadiques (contraintes strictes) - Si C i n est pas connue, le choix se portera alors sur EDF. Le respect des échéances n est alors plus assuré, en particulier quand le système est en surcharge. On le préférera pour des tâches apériodiques (contraintes relatives) Si les systèmes temps réel garantissent le respect des échéances aux tâches périodiques, ils doivent aussi pouvoir offrir aux tâches apériodiques (contraintes relatives) des temps de réponses minimaux (TR i= e i -r i ). Les algorithmes vus plus haut ne prennent pas en compte ce temps de réponse Tâches apériodiques Ce service de «Best Effort» offert aux tâches apériodiques peut être réalisé grâce aux mécanismes suivants : - Traitement d arrière-plan («background scheduling») - Serveurs de tâches : o Traitement par scrutation («polling server») o Serveur différé («deferrable server») o Serveur sporadique («sporadic server») - Slack Stealer («voleur négligent») L idée est d intégrer un processus périodique au système qui va se charger d ordonnancer les tâches apériodiques le plus judicieusement possible entre les tâches périodiques. Nous étudierons dans le cadre de ce mémoire le serveur sporadique (cf. Figure 1.4) Figure 1.4 Exemple d ordonnancement avec un serveur sporadique Probatoire Ordonnancement temps réel des tâches et des messages 8

9 1- L algorithme «Sporadic Server» créé une tâche périodique τ s, de capacité C s (sa charge dans le modèle de tâche) et de période T s, ordonnançable selon la méthode Rate Monotonic. La valeur de la période est choisie judicieusement pour que les tâches périodiques puissent s exécuter avec un niveau de priorité satisfaisant : T s =5 dans l exemple de la Figure 1.4, cette tâche est la plus prioritaire, les tâches apériodiques aussi, donc. 2- Cette capacité de traitement est utilisée pour traiter les tâches apériodiques qui arrivent dans le système. Au moment où le serveur épuise sa capacité de traitement, qui peut être comparée à la diminution progressive de la charge résiduelle du modèle de tâche C i (t), il calcule sa prochaine date de réveil comme la somme de la date à laquelle il était passé à l état «élu» (t=4, 10 et 15 dans la Figure 1.4, c est le «start time» s i du modèle de tâche,) avec sa période T s : r s,k+1 =s s,k +T s =4+5=9. 3- Au moment de son réveil (r s,k+1 ), il refait le plein de sa capacité C s. Si aucune tâche apériodique n est à ordonnancer, il se met en attente, et laisse sa place aux éventuelles tâches périodiques (t=0, 9). 4- Quand une ou plusieurs tâches apériodiques se présentent, il les exécute pendant l intervalle de temps, la capacité, la charge résiduelle, qui lui reste (t = [4,6] & [10,12]) 5- Si sa capacité est épuisée, alors qu il lui reste des tâches à exécuter, il est préempté, en ayant pris soin d avoir calculé sa prochaine date de réveil comme décrit au point 2. (t=12, r s,k+1 =s s,k +Ts=10+5=15) 6- Si sa capacité n est pas vide et qu il n a plus de tâche à exécuter, il se met en attente (t=16) pour une prochaine tâche apériodique en conservant son niveau de capacité. Nous avons vu que pour prendre en compte les tâches apériodiques on doit soit les transformer en pseudo tâches périodiques pour assurer un respect de leur échéance stricte sans trop se soucier de leur temps de réponse, soit créer une tâche périodique complexe qui se chargera de les exécuter en minimisant leur temps de réponse. On retrouvera cette problématique au chapitre Ordonnancement de tâches et de messages interdépendants Dans les paragraphes précédents, l ordre d exécution des tâches ne dépendait que de contraintes temporelles propres à chacune. Or quand le concepteur d une l ATR a prévu, par exemple, qu une tâche alarme se déclenche, c est pour que l ATR puissent réagir à la situation, c'est-à-dire en exécutant d autres tâches. On imagine mal ces tâches se déclencher avant l alarme, ou l alarme après ces tâches. D autre part le message envoyé par l alarme doit à un moment ou un autre être déposé dans un emplacement mémoire ou envoyé à travers un réseau ou un bus mémoire. Autant d «emplacements» pour lesquels on doit garantir à la tâche ou au message un accès exclusif. C est la problématique complexe, et récurrente dans tous les systèmes d informations évolués, des contraintes de précédence et du partage des ressources en exclusion mutuelle. Les ATR, avec le respect des contraintes temporelles, rajoutent des degrés de complexité croissants à cette problématique selon qu elles s exécutent dans un environnement centralisé, multiprocesseur ou réparti Contraintes de précédence On modélise les contraintes de précédence entre tâches par un graphe de précédence. Si une tâche j doit attendre la fin d une tâche i, noté τ i τ j, avant de s exécuter alors on doit avoir r j r i et Priorité i Priorité j en concordance avec l algorithme d ordonnancement utilisé. Nous considérerons dans un premier temps que des tâches liées entre elles s exécutent un même nombre de fois et que si l une est périodique les autres le sont aussi et avec T 0 =T 1 = =T n. Probatoire Ordonnancement temps réel des tâches et des messages 9

10 Ordonnancement RM La tâche prioritaire est celle de période minimale. Le but est alors de transformer, hors ligne, les paramètres des tâches liées par des contraintes de précédence en une configuration de tâches indépendantes pour laquelle on peut vérifier le test d ordonnançabilité. A la Figure 1.5 composée de deux graphes est une configuration de six tâches à départ simultané, on associe les priorités RM du Tableau 1-1 τ 1 τ 2 τ 3 Τ 6 τ 4 τ 5 Figure 1.5 Exemple de graphe de précédence τ 1 τ 2 τ 3 τ 4 τ 5 τ Tableau 1-1 Priorités respectant les contraintes de la Figure 1.6 et celles de RM On modifie ensuite les dates de réveil de sorte que : r j * Max{r j,r i * } (où r i * est la date de réveil modifiée de τ i ). Dans cette configuration de tâches à départ simultané r i,0 n = Ordonnancement EDF Le but est le même que pour RM. Le paramètre à modifier en plus de r i est l échéance d i. La Figure 1.6 indique le principe des modifications à apporter aux paramètres des tâches : - r j * Max{( r i * +C i ), r j } la date de réveil de la tâche τ j est supérieure à toutes celles de ses prédécesseurs immédiats τ i, augmentées de leur durées d exécution C i. - d i * Min{(d j * -C j ), d i } l échéance de la tâche τ j est inférieure à toutes les échéances de ses successeurs immédiats τ i diminuées de leurs durées d exécution C i. Figure 1.6 Modification des paramètres de tâches dépendantes pour EDF On calcule r j * (r 2 * dans l exemple) en partant des tâches qui n ont pas de prédécesseurs : τ 1 On calcule d j * (d 2 * dans l exemple) en partant des tâches qui n ont pas de successeurs : τ 3 Probatoire Ordonnancement temps réel des tâches et des messages 10

11 Exemple de traitement de contraintes de précédence Soit cinq tâches τ 1, τ 2, τ 3, τ 4, τ 5 de périodes identiques liées entre elles selon le graphe de précédence de la Figure 1.7. Le Tableau 1-2 donne les transformations de leurs paramètres pour être ordonnançables selon RM et EDF τ 1 τ 3 τ 2 τ 4 τ 5 Figure 1.7 Graphe de précédence de cinq tâches d une application temps réel Paramètres des tâches RM EDF Tâche r i C i d i * r i Prio i * r i * d i τ τ τ τ τ Tableau 1-2 Modifications des paramètres des tâches pour prendre en compte les contraintes de précédence On note que l affectation des priorités (4 est la priorité la plus forte) se fait en observant les précédences : Si on a τ i τ j alors Prio i Prio j S il semble simple à priori de déterminer ces priorités, et donc l ordonnancement quand les tâches ne partagent pas de ressources critiques, il en va tout autrement, quand par exemple, elles doivent s échanger des messages sur un réseau de communication. On peut alors considérer ce réseau comme une ressource critique que se partagent chacune des tâches en exclusion mutuelle, et dans laquelle elles déposent les messages. Cet angle de vue ne va pas sans poser de graves problèmes d ordonnancement. Il en existe un autre que nous étudierons au chapitre Partage de ressources Les deux risques encourus dans un système doté d un ordonnancement préemptif classique sont l inversion de priorité et l interblocage. Les ATR rajoute une contrainte : le prédictibilité des temps de réponse (cf. modèle de tâche page 4) Calcul du pire temps de réponse Dans Figure 1.8 la tâche τ 1 de priorité plus faible que τ 2 s exécute en premier, elle demande la ressource R en exclusion mutuelle et l obtient. La tâche τ 2 se lance, et préempte tout de suite τ 1. Elle s exécute jusqu à sa demande de la ressource R, elle ne l obtient pas et se met en attente. τ 1 est élue jusqu à ce qu elle lâche R. τ 2 est à nouveau élue et continu son exécution en ayant obtenu la ressource R enfin libre. Probatoire Ordonnancement temps réel des tâches et des messages 11

12 Figure 1.8 Problématique de la prédictibilité du temps de réponse La question est, et c est la problématique du partage de ressources dans les systèmes temps réel distribués, que vaut TR 2 le temps de réponse de τ 2, et TR 1? Peut-on en fixer une borne supérieure et la respecter pour chacune des tâches? Si on peut répondre par l affirmative à cette question, alors oui la CT est ordonnançable sous réserve qu il n y a pas de phénomène d inversion de priorité, ni d interblocage Cas d une configuration de tâches indépendantes : Soit τ 0 une tâche dans une CT quelconque, si τ 0 est la plus prioritaire de toutes les tâches alors son pire temps de réponse TR 0 = C 0 son pire temps d exécution. Elle ne peut en effet pas être préemptée par définition. Si elle est par contre d une priorité intermédiaire, notons τ HPT l ensemble des tâches plus prioritaires que τ 0 alors : Pour un ensemble de tâches de même période ou apériodiques on a : TR + [Éq. 1-1] Pour un ensemble de tâches périodiques de périodes différentes on a : TR [Éq. 1-2] 0 C 0 0 C 0 C i i HPT + i HPT T 0 Ci Ti Cas d une configuration de tâches partageant des ressources : Dans la Figure 1.8 le temps de réponse de la tâche τ 2, R 2 est la somme de son pire temps d exécution, C 2, et du facteur de blocage B 2 qui correspond au temps d utilisation de la ressource R par τ 1 : R 2 =C 2 +B 2. A partir de l exemple de la Figure 1.8, imaginons une autre combinaison : τ 1 se lance en premier et prend la ressource dès son début d exécution, et elle ne la relâchera qu à la fin de son exécution. τ 2 se lance tout de suite après τ 1 (r 1 +ε), et demande tout de suite aussi la ressource R. R étant déjà verrouillée par τ 1, τ 2 doit se mettre en attente pendant toute la durée d exécution de τ 1. On a B 2 =C 1 et donc TR 2 =C 2 +C 1. On montre d une manière générale que le pire temps de réponse TR 0 d une tâche τ 0, tâche la plus prioritaire d une ATR composée de n+1 tâches et de m ressources partagées avec la tâche τ 0, est donné par la relation : TR 0 C0 + Min(n, m) CR max [Éq. 1-3] On définit CR max comme suit : Soit CR i,q le temps maximal pendant lequel la tâche τ i utilise la ressource R q. CR max,q est le temps maximal pendant lequel la ressource R q est utilisée en exclusion mutuelle par une des tâches τ i et CR i,max le temps maximal qu une tâche τ i a passé en exclusion mutuelle avec une des ressource R q. Probatoire Ordonnancement temps réel des tâches et des messages 12

13 Prenons le cas maintenant d une tâche τ 0 de priorité intermédiaire. La CT est composée de n 1 tâches plus prioritaires que τ 0 (l ensemble HPT), de n 2 tâches moins prioritaires que τ 0, et toutes partagent m ressources en exclusion mutuelle avec τ 0. On donne un exemple avec n 1 =1, n 2 =2 et m=3 dans la Figure 1.9. Le pire temps de réponse TR 0 pour la tâche τ 0 est déduit des équations [Éq. 1-2] et [Éq. 1-3] : T0 TR 0 C 0 + Min( n2, m) CRmax + Ci i HPT Ti [Éq. 1-4] Figure 1.9 Pire temps de réponse d une tâche en partage de ressources critiques Or ce calcul, qui nous sert à vérifier que le système ne va pas commettre de faute temporelle, peut-être mis en défaut si l ordonnanceur interne à priorité fixe sous jacent ne respecte pas les spécifications implicites de départ : «une tâche τ 0 de priorité donnée, déclenchée à la date r 0, s exécute dès qu aucune tâche de priorité supérieure ne s exécute et dès qu aucune tâche de priorité inférieure n utilise plus une ressource critique dont τ 0 a besoin et que la tâche occupait à la date r 0». Cette mise en défaut à laquelle il faut absolument palier est le fait de l inversion de priorité et/ou de l interblocage L inversion de priorité On rappel que le phénomène d inversion de priorité n est pas propre au temps réel. On en donne néanmoins un exemple Figure 1.10 et une méthode de résolution au paragraphe afin de mettre au jour la problématique de l envoi de message dans un système distribué. Figure 1.10 Exemple d inversion de priorité Soit quatre tâches {τ 1, τ 2, τ 3, τ 4 } de priorité fixe décroissantes. Les tâches τ 2 et τ 4 se partagent en exclusion mutuelle la ressource critique R. On observe le temps de réponse de la tâche τ 2. Probatoire Ordonnancement temps réel des tâches et des messages 13

14 τ 4 s exécute, demande R et l obtient. τ 2 s exécute. τ 4 passe à l état «prêt» en détenant le verrou sur R. τ 2 ne demande pas tout de suite R. Pendant ce temps la tâche τ 3 lance sa requête d exécution. τ 3 moins prioritaire que τ 2 doit attendre : elle passe à l état «prêt». τ 2 demande alors la ressource R toujours détenue par τ 4. τ 2 doit s arrêter et attendre dans l état «bloqué». τ 3 qui est prête et plus prioritaire que τ 4, prête elle aussi néanmoins, s exécute. τ 1 plus prioritaire que τ 3 s exécute à son tour en préemptant τ 3 qui repasse à l état «prêt». τ 1 se termine. La prochaine tâche prête et prioritaire est τ 3, qui se termine enfin. τ 4 seule tâche prête s exécute et libère R en se terminant. τ 2 est débloquée et peut enfin s exécuter et se terminer. On vérifie bien que le pire temps de réponse de la tâche τ 2 dépend du temps d exécution en section critique des tâches moins prioritaires que τ 2 avec qui elle partage des ressources critiques, τ 4 ici, et du temps d exécution des tâches plus prioritaires que τ 2, τ 1 ici. Mais le temps d exécution de la tâche τ 3 vient ici se rajouter alors qu elle ne partage aucune ressource critique et qu elle est moins prioritaire que τ 2. L équation [Éq. 1-4] est mise en défaut ce qui implique que des fautes temporelles, non prévues, car on pensait avoir vérifié une condition suffisante, peuvent avoir lieu L interblocage L utilisation des ressources du système se fait souvent de manière imbriquée (cf. Figure 1.9). Supposons deux tâches τ 1 et τ 2 chacune ayant besoin de deux ressources critiques R 1 et R 2. τ 1 demande R 1 et l obtient. τ 2 se lance à son tour demande R 2 et l obtient. τ 2 demande ensuite R 1. τ 2 se bloque en attente de R 1 détenue par τ 1. τ 1 demande alors à son tour R 1 détenue par τ 2. τ 1 se bloque en attente de R 2. Les deux tâches sont en attente l une de l autre. C est l interblocage. Deux solutions existent pour prévenir l interblocage : - La méthode des classes ordonnées dans laquelle on programme le même ordre d attribution des ressources à toutes les tâches. C est une méthode statique qui se décide avant l exécution. - L algorithme du banquier est une méthode de prévention dynamique : une tâche avant de s exécuter précise au banquier toute les ressources dont elle aura besoin. Le banquier qui connaît toutes les tâches s exécutant et les ressources utilisables par elles, accepte ou pas les demandes de ressource au fur et à mesure qu elles lui arrivent. Dans notre cas τ 2 est bloquée dès sa demande de R 2 car le banquier sait que τ 1 va la lui demander Solutions à l inversion de priorité et à l interblocage Le protocole de la priorité plafonnée fournit une solution à l exemple de la Figure 1.10 ainsi qu au problème de l interblocage. Nous en rappelons le principe : - Inversion de priorité : Une tâche τ en section critique hérite de la priorité d une tâche τ souhaitant accéder à la même ressource si la priorité de τ est supérieure à celle de τ. τ récupère la priorité qu elle avait avant quand elle libère la ressource. C est le mécanisme d héritage de priorité simple. - Interblocage : On assigne à une ressource R la priorité la plus élevée des tâches qui en demanderont l accès exclusif. C est une valeur de seuil. On accorde cette ressource à une tâche qui en fait la demande, si la ressource est libre et si la priorité de cette tâche est supérieure à tous les seuils de toutes les ressources détenues par toutes des tâches en cours d exécution à ce moment là. 2 On pourra se référer à la littérature traitant des problèmes rencontrés par la sonde Pathfinder sur le sol martien, système distribué s il en est Probatoire Ordonnancement temps réel des tâches et des messages 14

15 L implémentation du mécanisme d héritage de priorité dans un système temps réel permet de pouvoir utiliser [Éq. 1-4] pour un test d ordonnançabilité (cf. Figure 1.11), solution qui permet aussi de borner le temps de blocage Bi, sur l attente d une ressource, d une tâche. Figure 1.11 Résolution de l inversion de priorité par le mécanisme de l héritage de priorité Mais ce mécanisme d héritage de priorité plafonnée est mis en échec quand les tâches s exécutent sur un système multiprocesseur : si τ 1, τ 3 et τ 4 s exécutent sur un processeur P 1, et la tâche τ 2 sur un processeur P 2, P 2 ne pourra pas modifier la priorité de τ 4 sans introduire de grave disfonctionnement sur le processeur P 1. Le phénomène d inversion de priorité sur l accès à une ressource critique devra être résolu autrement sur ces architectures parallèles et distribuées. De plus ces mécanismes généraux de protection sont gourmands en temps de calcul : il n est pas toujours possible de les implanter dans des systèmes embarqués aux ressources limitées. C est le cas notamment dans les systèmes temps réel utilisés dans l industrie automobile : les problèmes d inversion de priorité perdurant, les choix des priorités se feront alors à l aide d ordonnanceurs hors ligne. Dans ce premier chapitre nous avons acquis les connaissances préalables à la compréhension d une méthode originale pour ordonnancer les tâches et les messages dans un environnement temps réel distribué : l analyse holistique. Probatoire Ordonnancement temps réel des tâches et des messages 15

16 2 Ordonnancement temps réel distribué Dans un système temps réel distribué, le réseau est l unique moyen de communiquer entre les processeurs distants. Il devient une ressource que les tâches doivent se partager. On doit alors en plus de l ordonnancement, c'est-à-dire l affectation de priorités aux tâches, résoudre des problèmes non soupçonnés dans les architectures TR monoprocesseurs : - le placement des tâches sur les processeurs - la migration d une tâche vers un autre processeur - la synchronisation des tâches distribuées entre elles - les protocoles d accès aux ressources partagées distribuées Autant de contraintes qui vont fortement influer sur les performances du système. 2.1 Placement des tâches et affectation des priorités Lorsque on conçoit un système distribué temps réel sa structure logicielle est fortement dépendante de sa structure matérielle. A la différence de la problématique étudiée tout au long du chapitre précédent, l ordonnancement des tâches ne dépend plus uniquement des caractéristiques temporelles de ces tâches, mais aussi de leurs répartitions sur les différents processeurs, locaux ou distants, ainsi que des caractéristiques du réseau de communication à travers lequel elles s échangent des messages. Le choix des fonctions, les tâches, attribuées aux différents sous-systèmes va alors totalement «impacter» les procédures de validation temporelle. Or si cette étape de validation échoue, c'est-à-dire qu on ne trouve pas d ordonnancement valide, il faudra repenser l architecture logicielle pour ensuite la revalider Cette procédure itérative est longue et fastidieuse. On pourrait souhaiter qu à partir d une configuration logicielle établie grossièrement, un processus accomplisse cette procédure itérative et, tout en affinant le système, établisse les priorités des tâches et des messages qui garantiront le respect des contraintes temporelles. Ce processus, «branch and bound», existe mais son étude sort du cadre de ce mémoire. Nous donnons néanmoins un exemple de son application dans un système embarqué d une automobile en fin de chapitre Nous présenterons la méthode de validation temporelle utilisée lors des étapes itératives de ce processus. Cette méthode, l analyse holistique, peut être sortie de son cadre et servir à valider tout système temps réel distribué dans lequel les tâches seraient déjà placées et les priorités déjà affectées. C est une analyse hors ligne. 2.2 Analyse holistique 3 Les algorithmes d ordonnancement des systèmes d exploitation temps réel qui supportent les applications de l industrie sont en général des ordonnanceurs en ligne basés sur les 3 relatif à l holisme nom masculin (du gr. holos, entier) [PHILOS. ] En épistémologie ou en sciences humaines, doctrine qui ramène la connaissance du particulier, de l'individuel à celle de l'ensemble, du tout dans lequel il s'inscrit. 3 Probatoire Ordonnancement temps réel des tâches et des messages 16

17 algorithmes à priorité fixe (RM), ou dynamique selon l échéance la plus proche (EDF). L analyse holistique est capable de valider des ordonnancements sur ces architectures hétérogènes. Il s agit alors de montrer qu un ordonnancement est valide si le temps de réponse de toutes les tâches dont une tâche τ i doit attendre la fin d exécution pour s activer, est inférieur à la date d activation s i maximale de τ i. Ceci pour lui permettre de respecter son échéance d i. Cela correspond à chercher le «pire cas» d exécution de ces tâches et à ne pas lancer τ i avant que ce pire temps d exécution ne soit terminé. Nous l avons vu (cf. chapitre 1.2 ), un ordonnancement est valide si le temps de réponse de chacune des tâches est inférieur à son délai critique (TR i D i ) Ordonnancement conjoint des tâches et des messages Réseau, ressource critique Si le réseau du système est vu comme une ressource critique partagé par toutes les tâches, la transmission d un message peut engendrer un phénomène d inversion de priorité comme on l a compris au chapitre La transmission d un message quelconque ne peut en effet être interrompue par l émission d un message prioritaire Pire temps d exécution On ne connaît pas le temps exact d exécution des tâches, mais seulement le pire temps d exécution (C i ). La Figure 2.1 met en évidence le cas d une tâche qui s exécute plus vite que prévu, bloquant l envoi d un message plus prioritaire ce qui provoque une faute temporelle. τ 1 émet le message m 1 à l attention τ 3 et τ 2 le message m 2 à l attention de τ 4. Figure 2.1 Ordonnancement d une configuration de tâches distribuée Dans le cas a) les tâches s exécutent avec leurs pires temps d exécution et respectent leurs échéances. Dans le cas b) τ 2 s exécute plus vite et envoie son message avant le message de τ 1 qui doit attendre. τ 3 reçoit le message trop tard et provoque une faute temporelle. Probatoire Ordonnancement temps réel des tâches et des messages 17

18 Pour valider un ordonnancement il faut trouver cette borne supérieure d exécution des tâches pour en déduire la valeur du pire temps de réponse de chacune des tâches. L ordonnanceur pour ces calculs prévoit de n activer une tâche qu après le pire temps d exécution des autres tâches la devançant ou plus prioritaires. L analyse et la validation du «pire scénario» ou «pire cas» d exécution fournit une condition suffisante d ordonnançabilité : si l analyse est négative, cela ne veut pas dire que le système ne sera pas ordonnançable sur la plateforme, mais si l analyse est positive alors le système sera ordonnançable quelque soit son comportement à l exécution Analyse holistique : Concepts de base L une des fonctions de l analyse holistique est de déterminer la longueur de la période d activité engendrant le pire temps de réponse de la configuration de tâches étudiée. Le but étant de minimiser cette période, dont nous avons déjà donné une borne supérieure (cf 1.3.3) Période d activité La notion de période d activité caractérise les ordonnancements à priorités fixes et dynamiques en identifiant les périodes d activité du processeur (cf. paragraphe 1.4). Une période d activité est un intervalle de temps pendant lequel le processeur est toujours occupé, c'est-à-dire sans temps creux Instant critique On rappelle qu il n est pas possible d analyser toutes les combinaisons possibles d interactions des temps de réponse variables d une configuration de tâche (CT) (NPcomplétude). Donc en terme d ordonnançabilité, il faut trouver la plus mauvaise combinaison de ces temps de réponses. On trouve cette combinaison à l instant où toutes les tâches se réveillent en même temps. Cet instant est l instant critique et la date t=0 est un instant critique pour une CT à départ simultané Période d activité synchrone Une période d activité synchrone est un intervalle de temps [0,L) délimité par un instant critique à la date t=0 et un temps creux à la date L. L est la longueur de la cette période.( t=0 définit la borne inférieure de la période d activité synchrone ) La méthode de calcul des pires temps de réponse est fondée sur l étude et la détermination de cette longueur L. «La plus longue période d activité est la période d activité synchrone de longueur L» Charge induite Un instant critique ayant eu lieu à la date t=0 la charge induite, notée W(t), par les n tâches n t d une CT, est la durée d exécution des n tâches sur l intervalle [0,t[. On a W t 1 ( ) = C i i= 0 Ti t Où est le nombre de réveils de la tâche τ i sur l intervalle. T i La longueur L d une période d activité synchrone est calculée à l aide d une suite récurrente Equations récurrentes - Point Fixe Considérant un intervalle [0, t[ on compare la charge induite W(t) à la longueur t de l intervalle. Si la charge induite est supérieure à la longueur de l intervalle, alors W(t) constitue une première borne inférieure de la longueur L. Probatoire Ordonnancement temps réel des tâches et des messages 18

19 On calcule récursivement en comparant les intervalles [0, W(t)[, [0, W(W(t))[, aux charges induites W(W(t)), W(W(W(t))), jusqu à ce que la nouvelle valeur soit égale à la précédente. Cette valeur est la longueur L de la plus longue période d activité pour la CT considérée Formellement, L est défini comme le point fixe du système d équations récurrentes suivant : L (0) n 1 = C i= 0 ( k + 1) L i = W ( L [Éq. 2-1] Le calcul est arrêté lorsque deux valeurs sont égales : L=L (k) =L (k+1) On rappelle que le facteur d utilisation du processeur U est la fraction de temps d utilisation n du processeur nécessaire à l exécution de la CT (cf. paragraphe 1.3.2) : 1 Ci U = et qu une i= 0 Ti condition nécessaire d ordonnançabilité pour une CT donnée est que U 1. Le système d équation [Éq. 2-1] converge en un nombre fini de pas si U 1 La plus longue période d activité est la période d activité synchrone de longueur L. Cette période d activité est la durée d étude nécessaire pour calculer le pire temps de réponse d une tâche Exemple de charge et de période d activité Tâche C i T i U i PPCM(t 1, t 2,t 3,t 4,t 5 )=300 τ τ U=0.916 τ τ Τ ( k ) ) Le premier temps creux est trouvé au point fixe 57. Probatoire Ordonnancement temps réel des tâches et des messages 19

20 2.2.3 Analyse holistique : Principes L analyse holistique introduite en 1994 par KenTindell, permet de modéliser la dépendance entre l ordonnancement des tâches et celui des messages dans les systèmes temps réel distribués : - La date d émission d un message dépend du temps de réponse de la tâche émettrice - La date de réveil de la tâche destinataire dépend du temps de réponse du message à recevoir. L ordonnancement de deux tâches τ i et τ j communicant à travers un réseau, est détaillé dans la Figure 2.2 : l émission du message msg est décalée par l attente de la fin d exécution de τ i. De même, la tâche τ j qui est liée à l arrivée du message est retardée à son tour. Figure 2.2 La gigue d activation est l attente due à la fin de la tâche précédente. Jm et Jj sont les gigues d activation du message et de la tâche réceptrice τ j. Les gigues d activation sont les variables qui permettent de modéliser la dépendance de l ordonnancement conjoint des tâches et des messages. L analyse holistique va permettre de calculer ces gigues par la résolution de systèmes d équations récurrentes en estimant le temps de réponse des tâches et ainsi les valeurs de gigue. Nous obtenons le système d équations : * - Pour les tâches : J i = max( R m ) m pred ( i) * - Pour les messages : J i = max( R j ) j pred ( i) Le même principe de calcul qu au paragraphe est utilisé pour calculer ces gigues dépendantes des pires temps de réponse, et des pires temps de réponse dépendant des gigues. Le système à résoudre est le suivant : (0) Ri = Ci (0) Ji = 0 1 i n ( k ) ( k 1) Ri = Tempsreponse( Ji ) ( k ) ( k ) Ji = max( Ri ) j pred ( i) n : nombre de tâches et de messages pred(i) : prédécesseurs immédiats de i dans le graphe de précédence Principe de l analyse : initialiser les gigues à calculer les temps de réponse processeur par processeur et réseau par réseau Probatoire Ordonnancement temps réel des tâches et des messages 20

21 - 3 - mettre à jour les gigues avec les temps de réponse - 4 itérer au point 2 jusqu au premier point fixe. Le point fixe est atteint lorsque pour un entier k on vérifie :- R i * =R i (k) =R i (k-1), 1 i n Chaque système (processeur, réseau) possède sa propre fonction de calcul du pire temps de réponse (Tempsreponse) On note que dans le cas d une communication de deux tâches sur le même site on peut modéliser la communication par un délai de transmission nul. Pour améliorer les performances de la résolution du système, on note que ce système d équation initialise la gigue sur activation à 0. Or la gigue modélise la dépendance entre les tâches et les messages de l application : pour les tâches indépendantes la gigue est effectivement nulle. Pour les relations de dépendance le calcul de la gigue correspond à un calcul de date d activation au plus tôt (problème central de l ordonnancement). On utilisera la borne inférieure des gigues LB(J i ) et la borne inférieure des temps réponse LB(TR i ) pour initialiser le système. (0) (0) LB( Ji ) = max( LB ( J j ) + C j ) On doit alors résoudre : j pred ( i) (0) (0) LB( TRi ) = LB( Ji + Ci ) Cas pire - Pires temps de réponse Calcul du pire temps de réponse des tâches Le pire temps de réponse d une tâche τ i est obtenu lorsque toutes les tâches autre que τ i arrivent simultanément. Il suffit d étudier tous les scénarios, de longueur L au plus, où cela se produit et où τ i est activée à une date t [ 0, Ti ] L analyse de τ i permettant d obtenir son pire temps de réponse TR i, nécessite d examiner au plus T i scénarios, c-à-d T i périodes d activité différentes Calcul du pire temps de réponse des messages Les algorithmes pour calculer le pire temps de réponse dans les différents types de réseaux utilisés ou utilisables en temps réel sont en cours d élaboration à l heure actuelle. Néanmoins celui des réseaux de type CAN (Controler Area Network) utilisé dans l industrie automobile est utilisable dès aujourd hui. Le réseau CAN est une ressource critique, chaque message possède une priorité fixe arbitrant l accès au canal (CSMA/CA). L ordonnancement du réseau s apparente à un ordonnancement monoprocesseur non préemptif de tâches que sont les messages. Le temps de propagation est utilisé comme pire temps d exécution dans le modèle de tâches. Les résultats obtenus du calcul du pire temps de réponse pour un ordonnancement préemptif peuvent être adapté à l ordonnancement non préemptif. La différence n est liée qu au décalage pouvant être engendré par une tâche moins prioritaire, utilisant le processeur à l instant critique. La tâche ne pouvant être interrompue, l instant critique sera décalé au maximum de la plus longue tâche parmi les moins prioritaires. Le pire cas survient lorsque cette tâche débute à l instant critique t = 0 1 unité de temps. Probatoire Ordonnancement temps réel des tâches et des messages 21

22 Les algorithmes de calcul des pires temps de réponse existent pour les politiques d ordonnancement à priorité fixe, dynamique, et pour les architectures non préemptives qu on peut utiliser pour les réseaux de communication Exemple d application : validation d un système TR distribué L analyse holistique permet de valider des systèmes temps réel distribués hétérogènes. Le Tableau 2-1 fournit les caractéristiques des tâches d une système TR à valider : il est composé d un processeur P 1 qui ordonnance les tâches à priorité fixe, d un processeur P 2 qui ordonnance selon EDF et d un réseau de communication CAN. La Figure 2.3 représente la structure logicielle du système : relations de dépendance et de communication sur ce système. Tâche Processeur C i D i T i τ 1 P τ 2 P τ 3 P τ 4 P τ 5 P τ 6 P m 1 CAN 1 m 2 CAN 1 Tableau 2-1 Caractéristiques des tâches d un système TR distribué hétérogène (Prio(τ 1 )< Prio(τ 2 ) τ 1 τ 6 τ 4 m1 τ 2 m 2 τ 5 τ 3 Figure 2.3 Graphe de précédence des tâches et des messages d un système TR distribué La résolution de ce système se fait en deux itérations de la méthode holistique. Tâches Itération 1 Itération 2 Ri Ji Ri Ji τ τ τ τ τ τ m m Tableau 2-2 trace des deux itérations de l analyse holistique P1 CAN La Figure 2.4 représente l ordonnancement au «pire cas» validée par la méthode holistique P2 Probatoire Ordonnancement temps réel des tâches et des messages 22

23 Figure 2.4 Ordonnancement temps réel de tâches et de messages dans un système distribué 2.3 Placement et affectation des priorités : Etude de cas L application étudiée est une version modifiée de celle qu on peut trouver dans les automobiles du fabricant PSA. Elle est composée de neuf sous systèmes interconnectés par deux réseaux de terrain (fieldbus) : un réseau CAN (Controler Area Network) et un réseau VAN (Vehicule Area Network) Tableau 2-3 Structure d un système embarqué dans une automobile La Figure 2.5 est le graphe de précédence du système distribué. Les tâches communiquent par messages à travers les deux réseaux CAN et VAN. La passerelle entre ces réseaux est modélisée par le pool de tâches n 2. Les différents systèmes de contrôle du véhicule sont regroupés dans le pool n 1 (ABS, Moteur, Boite de vitesse, ) le pool n 3 est constitué des écrans de contrôle (Compteur de vitesse, Température, ) et des dispositifs de pilotage (Air conditionné, ). Les pools sont constitués des ECU à qui l on veut assigner l exécution des tâches. Le Tableau 2-4 indique le découpage en pools du système et les paramètres des 44 tâches et des 19 messages composant la structure logicielle de l application. Probatoire Ordonnancement temps réel des tâches et des messages 23

24 Figure 2.5 Graphe de précédence d un système embarqué Pool Tâche C i D i Pool Tâche C i D i Pool Mess. C i D i T T M T T M T T M T T M T T M T T M T T M T T M T T M T T M T T M T T M T T M T T M T T M T T M T T M T T M T T M T T T T T T Pool 1 (ECU 1, 2, 3, 4, 5) Pool 2(ECU6) Pool 3 (ECU 7, 8, 9) Tableau 2-4 Découpage en pool et paramètres des tâches et des messages Pool 4 (CAN) Pool 5 (van) Probatoire Ordonnancement temps réel des tâches et des messages 24

Ordonnancement temps réel

Ordonnancement temps réel Ordonnancement temps réel Laurent.Pautet@enst.fr Version 1.5 Problématique de l ordonnancement temps réel En fonctionnement normal, respecter les contraintes temporelles spécifiées par toutes les tâches

Plus en détail

Analyse du temps de réponse des systèmes temps réel

Analyse du temps de réponse des systèmes temps réel Analyse du temps de réponse des systèmes temps réel Pascal Richard Laboratoire d Informatique Scientifique et Industrielle, ENSMA BP 40198 Téléport 2 F-86960 Futuroscope pascal.richard@ensma.fr RÉSUMÉ.

Plus en détail

Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement

Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement Master 2 pro Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement Isabelle PUAUT / Rémi COZOT Université de Rennes I 1 Applications temps-réel embarquées Systèmes en interaction avec l

Plus en détail

Ordonnancement temps réel

Ordonnancement temps réel Ordonnancement temps réel Ordonnancement centralisé par Francis COTTET Professeur d université (ENSMA, Poitiers Futuroscope) Ingénieur de l Institut national polytechnique de Grenoble Docteur ès sciences

Plus en détail

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL i LE TEMPS RÉEL 1. PRÉSENTATION DU TEMPS RÉEL 1.1. APPLICATIONS TEMPS RÉEL 1.2. CONTRAINTES DE TEMPS RÉEL 2. STRUCTURES D'ACCUEIL POUR LE TEMPS RÉEL 2.1. EXÉCUTIFS TEMPS RÉEL 2.2. RÉSEAUX LOCAUX TEMPS

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

Plus en détail

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration Julien MATHEVET Alexandre BOISSY GSID 4 Rapport Load Balancing et migration Printemps 2001 SOMMAIRE INTRODUCTION... 3 SYNTHESE CONCERNANT LE LOAD BALANCING ET LA MIGRATION... 4 POURQUOI FAIRE DU LOAD BALANCING?...

Plus en détail

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm) Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 - Evénements et architectures - Spécifications de performances

Plus en détail

Introduction au temps réel

Introduction au temps réel Introduction au temps réel Laurent.Pautet@enst.fr Version 2.0 Définition d un système temps réel Un système temps réel se compose d'un ou plusieurs sous-systèmes devant répondre en un temps fini et spécifié

Plus en détail

Annexe 6. Notions d ordonnancement.

Annexe 6. Notions d ordonnancement. Annexe 6. Notions d ordonnancement. APP3 Optimisation Combinatoire: problèmes sur-contraints et ordonnancement. Mines-Nantes, option GIPAD, 2011-2012. Sophie.Demassey@mines-nantes.fr Résumé Ce document

Plus en détail

1 Mesure de la performance d un système temps réel : la gigue

1 Mesure de la performance d un système temps réel : la gigue TP TR ENSPS et MSTER 1 Travaux Pratiques Systèmes temps réel et embarqués ENSPS ISV et Master TP1 - Ordonnancement et communication inter-processus (IPC) Environnement de travail Un ordinateur dual-core

Plus en détail

VIII- Circuits séquentiels. Mémoires

VIII- Circuits séquentiels. Mémoires 1 VIII- Circuits séquentiels. Mémoires Maintenant le temps va intervenir. Nous avions déjà indiqué que la traversée d une porte ne se faisait pas instantanément et qu il fallait en tenir compte, notamment

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante

Plus en détail

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d

Plus en détail

MEAD : temps réel et tolérance aux pannes pour CORBA

MEAD : temps réel et tolérance aux pannes pour CORBA MEAD : un intergiciel temps-réel et tolérant aux pannes pour CORBA Master 2 Informatique Recherche Université de Marne-la-Vallée Vendredi 3 mars 2006 Plan 1 Introduction 2 Solutions existantes 3 Concilier

Plus en détail

Chapitre 5 : Flot maximal dans un graphe

Chapitre 5 : Flot maximal dans un graphe Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d

Plus en détail

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

Network musical jammin

Network musical jammin Network musical jammin Projet PC2R - 2015 Pour ce projet, nous allons réaliser une application permettant d effectuer des jams sessions en temps-réel entre des musiciens répartis à travers le monde. Le

Plus en détail

TEPZZ 568448A_T EP 2 568 448 A1 (19) (11) EP 2 568 448 A1 (12) DEMANDE DE BREVET EUROPEEN. (51) Int Cl.: G07F 7/08 (2006.01) G06K 19/077 (2006.

TEPZZ 568448A_T EP 2 568 448 A1 (19) (11) EP 2 568 448 A1 (12) DEMANDE DE BREVET EUROPEEN. (51) Int Cl.: G07F 7/08 (2006.01) G06K 19/077 (2006. (19) TEPZZ 68448A_T (11) EP 2 68 448 A1 (12) DEMANDE DE BREVET EUROPEEN (43) Date de publication: 13.03.2013 Bulletin 2013/11 (1) Int Cl.: G07F 7/08 (2006.01) G06K 19/077 (2006.01) (21) Numéro de dépôt:

Plus en détail

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN

Plus en détail

Cours A7 : Temps Réel

Cours A7 : Temps Réel Cours A7 : Temps Réel Pierre.Paradinas / @ / cnam.fr Cnam/Cedric Systèmes Enfouis et Embarqués (SEE) Organisation des cours 12 prochaines séances 6 janvier au 24 mars, Partiel le 27 janvier, Les 3 et 24

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

Métriques de performance pour les algorithmes et programmes parallèles

Métriques de performance pour les algorithmes et programmes parallèles Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and

Plus en détail

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme? Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version

Plus en détail

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme? Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version

Plus en détail

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr Introduction aux systèmes temps réel Iulian Ober IRIT ober@iut-blagnac.fr Définition Systèmes dont la correction ne dépend pas seulement des valeurs des résultats produits mais également des délais dans

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

Chapitre 4 : Exclusion mutuelle

Chapitre 4 : Exclusion mutuelle Chapitre 4 : Exclusion mutuelle Pierre Gançarski Juillet 2004 Ce support de cours comporte un certain nombre d erreurs : je décline toute responsabilité quant à leurs conséquences sur le déroulement des

Plus en détail

Windows Internet Name Service (WINS)

Windows Internet Name Service (WINS) Windows Internet Name Service (WINS) WINDOWS INTERNET NAME SERVICE (WINS)...2 1.) Introduction au Service de nom Internet Windows (WINS)...2 1.1) Les Noms NetBIOS...2 1.2) Le processus de résolution WINS...2

Plus en détail

Partie 7 : Gestion de la mémoire

Partie 7 : Gestion de la mémoire INF3600+INF2610 Automne 2006 Partie 7 : Gestion de la mémoire Exercice 1 : Considérez un système disposant de 16 MO de mémoire physique réservée aux processus utilisateur. La mémoire est composée de cases

Plus en détail

Un concept multi-centre de données traditionnel basé sur le DNS

Un concept multi-centre de données traditionnel basé sur le DNS Confiez vos activités critiques à un expert S il est crucial pour vos activités commerciales que vos serveurs soient disponibles en continu, vous devez demander à votre hébergeur de vous fournir une solution

Plus en détail

Les indices à surplus constant

Les indices à surplus constant Les indices à surplus constant Une tentative de généralisation des indices à utilité constante On cherche ici en s inspirant des indices à utilité constante à définir un indice de prix de référence adapté

Plus en détail

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Modèles à Événements Discrets. Réseaux de Petri Stochastiques Modèles à Événements Discrets Réseaux de Petri Stochastiques Table des matières 1 Chaînes de Markov Définition formelle Idée générale Discrete Time Markov Chains Continuous Time Markov Chains Propriétés

Plus en détail

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,

Plus en détail

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

Plus en détail

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran)  Processus = suite d'actions = suite d'états obtenus = trace Processus 1) Contexte 2) Modèles de Notion de Points de vue Modèle fourni par le SX Opérations sur les 3) Gestion des Représentation des Opérations 4) Ordonnancement des Niveaux d ordonnancement Ordonnancement

Plus en détail

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

La surveillance réseau des Clouds privés

La surveillance réseau des Clouds privés La surveillance réseau des Clouds privés Livre blanc Auteurs : Dirk Paessler, CEO de Paessler AG Gerald Schoch, Rédactrice technique de Paessler AG Publication : Mai 2011 Mise à jour : Février 2015 PAGE

Plus en détail

Exercices de dénombrement

Exercices de dénombrement Exercices de dénombrement Exercice En turbo Pascal, un entier relatif (type integer) est codé sur 6 bits. Cela signifie que l'on réserve 6 cases mémoires contenant des "0" ou des "" pour écrire un entier.

Plus en détail

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée. ANALYSE 5 points Exercice 1 : Léonie souhaite acheter un lecteur MP3. Le prix affiché (49 ) dépasse largement la somme dont elle dispose. Elle décide donc d économiser régulièrement. Elle a relevé qu elle

Plus en détail

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ Auteur : S.& S. Etienne F7n COUP DE BOURSE, NOMBRE DÉRIVÉ TI-Nspire CAS Mots-clés : représentation graphique, fonction dérivée, nombre dérivé, pente, tableau de valeurs, maximum, minimum. Fichiers associés

Plus en détail

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

TP 2 Réseaux. Adresses IP, routage et sous-réseaux TP 2 Réseaux Adresses IP, routage et sous-réseaux C. Pain-Barre INFO - IUT Aix-en-Provence version du 24/2/2 Adressage IP. Limites du nombre d adresses IP.. Adresses de réseaux valides Les adresses IP

Plus en détail

TSTI 2D CH X : Exemples de lois à densité 1

TSTI 2D CH X : Exemples de lois à densité 1 TSTI 2D CH X : Exemples de lois à densité I Loi uniforme sur ab ; ) Introduction Dans cette activité, on s intéresse à la modélisation du tirage au hasard d un nombre réel de l intervalle [0 ;], chacun

Plus en détail

Continuité et dérivabilité d une fonction

Continuité et dérivabilité d une fonction DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité

Plus en détail

Efficace et ciblée : La surveillance des signaux de télévision numérique (2)

Efficace et ciblée : La surveillance des signaux de télévision numérique (2) Efficace et ciblée : La surveillance des signaux de télévision numérique (2) La première partie de cet article publié dans le numéro 192 décrit la méthode utilisée pour déterminer les points de surveillance

Plus en détail

DAns un système multi-utilisateurs à temps partagé, plusieurs processus

DAns un système multi-utilisateurs à temps partagé, plusieurs processus Chapitre 8 Ordonnancement des processus Dns un système multi-utilisateurs à temps partagé, plusieurs processus peuvent être présents en mémoire centrale en attente d exécution. Si plusieurs processus sont

Plus en détail

Mathématiques financières

Mathématiques financières Mathématiques financières Table des matières 1 Intérêt simple 1 1.1 Exercices........................................ 1 2 Intérêt composé 2 2.1 Taux nominal, taux périodique, taux réel.......................

Plus en détail

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Introduction à l informatique temps réel Pierre-Yves Duval (cppm) Introduction à l informatique temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 -Définition et problématique - Illustration par des exemples -Automatisme:

Plus en détail

CHAPITRE VIII : Les circuits avec résistances ohmiques

CHAPITRE VIII : Les circuits avec résistances ohmiques CHAPITRE VIII : Les circuits avec résistances ohmiques VIII. 1 Ce chapitre porte sur les courants et les différences de potentiel dans les circuits. VIII.1 : Les résistances en série et en parallèle On

Plus en détail

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Classe de terminale de la série Sciences et Technologie du Management et de la Gestion Préambule Présentation Les technologies de l information

Plus en détail

TRAAM STI 2013-2014 Acquisition et exploitations pédagogiques des données sur un système pédagogique

TRAAM STI 2013-2014 Acquisition et exploitations pédagogiques des données sur un système pédagogique TRAAM STI 2013-2014 Acquisition et exploitations pédagogiques des données sur un système pédagogique Bilan technique et éléments de développement Fonctionnalités attendues Une vingtaine d établissements

Plus en détail

FORMAT FORMA ION SUR LA ION SUR LA GESTION DE PROJET & MS PROJECT

FORMAT FORMA ION SUR LA ION SUR LA GESTION DE PROJET & MS PROJECT FORMATION SUR LA GESTION DE PROJET & MS PROJECT Présentation rapide Jamal Achiq Consultant - Formateur sur le management de projet, MS Project, et EPM Certifications: Management de projet : «PRINCE2, Praticien»

Plus en détail

ASR1 TD7 : Un microprocesseur RISC 16 bits

ASR1 TD7 : Un microprocesseur RISC 16 bits {Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit

Plus en détail

Internet et Multimédia Exercices: flux multimédia

Internet et Multimédia Exercices: flux multimédia Internet et Multimédia Exercices: flux multimédia P. Bakowski bako@ieee.org Applications et flux multi-média média applications transport P. Bakowski 2 Applications et flux multi-média média applications

Plus en détail

TURBOS Votre effet de levier sur mesure

TURBOS Votre effet de levier sur mesure TURBOS Votre effet de levier sur mesure Société Générale attire l attention du public sur le fait que ces produits, de par leur nature optionnelle, sont susceptibles de connaître de fortes fluctuations,

Plus en détail

document proposé sur le site «Sciences Physiques en BTS» : http://nicole.cortial.net BTS AVA 2015

document proposé sur le site «Sciences Physiques en BTS» : http://nicole.cortial.net BTS AVA 2015 BT V 2015 (envoyé par Frédéric COTTI - Professeur d Electrotechnique au Lycée Régional La Floride Marseille) Document 1 - Etiquette énergie Partie 1 : Voiture à faible consommation - Une étiquette pour

Plus en détail

Chapitre 2 Le problème de l unicité des solutions

Chapitre 2 Le problème de l unicité des solutions Université Joseph Fourier UE MAT 127 Mathématiques année 2011-2012 Chapitre 2 Le problème de l unicité des solutions Ce que nous verrons dans ce chapitre : un exemple d équation différentielle y = f(y)

Plus en détail

Cours de Systèmes d Exploitation

Cours de Systèmes d Exploitation Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation

Plus en détail

La fonction exponentielle

La fonction exponentielle DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction

Plus en détail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail

Cryptographie et fonctions à sens unique

Cryptographie et fonctions à sens unique Cryptographie et fonctions à sens unique Pierre Rouchon Centre Automatique et Systèmes Mines ParisTech pierre.rouchon@mines-paristech.fr Octobre 2012 P.Rouchon (Mines ParisTech) Cryptographie et fonctions

Plus en détail

Cours A7 : Temps Réel

Cours A7 : Temps Réel Cours A7 : Temps Réel Pierre.Paradinas / @ / cnam.fr Cnam/Cedric Systèmes Enfouis et Embarqués (SEE) Motivations Du jour : les mécanismes multitâches, la gestion des priorités, l ordonnancement, la gestion

Plus en détail

Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) IFT702 Planification en intelligence artificielle

Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) IFT702 Planification en intelligence artificielle Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) PLANIFICATION DE TÂCHES DANS MS PROJECT IFT702 Planification en intelligence artificielle Présenté à M. Froduald KABANZA

Plus en détail

Les systèmes de base de données temps réels. Pokrovskaya Natalia, Kabbali Nadia

Les systèmes de base de données temps réels. Pokrovskaya Natalia, Kabbali Nadia Les systèmes de base de données temps réels Pokrovskaya Natalia, Kabbali Nadia Année académique 2008-2009 Table des matières 1 Introduction 2 2 Système de gestion de bases de données classiques 3 3 Systèmes

Plus en détail

White Paper - Livre Blanc

White Paper - Livre Blanc White Paper - Livre Blanc Développement d applications de supervision des systèmes d information Avec LoriotPro Vous disposez d un environnement informatique hétérogène et vous souhaitez à partir d une

Plus en détail

EXERCICE 4 (7 points ) (Commun à tous les candidats)

EXERCICE 4 (7 points ) (Commun à tous les candidats) EXERCICE 4 (7 points ) (Commun à tous les candidats) On cherche à modéliser de deux façons différentes l évolution du nombre, exprimé en millions, de foyers français possédant un téléviseur à écran plat

Plus en détail

Consolidation de stockage

Consolidation de stockage (Information sur la technologie Sto-2003-2) Wolfgang K. Bauer Spécialiste stockage Centre de compétence transtec AG Waldhörnlestraße 18 D-72072 Tübingen Allemagne TABLE DES MATIÈRES 1 RÉSUMÉ...3 2 INTRODUCTION...4

Plus en détail

Introduction à la théorie des files d'attente. Claude Chaudet Claude.Chaudet@enst.fr

Introduction à la théorie des files d'attente. Claude Chaudet Claude.Chaudet@enst.fr Introduction à la théorie des files d'attente Claude Chaudet Claude.Chaudet@enst.fr La théorie des files d'attente... Principe: modélisation mathématique de l accès à une ressource partagée Exemples réseaux

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

Orientations pour la gestion documentaire des courriels au gouvernement du Québec

Orientations pour la gestion documentaire des courriels au gouvernement du Québec Orientations pour la gestion documentaire des courriels au gouvernement du Québec Janvier 2009 Dépôt légal Bibliothèque et Archives nationales du Québec, 2010 ISBN : 978-2-550-59635-6 Table des matières

Plus en détail

CCP PSI - 2010 Mathématiques 1 : un corrigé

CCP PSI - 2010 Mathématiques 1 : un corrigé CCP PSI - 00 Mathématiques : un corrigé Première partie. Définition d une structure euclidienne sur R n [X]... B est clairement symétrique et linéaire par rapport à sa seconde variable. De plus B(P, P

Plus en détail

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Jade. Projet Intelligence Artificielle «Devine à quoi je pense» Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges

Plus en détail

Introduction aux algorithmes répartis

Introduction aux algorithmes répartis Objectifs et plan Introduction aux algorithmes répartis Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR http://sardes.inrialpes.fr/people/krakowia! Introduction aux algorithmes

Plus en détail

Optimisation for Cloud Computing and Big Data

Optimisation for Cloud Computing and Big Data 1 / 23 Optimisation for Cloud Computing and Big Data Olivier Beaumont, Lionel Eyraud-Dubois 2 / 23 Aujourd hui Problèmes de fiabilité on va oublier la dynamicité Placement de VMs en programmation par contraintes

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au

Plus en détail

Image d un intervalle par une fonction continue

Image d un intervalle par une fonction continue DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction

Plus en détail

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

Caractéristiques des ondes

Caractéristiques des ondes Caractéristiques des ondes Chapitre Activités 1 Ondes progressives à une dimension (p 38) A Analyse qualitative d une onde b Fin de la Début de la 1 L onde est progressive puisque la perturbation se déplace

Plus en détail

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre : Terminale STSS 2 012 2 013 Pourcentages Synthèse 1) Définition : Calculer t % d'un nombre, c'est multiplier ce nombre par t 100. 2) Exemples de calcul : a) Calcul d un pourcentage : Un article coûtant

Plus en détail

Analyse des coûts. 1 ère année DUT GEA, 2005/2006 Analyse des coûts

Analyse des coûts. 1 ère année DUT GEA, 2005/2006 Analyse des coûts Analyse des coûts Les techniques de calcul et d analyse des coûts portent le nom de comptabilité analytique ou comptabilité de gestion. Ces deux termes seront utilisés indifféremment dans ce cours. Contrairement

Plus en détail

La Certification de la Sécurité des Automatismes de METEOR

La Certification de la Sécurité des Automatismes de METEOR 1 La Certification de la Sécurité des Automatismes de METEOR 2 un mot sur METEOR 3 Le projet METEOR, c'est... un système automatique complexe fortement intégré matériel roulant, équipements électriques,

Plus en détail

Gouvernance des mesures de sécurité avec DCM-Manager. Présentation du 22 mai 2014

Gouvernance des mesures de sécurité avec DCM-Manager. Présentation du 22 mai 2014 Gouvernance des mesures de sécurité avec DCM-Manager Présentation du 22 mai 2014 Gérer les actifs logiciels et leur répartition Maîtriser le durcissement des configurations Suivre l application des correctifs

Plus en détail

Correction du baccalauréat ES/L Métropole 20 juin 2014

Correction du baccalauréat ES/L Métropole 20 juin 2014 Correction du baccalauréat ES/L Métropole 0 juin 014 Exercice 1 1. c.. c. 3. c. 4. d. 5. a. P A (B)=1 P A (B)=1 0,3=0,7 D après la formule des probabilités totales : P(B)=P(A B)+P(A B)=0,6 0,3+(1 0,6)

Plus en détail

CEG4566/CSI4541 Conception de systèmes temps réel

CEG4566/CSI4541 Conception de systèmes temps réel CEG4566/CSI4541 Conception de systèmes temps réel Chapitre 6 Vivacité, sécurité (Safety), fiabilité et tolérance aux fautes dans les systèmes en temps réel 6.1 Introduction générale aux notions de sécurité

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes. Introduction L'objectif de mon TIPE est la reconnaissance de sons ou de notes de musique à l'aide d'un réseau de neurones. Ce réseau doit être capable d'apprendre à distinguer les exemples présentés puis

Plus en détail

Erreurs les plus fréquentes Guide de dépannage

Erreurs les plus fréquentes Guide de dépannage Erreurs les plus fréquentes Guide de dépannage janvier 2012 Le présent manuel et le support électronique qui l accompagne sont des produits exclusifs de Paiements Optimal, S.A.R.L. Leur usage est réservé

Plus en détail

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011 Temps Réel Jérôme Pouiller Septembre 2011 Sommaire Problèmatique Le monotâche Le multitâches L ordonnanement Le partage de ressources Problèmatiques des OS temps réels J. Pouiller

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

!-.!#- $'( 1&) &) (,' &*- %,!

!-.!#- $'( 1&) &) (,' &*- %,! 0 $'( 1&) +&&/ ( &+&& &+&))&( -.#- 2& -.#- &) (,' %&,))& &)+&&) &- $ 3.#( %, (&&/ 0 ' Il existe plusieurs types de simulation de flux Statique ou dynamique Stochastique ou déterministe A événements discrets

Plus en détail

Fonctions de plusieurs variables

Fonctions de plusieurs variables Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme

Plus en détail

Manuel utilisateur. Version 1.6b

Manuel utilisateur. Version 1.6b Manuel utilisateur Version 1.6b Table des matières Table des matières... 2 1. Introduction... 3 a. But de ce document... 3 b. Objet de ce document... 3 c. Remarques et commentaires... 3 2. Premiers pas

Plus en détail

Systèmes et exécutifs temps-réel

Systèmes et exécutifs temps-réel Systèmes et exécutifs temps-réel Licence professionnelle «Systèmes embarqués dans l automobile» Isabelle PUAUT (Cours + TD) Jean-François DEVERGE et Christophe Pais (TP) 1 Applications temps-réel Systèmes

Plus en détail