Chapitre IV : La gestion du processeur Mécanismes d ordonnancement



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

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

Partie 7 : Gestion de la mémoire

Cours A7 : Temps Réel

Ordonnancement temps réel

Systèmes d exploitation Gestion de processus

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Introduction aux Systèmes et aux Réseaux

Annexe 6. Notions d ordonnancement.

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

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

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

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

Un ordonnanceur stupide

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

Chapitre 2. Les processus. 2.1 Introduction. 2.2 les différents états d un processus

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Chapitre 4 : Outils de communication centralisés entre processus

Gestion des processus

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

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

VMWare Infrastructure 3

Rapport du projet Qualité de Service

Ordonnancement temps réel

Linux embarqué Retour d expérience et temps réel. Denis Coupvent-Desgraviers

Cours de Systèmes d Exploitation

Support de cours système d exploitation

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

Erreurs les plus fréquentes Guide de dépannage

Impact de choix d implantation sur les performances d une application de Contrôle-Commande

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

epowerswitch 8XM+ Fiche technique

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Cours Programmation Système

Structure fonctionnelle d un SGBD

Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

TP : Introduction à la qualité de service liée à la Toip 1

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

MATHÉMATIQUES FINANCIÈRES

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Ordonnancement sous contraintes de Qualité de Service dans les Clouds

Informatique pour scientifiques hiver Plan général Systèmes d exploitation

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

Introduction aux systèmes temps réel. Iulian Ober IRIT

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

Exercices Corrigés Premières notions sur les espaces vectoriels

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

Logiciel Libre Cours 3 Fondements: Génie Logiciel

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

Audit activité base Oracle / SAP

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Chapitre 5 : Flot maximal dans un graphe

Contributions à l expérimentation sur les systèmes distribués de grande taille

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

La gestion des problèmes

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

Chapitre 1 : Introduction aux bases de données

Cours 2: Exclusion Mutuelle entre processus (lourds, ou légers -- threads)

Arguments clés. (1) : disponible sur certaines offres

Représentation des Nombres

SECURIDAY 2012 Pro Edition

Gestion de projet- Indicateurs de performance

Sommaire. Couverture de zone de surveillance dans les réseaux de capteurs. De quoi parle-t-on ici (1/2)? Objectif. De quoi parle-t-on ici (2/2)?

Samuel Bassetto 04/2010

Équilibrage de charge pour systèmes temps-réel asymétriques sur multi-processeurs

4D v11 SQL Release 5 (11.5) ADDENDUM

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

LA mémoire principale est le lieu où se trouvent les programmes et les

Zero-Maintenance Cache Protection. pour les contrôleurs RAID Série 6 et Série 5Z

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

1 Recherche en table par balayage

Évaluation et optimisation de requêtes

En vue de l'obtention du

Etude d Algorithmes Parallèles de Data Mining

Ré-ordonnancement adaptatif de messages dans un réseau ad hoc de véhicules

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

CHAPITRE 4 LA VALORISATION DES STOCKS COURS DE COMPTABILITE ANALYTIQUE SEMESTRE 2 DUT TC

Présentation du module Base de données spatio-temporelles

Rapport de stage en Master Recherche Informatique

Qu'est-ce qu'un processus: Définitions

GESTION DE STOCKS AVEC CIEL GESTION COMMERCIALE

Une application des algorithmes génétiques à l ordonnancement d atelier

Fax sur IP. Panorama

Chapitre 2. Cluster de calcul (Torque / Maui) Grid and Cloud Computing

Réseaux grande distance

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

Encoder, est-ce dépassé? Vive le zéro papier!

INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement. Bernard Fortz

Intelligence Artificielle Planification

victor Logiciel de gestion pour une sécurité unifiée

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Ordonnancement temps réel et minimisation de la consommation d énergie

Génie Logiciel avec Ada. 4 février 2013

École Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique.

Exécutif temps réel Pierre-Yves Duval (cppm)

Manuel programmation QUESTOR

Transcription:

Chapitre IV : La gestion du processeur Mécanismes d ordonnancement Eric.Leclercq@u-bourgogne.fr Département IEM http://ufrsciencestech.u-bourgogne.fr http://ludique.u-bourgogne.fr/~leclercq 1 er mars 2007

Plan 1 Introduction Problématique Notion d ordonnanceur Composants de l ordonnanceur 2 Les principes fondamentaux Principes d ordonnancement Notion de pénalisation 3 Stratégies d ordonnancement Paramètres essentiels Traitement jusqu a terminaison Traitement avec préemption 4 Implémentation d un ordonnanceur Critères à optimiser Exemples réels

Introduction et problématique De nombreux processus sont gérés par le SE L efficacité théorique maximale est atteinte si le nombre de processeurs est identique à celui des processus Dans la plupart des cas la machine possède 1 seul processeur par conséquent : un grand nombre de processus se partagent le processeur (une ressource limitée) Il faut définir une politique d accès au processeur (ordonnancement ou scheduling)

Notion d ordonnanceur Définition : (Ordonnanceur) Le mécanisme d ordonnancement définit les critères selon lesquels les processus ont accès au processeur Les demandes d accès au precesseurs sont gérées dans des files d attente. Les différentes méthodes de gestion des files vont donner lieu à des stratégies d ordonnacement différentes et des comportement du SE différents. On souhaite : un temps de réponse rapide pour les applications interactives un débit élévé pour les travaux en arrière plan éviter la famine

Composants de l ordonnanceur Objectif : réaliser un implémentation qui minimise le temps d exécution de la stratégie.

Principes d ordonnancement On distingue 3 grands principe de gestion des accès aux processeur selon : l ordre d arrivée : premier arrivé premier servi ; le degré d urgence : le premier servi est celui dont le besoin d accès rapide à la ressource est le plus grand ; l importance : le premier servi est celui dont l accès à la ressource est le plus important. Suivant le principe retenu le SE aura un comportement différent : il ne sera pas destiné a tous les types d utilisations (par ex. adapté aux traitements temps réel). Pour s adapter à des cas particuliers, plusieurs principes sont souvent combinés

Notion de pénalisation Définition : (Pénalisation) Lorsqu un processus ne peut pas accéder directement à une ressource qu il convoite on dit qu il est pénalisé La pénalisation que subit un processus peut être représentée par son temps d attente Définition : (Temps d attente) Le temps d attente est le nombre d unité de temps durant lesquelles le processus est présent dans la file d attente (sans être exécuté)

Notion de pénalisation La mesure de la pénalité peut être affinée : en relativisant le temps d attente par rapport à la durée du processus on obtient ainsi un taux de retard T défini par le rapport : T = d/(a + d) ou d est durée du processus a durée d attente (cumulée) a + d le temps total du processus passé dans le système dans le cas idéal T=1

Paramètres essentiels Deux paramètres peuvent être pris en compte pour élaborer une stratégie d ordonnancement : Stratégie d accès Utilisation de processeur

Traitement jusqu à terminaison Principe : la politique de traitement du processus jusqu à terminaison accorde le processeur à un processus. ne l interrompt jamais quelque soit sa durée ; Stratégie FCFS (First Come First Serve) c-à-d premier arrivé premier servi elle correspond à une gestion FIFO (First In, First Out) de la file d attente c est la stratégie plus simple le traitement des processus est séquentiel les processus courts sont pénalisés et le temps d attente moyen est souvent important problème avec les processus IO-bound et CPU-bound provoque un effet convoy

Traitement jusqu à terminaison Stratégie SFJ (Shorstest Job First) c-à-d moindre durée : on garde le principe d occupation du processeur jusqu à terminaison la file d attente est ordonnée non plus de façon chronologique mais en fonction du temps d exécution nécessaire (on fait passer en tête les travaux courts) cependant la durée totale est a-priori inconnue, on utiliser une décomposition en rafales (burst) CPU et IO (nombre d instructions) prouvé comme étant optimal vis à vis de temps d attente moyen

Traitement jusqu à terminaison mais il des difficile de détermine la durée des phases de rafale prédiction de la prochaine valeur du CPU burst basée sur une moyenne exponentielle des précédentes mesures : τ n+1 = αt n + (1 α)τ n où t n : longueur du nieme CPU burst (mesuré) 0 α 1 facteur de prise en compte du temps précédent si α = 0 τ n+1 = τ n si α = 1 τ n+1 = t n on utilise τ pour interclasser les processus dans la file

Ordonnancement basé sur une priorité Une priorité est associé à chaque processus Le CPU est alloué à celui qui a la priorité la plus haute En cas de priorité égale on utilise FCFS Le SFJ est un cas simple de stratégie utilisant une priorité (inverse de τ) D une manière générales les algorithmes utilisant un priorité peuvent propoquer une attente infinie ou une famine Un solution est de corriger la priorité avec l age du processus

Traitement avec préemption La réquisition (préemption) concerne la gestion du processeur. Elle consiste à décider en fonction de certains critères, de remettre le processus en file d attente avant la fin de son exécution Les processus font plusieurs passages dans la file d attente Le temps d attente d un processus est sa durée d attente cumulée Ce mécanisme est surtout utilisé dans la stratégie du tourniquet La stratégie SJF peut être adpatée pour un mode préemptif : si un processus plus court que le processus actif arrive dans la file, le processus actif est préempté

Traitement avec préemption Stratégie du tourniquet RR (Round-Robin) objectif : vider les processus qui s attardent trop dans le processeur l ordonnanceur réalise la commutation de contexte un processus est remis en file d attente dès que sa durée d occupation du processeur dépasse une durée prédéfinie : quantum de temps la gestion de la file d attente est faite selon le principe FIFO : les travaux assez courts sont vite servis les travaux longs sortiront du système au bout d un temps fini

Traitement avec préemption

Traitement avec préemption Stratégie du tourniquet RR (Round-Robin) l efficacité du système dépend de la valeur du quantum : trop petit, la machine perd du temps à changer de contexte (swapping) trop long, les petits travaux ne sont pas exécutés on peut vouloir éviter que les processus long ne s attardent pas trop dans le système : tourniquet exclusif on ajoute une file d entrée au tourniquet et on détermine deux classes de processus : les processus acceptés, qui sont intégrés au tourniquet les nouveaux processus (arrivants)

Traitement avec préemption

Traitement avec préemption Taux de priorité = F(t) T augmente en fonction du temps qu ils ont passé Le taux de priorité d un nouveau processus est toujours plus faible que le plus bas taux de priorité des processus acceptés Si le taux de priorité des nouveaux processus augmente plus rapidement que celui des acceptés il peut y avoir rattrapage Un processus nouveau dont le taux de priorité à atteint celui d un processus accepté est a son tour intégré au système

Traitement avec préemption Tourniquet à plusieurs files Les files d attente permettent d introduire une hiérarchie entre les demandeurs fonction d une priorité associée aux processus fonction du temps déjà passé dans le système ou bien d autres critères

Traitement avec préemption

Traitement avec préemption Les règles de fonctionnement sont les suivantes : le niveau de priorité maximal (niveau 1) = file d attente des processus arrivants à chaque file d attente est associé un quantum de temps spécifique la file la moins prioritaire à un quantum de temps important (Q n+1 Q n ) Quand un processus atteint la fin de son quantum de temps sans être terminé, il descend d un étage les processus d un niveau de priorité ne peuvent accéder au processeur que si les files de priorité supérieures sont vides l apparition d un nouveau processus dans une file de niveau inférieur à celui de la file d origine d un processus en cours provoque le vidage de ce processus (réquisition du CPU)

Critères à optimiser Utilisation du CPU Débit (Throughput) Rotation (Turnaround time) Temps d attente des processus (Waiting Time) Response Time (Response Time)

Exemples réels Les systèmes BSD 4.3 utilisent un RR Les files matérialisent des niveau de priorité différents (multi-level-feddback round robin queues) l ordonnaceur scheduler parcourt les listes de haut en bas pour trouver un processus éligible il existe des listes internes pour le noyau avec la possibilité de doubler les processus endormis pour les liste utilisateur la règle générale de préemption est appliquée un processus qui utilise le CPU voit sa priorité augmenter un processus qui libère le CPU pour une E/S ne modifie pas sa priorité un processus qui épuise tout son quantum de tamps est préempté plus la priorité augmente moins le processus est prioritaire