Ordonnancement Processus Lecture

Slides:



Advertisements
Présentations similaires
Ordonnancement Processus
Advertisements

6.1 URDL22005 Systèmes dexploitation Ordonnancement du CPU Concepts de Base Critères dOrdonnancement Algorithmes dOrdonnancement Ordonnancement Multi-Processeur.
Module 4 - Ordonnancement Processus
Chapitre 2 Système d’Exploitation Gestion des Processus
Module 4 - Ordonnancement Processus
Ordonnancement (Scheduling)
L’évaluation dans le cadre de l’approche par compétences
1 Ordonnancement Processus Chapitre 6
1 Chapitre 2 La numération binaire. 2 Chapitre 2 : La numération binaire Introduction 1 - Le système binaire 2 - La conversion des nombres entiers 2.1.
Chap 81 Interblocage = impasse (Deadlock) Chapitre 8
1 Gestion de Processus Chapitre 4
Marlène Côté et Christèle Charbonneau Thème: Mathématiques et univers social Les élèves seront amenés à effectuer des additions et des soustractions, de.
Chapitre 4: Variation dans le temps  Les données : audience totale en milliers (tableau 4.1, p. 47, extrait) o Origine : enquête sur les habitudes d’écoute.
UML2 : Panorama de la notation Laurent Henocque Enseignant Chercheur ESIL/INFO France
Le respect et la relation de confiance Deux conditions essentielles pour assurer une bonne gestion de classe Cela se bâtit dès le premier cours… Le respect.
SITUATION DE REFERENCE
Module S41 Chapitre 11  Configuration de Windows XP Professionnel pour l'informatique mobile.
Révision – mathématiques 8
Généralités sur les fonctions 2MPES
Chapitre 4: Variation dans le temps
Analyse technique (17) Le Rate Of Change (ROC).
e-Prelude.com Analyse globale du flux
Threads et Lightweight Processes
Deuxième partie : La courbe d’indifférence
Information, Calcul, Communication
Le travail personnel de l’élève
Qu'est-ce que POSIX? Une librairie en langage C
Visite guidée - session 8 L’ordonnancement Métier : Fabrication
5 – PARALLELISME , ORDONNANCEMENT
Représentation de l’information en binaire:
Langages pour le Temps Réel
L'approche asynchrone.
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Master Réseaux et Systèmes Distribués (RSD)
Chapitre 12 Surveillance des ressources et des performances
Cyber-Sphinx Séance 2.
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Module 5 : Gestion des disques.
Technologies de l’intelligence d’affaires Séance 12
Construire un GANTT.
Cyber-Sphinx Séance 2.
Chapitre 2 Système d’Exploitation Gestion des Processus.
Chapitre2: SGBD et Datawarehouse. On pourrait se demander pourquoi ne pas utiliser un SGBD pour réaliser cette structure d'informatique décisionnelle.
OPTIMISATION 1ère année ingénieurs
Gestion de Processus Chapitre 4
Valeurs et enseignement
Révision – mathématiques 8
Ordonnancement Processus
2.4 La loi de vitesse d’une réaction chimique
Structures d’ordinateurs (matériel)
Niveau 2 : Tables de plongée
Information, Calcul, Communication
Prelude 7 ERP Detailed Scheduling 23/02/2019
JOUR 2: Equité, efficience et viabilité des systèmes de santé
LES AXES TRAITÉS : DÉFINITION D’ÉVALUATION L’ÉVALUATION PEDAGOGIQUE FONCTION DE L’ÉVALUATION CARACTERISTIQUES DE L’ÉVALUATION TYPES D’ÉVALUATION CONCLUSION.
La démarche scientifique
Programme d’appui à la gestion publique et aux statistiques
Piles et files.
Threads et Lightweight Processes
Passage primaire-secondaire
Chapitre 2 : Représentation de l’information dans la machine Introduction Représentation des nombres négatifs –Signe / valeur absolue –Complément à 1 –Complément.
Ordonnancement des processus sous Windows NT
Les conventions comptables : Effet sur les états financiers
Révision – mathématiques 8
Test de performances. Test de performances:  Un test de performance est un test dont l'objectif est de déterminer la performance d'un système informatique.
Impact Evaluation 4 Peace March 2014, Lisbon, Portugal 1 Echantillonage pour une Evaluation d’Impact Latin America and the Caribbean’s Citizen Security.
Boulain Joris, Handouz Yassine, Regnier Fabien, Giraud Antoine
Contenu Systèmes de test parallèles Multithreading Synchronisation
Conception d’un QCM F. Loizeau ; Clermont-Ferrand.
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Transcription de la présentation:

1 Module 4 - Ordonnancement Processus Lecture: Chapitre 5

Ch. 52 Aperçu du module n Concepts de base n Critères d’ordonnancement n Algorithmes d’ordonnancement n Ordonnancement de multiprocesseurs n Évaluation d’algorithmes

Ch. 53 Diagramme de transition d`états d`un processus

Ch. 54 Files d’attente de processus pour ordonnancement file prêt Nous ferons l’hypothèse que le premier processus dans une file est celui qui utilise la ressource: ici, proc7 exécute

Ch. 55 Concepts de base n La multiprogrammation est conçue pour obtenir une utilisation maximale des ressources, surtout l’UCT n L`ordonnanceur UCT est la partie du SE qui décide quel processus dans la file ready/prêt obtient l ’UCT quand elle devient libre u doit viser à une utilisation optimale de l ’UCT n l ’UCT est la ressource la plus précieuse dans un ordinateur, donc nous parlons d’elle u Cependant, les principes que nous verrons s ’appliquent aussi à l ’ordonnancement des autres ressources (unités E/S, etc). n Doit comprendre le comportement des processus u Pour faire de bonne décision d’ordonnancement

Ch. 56 Les cycles d’un processus n Cycles (bursts) d’UCT et E/S: l’exécution d’un processus consiste de séquences d’exécution sur UCT et d’attentes E/S

Ch. 57 Quand invoquer l’ordonnanceur n L ’ordonnanceur doit prendre sa décision chaque fois que le processus exécutant est interrompu, c’e-à.-d. u un processus se présente en tant que nouveau ou se termine ou u un processus exécutant devient bloqué en attente u un processus change d’exécutant/running à prêt/ready u un processus change de attente à prêt/read u en conclusion, tout événement dans un système cause une interruption de l’UCT et l’intervention de l’ordonnanceur, qui devra prendre une décision concernant quel proc ou fil aura l’UCT après n Préemption: on a préemption dans les derniers deux cas si on enlève l’UCT à un processus qui l’avait et peut continuer à s’en servir n Dans les 1ers deux cas, il n’y a pas de préemption n Plusieurs pbs à résoudre dans le cas de préemption

Ch. 58 Dispatcheur n Le code du SE qui donne le contrôle au processus choisi par l’ordonnanceur. 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 qu’il soit petit par rapport à la longueur d’un cycle

Ch. 59 Critères d’ordonnancement n Il y aura normalement plusieurs processus dans la file prêt n Quand l’UCT devient disponible, lequel choisir? n L’idée générale est d’effectuer le choix dans l’intérêt de l’efficacité d’utilisation de la machine n Mais cette dernière peut être jugée selon différents critères…

Ch. 510 Critères d’ordonnancement n Raison principale pour l’ordonnancement u Pourcentage d ’utilisation: garder UCT et modules E/S occupés n Systèmes à temps partagés? u Temps de réponse (pour les systèmes interactifs): le temps entre une demande et la réponse n Serveurs? u Débit = Throughput: nombre de processus qui complètent dans l ’unité de temps n Systèmes de traitement par lots (batch)? u Temps de rotation = turnaround: le temps pris par le proc de son arrivée à sa termin. n Systèmes chargés? u Temps d’attente: attente dans la file prêt (somme de tout le temps passé en file prêt)

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

Ch. 512 Exemple de mesure des critères d’ordonnancement n Utilisation de l’UCT: u 100% n Temps de réponse (P 3, P 2 ): u P 3 : 3 u P 2 : 1 n Débit : u 4/24 n Temps de rotation (P 3, P 2 ): u P 3 : 5 u P 2 : 20 n Temps d’attente (P 2 ): u P 2 : 13 P1P1 P2P2 P3P3 P4P4 P1P1 P2P2 P1P ,11, P2P2 P3P3 P4P4 Time Process arrival

Ch. 513 Examinons maintenant plusieurs méthodes d’ordonnancement 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

Ch. 514 Premier arrivé, premier servi (First come, first serve, FCFS) Notez, aucune préemption Exemple:Processus Temps de cycle P124 P2 3 P3 3 Si les processus arrivent au temps 0 dans l’ordre: P1, P2, P3 Le diagramme Gantt est: Temps d’attente pour P1= 0; P2= 24; P3= 27 Temps attente moyen: ( )/3 = 17 P1P1 P2P2 P3P

Ch. 515 Premier arrivé, 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

Ch. 516 Ordonnancement FCFS (suite) Si les mêmes processus arrivent à 0 mais dans l’ordre P 2, P 3, P 1. Le diagramme de Gantt est: n Temps d’attente pour P 1 = 6 P 2 = 0 P 3 = 3 n Temps moyen d’attente: ( )/3 = 3 n Beaucoup mieux! n Donc pour cette technique, le temps d’attente moyen peut varier grandement n Exercice: calculer aussi le temps moyen de rotation, débit, etc. P1P1 P3P3 P2P

Ch. 517 Tenir compte du temps d’arrivée! n Dans le cas où les processus arrivent à moment différents, il faut soustraire les temps d’arrivée n Exercice: répéter les calculs si: u P2 arrive à temps 0 u P1 arrive à temps 2 u P3 arrive à temps 5

Ch. 518 Effet d’accumulation (convoy effect) dans FCFS n Supposons un processus tributaire de l’UCT et plusieurs tributaires de l`E/S (situation assez normale) n Les processus tributaires de l’E/S attendent pour l ’UCT: E/S sous-utilisée (*) n Le processus tributaire de l’UCT fait une E/S: les autres proc exécutent rapidement leur cycle UCT et retournent sur l’attente E/S: UCT sous-utilisée n Processus tributaire de l’UCT fini son E/S, puis les autres procs aussi : retour à la situation (*) n Une possibilité: interrompre de temps en temps le proc tributaires de l’UCT pour permettre aux autres procs d’exécuter (préemption)

Ch. 519 Plus Court d’abord = Shortest Job First (SJF) n Le processus le plus court part le premier n Optimal en principe du point de vue du temps d’attente moyen u (v. le dernier exemple) n Mais comment savons-nous

Ch. 520 SJF avec préemption ou non n Avec préemption: si un processus qui dure moins que le restant du processus courant se présente plus tard, l’UCT est donnée à ce nouveau processus u SRTF: shortest remaining-time first n Sans préemption: on permet au processus courant de terminer son cycle u Observation: SRTF est plus logique car de toute façon le processus exécutant sera interrompu par l’arrivée du nouveau processus F Il est retourné à l’état prêt

Ch. 521 ProcessusArrivéeCycle P 1 07 P 2 24 P 3 41 P 4 54 n SJF (sans préemption) n Temps d’attente moyen = ( )/4 = 4 Exemple de SJF sans préemption P1P1 P3P3 P2P P4P4 812 P 2 arr. P 3 arr. P 4 arr

Ch. 522 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 u P1 attend de 2 à 11, P2 de 4 à 5, P4 de 5 à 7 P1P1 P3P3 P2P P4P4 57 P2P2 P1P1 16 P 2 arr. P 3 arr. P 4 arr

Ch. 523 Comment déterminer la longueur des cycles à l’avance? n Quelques méthodes proposent de déterminer le comportement futur d ’un processus sur la base de son passé u p.ex. moyenne exponentielle

Ch. 524 Estimation de la durée du prochain cycle n T i : la durée du ième cycle de l’UCT pour ce processus n S i : la valeur estimée du le ième cycle de l’UCT pour ce processus. Un choix simple est:  S n+1 = (1/n)  (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

Ch. 525 Le plus court d’abord SJF: critique n Difficulté d’estimer la longueur à l’avance n Les processus longs souffriront de famine lorsqu’il y a un apport constant de processus courts n La préemption est nécessaire pour environnements à temps partagé u Un processus long peut monopoliser l’UCT s’il est le 1er à entrer dans le système et il ne fait pas d’E/S n Il y a assignation implicite de priorités: préférences aux travaux plus courts

Ch. 526 Priorités n Affectation d’une priorité à chaque processus (p.ex. un nombre entier) u souvent les petits chiffres dénotent des hautes priorités (dans UNIX) F 0 la plus haute u Windows fait l’inverse – donne un plus haute priorité aux plus grands chiffres n L’UCT 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é n Priorités sont explicites u Pour raisons politiques ou techniques n Priorités implicites u Voir SJF - critiques

Ch. 527 Problème possible avec les priorités n Famine: les processus moins prioritaires n’arrivent 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) n Que faire avec les processus de même priorités? u FCFS u Ajoutons la préemption -> le Tourniquet

Ch. 528 Tourniquet = Round-Robin (RR) Le plus utilisé en pratique n Chaque processus est alloué un quantum de temps (p.ex millisecs.) pour s’exécuter u (terminologie du livre: tranche de temps) n S’il s’exécute pour un quantum entier 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)

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

Ch. 530 Exemple: Tourniquet Quantum = 20 ProcessusCycle P 1 53 P 2 17 P 3 68 P 4 24 n Normalement, u temps de rotation (turnaround) plus élevé que SJF u mais temps attente moyen meilleur P1P1 P2P2 P3P3 P4P4 P1P1 P3P3 P4P4 P1P1 P3P3 P3P

Ch. 531 Un petit quantum augmente les commutations de contexte (temps de SE)

Ch. 532 Exemple pour voir l’importance d’un bon choix de quantum (à développer comme exercice) n Trois cycles: u A, B, C, toutes de 10 n Essayer avec: u q=1 u q=10 n Dans ce deuxième cas, tourniquet fonctionne comme FCFS et le temps de rotation moyen est meilleur

Ch. 533 Exercices d’ordonnancement Trois processus P1, P2, P3 arrivent au temps 0 dans la file prêt n Cycles UCT de P1: 14,12,17 n Cycles UCT de P2: 2,2,2,3,2,2,2,3,2,2,2,3,2,2,2,3 n Cycles UCT de P3: 6,3,8,2,1,3,4,1,2,9,7 n Opération E/S de 6 unités de temps entre chaque cycle UCT (en parallèle) n Algorithmes d’ordonnancement u FCFS u Tourniquet (quantum de 5) u Non-preemptive SJF ou Preemptive SJF u Tourniquet avec priorité: P2=P3>P1

Ch. 534 Files à plusieurs niveaux (multiples) n La file prêt est séparée en plusieurs files, p.ex. u travaux `d’arrière-plan` (background - batch) u travaux `de premier plan` (foreground - interactive) n Chaque file a son propre algorithme d ’ordonnancement, p.ex. u tourniquet pour premier plan u FCFS pour arrière-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 premier plan F 20% pour arrière-plan

Ch. 535 Ordonnancement avec files multiples

Ch. 536 Files multiples et à retour n Un processus peut passer d ’une file à l ’autre, p.ex. quand il a passé trop de temps dans une file n À déterminer: u nombre de files u algorithmes d ’ordonnancement 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

Ch. 537 Files multiples et à retour (trois files) PRIO = 0 PRIO = 1 PRIO = 2

Ch. 538 Exemple de files multiples à retour n Trois files: u Q0: tourniquet, quantum 8 msecs u Q1: tourniquet, quantum 16 msecs u Q2: 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 à demander des quantums plus petits, il pourrait retourner à Q0 ou Q1

Ch. 539 En pratique... n Les méthodes que nous avons vu sont toutes utilisées en pratique (sauf plus court servi pur qui est impossible) n Les SE sophistiqués fournissent au gérant du système une librairie de méthodes, qu’il peut 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 du quantum, coefficients, etc.

Ch. 540 Aussi… n Notre étude des méthodes d’ordonnancement est théorique, ne considère pas en détail tous les problèmes qui se présentent dans l’ordonnancement UCT n P.ex. les ordonnanceurs UCT ne peuvent pas donner l’UCT à un processus pour tout le temps dont il a besoin u Car en pratique, l’UCT sera souvent interrompue par quelque événement externe avant la fin de son cycle n Cependant les mêmes principes d’ordonnancement s’appliquent aux 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 aussi des infos complètes concernant le temps de cycle prévu, etc. n Aussi, cette étude ne considère pas du tout les temps d’exécution de l’ordonnanceur

Ch. 541 Résumé des algorithmes d’ordonnancement n Premier arrivé, premier servi (FCFS) u simple, petit temps de système (overhead), qualités faibles n Plus court d’abords (SJF) u Doit savoir les temps de traitements (pas pratique) u Doit prédire en utilisant la moyenne exponentielle du passé n Ordonnancement avec priorité u Un classe d’algorithmes n Tourniquet u FCFS avec préemption n Files à plusieurs niveaux (Multilevel Queues) u Possible d’utilisé différents algorithmes avec chaque file n Files multiples à retour (Multilevel Feedback Queues) u Combine plusieurs techniques

Ch. 542 Survol des sujets avancés de l’ordonnancement n L’ordonnancement avec plusieurs UCTs identiques n Modèle d’évaluation

Ch. 543 Ordonnancement avec plusieurs UCTs identiques: homogénéité n Une seule liste prêt pour toutes les UCTs (division travail = load sharing) F une liste séparée pour chaque UCT ne permettrait pas ça u méthodes symétriques: chaque UCT peut exécuter l ’ordonnancement et la répartition u méthodes asymétriques: ces fonctions sont réservées à une seule UCT

Ch. 544 Solaris 2: n Priorités et préemption n Files multiniveau à retour avec changement de priorité n Différentes quantums pour les différentes priorités (plus grands pour priorités plus élevées) n Priorité élevée pour les procs interactifs, plus petite pour les procs tributaires de l’UCT n La plus haute priorité aux procs temps réel n Tourniquet pour les fils de priorités égales

Ch. 545 Méthode d’évaluation et comparaison d’algorithmes (section plutôt à lire) n Modélisation déterministe n Modèles de files d ’attente (queuing theory) n Simulation

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

Ch. 547 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

Ch. 548 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 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 d’arrivée plus rapide doit impliquer un temps de service mineur, et vice-versa  Si n doit rester 6 et monte à 4, quel doit être W?

Ch. 549 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 d’obtenir des stats

Ch. 550 Points importants dans ce chapitre n Files d ’attente pour UCT n Critères d ’ordonnancement n Algorithmes d ’ordonnancement u FCFS: simple, non optimal u SJF: optimal, implantation difficile F moyennage exponentiel u Priorités u Tourniquet: sélection du quantum n Évaluation des méthodes, théorie des files, u formule de Little