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

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

1 Ordonnancement Processus Chapitre 6

Présentations similaires


Présentation au sujet: "1 Ordonnancement Processus Chapitre 6"— Transcription de la présentation:

1 1 Ordonnancement Processus Chapitre 6

2 Ch. 62 Aperçu du chapitre n Concepts de base n Critères dordonnancement n Algorithmes dordonnancement n Ordonnancement de multiprocesseurs n Ordonnancement temps réel n Évaluation dalgorithmes

3 Importance des concepts de ce chapitres n Les méthodes dordonnancement ont des nombreuses applications u Et ont été très étudiées,surtout avec des méthodes probabilistes et de simulation n Non seulement en informatique, mais aussi en gestion: u Supposons quon parle de différents tâches à exécuter dans une usine dans laquelle il y a des ressources qui sont des ouvriers et des outils Ch. 63

4 4 Diagramme de transition d`états d`un processus

5 Ch. 65 Files dattente de processus pour ordonnancement file prêt Nous ferons lhypothèse que le premier processus dans une file est celui qui utilise la ressource: ici, proc7 exécute. Nous débuterons avec lhypothèse quil ny a quune seule UCT

6 Ch. 66 Concepts de base n La multiprogrammation vise à obtenir une u utilisation optimale des ressources u et aussi un bon temps de réponse pour lusager n L UCT est la ressource la plus précieuse dans un ordinateur, donc nous parlons delle u cependant, les principes que nous verrons sappliquent aussi à lordonnancement des autres ressources (unités E/S, etc). n L`ordonnanceur UCT est la partie du SE qui décide quel processus dans la file ready/prêt obtient lUCT quand elle devient libre

7 Ch. 67 Les cycles dun processus n Cycles (bursts) dUCT et E/S: lactivité dun processus consiste de séquences dexécution sur UCT et dattentes: - dE/S ou de synchronisation avec autres processus

8 Longueur normale des cycles n Étant donné la grande vitesse de lUCT par rapport aux périphériques, la plupart des cycles dUCT seront très courts n Cependant il pourrait y avoir des longs cycles dUCT quand on demandera des calculs poussés u Calculs scientifiques etc Ch. 68

9 9 n Observation expérimentale: u dans un système typique, nous observerons un grand nombre de court cycles dUCT, et un petit nombre de long cycles n Les programmes tributaires de lUCT auront normalem. un petit nombre de long cycles UCT n Les programmes tributaires de lE/S auront normalem. un grand nombre de court cycles UCT Histogramme de durée des cycles UCT

10 Ch. 610 Quand invoquer lordonnanceur UCT n L ordonnanceur UCT doit prendre sa décision chaque fois que le processus exécutant est interrompu, ce-à.-d. 1. un processus se présente en tant que nouveau ou se termine 2. un processus exécutant devient bloqué en attente 3. un processus change dexécutant/running à prêt/ready 4. un processus change de attente à prêt/ready tout événement dans un système qui cause une interruption de lUCT implique lintervention de lordonnanceur, qui devra prendre une décision concernant quel proc ou thread aura lUCT après n Préemption: on a préemption si on enlève lUCT à un processus qui lavait et ne la pas laissée de propre initiative u P.ex. préemption dans le cas 3, pas de préemption dans le cas 2 n Plusieurs pbs à résoudre dans le cas de préemption, v. manuel

11 Ch. 611 Dispatcheur (meilleur français: répartiteur) n Le processus qui donne le contrôle au processus choisi par lordonnanceur. Il doit se préoccuper de: u changer de contexte u changer à mode usager u réamorcer le processus choisi n Attente de dispatcheur (dispatcher latency) u le temps nécessaire pour exécuter les fonctions du dispatcheur u il est souvent négligé, il faut supposer quil soit petit par rapport à la longueur dun cycle

12 Ch. 612 Critères dordonnancement n Il y aura normalement plusieurs processus dans la file prêt n Quand lUCT devient disponible, lequel choisir? n Critères généraux: u Bonne utilisation de lUCT u Réponse rapide à lusager n Mais ces critères peuvent être jugés différemment...

13 Ch. 613 Critères spécifiques dordonnancement n Utilisation UCT: pourcentage dutilisation n Débit = Throughput: nombre de processus qui complètent dans lunité de temps n Temps de rotation = turnaround: le temps pris par un proc de son arrivée à sa termin. n Temps dattente: attente dans la file prêt (somme de tout le temps passé en file prêt) n Temps de réponse: le temps entre une demande de lusager et la réponse

14 Ch. 614 Critères dordonnancement: maximiser/minimiser n Utilisation UCT: pourcentage dutilisation u à maximiser n Débit = Throughput: nombre de processus qui complètent dans l unité de temps u à maximiser n Temps de rotation (turnaround): temps terminaison moins temps arrivée u à minimiser n Temps dattente: attente dans la file prêt u à minimiser n Temps de réponse (pour les systèmes interactifs): le temps entre une demande et la réponse u à minimiser

15 Ch. 615 Examinons maintenant plusieurs méthodes dordonnancement et voyons comment elles se comportent par rapport à ces critères nous étudierons des cas spécifiques létude du cas général demanderait recours à techniques probabilistes ou de simulation

16 Ch. 616 Premier arrivé, premier servi (First come, first serve, FCFS) Exemple:Processus Temps de cycle P124 P2 3 P3 3 Si les processus arrivent au temps 0 dans lordre: P1, P2, P3 Le diagramme Gantt est: Temps dattente pour P1= 0; P2= 24; P3= 27 Temps attente moyen: ( )/3 = 17 P1P1 P2P2 P3P

17 Ch. 617 Premier arrive, premier servi n Utilisation UCT = 100% n Débit = 3/30 = 0,1 u 3 processus complétés en 30 unités de temps n Temps de rotation moyen: ( )/3 = 27 P1P1 P2P2 P3P

18 Ch. 618 Tenir compte du temps darrivée! n Dans le cas où les processus arrivent à moment différents, il faut soustraire les temps darrivée n Exercice: répéter les calculs si: u P1 arrive à temps 0 et dure 24 u P2 arrive à temps 2 et dure 3 u P3 arrive à temps 5 et dure 3 n Donc P1 attend 0 comme avant n Mais P2 attend 24-2, etc. P1P1 P2P2 P3P arrivée P2

19 Ch. 619 FCFS Scheduling (Cont.) Si les mêmes processus arrivent à 0 mais dans lordre P 2, P 3, P 1. Le diagramme de Gantt est: n Temps dattente pour P 1 = 6 P 2 = 0 P 3 = 3 n Temps moyen dattente: ( )/3 = 3 était 17 n Temps de rotation moyen: (3+6+30)/3 = 13 était 27 n Beaucoup mieux! n Donc pour cette technique, les temps peuvent varier grandement par rapport à lordre darrivée de différent processus n Exercice: calculer aussi le débit, etc. P1P1 P3P3 P2P

20 Ch. 620 Effet daccumulation (effet convoi) dans FCFS n Supposons (situation normale) u un processus tributaire de lUCT (cycles longs) u et plusieurs tributaires de l`E/S (cycles courts) n Les processus tributaires de lE/S attendent lUCT: E/S sous- utilisée (*) n Le processus tributaire de lUCT fait une E/S: les autres proc exécutent rapidement leur cycle UCT et retournent sur lattente E/S (convoi qui passe) : UCT sous-utilisée n Processus tributaire de lUCT finit son E/S, puis les autres aussi: retour à la situation (*) n Donc dans ce sens FCFS favorise les procs tributaires de lUCT n Et peut conduire à une mauvaise utilisation des ressources sil y a apport continu de procs longs=tributaires de lUCT u Tant dUCT que de périphériques n Une possibilité: interrompre de temps en temps les proc tributaires de lUCT pour permettre aux autres procs dexécuter (préemption) u On fait ça

21 Ch. 621 Plus Court dabord = Shortest Job First (SJF) n Le processus qui demande moins dUCT part le premier n Optimal en principe du point de vue du temps dattente moyen u (v. le dernier exemple) n Mais comment savons-nous quel processus demande moins dUCT! u Supposons pour linstant quon puisse P1P1 P3P3 P2P

22 Ch. 622 SJF avec préemption ou non n Avec préemption: u si un processus qui dure moins que le restant du processus courant se présente plus tard, u lUCT est enlevée au proc courant et donnée à ce nouveau processus F SRTF: shortest remaining-time first n Sans préemption: on permet au processus courant de terminer son cycle

23 Ch. 623 ProcessusArrivéeCycle UCT P 1 07 P 2 24 P 3 41 P 4 54 n SJF (sans préemption) n Temps dattente moyen = (0+(8-2)+(7-4)+(12-5))/4 – ( )/4 = 4 n Temps de rotation moyen = (7+(12-2)+(8-4)+(16-5)) /4 = 8 Example de SJF sans préemption P1P1 P3P3 P2P P4P4 812 P 2 arr. P 3 arr. P 4 arr

24 Ch. 624 Exemple de SJF avec préemption ProcessusArrivéeCycle P 1 07 P 2 24 P 3 41 P 4 54 n SJF (préemptive) n Temps moyen d`attente = ( )/4 = 3 était 4 u P1 attend de 2 à 11, P2 de 4 à 5, P4 de 5 à 7 n Temps de rotation moyen = 16+ (7-2) + (5-4) + (11-5) = 7 était 8 P1P1 P3P3 P2P P4P4 57 P2P2 P1P1 16 P 2 arr. P 3 arr. P 4 arr

25 Plus en détail: file prêt n Temps des interruptions n Temps 0: u Le seul proc est P1, il est choisi n Temps 2: Interruption causée par larrivée de P2 u Deux procs dans la file: P1 qui demande encore 5 et P2 qui demande 4: ce dernier est choisi n Temps 4: Interruption causée par larrivée de P3 u Trois procs dans la file: P1=5, P2=2, P3=1: ce dernier est choisi n Etc: compléter comme exercice Ch. 625

26 Préemption ou non n La préemption est le cas normal pour lUCT car larrivée dun nouveau proc cause une interruption et à ce moment là u lordonnanceur devra prendre une décision sur le prochain proc à exécuter n Mais dans quelques ressources la préemption est impossible: u P.ex. dans une imprimante il faut toujours terminer limpression courante avant den amorcer une nouvelle Ch. 626

27 Ch. 627 Comment déterminer la longueur des cycles à lavance? n Quelques méthodes proposent de déterminer le comportement futur dun processus sur la base de son passé u p.ex. méthode de la moyenne exponentielle

28 Différentes méthodes en principe n Hypothèse de comportement constant dun processus: u Un processus qui a eu des cycles dUCT de 3 millisecondes en moyenne continuera comme ça n Hypothèse de comportement variable dun processus: u Un processus qui avant avait des cycles dUCT de 3ms, maintenant a allongé ces cycles, qui sont de 10ms u La durée des cycles les plus récents est considérée plus importante pour la prévision des prochains cycles Ch. 628

29 Ch. 629 Estimation de la durée du prochain cycle hypothèse de comportement constant n T i : la durée du ième cycle de lUCT pour ce processus n S i : la valeur estimée du ième cycle de lUCT pour ce processus. u S n+1 lestimée courante u S n lestimée précédente n Un choix simple est: S n+1 = (1/n) {i=1 à n} T i (une simple moyenne) n Nous pouvons éviter de recalculer la somme en récrivant: u S n+1 = (1/n) T n + ((n-1)/n) S n n Ceci donne un poids identique à chaque cycle

30 Estimation de la durée du prochain cycle hypothèse de comportement variable n Nous devons décider quelle importance donner u Aux changements plus récents u Par rapport aux observations précédentes Ch. 630

31 Coefficient α pour le poids Ch α1-α Importance du cycle le plus récent Importance de lestimée précédente Pex. si α = 0,7, alors 1-α = 0,3

32 Ch. 632 Estimation de la durée du prochain cycle hypothèse de comportement variable n Mais les cycles récents peuvent être plus représentatifs des comportements à venir n La moyenne exponentielle permet de donner différents poids aux cycles plus ou moins récents: S n+1 = T n + (1- ) S n ; 0 <= <= 1 : le coéfficient dimportance n T n : la durée du cycle le plus récent n S: lestimée u S n+1 lestimée courante (après le cycle T n ) u S n lestimée précédente

33 Pourquoi exponentielle n Par expansion, nous voyons que le poids de chaque cycle décroît exponentiellement S n+1 = T n + (1- ) T n (1- ) i T n-i (1- ) n S 1 la valeur estimée S 1 du 1er cycle peut être fixée à 0 pour donner priorité max. aux nouveaux processus Ch. 633

34 Ch. 634 Importance de différents valeurs de coefficients [Stallings] Stallings Peu dimport. aux cycles récents Beaucoup dimport. aux cycles récs La durée des vieux cycles perd dimportance rapidement si on donne beaucoup dimportance aux cycles récents, et aussi le converse…

35 Ch. 635 Importance de différents valeurs de coefficients [Stallings] n S 1 = 0 (priorité aux nouveaux processus) n Un coefficient plus élevé réagit plus rapidement aux changements de comportement Stallings

36 Ch. 636 Un deuxième exemple [Stallings] Stallings

37 Ch. 637 Comment choisir le coefficient Comment choisir le coefficient Un petit assouplit les changements de comportement dun processus u Il donne moins dimportance aux cycles récents u Il est avantageux quand un processus peut avoir des anomalies de comportement, après lesquelles il reprend son comportement précédent Cas limite: = 0 F on reste sur lestimée initiale Un gros réagit rapidement aux changements u Il donne plus dimportance aux cycles récents u Est avantageux quand un processus est susceptible de changer rapidement de type dactivité et il reste sur ça Cas limite: S n+1 = T n F Le dernier cycle est le seul qui compte

38 Exercice: Travailler cet exemple dans le manuel Ch. 638 réel estim. α=0,5

39 Ch. 639 Le plus court dabord SJF: critique n Difficulté destimer la longueur à lavance n Plus pratique pour lordonnancement travaux que pour lordonnancement processus u Normal. on peut plus facilement prévoir la durée dun travail entier que la durée dun cycle n Il y a assignation implicite de priorités: préférences aux travaux plus courts u Famine possible pour les travaux aux cycles longs

40 Ch. 640 Difficultés majeures avec les méthodes discutées n Premier arrivé, premier servi, FCFS: u Temps moyen dattente non-optimal u Mauvaise utilisation des ressources et famine sil y a apport continu de processus aux cycles longs (v. effet daccumulation) n Plus court servi, SJF: u Difficulté destimer les cycles u Famine n Donc besoin dune méthode systématiquement préemptive u Le tourniquet u si vous faites toujours les devoirs les plus courts en premier, vous pourriez avoir limpression de faire beaucoup mais vous pourriez ne jamais arriver aux plus longs… u si vous faites les devoirs dans lordre darrivée, les longs pourraient vous bloquer pour longtemps… u donc votre solution est de donner un peu de temps à chacun, cycliquement

41 Le tourniquet n Si jai une seule grande pizza et plusieurs personnes affamées, je pourrais: u Offrir la pizza à chacun mais attendre quune personne ait fini avant de passer à la suivante F (méthodes précédentes) u Ou sinon offrir une tranche à la fois à chacun et permettre aux personnes de revenir Ch. 641

42 Ch. 642 Tourniquet = Round-Robin (RR) Le plus utilisé en pratique n Chaque processus est alloué une tranche de temps (p.ex millisecs.) pour exécuter u Tranche aussi appelée quantum n Sil exécute pour tranche entière sans autres interruptions, il est interrompu par la minuterie et l UCT est donnée à un autre processus n Le processus interrompu redevient prêt (à la fin de la file) n Méthode préemptive P[0] P[1] P[7]P[2] P[6]P[3] P[4]P[5] La file prêt est un cercle (dont RR)

43 Ch. 643 Exemple: Tourniquet tranche = 20 ProcessusCycle P 1 53 P 2 17 P 3 68 P 4 24 n Observez u temps de rotation et temps dattente moyens beaucoup plus élevés que SJF (exercice: calculez-les…) u mais aucun processus nest favorisé P1P1 P2P2 P3P3 P4P4 P1P1 P3P3 P4P4 P1P1 P3P3 P3P

44 Ch. 644 Performance de tourniquet n S il y a n processus dans la file prêt et la tranche est t, alors chaque processus reçoit 1/n du temps UCT dans unités de durée max. t n Si t grand FCFS n Si t petit... nous verrons

45 Ch. 645 Une petite tranche augmente les commutations de contexte (temps de SE)

46 Ch. 646 Exemple pour voir limportance dun bon choix de tranche (à développer comme exercice) n Trois cycles: u A, B, C, toutes de 10 n Essayer avec: u t=1 u t=10 n Dans ce deuxième cas, tourniquet fonctionne comme FIFO et le temps de rotation moyen est meilleur

47 Ch. 647 Le temps de rotation (turnaround) varie avec la tranche (exemple à travailler) Exemple qui montre que le temps de rotation moyen n améliore pas nécessairement en augmentant la tranche (sans considérer les temps de commutation contexte) = FIFO

48 Ch. 648 Choix de la tranche pour le tourniquet n doit être beaucoup plus grande que le temps requis pour exécuter le changement de contexte n devrait permettre le complètement dapprox. 80% des cycles n pour donner le temps à la plupart des proc de terminer leur cycle, mais pas trop pour éviter de pénaliser les processus courts (Stallings) V. ex. prec. où les tranches optimales sont 6 et 7

49 Comment déterminer la tranche en pratique n Évidemment la durée médiane des cycles des processus en attente est impossible à déterminer! n En pratique, les observations passées peuvent être utilisées: u le SE peut garder une trace des durées des cycles des processus récemment exécutés et ajuster la tranche périodiquement Ch. 649

50 Ch. 650 Priorités n Affectation dune priorité à chaque processus (p.ex. un nombre entier) u souvent les petits chiffres dénotent des hautes priorités F 0 la plus haute n LUCT est donnée au processus prêt avec la plus haute priorité u avec ou sans préemption u il y a une file prêt pour chaque priorité

51 Ch. 651 Problème possible avec les priorités n Famine: les processus moins prioritaires narrivent jamais à exécuter n Solution: vieillissement: u modifier la priorité d un processus en fonction de son âge et de son historique d exécution u le processus change de file d`attente n Plus en général, la modification dynamique des priorités est une politique souvent utilisée (v. files à rétroaction ou retour)

52 Ch. 652 Files à plusieurs niveaux (multiples) n La file prêt est séparée en plusieurs files, p.ex. u travaux `darrière-plan` (background - batch) u travaux `de premier plan` (foreground - interactive) n Chaque file a son propre algorithme dordonnancement, p.ex. u FCFS pour arrière-plan u tourniquet pour premier plan n Comment ordonnancer entre files? u Priorité fixe à chaque file famine possible, ou u Chaque file reçoit un certain pourcentage de temps UCT, p.ex. F 80% pour arrière-plan F 20% pour premier plan

53 Ch. 653 Ordonnancement avec files multiples (ex.: serveur principal dune université) Un proc peut être servi seulement si toutes les files de priorités plus hautes sont vides

54 Ch. 654 Files multiples et à retour n Un processus peut passer dune file à lautre, p.ex. quand il a passé trop de temps dans une file n À déterminer: u nombre de files u algorithmes dordonnancement pour chaque file u algorithmes pour décider quand un proc doit passer d une file à l`autre u algorithme pour déterminer, pour un proc qui devient prêt, sur quelle file il doit être mis

55 Ch. 655 Files multiples et à retour PRIO = 0 la + élevée PRIO = 1 PRIO = 2

56 Ch. 656 Exemple de files multiples à retour n Trois files: u P0: tourniquet, tranche = 8 msecs u P1: tourniquet, tranche = 16 msecs u P2: FCFS n Ordonnancement: u Un nouveau processus entre dans Q0, il reçoit 8 msecs d UCT u S il ne finit pas dans les 8 msecs, il est mis dans Q1, il reçoit 16 msecs additionnels u S il ne finit pas encore, il est interrompu et mis dans Q2 u Si plus tard il commence à avoir des cycles plus courts, il pourrait retourner à Q0 ou Q1

57 Exercice n Exemple concret u Dans un système avec files multiples, un processus a besoin de 50 secondes dUCT (sans appels au SE). u Dans la première file on lui donne 5 secondes et à chaque file successive on lui donne le double (10, 20, 40 …) u Combien de fois sera-t-il interrompu et dans quelle file se trouvera-t-il quand il terminera? Ch. 657

58 Ch. 658 En pratique... n Les méthodes que nous avons vu sont toutes utilisées (sauf plus court servi pur qui est normalement impossible, pourquoi? ) n Les SE sophistiqués fournissent aux gérants de grands systèmes des librairies de méthodes, quils peuvent choisir et combiner au besoin après avoir observé le comportement du système n Pour chaque méthode, plusieurs params sont disponibles: p.ex. durée des tranches, coefficients, etc. n Ces méthodes évidemment sont importantes surtout pour les grands ordis qui ont des fortes charges de travail

59 Ch. 659 Aussi… n Notre étude des méthodes dordonnancement est théorique, ne considère pas en détail tous les problèmes qui se présentent dans lordonnancement UCT n P.ex. les ordonnanceurs UCT ne peuvent pas donner lUCT à un processus pour tout le temps dont il a besoin u Car en pratique, lUCT sera souvent interrompue par quelque événement externe avant la fin de son cycle n Cependant les mêmes principes dordonnancement sappliquent à unités qui ne peuvent pas être interrompues, comme une imprimante, une unité disque, etc. n Dans le cas de ces unités, on pourrait avoir des infos complètes concernant le temps de cycle prévu, etc. n Aussi, cette étude ne considère pas du tout les temps dexécution de lordonnanceur, du dispatcheur, etc.

60 Plusieurs UCTs n Dans le passé, la vitesse des UCT augmentait rapidement avec chaque génération dordinateurs n Aujourdhui, lingénierie rencontre des limites pour augmenter la vitesse des UCTs n Donc on se dirige vers la production de plus dUCTs par ordinateur n Cependant, augmenter le nombre dUCT nimplique pas une augmentation proportionnelle de la puissance de lordi, pour des raisons que nous verrons u Surtout, la charge de gestion de ces UCTs ralentit lordinateur Ch. 660

61 Ch. 661 Ordonnancement avec plusieurs UCTs identiques: homogénéité n Méthodes symétriques: chaque UCT peut exécuter lordonnancement et la répartition u Une seule liste prêt pour toutes les UCTs (division travail = load sharing) n Méthodes asymétriques: certaines fonctions sont réservées à des UCT spécifiques u Files dattentes séparées pour chaque UCT UCT

62 Symétrique ou non? n La manière la plus normale de gérer plusieurs UCT est la symétrique u Plus simple à gérer n Cependant lasymétrique a un avantage : u ??? Ch. 662

63 Ch. 663 Symétrique ou non? n La manière la plus normale de gérer plusieurs UCT est la symétrique u Plus simple à gérer n Cependant lasymétrique a un avantage : u Étant donné que chaque UCT exécute des fonctionnalités indépendantes, le temps perdu en synchronisation entre UCT est réduit! F Chapitre suivant Ch. 663

64 Ch. 664 Systèmes temps réel n systèmes temps réel rigides (hard): u les échéances sont critiques (p.ex. contrôle dune chaîne d`assemblage, animation graphique) u il est essentiel de connaître la durée des fonctions critiques u il doit être possible de garantir que ces fonctions sont effectivement exécutées dans ce temps (réservation de ressources) u ceci demande une structure de système très particulière n systèmes temps réel souples (soft): u les échéances sont importantes, mais ne sont pas toujours critiques (p.ex. systèmes téléphoniques ) u les processus critiques reçoivent la priorité

65 Ch. 665 Systèmes temps réel: Problèmes dattente dans plus. systèmes (ex. UNIX) n Dans UNIX classique il nest pas permis deffectuer changement de contexte pendant un appel du système - et ces appels peuvent être longs n Pour le temps réel il est nécessaire de permettre la préemption des appels de systèmes ou du noyau en général n Donc Unix classique nest pas considéré approprié pour le temps réel n Mais des variétés appropriées de UNIX ont été conçues

66 Ch. 666 Inversion de priorité et héritage de priorités n Quand un processus de haute priorité doit attendre pour des processus de moindre priorité (p.ex. a besoin de données produites par ces derniers) n Pour permettre à ces derniers de finir rapidement, on peut lui faire hériter la priorité du processus plus prioritaire

67 Ch. 667 Ordonnancement de threads n Local: la librairie des threads pour une application donnée décide quel thread usager obtient un LWP disponible n Global: le noyau décide quel thread de noyau exécute sur lUCT

68 Ch. 668 Ordonnancement et priorités en Solaris 2

69 Ch. 669 Solaris 2: lire dans le manuel pour voir lapplication pratique de plusieurs concepts discutés n Priorités et préemption n Files multiniveau à retour avec changement de priorité n Tranches plus grandes pour les processus moins prioritaires n Les procs interactifs sont plus prioritaires que les les procs tributaires de lUCT n La plus haute priorité aux procs temps réel n Tourniquet pour les fils de priorités égales

70 Ch. 670 Méthode dévaluation et comparaison dalgorithmes (section plutôt à lire) n Modélisation déterministe n Modèles de files dattente (queuing theory) n Simulation n Implantation

71 Ch. 671 Modélisation déterministe n Essentiellement, ce que nous avons déjà fait en étudiant le comportement de plusieurs algorithmes sur plusieurs exemples

72 Ch. 672 Utilisation de la théorie des files (queuing th.) n Méthode analytique basée sur la théorie des probabilités n Modèle simplifié: notamment, les temps du SE sont ignorés n Cependant, elle rend possibles des estimées

73 Ch. 673 Théorie des files: la formule de Little n Un résultat important: n = W u n: longueur moyenne de la file d attente : débit d arrivée de travaux dans file u W: temps d attente moyen dans la file (temps de service) n P. ex. si les travaux arrivent 3 par sec. u W et il restent dans la file 2 secs u n la longueur moyenne de la file sera ??? Exercice: Résoudre aussi pour et W n Observer que afin que n soit stable, W doit être stable u Un débit darrivée plus rapide doit impliquer un temps de service mineur, et vice-versa Si n doit rester 6 et monte à 4, quel sera W n Utile entre autres pour déterminer lespace à allouer pour la file

74 Ch. 674 Simulation n Construire un modèle (simplifié...) de la séquence dévénements dans le SE n Attribuer une durée de temps à chaque événement n Supposer une certaine séquence dévénements extérieurs (p.ex. arrivée de travaux, etc.) n Exécuter le modèle pour cette séquence afin dobtenir des stats

75 Ch. 675 Implémentation n Implémenter lalgorithme n Exécuter dans le système réel ou des mélanges de travaux typiques (benchmark) n Obtenir des statistiques, u en tirer des conclusions...

76 Ch. 676 Tableau de comparaison Le tableau suivant fait une comparaison globale des différentes techniques étudiées Assurez-vous de comprendre chaque case

77 Ch. 677 Critère sélection PréemptMotivationTemps de rotat. et atten. Temps de système Effect sur processus Famine PAPS FCFS Max [w] non SimplicitéVariable Minim. Favor. proc. trib. UCT Non Tourniq.Tour fixe oui Equité Variable selon tranche, Normalement élevé Élevé si tranches courtes ÉquitableNon PCS SJF Min[s] non Optimisation des temps Optimal, mais souffre si des procs longs arrivent au début Peut être élevé (pour estimer les longs. des trames) Bon pour proc. courts, pénalise proc. longs Possible PCS SJF préemp. Min[s-e] oui Évite le problème de procs longs au début Meilleur, même si des procs longs arrivent au début Peut être élevé Pénalise plus encore proc. longs Possible Files multiniv. v. détails oui Varie la longueur des tranches en fonction des besoins Variable Peut être élévé Variable Peut être évitée w: temps total dans système jusquà présent; e: temps en exec jusquà présent s: temps demandé; Famine est renvoi infini

78 Ch. 678 Points importants dans ce chapitre n Files dattente pour UCT n Critères dordonnancement n Algorithmes dordonnancement u FCFS: simple, non optimal u SJF: optimal, implantation difficile F moyenne exponentielle u Priorités u Tourniquet: sélection du quantum n Évaluation des méthodes, théorie des files, u formule de Little

79 Ch. 679 Pas sujet dexamen n Sections 6.6, 6.7, 6.8


Télécharger ppt "1 Ordonnancement Processus Chapitre 6"

Présentations similaires


Annonces Google