Ordonnancement Temps Réel. F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 1

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

Download "Ordonnancement Temps Réel. F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 1"

Transcription

1 Ordonnancement Temps Réel F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 1

2 Introduction Tâches temps réel soumises à des contraintes de temps, plus ou moins strictes instant de démarrage instant de fin absolus ou relatifs à d'autres tâches le but de l'ordonnancement est de permettre le respect de ces contraintes, lorsque l'exécution se produit dans un mode courant il doit permettre de borner les effets d'incidents ou de surcharges F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 2

3 Caractéristiques des tâches (1) r : date de réveil moment du déclenchement de la 1ère requête d'exécution C : durée d'exécution maximale (capacité) D : délai critique délai maximum acceptable pour son exécution P : période (si tâche périodique) d = r+d : échéance (si tâche à contraintes strictes) tâche périodique : r k = r 0 + k*p si D = P, tâche à échéance sur requête P D r 0 C d 0 r 1 d 1 r 2 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 3 P t

4 Caractéristiques des tâches (2) paramètres statiques U = C/P : facteur d'utilisation du processeur CH = C/D : facteur de charge du processeur paramètres dynamiques s : date du début de l'exécution e : date de la fin de l'exécution D(t) = d-t : délai critique résiduel à la date t (0 D(t) D) C(t) : durée d'exécution résiduelle à la date t (0 C(t) C) L = D-C : laxité nominale de la tâche retard maximum pour son début d'exécution s (si elle est seule) L(t) = D(t) - C(t) : laxité nominale résiduelle retard maximum pour reprendre l'exécution TR = e - r : temps de réponse de la tâche CH(t) = C(t)/D(t) : charge résiduelle (0 CH(t) C/P) F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 4

5 Caractéristiques des tâches (3) préemptibles ou non dépendance ou indépendance ordre partiel prédéterminé ou induit partage de ressources priorité externe ordonnancement hors ligne déterminé à la conception gigue (jitter) maximale variation entre la requête et le début de l'exécution urgence échéance importance F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 5

6 États d'une tâche Courante Bloquée Prête Inexistante f f Passive f : abandon de la requête pour cause de faute temporelle F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 6

7 Définitions configuration : ensemble de n tâches mises en jeu par l'application C facteur d'utilisation du processeur i facteur de charge intervalle d'étude : intervalle de temps minimum pour prouver l'ordonnançabilité d'une configuration le PPCM des périodes dans le cas d'une configuration de tâches périodiques laxité du processeur LP(t) = intervalle de temps pendant lequel le processeur peut rester inactif tout en respectant les échéances laxité conditionnelle n CH= i=1 U= n i=1 (somme sur les tâches déclenchées à la date t et qui sont devant i du point de vue de l'ordonnancement) LP(t) = min(lc i (t)) F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 7 C i D i LC i t =D i C i t P i

8 Buts de l'ordonnancement piloter l'application avec 2 objectifs majeurs : en fonctionnement nominal : respect des contraintes temporelles en fonctionnement anormal (par exemple pannes matérielles) : atténuer les effets des surcharges et maintenir un état cohérent et sécuritaire ordonnancer = planifier l'exécution des requêtes de façon à respecter les contraintes de temps de toutes les requêtes en fonctionnement nominal d'au moins les requêtes les plus importantes (c'est-à-dire celles nécessaires à la sécurité du procédé) en fonctionnement anormal F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 8

9 Typologie des algorithmes en ligne ou hors ligne choix dynamique ou prédéfini à la conception préemptif ou non préemptif une tâche peut perdre le processeur (au profit d'une tâche plus prioritaire) ou non algorithme préemptif toutes les tâches préemptibles stratégie du meilleur effort ou inclémence en TR mou, meilleur effort = faire au mieux avec les processeurs disponibles en TR dur, obligation des respecter les contraintes temporelles : inclémence aux fautes temporelles centralisé ou réparti F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 9

10 Plan du cours ordonnancement des tâches indépendantes ordonnancement des tâches dépendantes partage de ressources contraintes de précédence ordonnancement en cas de surcharge F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 10

11 Ordonnancement des tâches indépendantes 11

12 Introduction tâches indépendantes : pas de partage de ressources pas de contraintes de précédence cas des algorithmes en ligne dynamique sur la base d'une priorité définie soit de manière empirique soit à partir d'un paramètre temporel de la tâche priorité constante ou variable avec le temps à priorité identique, on évite la préemption test d'acceptabilité hors ligne si tous les paramètres sont connus sinon test de garantie au réveil des tâches F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 12

13 tâches périodiques F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 13

14 Rate Monotonic Analysis (RMA) algorithme à priorité constante basé sur la période (tâches à échéance sur requête) : la tâche de plus petite période est la plus prioritaire test d'acceptabilité (condition suffisante) n i=1 C i P i n 2 1/n 1 quand n est très grand : n(2 1/n 1) ~ ln 2 = 0,69 dans la pratique, on peut rencontrer des ordonnancements valides qui vont jusqu'à 88% on peut montrer que RMA est un algorithme «optimal» : une configuration qui ne peut pas être ordonnancée par RMA ne pourra pas être ordonnée par un autre algorithme à priorité fixe F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 14

15 Rate Monotonic Analysis (RMA) exemple T 1 (r 0= 0, C=3, P=20), T 2 (r 0 =0, C=2, P=5), T 3 (r 0= 0, C=2, P=10) C i = 3/20 2/5 2/10 = 0,75 n 2 1/n 1 = 0,77 P i Prio 2 > Prio 3 > Prio 1 ordonnançable T 1 T T F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 15

16 Deadline Monotonic Analysis (DMA) algorithme à priorité constante basé sur le délai critique : la tâche de plus petit délai critique est la plus prioritaire test d'acceptabilité (condition suffisante) C i n(2 1/n 1) D i n i=1 équivalent à RMA dans le cas des tâches à échéance sur requête, meilleur dans les autres cas F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 16

17 Deadline Monotonic Analysis (DMA) exemple T 1 (r 0 = 0, C=3,, D=7, P=20), T 2 (r 0 = 0, C=2, D=4, P=5), T 3 (r 0 = 0, C=2, D=9, P=10) faut voir... C i = 3/7+2/4+2/9 = 1,14 n 2 1/n 1 = 0,77 D i Prio 2 > Prio 1 > Prio 3 T 1 T T F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 17

18 Earliest Deadline First (EDF) algorithme à priorité variable ou dynamique basé sur l'échéance à chaque instant (i.e à chaque réveil de tâche), la priorité maximale est donnée à la tâche dont l'échéance est la plus proche test d'acceptabilité condition nécessaire n i=1 C i P i 1 condition suffisante n i=1 C i D i 1 on peut montrer que EDF est un algorithme optimal pour les algorithmes à priorité dynamique F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 18

19 Earliest Deadline First (EDF) exemple T 1 (r 0 = 0, C=3,, D=7, P=20), T 2 (r 0 = 0, C=2, D=4, P=5), T 3 (r 0 = 0, C=2, D=8, P=10) C i P i = 3/20 2/5 2/10 = 0,75 < 1 C i = 3/7 2/4 2/8 = 1,18 > 1 D i chronogramme T T T F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 19

20 Exercice soit une configuration avec 2 tâches à échéance sur requête : T 1 : (r 0 = 0, C 1 = 2, P 1 = 5) T 2 : (r 0 = 0, C 2 = 4, P 2 = 7) intervalle d'étude? la configuration est-elle ordonnançable avec RMA? Justifiez votre réponse. même question avec EDF tracer les chronogrammes en indiquant les éventuelles fautes temporelles F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 20

21 Least Laxity First (LLF) algorithme à priorité variable aussi appelé Least Slack Time (LST) basé sur la laxité résiduelle la priorité maximale est donnée à la tâche qui a la plus petite laxité résiduelle L(t) = D(t) C(t) équivalent à EDF si on ne calcule la laxité qu'au réveil des tâches optimum à trouver entre la granularité du calcul et le nombre de changements de contexte provoqués F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 21

22 Least Laxity First (LLF) exemple même configuration que pour EDF T 1 (r 0 = 0, C=3,, D=7, P=20), T 2 (r 0 = 0, C=2, D=4, P=5), T 3 (r 0 = 0, C=2, D=8, P=10) laxité calculée à t = 0, 1, 2, 3, etc... t = L 1 2 = 7-3 3, 2, 1, 0 L 2= 3 = = 4, 2, L 23 = = 2, L 3 = 8-2 = 6 T T T F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 22

23 Traitement des tâches apériodiques F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 23

24 Introduction tâches prises en compte dans une configuration comprenant déjà des tâches périodiques critiques les tâches apériodiques peuvent être critiques (contrainte stricte) ou non (contrainte relative) a priori, on ne connaît pas l'instant d'arrivée de la requête de réveil de la tâche apériodique besoin d'une hypothèse sur le taux d'arrivée maximal des requêtes les tâches apériodiques dont le taux d'arrivée est borné supérieurement sont dites «sporadiques» la charge dûe aux tâches apériodiques est bornée on peut garantir la réponse si le taux d'arrivée n'est pas borné : pas de garantie possible mais garantie éventuelle au cas par cas test d'acceptance pour les tâches apériodiques critiques (fermes) F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 24

25 Introduction buts à atteindre : si contraintes relatives : minimiser le temps de réponse si contraintes strictes : maximiser le nombre de tâches acceptées en respectant leurs contraintes 2 grandes catégories de traitement traitement en arrière-plan traitement par serveurs beaucoup d'études d'algorithmes F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 25

26 Tâches apériodiques à contraintes relatives F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 26

27 Traitement d'arrière-plan (1) tâches apériodiques ordonnancées quand le processeur est oisif les tâches périodiques restent les plus prioritaires (tâches critiques) ordonnancement relatif des tâches apériodiques en mode FIFO préemption des tâches apériodiques par les tâches périodiques traitement le plus simple, mais le moins performant F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 27

28 Traitement d'arrière-plan (2) ordonnancement RMA des tâches périodiques exemple Tp 1 (r 0 =0, C=2, P=5), Tp 2 (r 0 =0, C=2, P=10) Tp 1 Ta 3 (r=3, C=2), Ta 4 (r=10, C=1), Ta 5 (r=11, C=2) Tp Temps creux Tâches apériodiques Ta 3 Ta 4 Ta 5 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 28

29 Traitement par serveur (1) un serveur est une tâche périodique créée spécialement pour prendre en compte les tâches apériodiques serveur caractérisé par sa période son temps d'exécution : capacité du serveur serveur généralement ordonnancé suivant le même algorithme que les autres tâches périodiques (RMA) une fois actif, le serveur sert les tâches apériodiques dans la limite de sa capacité. l'ordre de traitement des tâches apériodiques ne dépend pas de l'algorithme général F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 29

30 Traitement par serveur par scrutation (1) Serveurs par scrutation (polling) à chaque activation, traitement des tâches en suspens jusqu'à épuisement de la capacité ou jusqu'à ce qu'il n'y ait plus de tâches en attente si aucune tâche n'est en attente (à l'activation ou parce que la dernière tâche a été traitée), le serveur se suspend immédiatement et perd sa capacité qui peut être réutilisée par les tâches périodiques (amélioration du temps de réponse) F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 30

31 Traitement par serveur par scrutation (2) exemple de serveur par scrutation (ordonnancement RMA) 2 tâches périodiques : Tp 1 (r0=0, C=3, P=20) Tp 2 (r0=0, C=2, P=10) serveur : Tp s (r0=0, C=2, P=5) C i = 3/20 2/5 2/10 = 0,75 n 2 1/n 1 = 0,77 P i Tp Tp Tp s F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 31

32 Traitement par serveur par scrutation (3) exemple de serveur par scrutation (ordonnancement RMA) 2 tâches périodiques : Tp 1 (r0=0, C=3, P=20) Tp 2 (r0=0, C=2, P=10) serveur : Tp s (r0=0, C=2, P=5) tâches apériodiques : Ta 3 (r=4, C=2), Ta 4 (r=10, C=1), Ta 5 (r=11, C=2) Tp Tp 2 Tp s Capacité Ta 3 Ta 4 capacité perdue Ta 5 Tâches apériodiques F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 32

33 Traitement par serveur par scrutation (4) limitations du serveur par scrutation perte de la capacité si aucune tâche apériodique en attente si occurrence d'une tâche apériodique alors que le serveur est suspendu, il faut attendre la requête suivante F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 33

34 Traitement par serveur sporadique (1) Serveur sporadique améliore le temps de réponse des tâches apériodiques sans diminuer le taux d'utilisation du processeur pour les tâches périodiques comme le serveur ajournable mais ne retrouve pas sa capacité à période fixe le serveur sporadique peut être considéré comme une tâche périodique «normale» du point de vue des critères d'ordonnancement F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 34

35 Traitement par serveur sporadique (2) calcul de la récupération de capacité le serveur est dit «actif» quand la priorité de la tâche courante P exe est supérieure ou égale à celle du serveur P s le serveur est dit «inactif» si P exe < P s RT : date de la récupération calculée dès que le serveur devient actif (t A ) égale à t A + T s RA : montant de la récupération à effectuer à RT calculée à l'instant t I où le serveur devient inactif ou que la capacité est épuisée égal à la capacité consommée pendant l'intervalle [t A, t I ] F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 35

36 Traitement par serveur sporadique (3) exemple de serveur sporadique à haute priorité 2 tâches périodiques : Tp 1 (r 0 =0, C=3, P=20), Tp 2 (r 0 =0, C=2, P=10) serveur : Tp s (r 0 =0, C=2, P=5) tâches apériodiques : Ta 3 (r=4, C=2), Ta 4 (r=10, C=1), Ta 5 (r=11, C=2) Tp Tp 2 Tp s Capacité Ta Ta Tâches apériodiques 3 Ta F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 36

37 Exercice 2 tâches périodiques + 1 serveur sporadique Tp 1 : t 1 = 0, C 1 = 1, T 1 = 5 Tp 2 : t 2 = 0, C 2 = 4, T 2 = 15 SS : C s = 5, T s = 10 tâches apériodiques : Ta 1 : t a1 = 4, C a1 = 2 Ta 2 : t a2 = 8, C a2 = 2 ordonnancement? F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 37

38 Tâches apériodiques à contraintes strictes F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 38

39 les algorithmes précédents restent possibles mais exécution d'un test d'acceptance avant l'acceptation ou le rejet de la tâche : suffisamment de temps CPU disponible (processeur oisif ou capacité serveur disponible) avant l'échéance de la tâche apériodique F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 39

40 Principe de l'ordonnancement ordonnancer les tâches en EDF A chaque nouvelle tâche apériodique, faire tourner une "routine de garantie" pour vérifier que toutes les contraintes temporelles seront respectées si oui, accepter la tâche. si non, refuser la tâche. 2 politiques d'acceptation dynamique : acceptation dans les temps creux ordonnancement conjoint favorise les tâches périodiques F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 40

41 acceptation dans les temps creux (1) ordonnancement EDF des tâches périodiques les tâches apériodiques acceptées sont ordonnancées dans les temps creux des tâches périodiques (~ méthode d'arrière-plan) selon l'algorithme EDF routine de garantie (au réveil d'une tâche apériodique): teste l'existence d'un temps creux suffisant entre le réveil et l'échéance de la tâche apériodique) vérifie que l'acceptation de la nouvelle tâche ne remet pas en cause le respect des contraintes temporelles des autres tâches apériodiques déjà acceptées et non encore terminées si OK, la tâche est ajoutée à la liste des tâches apériodiques F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 41

42 acceptation dans les temps creux (2) exemple Tp 1 (r 0 =0, C=3, D=7, P=20), Tp 2 (r 0 =0, C=2, D=4, P=5), Tp 3 (r 0 =0, C=1, D=8, P=10) Tp 1 Ta 4 (r=4, C=2, d=10), Ta 5 (r=10, C=1, d=18), Ta 6 (r=11, C=2, d=16) Tp Tp Temps creux Tâches apériodiques Ta 4 Ta 5 Ta 6 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 42

43 acceptation dans les temps creux (3) exemple Tp 1 (r 0 =0, C=3, D=7, P=20), Tp 2 (r 0 =0, C=2, D=4, P=5), Tp 3 (r 0 =0, C=1, D=8, P=10) Tp 1 Ta 4 (r=4, C=2, d=10), Ta 5 (r=10, C=2, d=18), Ta 6 (r=11, C=2, d=16) Tp Tp Temps creux Tâches apériodiques Ta 4 Ta 5 X Ta 6 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 43

44 ordonnancement conjoint (1) la séquence des tâches périodiques n'est plus immuable à l'arrivée de chaque nouvelle tâche apériodique, construction d'une nouvelle séquence EDF si la construction est possible : acceptation de la tâche sinon rejet F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 44

45 ordonnancement conjoint (2) exemple Tp 1 (r 0 =0, C=3, D=7, P=20), Tp 2 (r 0 =0, C=2, D=4, P=5), Tp 3 (r 0 =0, C=1, D=8, P=10) Ta 4 (r=4, C=2, d=10), Ta 5 (r=10, C=1, d=18), Tp 1 Tp 2 Tp Tâches apériodiques Ta 4 Ta 5 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 45

46 ordonnancement conjoint (3) exemple Tp 1 (r 0 =0, C=3, D=7, P=20), Tp 2 (r 0 =0, C=2, D=4, P=5), Tp 3 (r 0 =0, C=1, D=8, P=10) Ta 4 (r=4, C=2, d=10), Ta 5 (r=10, C=1, d=18), Ta 6 (r=11, C=2, d=16) Tp 1 Tp 2 Tp Tâches apériodiques Ta Ta 5 4 Ta 6 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 46

47 ordonnancement conjoint (3) exemple Tp 1 (r 0 =0, C=3, D=7, P=20), Tp 2 (r 0 =0, C=2, D=4, P=5), Tp 3 (r 0 =0, C=1, D=8, P=10) Ta 4 (r=4, C=2, d=10), Ta 5 (r=10, C=2, d=18), Ta 6 (r=11, C=2, d=16) Tp 1 Tp 2 Tp Tâches apériodiques Ta Ta 5 4 Ta 6 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 47

48 Ordonnancement de tâches dépendantes 48

49 Plan types de contraintes étudiées contraintes de précédence contraintes liées au partage de ressources critiques présentation et illustration des contraintes algorithmes pour les ordonnancer étude de cas : la mission Pathfinder sur Mars (TD) F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 49

50 Présentation des contraintes 50

51 Contraintes de précédence (1) Contraintes de précédence sur l'ordre d'exécution des tâches les unes par rapport aux autres généralement décrites par un graphe orienté G T a < T b indique que la tâche T a est un prédécesseur de T b T a T b indique que la tâche T a est un prédécesseur immédiat de T b T 1 T 2 T 3 T 4 T 5 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 51

52 Contraintes de précédence (1) Contraintes de précédence sur l'ordre d'exécution des tâches les unes par rapport aux autres généralement décrites par un graphe orienté G T a < T b indique que la tâche T a est un prédécesseur de T b T a T b indique que la tâche T a est un prédécesseur immédiat de T b T 1 T 2 T 3 T 1 < T 2 T 1 T 2 T 1 < T 4 T 4 T 5 T 1 T 4 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 52

53 Contraintes de précédence (3) caméra stéréoscopique exemple : reconnaissance de formes objets défilants sur un tapis roulant système d'acquisition acq1 et de traitement acq2 image1 image2 8 tâches 2 acquisitions 2 traitements image analyse de forme analyse des différences calcul de hauteur reconnaissance finale diff hauteur forme reconn F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 53

54 Partage de ressources (1) contraintes sur les accès aux ressources ressource : toute structure logicielle qui peut être utilisée par une tâche pour son exécution privée si dédiée à la tâche partagée si elle peut être utilisée par plusieurs tâche exclusive si une seule tâche à la fois peut l'utiliser l'accès séquentiel par plusieurs tâches à une ressource exclusive nécessite un mécanisme de synchronisation les codes implémentant les opérations en exclusion mutuelle sont des sections critiques F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 54

55 Partage de ressources (2) phénomènes de blocage et d'inversion de priorité T 1 Demande Δt Libère Demande Libère T 2 Priorité(T 1 ) > Priorité(T 2 ) Exécution normale Section critique le délai imposé par T 2 à T 1 est «normal» F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 55

56 Partage de ressources (3) phénomènes de blocage et d'inversion de priorité Demande δt Libère T 1 T 3 Demande Libère T 2 Priorité(T 1 ) > Priorité(T 3 ) > Priorité(T 2 ) Exécution normale Section critique le délai supplémentaire apporté à T 1 par T 3 est dû au phénomène d' «inversion de priorité» F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 56

57 Quelques «anomalies» d'ordonnancement Théorème de Graham : si un ensemble de tâches est ordonnancé de façon optimale sur un système multiprocesseur avec des priorités assignées, des temps d'exécution fixées et des contraintes de précédence, alors le fait d'augmenter le nombre de processeurs, de réduire les temps d'exécution ou de relaxer les contraintes de précédence peut conduire à détériorer la durée d'exécution de l'algorithme F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 57

58 Quelques «anomalies» d'ordonnancement exemple 9 tâches de priorités décroissantes (Prio(J i ) > Prio(J j )) i > j contraintes de précédence et temps d'exécution : J 1 (3) J 2 (2) J 3 (2) J 9 (9) J 8 (4) J 7 (4) J 6 (4) J 4 (2) J 5 (4) F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 58

59 Quelques «anomalies» d'ordonnancement P 1 ordonnancement optimal sur un système à 3 processeurs J 1 J 9 J 1 (3) J 9 (9) J 8 (4) J 2 (2) J 7 (4) J 3 (2) J 6 (4) J 4 (2) J 5 (4) P 2 P 3 J 2 J 4 J 5 J 7 J 3 J 6 J sur un système à 4 processeurs : P 1 J 1 J 8 J 9 P 2 J 2 J 5 P 3 J 3 J 6 P 4 J 4 J F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 59

60 Quelques «anomalies» d'ordonnancement ordonnancement optimal sur un système à 3 processeurs J 1 (3) J 2 (2) J 3 (2) J 9 (9) J 8 (4) J 7 (4) J 6 (4) P 1 J 1 J 9 J 2 J 4 J 5 J 7 J 4 (2) J 5 (4) J 3 J 6 J 8 P 2 P en réduisant d'une unité le temps de calcul des tâches P 1 P 2 P 3 J 1 J 5 J 8 J 3 J 7 J 1 (2) J 9 (8) J 8 (3) J 2 (1) J 7 (4) J 3 (1) J 6 (3) J 4 (1) J 5 (3) F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 60

61 Quelques «anomalies» d'ordonnancement P 1 P 2 ordonnancement optimal sur un système à 3 processeurs J 1 J 9 J 2 J 4 J 5 J 7 J 1 (3) J 2 (2) J 3 (2) J 9 (9) J 8 (4) J 7 (4) J 6 (4) J 4 (2) J 5 (4) P 3 J 3 J 6 J en supprimant quelques relations de précédence P 1 P 2 P 3 J 1 J 8 J 9 J 1 (3) J 2 (2) J 3 (2) J 9 (9) J 8 (4) J 7 (4) J 6 (4) J 2 J 4 J 5 J 3 J 7 J 6 J 4 (2) J 5 (4) F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 61

62 Quelques «anomalies» d'ordonnancement exemple d'anomalie sur des contraintes de ressources 5 tâches allouées statiquement à 2 processeurs J 2 et J 4 partagent une ressource exclusive P 1 P 2 J 3 J 1 J 2 J 4 J si on réduit le temps d'exécution de J 1 P 1 P 2 J 3 J 4 J 5 J 1 J F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 62

63 Algorithmes d'ordonnancement

64 Contraintes de précédence ici, seulement précédence simple si T i est périodique de période P i, alors T j l'est aussi et P j = P i principe de l'établissement de l'ordonnancement : transformer l'ensemble des tâches dépendantes en un ensemble de tâches «indépendantes» que l'on ordonnancera par un algorithme classique par des modifications des paramètres des tâches si T i T j alors la règle de transformation doit respecter r j r i Prio i > Prio j validation de l'ordonnançabilité selon des critères utilisés pour des tâches indépendantes F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 64

65 Contraintes de précédence contraintes de précédence et Rate Monotonic la transformation s'opère hors ligne sur la date de réveil et sur les délais critiques r* i = Max{r i, r* j } pour tous les j tels que T j T i si T i T j alors Prio i > Prio j dans le respect de la règle d'affectation des priorités par RMA F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 65

66 Contraintes de précédence contraintes de précédence et Deadline Monotonic la transformation s'opère hors ligne sur la date de réveil et sur les délais critiques r* i = Max{r i, r* j } pour tous les j tels que T j T i D* i = Max{Di, D* j } pour tous les j tels que T j T i si T i T j alors Prio i > Prio j dans le respect de la règle d'affectation des priorités par DMA F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 66

67 Contraintes de précédence contraintes de précédence et EDF modification des échéances de façon à ce qu'une tâche ait toujours un d i inférieur à celui de ses successeurs (algorithme de Chetto et al.) une tâche ne doit être activable que si tous ses prédécesseurs ont terminé leur exécution modification de la date de réveil et de l'échéance r* i = Max{r i, Max{r* j + C j }} pour tous les j tels que T j T i d* i = Min{d i, Min{d* j - C j }} pour tous les j tels que T i T j on itère sur les prédécesseurs et successeurs immédiats on commence les calculs par les tâches qui n'ont pas de prédécesseurs pour le calcul des r et par les tâches qui n'ont pas de successeur pour le calcul des d F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 67

68 Contraintes de précédence exemple T 1 T 3 T 5 T 2 T 4 Paramètres des tâches Tâche r i C i d i T T T T T F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 68

69 Contraintes de précédence exemple T 1 T 3 T 5 T 2 T 4 Paramètres des tâches Earliest Deadline Tâche r i C i d i r* i d* i T T T T T F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 69

70 Contraintes de précédence exemple T 1 T 3 T 1 n'a pas de prédécesseur r* 1 = 0 T 5 T 4 T 2 Paramètres des tâches Earliest Deadline Tâche r i C i d i r* i d* i T T T T T F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 70

71 Contraintes de précédence exemple T 1 T 3 T 2 n'a pas de prédécesseur r* 2 = 5 T 5 T 4 T 2 Paramètres des tâches Earliest Deadline Tâche r i C i d i r* i d* i T T T T T F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 71

72 Contraintes de précédence exemple T 1 T 3 T 3 a T 1 pour prédécesseur r* 3 = Max(r 3, r* 1 +C 1 ) = 1 T 5 T 4 T 2 Paramètres des tâches Earliest Deadline Tâche r i C i d i r* i d* i T T T T T F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 72

73 Contraintes de précédence exemple T 1 T 3 T 5 T 4 a T 1 et T 2 pour prédécesseurs r* 4 = Max(r 4, Max(r* 1 +C 1,r* 2 +C 2 )) = 7 T 2 T 4 Paramètres des tâches Earliest Deadline Tâche r i C i d i r* i T T T T T F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 73

74 Contraintes de précédence exemple T 1 T 3 T 5 T 5 a T 3 et T 4 pour prédécesseurs r* 5 = Max(r 5, Max(r* 3 +C 3,r* 4 +C 4 )) = 8 T 2 T 4 Paramètres des tâches Earliest Deadline Tâche r i C i d i r* i d* i T T T T T F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 74

75 Contraintes de précédence exemple T 1 T 3 T 5 n'a pas de successeur d* 5 = 12 T 5 T 4 T 2 Paramètres des tâches Earliest Deadline Tâche r i C i d i r* i d* i T T T T T F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 75

76 Contraintes de précédence exemple T 1 T 3 T 5 T 4 a T 5 pour successeur d* 4 = Min(d 4,Min(d* 5 -C 5 )) = 9 T 2 T 4 Paramètres des tâches Earliest Deadline Tâche r i C i d i r* i d* i T T T T T F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 76

77 Contraintes de précédence exemple T 1 T 3 T 5 T 3 a T 5 pour successeur d* 3 = Min(d 3,Min(d* 5 -C 5 )) = 5 T 2 T 4 Paramètres des tâches Earliest Deadline Tâche r i C i d i r* i d* i T T T T T F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 77

78 Contraintes de précédence exemple T 1 T 3 T 5 T 2 a T 4 pour successeur d* 2 = Min(d 2,Min(d* 4 -C 4 )) = 5 T 2 T 4 Paramètres des tâches Earliest Deadline Tâche r i C i d i r* i d* i T T T T T F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 78

79 Contraintes de précédence exemple T 1 T 3 T 5 T 1 a T 3 et T 4 pour successeurs d* 2 = Min(d 2,Min(d* 3 -C 3, d* 4 -C 4 )) = 3 T 2 T 4 Paramètres des tâches Earliest Deadline Tâche r i C i d i r* i d* i T T T T T F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 79

80 Contraintes de précédence exemple T 1 T T 1 T 3 2 T T 5 3 T T 2 T 4 4 T Paramètres des tâches Earliest Deadline Tâche r i C i d i r* i d* i T T T T T F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 80

81 Contraintes de précédence exemple T 1 T T 1 T 3 2 T T 5 3 T T 2 T 4 4 T Paramètres des tâches Earliest Deadline Tâche r i C i d i r* i d* i T T T T T F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 81

82 Contraintes de précédence exemple T 1 T T 1 T 3 2 T T 5 3 T T 2 T 4 4 T Paramètres des tâches Earliest Deadline Tâche r i C i d i r* i d* i T T T T T F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 82

83 Partage de ressources critiques une ressource critique ne peut être utilisée simultanément par plusieurs tâches être réquisitionnée par une autre tâche notion de section critique séquence d'instructions pendant lesquelles on utilise une ressource critique sans problème dans le cas d'un ordonnancement non préemptif, mais c'est rarement le cas dans un environnement temps réel évaluation du temps de réponse très difficile, sinon impossible abondante littérature! F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 83

84 Partage de ressources critiques inversion de priorité phénomène dû à la présence simultanée de priorités fixes et de ressources à accès exclusif dans un environnement préemptif exemple de 4 tâches de priorités décroissantes prio(t 1 ) > prio(t 2 ) > prio(t 3 ) > prio(t 4 ) si pas de partage de ressource commune : T 1 T 2 T 3 T 4 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 84

85 Partage de ressources critiques inversion de priorité phénomène dû à la présence simultanée de priorités fixes et de ressources à accès exclusif dans un environnement préemptif exemple de 4 tâches de priorités décroissantes prio(t 1 ) > prio(t 2 ) > prio(t 3 ) > prio(t 4 ) si partage d'une ressource commune T 1 R 1 T 2 T 3 T 4 R 1 R 1 le retard de T 2 dû à T 3 est une "inversion de priorité", non prévue F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 85

86 Héritage de priorité principe : attribuer à la tâche qui possède la ressource la priorité de la tâche de plus haute priorité qui attend la ressource hypothèses de travail n tâches périodiques T 1, T 2,..., T n (période P i, capacité C i ) à échéance sur requête partageant m ressources R 1, R 2,..., R m chaque ressource R j est gardée par un sémaphore binaire S j limitant une section critique z i,j (pour T i ) P i : priorité nominale, p i : priorité active P 1 > P 2 >... > P n z i,j z i,k ou z i,k z i,j ou z i,j z i,k = z i,j et z i,k F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 86

87 Héritage de priorité définition du protocole d'héritage de priorité les tâches sont ordonnancées suivant leur priorité active quand une tâche T i cherche à entrer dans une section critique z i,j et que la ressource R j est déjà possédée par une tâche T k, de priorité plus faible, alors T i se bloque (sinon T i entre dans z i,j ) la tâche T i, bloquée, transmet sa priorité à T k qui peut alors redémarrer et terminer l'exécution de la section critique z k,j quand T k sort de la section critique, il relâche le sémaphore S j et la tâche de plus haute priorité est réveillée. Si aucune tâche n'est encore bloquée par T k, alors p k est ramenée à P k, sinon on donne à p k la plus haute des priorités des tâches en attente F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 87

88 Héritage de priorité exemple sans héritage de priorité R 1 T 1 T 2 R 1 T 3 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 88

89 Héritage de priorité exemple sans héritage de priorité T 1 R 1 Blocage direct T 2 R 1 T 3 T 1 avec héritage de priorité R 1 Blocage indirect T 2 R 1 T 3 p 3 P 1 P 3 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 89

90 Héritage de priorité propriétés du protocole d'héritage des priorités le temps de blocage B d'une tâche de haute priorité par une tâche de plus basse priorité nominale est borné mais le calcul de ce temps de blocage maximum peut être très complexe condition nécessaire d'ordonnançabilité par un algorithme Rate Monotonic : i, 1 i n, i k=1 C k T k B i T i i 2 1 /i 1 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 90

91 Héritage de priorité problèmes rémanents blocages en chaîne R a R b T 1 R b T 2 R a T 3 étreinte fatale (deadlock), si 2 tâches utilisent 2 ressources imbriquées, mais dans l'ordre inverse T 1 T 2 R b R a R b R a T 1 T 2 wait (S b ) wait (S a ) signal (S b ) signal (S a ) wait (S a ) wait (S b ) signal (S a ) signal (S b ) F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 91

92 Priorité plafonnée introduit à la fin des années 80 pour résoudre le problème d'inversion de priorité tout en prévenant l'occurence de deadlocks et de blocages en chaîne amélioration du protocole d'héritage de priorité : une tâche ne peut pas entrer dans une section critique s'il y a un sémaphore acquis qui pourrait la bloquer principe : on attribue à chaque sémaphore une priorité plafond égale à la plus haute priorité des tâches qui pourraient l'acquérir. Une tâche ne pourra entrer dans la section critique que si elle possède une priorité supérieure à toutes celles des priorités plafond des sémaphores acquis par les autres tâches F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 92

93 Priorité plafonnée définition du protocole on attribue à chaque sémaphore S k une priorité plafond C(S k ) égale à la plus haute priorité des tâches susceptibles de l'acquérir soit T i la tâche prête de plus haute priorité : l'accès au processeur est donné à T i soit S* le sémaphore dont la priorité plafond C(S*) est la plus grande parmi tous les sémaphores déjà acquis par des tâches autres que T i pour entrer dans une section critique gardée par un sémaphore S k, T i doit avoir une priorité supérieure à C(S*). Si P i C(S*), l'accès à S k est dénié et on dit que T i est bloquée sur S* par la tâche qui possède S* F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 93

94 Priorité plafonnée quand une tâchet i est bloquée sur l'acquisition d'un sémaphore, elle transmet sa priorité à la tâche T k qui possède le sémaphore (héritage par T k de la priorité de T i ) quand T k sort de la section critique, elle libère le sémaphore et la tâche de plus haute priorité bloquée sur le sémaphore est réveillée. La priorité active de T k est modifiée : si T k ne bloque aucune autre tâche, elle revient à sa priorité nominale sinon, T k prend la priorité la plus élevée des tâches qu'elle bloque l'héritage de priorité est transitif : si T 3 bloque T 2 et T 2 bloque T 1, alors J 3 récupère la priorité de T 1 via T 2 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 94

95 Priorité plafonnée exemple 3 tâches T 0, T 1, T 2 de priorités décroissantes P 0 > P 1 > P 2 T 0 accède séquentiellement à 2 sections critiques gardées par les sémaphores S 0 et S 1 T 1 accède à une section critique gardée par S 2 T 2 accède à la section critique gardée par S 2 et aussi, de manière imbriquée, à S 1 les priorités plafond sont : C(S 0 ) = P 0 C(S 1 ) = P 0 C(S 2 ) = P 1 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 95

96 Priorité plafonnée T 0 T 1 T 2 p 2 R 2 R 0 S0 R 1 S1 S2 C(S 0 ) = P 0 C(S 1 ) = P 0 C(S 2 ) = P 1 R 2 S2 S2 R 1 S1 S1 R 1 S2 P 0 P 1 P 2 t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 à t 0, T 2 est activée et démarre. Le sémaphore S 2 est demandé et obtenu (il n'y a pas d'autre ressource en cours d'utilisation) F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 96

97 Priorité plafonnée T 0 T 1 T 2 p 2 R 2 R 0 S0 R 1 S1 S2 C(S 0 ) = P 0 C(S 1 ) = P 0 C(S 2 ) = P 1 R 2 S2 S2 R 1 S1 S1 R 1 S2 P 0 P 1 P 2 t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 à t 1, T 1 est activée et préempte T 2 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 97

98 Priorité plafonnée T 0 T 1 T 2 p 2 R 2 R 0 S0 R 1 S1 S2 C(S 0 ) = P 0 C(S 1 ) = P 0 C(S 2 ) = P 1 R 2 S2 S2 R 1 S1 S1 R 1 S2 P 0 P 1 P 2 t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 à t 2, T 1 demande S 2 et est bloquée par le protocole car la priorité de T 1 n'est pas supérieure à la priorité plafond C(S 2 )=P 1 (S 2 est le seul sémaphore acquis à t 2 ) T 2 hérite de la priorité de T 1 et redémarre F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 98

99 Priorité plafonnée T 0 T 1 T 2 p 2 R 2 R 0 S0 R 1 S1 S2 C(S 0 ) = P 0 C(S 1 ) = P 0 C(S 2 ) = P 1 R 2 S2 S2 R 1 S1 S1 R 1 S2 P 0 P 1 P 2 t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 à t 3, T 2 demande et obtient le sémaphore S 1, car aucune autre tâche ne détient de ressource F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 99

100 Priorité plafonnée T 0 T 1 T 2 p 2 R 2 R 0 S0 R 1 S1 S2 C(S 0 ) = P 0 C(S 1 ) = P 0 C(S 2 ) = P 1 R 2 S2 S2 R 1 S1 S1 R 1 S2 P 0 P 1 P 2 t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 à t 4 T 0 est réveillée et préempte T 2 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 100

101 Priorité plafonnée T 0 T 1 T 2 p 2 R 2 R 0 S0 R 1 S1 S2 C(S 0 ) = P 0 C(S 1 ) = P 0 C(S 2 ) = P 1 R 2 S2 S2 R 1 S1 S1 R 1 S2 P 0 P 1 P 2 t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 à t 5, T 0 demande le sémaphore S 0 qui n'est détenu par aucune autre tâche. Le protocole bloque néanmoins T 0 parce que sa priorité n'est pas supérieure à la plus grande priorité plafond des sémaphores déjà détenus (S 2 et S 1 ) : P 0 T 2 hérite de la priorité de T 0 et peut redémarrer F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 101

102 Priorité plafonnée T 0 T 1 T 2 p 2 R 2 R 0 S0 R 1 S1 S2 C(S 0 ) = P 0 C(S 1 ) = P 0 C(S 2 ) = P 1 R 2 S2 S2 R 1 S1 S1 R 1 S2 P 0 P 1 P 2 t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 à t 6, T 2 relâche S 1. Sa priorité p 2 est ramenée à P 1, plus haute priorité des tâches bloquées par T 2 T 0 est réveillée et peut alors préempter T 2 et acquérir S 0 puisque la priorité plafond de S 2 (seul sémaphore encore pris) est égale à P 1 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 102

103 Priorité plafonnée T 0 T 1 T 2 p 2 R 2 R 0 S0 R 1 S1 S2 C(S 0 ) = P 0 C(S 1 ) = P 0 C(S 2 ) = P 1 R 2 S2 S2 R 1 S1 S1 R 1 S2 P 0 P 1 P 2 t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 à t 7 quand T 0 demande S 1, le seul sémaphore encore tenu est S 2 avec une priorité plafond P 1 T 0 (priorité P 0 > P 1 ) obtient S 1 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 103

104 Priorité plafonnée T 0 T 1 T 2 p 2 R 2 R 0 S0 R 1 S1 S2 C(S 0 ) = P 0 C(S 1 ) = P 0 C(S 2 ) = P 1 R 2 S2 S2 R 1 S1 S1 R 1 S2 P 0 P 1 P 2 t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 à t 8, T 0 se termine. T 2 peut reprendre son exécution, toujours avec la même priorité P 1 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 104

105 Priorité plafonnée T 0 C(S 0 ) = P 0 T 1 T 2 p 2 R 0 S0 R 1 S1 R 2 S2 C(S 1 ) = P 0 C(S 2 ) = P 1 R 2 S2 S2 R 1 S1 S1 R 1 S2 P 0 P 1 P 2 t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 à t 9, T 2 relâche S 2. Sa priorité est ramenée à sa valeur nominale P 2. T 1 peut alors préempter T 2 et redémarrer à t 10, T 1 se termine, T 2 peut redémarrer et se terminer F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 105

106 Priorité plafonnée on a le même critère d'ordonnançabilité par RMA que dans le cas du protocole d'héritage de priorité i, 1 i n, i C k k=1 T B i i 2 1/i 1 k T i mais le calcul du temps de blocage maximum de chaque tâche est plus simple : on peut démontrer que le temps de bloquage maximum B i d'une tâche T i est la durée de la plus longue des sections critiques parmi celles appartenant à des tâches de priorité inférieure à P i et gardées par des sémaphores dont la priorité plafond est supérieure ou égale à P i B i = max j,k {D j,k P j P i, C S k P i } F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 106

107 exercice tâches avec demandes de ressources imbriquées F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 107

108 exemple : la mission Pathfinder F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 108

109 Ordonnancement en situations de surcharge 109

110 Plan notions liées à la surcharge définitions métrique schémas d'ordonnancement classes d'algorithmes tâches périodiques tâches quelconques F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 110

111 Notion de surcharge quand la charge du processeur est telle qu'il est impossible de respecter toutes les échéances origines possibles multiples matériel, par exemple une transmission défectueuse qui fait qu'un signal arrive en retard (réseau surchargé) contention sur une ressource critique réveil de tâches apériodiques suite à des alarmes les algorithmes à priorités classiques (du type EDF ou RMA) offrent des performances souvent médiocre en cas de surcharge F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 111

112 Notion de surcharge effet "domino" dû à l'arrivée d'une tâche supplémentaire dans un ordonnancement EDF C=4 C=4 C=1,5 C=1,5 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 112

113 Notion de surcharge effet "domino" dû à l'arrivée d'une tâche supplémentaire dans un ordonnancement EDF C=2 Boum! C=4 Boum! C=4 Boum! C=1,5 Boum! C=1,5 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 113

114 Notion de surcharge dans un contexte temps réel préemptible de n tâches périodiques indépendantes à échéance sur requête, la charge est équivalente au facteur d'utilisation U : U= n i=1 cas général basée sur le fait que pour une tâche unique de capacité C i et de délai critique D i, la charge dans l'intervalle [r i, d i ] est = C i /D i (d i = r i + D i ) calculée au réveil des tâches (date t = r i ) C i T i i t = c k t d k d i d i t = max i t F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 114

115 Notion de surcharge exemple J 1 : (C 1 = 2, r 1 = 3, d 1 = 6) J 2 : (C 2 = 3, r 2 = 1, d 2 = 7) J 3 : (C 3 = 1, r 3 = 2, d 3 = 9) J 1 c k t d i = k d i d i t à t = 3 1 (3) = 2/3 J 2 2 (3) = 3/4 J (3) = 4/6 (3) = 3/4 F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 115

116 Notion de surcharge en l'absence de possibilité de surcharge, l'optimalité d'un algorithme est facile à définir et l'importance relative des tâches n'a pas d'intérêt en présence d'un système où l'arrivée dynamique de tâches est autorisée, il n'y a pas d'algorithme qui puisse garantir la bonne exécution de l'ensemble des tâches l'importance de l'exécution d'une tâche ne peut pas se définir seulement à l'aide de son échéance il est sûrement plus important de faire la mesure d'un capteur toutes les 10s que de mettre à jour l'heure sur l'écran de contrôle toute les secondes F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 116

117 Notion de surcharge nécessité de définir une valeur associée à la tâche qui reflète son importance relative par rapport aux autres tâches dans les tâches temps réel, l'échéance fait partie aussi de la définition de la valeur de la tâche intérêt de définir une "fonction d'utilité" qui décrit l'importance de la tâche en fonction du temps v(f i ) v(f i ) non temps réel mou f i f i v(f i ) v(f i ) ferme dur f i f i F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 117

118 Notion de surcharge évaluation de la performance d'un algorithme par où v(f i ) est l'utilité de la tâche à sa terminaison remarque : si une tâche temps réel dur dépasse son échéance, alors Γ A vaut - il faut réserver les ressources (entre autres la CPU) pour garantir les tâches "dures" pour un ensemble de n tâches J i (C i, D i, V i ), où V i est l'utilité de la tâche quand elle se termine avant son échéance, la valeur maximale de Γ A est n Γ A = i=1 v(f i ) n Γ = A i=1 en conditions de surcharge, la qualité d'un algorithme A se mesure en comparant Γ A à Γ max v(f i ) F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 118

119 Gestion des situations de surcharge Rappel : en présence d'un système où l'arrivée dynamique de tâches est autorisée, il n'y a pas d'algorithme qui puisse garantir la bonne exécution de l'ensemble des tâches seulement des politiques plus ou moins bien adaptées aux circonstances tâches périodiques tâches quelconques F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 119

120 Tâches périodiques pas d'arrivée dynamique de nouvelles tâches durées d'exécutions variables, non forcément bornables 2 politiques présentées : méthode du mécanisme à échéance méthode du calcul approché F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 120

121 Méthode du mécanisme à échéance (1) principe : chaque tâche a 2 versions version primaire assurant une bonne qualité de service mais dans un temps indéterminé version secondaire fournissant un résultat suffisamment acceptable au bout d'un temps connu l'algorithme de tolérance aux fautes doit assurer le respect de toutes les échéances, soit par le primaire soit par le secondaire si les 2 marchent, on garde le primaire si le primaire ne réussit pas, le secondaire doit réussir ordonnancement = juxtaposition d'une séquence des primaires et d'une des secondaires + règle de décision pour commuter de l'une à l'autre F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 121

122 Méthode du mécanisme à échéance (2) 2 politiques possibles : politique de la Première Chance : Prio (Secondaires) > Prio (Primaires) les primaires sont exécutés dans les temps creux du processeur après leur secondaire politique de la Seconde Chance : primaires exécutés avant les secondaires secondaires exécutés plus tard si le primaire réussit, le secondaire n'est pas exécuté pour obtenir un minimum de qualité de service, il faut un certain pourcentage de réussite des primaires et donc garder suffisamment de temps de processeur pour cela F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 122

123 Méthode du calcul approché chaque tâche est décomposée en 2 parties : mandataire, fournissant un résultat approché et devant s'exécuter dans le respect de son échéance optionnelle, affinant le résultat et exécutée seulement s'il reste assez de temps évite les surcoûts dûs à la coordination entre plusieurs versions d'une même tâche même remarque que précédemment à propos de la qualité de service minimale F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 123

124 Tâches quelconques modèle canonique des tâches insuffisant, basé sur urgence délai critique un nouveau paramètre est nécessaire: importance, codant le caractère primordial de la tâche dans l'application définition subjective (cahier des charges) F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 124

125 Tâches quelconques cause fréquente des fautes temporelles : occurrence d'une tâche apériodique possible de les rejeter par une routine de garantie, éventuellement vers un autre processeur moins chargé dans un environnement réparti mais le mécanisme est lourd ordonnancement à importance 3 classes de politiques pour décider l'acceptation (ou le rejet) des nouvelles tâches : meilleur effort avec garantie robuste F. Touchard Introduction aux systèmes Temps Réels Ordonnancement 125

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

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

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

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

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

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

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

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

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1 CHAPTER 1 Ordonnancement 1.1. Étude de cas Ordonnancement de tâches avec contraintes de précédences 1.1.1. Exemple : construction d'une maison. Exercice. On veut construire une maison, ce qui consiste

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

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

OPTIMISATION À UNE VARIABLE

OPTIMISATION À UNE VARIABLE OPTIMISATION À UNE VARIABLE Sommaire 1. Optimum locaux d'une fonction... 1 1.1. Maximum local... 1 1.2. Minimum local... 1 1.3. Points stationnaires et points critiques... 2 1.4. Recherche d'un optimum

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

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

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

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011 Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique

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

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

FORMULE DE PLACEMENT APESS «FPA»

FORMULE DE PLACEMENT APESS «FPA» FORMULE DE PLACEMENT APESS «FPA» Historique Depuis 1991, les membres de l APESS peuvent profiter d une formule de placement individuelle avantageuse. La formule de Placement APESS «FPA» a été élaborée

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

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

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

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

Table des matières Schéma E - Emprunts

Table des matières Schéma E - Emprunts Table des matières Schéma E - Emprunts Table des matières Schéma E - Emprunts 1 INDICATIONS RELATIVES À L'ÉMETTEUR... 1 1.1 Indications générales... 1 1.1.1 Raison sociale, siège social et siège administratif...

Plus en détail

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager

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

Historique. Avantages de la FPA

Historique. Avantages de la FPA Historique Depuis 1991, les membres de l APESS peuvent profiter d une formule de placement individuelle avantageuse. Cette formule de placement a été élaborée par les responsables du service placement

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 Ordonnancement avec contraintes de précédance Problèmatique des accès concurents Problème liés aux partage de ressources Solutions utres

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

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

PEL et CEL. Mots clés : Sommaire : PEL et CEL. 1. Caractéristiques et fonctionnement du PEL. 2. Gestion du PEL du CEL.

PEL et CEL. Mots clés : Sommaire : PEL et CEL. 1. Caractéristiques et fonctionnement du PEL. 2. Gestion du PEL du CEL. - 1 - PEL et CEL Mots clés : Plan Epargne Logement Compte Prêt PEL CEL Crédit Construction Acquisition Résidence Versement Prime Sommaire : 1. Caractéristiques et fonctionnement du PEL 1.1 Caractéristiques

Plus en détail

I- Définitions des signaux.

I- Définitions des signaux. 101011011100 010110101010 101110101101 100101010101 Du compact-disc, au DVD, en passant par l appareil photo numérique, le scanner, et télévision numérique, le numérique a fait une entrée progressive mais

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

Pourquoi l apprentissage?

Pourquoi l apprentissage? Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage

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

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA 75. Un plombier connaît la disposition de trois tuyaux sous des dalles ( voir figure ci dessous ) et il lui suffit de découvrir une partie de chacun d eux pour pouvoir y poser les robinets. Il cherche

Plus en détail

Installation d'un serveur DHCP sous Windows 2000 Serveur

Installation d'un serveur DHCP sous Windows 2000 Serveur Installation d'un serveur DHCP sous Windows 2000 Serveur Un serveur DHCP permet d'assigner des adresses IP à des ordinateurs clients du réseau. Grâce à un protocole DHCP (Dynamic Host Configuration Protocol),

Plus en détail

Cours 02 : Problème général de la programmation linéaire

Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la Programmation Linéaire. 5 . Introduction Un programme linéaire s'écrit sous la forme suivante. MinZ(ou maxw) =

Plus en détail

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE 2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance

Plus en détail

Algorithmes de recherche

Algorithmes de recherche Algorithmes de recherche 1 Résolution de problèmes par recherche On représente un problème par un espace d'états (arbre/graphe). Chaque état est une conguration possible du problème. Résoudre le problème

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

Méthodes de développement. Analyse des exigences (spécification)

Méthodes de développement. Analyse des exigences (spécification) 1 / 16 Méthodes de développement Analyse des exigences (spécification) 1 -Objectifs de l'analyse des exigences... 2 2 - Approfondissement et formalisation du besoin... 2 2.1 Séparation des besoins, contraintes

Plus en détail

Modèle de calcul des paramètres économiques

Modèle de calcul des paramètres économiques Modèle de calcul des paramètres économiques selon norme SIA 480 Calcul de rentabilité pour les investissements dans le bâtiment Version 3.2 1. Introduction 1.1 Version Excel Le modèle de calcul a été développé

Plus en détail

Série TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4.

Série TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4. Série TD 3 Exercice 4.1 Formulez un algorithme équivalent à l algorithme suivant : Si Tutu > Toto + 4 OU Tata = OK Alors Tutu Tutu + 1 Tutu Tutu 1 ; Exercice 4.2 Cet algorithme est destiné à prédire l'avenir,

Plus en détail

COMMENT MAITRISER LA GESTION DES APPROVISIONNEMENTS ET DES STOCKS DE MEDICAMENTS

COMMENT MAITRISER LA GESTION DES APPROVISIONNEMENTS ET DES STOCKS DE MEDICAMENTS 1 sur 9 COMMENT MAITRISER LA GESTION DES APPROVISIONNEMENTS ET DES STOCKS DE MEDICAMENTS (L'article intégral est paru dans Gestions Hospitalières n 357 de juin-juillet 1996) Pour plus d'informations concernant

Plus en détail

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique Objectifs Clustering On ne sait pas ce qu on veut trouver : on laisse l algorithme nous proposer un modèle. On pense qu il existe des similarités entre les exemples. Qui se ressemble s assemble p. /55

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

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

Document d'information

Document d'information Document d'information CPG Opportunité de revenu annuel HSBC Non enregistrés Le présent document d information s applique à tous les certificats de placement garanti Opportunité de revenu annuel HSBC non

Plus en détail

Le Service de Télétransmission par Internet des banques du Réseau OCÉOR GUIDE UTILISATEURS. Version V1.0

Le Service de Télétransmission par Internet des banques du Réseau OCÉOR GUIDE UTILISATEURS. Version V1.0 Le Service de Télétransmission par Internet des banques du Réseau OCÉOR GUIDE UTILISATEURS Version V1.0 SOMMAIRE 1 DESCRIPTION DE L'INTERFACE... 2 1.1 Introduction... 2 1.2 Fonctionnalités disponibles...

Plus en détail

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses 6. Hachage Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses PLAN Définition Fonctions de Hachage Méthodes de résolution de collisions Estimation

Plus en détail

Support Agile avec Kanban quelques trucs et astuces par Tomas Björkholm

Support Agile avec Kanban quelques trucs et astuces par Tomas Björkholm Support Agile avec Kanban quelques trucs et astuces par Tomas Björkholm Avant-propos Il y a un an, j'ai animé un atelier au Scrum Gathering de Stockholm sur le Support Agile. Depuis, j'ai reçu plusieurs

Plus en détail

Machines virtuelles Cours 1 : Introduction

Machines virtuelles Cours 1 : Introduction Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une

Plus en détail

Dossier d'étude technique

Dossier d'étude technique Centre national de la recherche scientifique Direction des systèmes d'information REFERENTIEL QUALITE Guide méthodologique Dossier d'étude technique Référence : CNRS/DSI/conduite-projet/developpement/technique/guide-etude-technique

Plus en détail

2. Activités et Modèles de développement en Génie Logiciel

2. Activités et Modèles de développement en Génie Logiciel 2. Activités et Modèles de développement en Génie Logiciel Bernard ESPINASSE Professeur à l'université d'aix-marseille Plan Les Activités du GL Analyse des besoins Spécification globale Conceptions architecturale

Plus en détail

MS PROJECT 2000. Prise en main. Date: Mars 2003. Anère MSI. 12, rue Chabanais 75 002 PARIS E mail : jcrussier@anere.com Site : www.anere.

MS PROJECT 2000. Prise en main. Date: Mars 2003. Anère MSI. 12, rue Chabanais 75 002 PARIS E mail : jcrussier@anere.com Site : www.anere. DOCUMENTATION MS PROJECT 2000 Prise en main Date: Mars 2003 Anère MSI 12, rue Chabanais 75 002 PARIS E mail : jcrussier@anere.com Site : www.anere.com Le présent document est la propriété exclusive d'anère

Plus en détail

Réorganisation du processus de transfusion sanguine au Liban

Réorganisation du processus de transfusion sanguine au Liban Réorganisation du processus de transfusion sanguine au Liban Cahier des charges du Logiciel Médico Technique Rédigé en collaboration avec Cahier des charges du Logiciel Médico Technique La procédure d

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

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread

Plus en détail

Correction TD algorithmique

Correction TD algorithmique Affectation Correction TD algorithmique Exercice 1 algo affect1b b 5 a b+1 b 2 Il vaut faire passer la notion de variable et la notion de stockage mémoire. Une variable n a donc pas d historique et à un

Plus en détail

CHAPITRE IX : Les appareils de mesures électriques

CHAPITRE IX : Les appareils de mesures électriques CHAPITRE IX : Les appareils de mesures électriques IX. 1 L'appareil de mesure qui permet de mesurer la différence de potentiel entre deux points d'un circuit est un voltmètre, celui qui mesure le courant

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

Les Systèmes de Gestion de Bases de Données Temps Réel

Les Systèmes de Gestion de Bases de Données Temps Réel Les Systèmes de Gestion de Bases de Données Temps Réel Claude Duvallet Mots-Clé : SGBD Temps Réel, cohérence, contraintes temporelles, sérialisabilité, ordonnancement, contrôle de concurrence similarité

Plus en détail

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES Compétences mises en jeu durant l'activité : Compétences générales : S'impliquer, être autonome. Compétence(s) spécifique(s) : Reconnaître des signaux de nature

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Chapitre 2 : Détermination de l'ensemble consolidé

Chapitre 2 : Détermination de l'ensemble consolidé Chapitre 2 : Détermination de l'ensemble consolidé Introduction I - Degrés de dépendance : Critères d'appréciation du contrôle A Droits de vote B Eléments de fait TD1 - Pourcentage de droits de vote II

Plus en détail

Chapitre 8 L évaluation des obligations. Plan

Chapitre 8 L évaluation des obligations. Plan Chapitre 8 L évaluation des obligations Plan Actualiser un titre à revenus fixes Obligations zéro coupon Obligations ordinaires A échéance identique, rendements identiques? Évolution du cours des obligations

Plus en détail

Contrat d'hébergement application ERP/CRM - Dolihosting

Contrat d'hébergement application ERP/CRM - Dolihosting Date 30/10/13 Page 1/6 Contrat d'hébergement application ERP/CRM - Dolihosting Le présent contrat est conclu entre vous, personne physique ou morale désignée ci-après le client et ATERNATIK dont le numéro

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

DESCRIPTIF DU DOCUMENT. Déploiement Nouveau système de rémunération au 01.01.2009-13 ème salaire

DESCRIPTIF DU DOCUMENT. Déploiement Nouveau système de rémunération au 01.01.2009-13 ème salaire 13 EME SALAIRE 13 EME SALAIRE - ETAT DE GENEVE Confidentiel Etat de Genève 23/01/2009 DESCRIPTIF DU DOCUMENT Phase du projet Domaine État du document Version actuelle Déploiement Nouveau système de rémunération

Plus en détail

Tableau comparatif des régimes français et CMR du contrat de transport routier de marchandises

Tableau comparatif des régimes français et CMR du contrat de transport routier de marchandises Tableau comparatif des régimes français et CMR du contrat de transport routier de marchandises 1) Documents de transport 2) Prise en charge de la marchandise 2-1) Chargement / Vérification Régime français

Plus en détail

MDI Chèque de Allégroupe Réclamation

MDI Chèque de Allégroupe Réclamation Introduction MDI Chèque de Allégroupe Réclamation MDIChèques est une suite logique d' Allégroupe Réclamation. Une fois que l'adjudicateur a pris la décision de payer le lot, il fait une Requête de paiement

Plus en détail

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing 3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps

Plus en détail

CHAPITRE VI ALEAS. 6.1.Généralités.

CHAPITRE VI ALEAS. 6.1.Généralités. CHAPITRE VI ALEAS 6.1.Généralités. Lors de la synthèse des systèmes logique (combinatoires ou séquentiels), nous avons supposé, implicitement, qu une même variable secondaire avait toujours la même valeur

Plus en détail

COURS GESTION FINANCIERE A COURT TERME SEANCE 2 COUVERTURE DU BESOIN DE FINANCEMENT CHOIX DU NIVEAU DU FONDS DE ROULEMENT

COURS GESTION FINANCIERE A COURT TERME SEANCE 2 COUVERTURE DU BESOIN DE FINANCEMENT CHOIX DU NIVEAU DU FONDS DE ROULEMENT COURS GESTION FINANCIERE A COURT TERME SEANCE 2 COUVERTURE DU BESOIN DE FINANCEMENT CHOIX DU NIVEAU DU FONDS DE ROULEMENT SEANCE 2 COUVERTURE DU BESOIN DE FINANCEMENT CHOIX DU NIVEAU DU FONDS DE ROULEMENT

Plus en détail

Introduction à la programmation concurrente

Introduction à la programmation concurrente Introduction à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud This work is licensed under

Plus en détail

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet. pierre.chauvet@uco.fr

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet. pierre.chauvet@uco.fr Atelier Transversal AT11 Activité «Fourmis» Pierre Chauvet pierre.chauvet@uco.fr Ant : un algorithme inspiré de l éthologie L éthologie Etude scientifique des comportements animaux, avec une perspective

Plus en détail

Cours Programmation Système

Cours Programmation Système Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février

Plus en détail

Fiche des fonctions du téléphone Business Communications Manager

Fiche des fonctions du téléphone Business Communications Manager Fiche des fonctions du téléphone Business Communications Manager 2001 Nortel Networks P0935986 Edition 02 Touches Cette fiche présente les touches des téléphones Business Series Terminals. Le tableau

Plus en détail

TESTS D'HYPOTHESES Etude d'un exemple

TESTS D'HYPOTHESES Etude d'un exemple TESTS D'HYPOTHESES Etude d'un exemple Un examinateur doit faire passer une épreuve type QCM à des étudiants. Ce QCM est constitué de 20 questions indépendantes. Pour chaque question, il y a trois réponses

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

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique La programmation linéaire : une introduction Qu est-ce qu un programme linéaire? Qu est-ce qu un programme linéaire? Exemples : allocation de ressources problème de recouvrement Hypothèses de la programmation

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

Propriétés des options sur actions

Propriétés des options sur actions Propriétés des options sur actions Bornes supérieure et inférieure du premium / Parité call put 1 / 1 Taux d intérêt, capitalisation, actualisation Taux d intéret composés Du point de vue de l investisseur,

Plus en détail

C f tracée ci- contre est la représentation graphique d une

C f tracée ci- contre est la représentation graphique d une TLES1 DEVOIR A LA MAISON N 7 La courbe C f tracée ci- contre est la représentation graphique d une fonction f définie et dérivable sur R. On note f ' la fonction dérivée de f. La tangente T à la courbe

Plus en détail

Optimisation Combinatoire et Colonies de Fourmis Nicolas Monmarche April 21, 1999 Sommaire Inspiration biologiques Ant Colony Optimization Applications TSP QAP Flow Shop Problemes dynamiques 1 Historique

Plus en détail

Achat V9.7 www.marches-publics.info Dématérialisation des Achats et des Marchés Publics

Achat V9.7 www.marches-publics.info Dématérialisation des Achats et des Marchés Publics AWS-Achat Soumission d un pli dématérialisé 1/14 AWS-Achat Achat V9.7 www.marches-publics.info Dématérialisation des Achats et des Marchés Publics Soumission d un pli dématérialisé AWS-Achat Soumission

Plus en détail

LANDPARK NETWORK IP LANDPARK NETWORK IP VOUS PERMET D'INVENTORIER FACILEMENT VOS POSTES EN RÉSEAU

LANDPARK NETWORK IP LANDPARK NETWORK IP VOUS PERMET D'INVENTORIER FACILEMENT VOS POSTES EN RÉSEAU LANDPARK NETWORK IP Avril 2014 LANDPARK NETWORK IP VOUS PERMET D'INVENTORIER FACILEMENT VOS POSTES EN RÉSEAU Landpark NetworkIP est composé de trois modules : Un module Serveur, que l'on installe sur n'importe

Plus en détail

TP 7 : oscillateur de torsion

TP 7 : oscillateur de torsion TP 7 : oscillateur de torsion Objectif : étude des oscillations libres et forcées d un pendule de torsion 1 Principe général 1.1 Définition Un pendule de torsion est constitué par un fil large (métallique)

Plus en détail

CIRCULAIRE N 000333 DU 2 JUILLET 2002

CIRCULAIRE N 000333 DU 2 JUILLET 2002 Bruxelles, le 2 juillet 2002 Administration Générale des Personnels de l Enseignement Cellule des Accidents du Travail de l enseignement CIRCULAIRE N 000333 DU 2 JUILLET 2002 Objet : Accidents du travail

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

Garde des enfants et droit de visite

Garde des enfants et droit de visite Garde des enfants et droit de visite Lorsque vous ne vivez plus ensemble en famille Conna tre vos droits et vos responsabilités concernant votre enfant Begin a better ending Commencer une meilleure fin

Plus en détail

Gestion des transactions et accès concurrents dans les bases de données relationnelles

Gestion des transactions et accès concurrents dans les bases de données relationnelles Gestion des transactions et accès concurrents dans les bases de données relationnelles Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Fev.

Plus en détail

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Julien Jorge julien.jorge@univ-nantes.fr Laboratoire d Informatique de Nantes Atlantique,

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

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés) Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les

Plus en détail

Date : 18.11.2013 Tangram en carré page

Date : 18.11.2013 Tangram en carré page Date : 18.11.2013 Tangram en carré page Titre : Tangram en carré Numéro de la dernière page : 14 Degrés : 1 e 4 e du Collège Durée : 90 minutes Résumé : Le jeu de Tangram (appelé en chinois les sept planches

Plus en détail