Algorithmes d ordonanncement. Ordonnancement. Etienne Lozes. ENS Cachan



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

Cours A7 : Temps Réel

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

REALISATION d'un. ORDONNANCEUR à ECHEANCES

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

Ordonnancement temps réel

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

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

Partie 7 : Gestion de la mémoire

Introduction aux Systèmes et aux Réseaux

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

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

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

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

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

Chapitre 4 : Outils de communication centralisés entre processus

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

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

UC4 effectue tout l ordonnancement batch pour Allianz en Allemagne

Systèmes d exploitation Gestion de processus

Un ordonnanceur stupide

Cours A7 : Temps Réel

Système de Gestion de Fichiers

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

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

Limitations of the Playstation 3 for High Performance Cluster Computing

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

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

Eric Bertrand 08/11/06 Maître de conférence 1

Parallélisme et Répartition

Minimisation de la consommation énergétique à l'aide du système d'exploitation

IBM Software Group. Migration vers Tivoli Workload Scheduler. Philippe TESSIER 2009 IBM Corporation

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Introduction à la Programmation Parallèle: MPI

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

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

Annexe 6. Notions d ordonnancement.

Cours Programmation Système

La surveillance réseau des Clouds privés

Systèmes d exploitation

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

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

Ordonnancement temps réel

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

Introduction au temps réel

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

Fourniture de matériels informatiques MARCHÉ N Cahier des Clauses Techniques Particulières

Equilibrage de charge (Load

1 OBJET DE LA CONSULTATION

Gestion commerciale. Une réponse fonctionnelle quel que soit votre secteur d activité

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

Bases de données avancées Concurrence d'accès et reprise

Évaluations aléatoires : Comment tirer au sort?

Cours 1 : La compilation

Applications Embarquées Critiques

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Coefficients binomiaux

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

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

Manuel de System Monitor

Electrocuté dans une armoire de commande. Publication f

SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre Université de Rennes I - IRISA

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

WHITE PAPER. Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis

DESCRIPTION DU CONCOURS QUÉBÉCOIS INFORMATIQUE (GESTION DE RÉSEAUX)

ANALYSE DE TEMPS D EXÉCUTION POUR DES APPLICATIONS TEMPS-RÉEL CHRISTINE ROCHANGE. Plan. Niveau de criticité. Système temps-réel

Problèmes liés à la concurrence

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

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

Rapport de stage en Master Recherche Informatique

Données Réparties. Thibault BERNARD.

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

D UN BON REFERENCEMENT

2 disques en Raid 0,5 ou 10 SAS

FAQ - ETUDIANTS. Nous avons rassemblé ici les questions les plus fréquemment posées par les candidats.

Nerim Trunk SIP Mai 2013

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

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation

PORTAIL DE GESTION DES SERVICES INFORMATIQUES

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

Initiation à la programmation en Python

Programmation parallèle et distribuée

Gestion répartie de données - 1

06/11/2014 Hyperviseurs et. Infrastructure. Formation. Pierre Derouet

Détection d'intrusions en environnement haute performance

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

Gestion des processus

Cours de Génie Logiciel

Présentation de Financea Un dispositif adapté pour la recherche de la performance opérationnelle

Système de stockage IBM XIV Storage System Description technique

Ed 03/95 PAQ 1530 NON URGENTE (INFO PRODUIT) TEMPORAIRE DEFINITIVE

Chapitre IX : Virtualisation

LES DECIMALES DE π BERNARD EGGER

Retour d exprience sur le cluster du CDS

Innovation Technologique et Eco-Conception

Systemes d'exploitation des ordinateurs

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Transcription:

ENS Cachan

Que fait l ordonnanceur? Il décide quand faire une commutation de contexte quel processus exécuter à la place de l ancien éventuellement quel processeur utiliser Trois perspectives d ordonnancement s (batch) Processus Interactifs Temps réel

Quand ordonnancer? Plusieurs types de processus les processus de traitement les processus d E/S Deux façons de choisir quand commuter non préemptif : attend blocage ou terminaison du processus pour commuter préemptif : quantum de temps maximum. Questions 1 A votre avis, quelle est la population de processus la plus facile à ordonnancer? traitement massif, mixte, E/S massif? 2 Pour quel(s) type(s) d ordonnancement (par lot, interactif, temps réel) un ordonnancement préemptif est essentiel?

Qu est-ce qu un bon ordonnanceur? dépend de la perspective d ordonnancement Critères généraux Équité et politique : attribuer à chaque processus un temps processeur équitable respectant une politique Rendement : Les ressources doivent être occupées au maximum Systèmes de traitement par lots Capacité de traitement : nbre de jobs traités par heure Délai de rotation : temps entre début et fin d un job Systèmes interactifs Temps de réponse : répondre vite à une requête Proportionalité : équité entre utilisateurs

Premier arrivé, premier servi (non préemptif) Intérêt facile à programmer équitable Défaut : pas toujours un bon rendement 1 proc de traitement, s interrompt toutes les 1s, dure longtemps, et beaucoup de proc d E/S, s interrompent vite, reprennent 1000 fois. Question Comparer la capacité de traitement et le délai de rotation dans l exemple précédent, avec le cas d un ordonnancement préemptif toutes les 10ms.

Job le plus court en premier (non préemptif) Si on connait une estimation du temps d exécution... Question 1 Montrer que cet ordonnancement optimise le délai de rotation (temps moyen d exécution). 2 Vérifier sur l exemple suivant que ce n est plus le cas si on ajoute des travaux à la volée. Nom A B C D E Durée : 2 4 1 1 1 Demarage 0 0 3 3 3 Variante préemptive On considère le temps d exécution restant le plus court.

Vue d ensemble Généralités Ne se limite pas au processeur... à trois niveaux Ordonnanceur d admission (prend un job dans la file d attente et le rend prêt ) Ordonnanceur de processeur (prend un job prêt et le donne au processeur) Ordonnanceur de mémoire (gestion du cache) Question Comments sont implémentés ces trois niveaux dans le cas de l ordonnancement par lot?

Algorithme du tourniquet Principe Celui qui attend depuis le plus longtemps est choisi On arrête après blocage ou quantum de temps Priorité plusieurs files de proc ordonnées par priorité on prend dans la file la plus prioritaire Questions 1 Quel est le risque de cet algorithme si on ne revoit pas la priorité d un processus? Comment y remédier? 2 Et si on ne donne pas le même quantum de temps à tout le monde, comment faire? 3 Qu en est-il de l équité entre utilisateurs?

Exemple de priorités Classement par priorité décroissante : Attente d être réveillé Attente d E/S sur disque Attente d un bloc inode Attente d E/S sur TTY Attente d un fils Niveau utilisateur 0 Niveau utilisateur 1 Niveau utilisateur 2 processus non interruptibles } processus interruptibles processus utilisateur

Autres méthodes d ordonnancement Processus le plus court Sensé pour avoir un bon temps de réponse moyen. Il faut estimer le temps d exécution par rapport au passé. garanti Pour n processus, chaque processus a droit à 1/n du processeur. Il faut tenir à jour le temps utilisé. par tirage au sort Chaque proc à des numéros, on en tire un au sort. Permet de mettre en place facilement des priorités.

linux Norme POSIX 1003.1 sched setscheduler, sched getscheduler. Deux types de politiques : SCHED FIFO : l algo à priorités fixes non préemptif SCHED RR : l algo tourniquet (quantum de temps maximal) Remarque : pas de temps réel strict en Linux, extensions RTLinux.

Quelques mots sur le temps réel Temps réel : à une tâche est associée une date de fin limite Beaucoup de modèles différents : évènements périodiques ou apériodiques tout temps réel ou mélange de tâches normales et temps réel ordonnancement statique (hors ligne) ou dynamique (en ligne) ordonnancement préemptif ou non préemptif. Divers objectifs à atteindre : temps réel dur : faisabilité. temps réel mou : qualité de service, respect de priorités. optimisation de la cadence de calcul (pour diminuer la consomation d énergie).

Earliest Deadline First Problème On a des tâches T 1,.., T n, de durées t 1,.., t n, qui doivent être ordonnancées périodiquement avec des périodes p 1,.., p n. Algorithme Earliest Deadline First (EDF) à tout moment, on ordonnance la tâche réalisable dont la fin de période est la plus imminente. Optimalité Si l ordonnancement est faisable en préemptif, il est faisable avec EDF préemptif.

Démonstration Généralités temps premier choix différent earliest deadline (après t) O T(O) A A B B EDF t Soit O un ordonnancement quelconque et T (O) l ordonnancement O dans lequel on permute le premier choix d ordonnancement différent de EDF et celui d EDF. Alors : 1 T (O) respecte au moins autant de deadline que O ; 2 T n (O) EDF.

L importance d être préemptif Exercice Chercher un jeu de tâches non faisable en EDF non préemptif, mais faisable par un ordonnancement préemptif

L importance d être préemptif Exercice Chercher un jeu de tâches non faisable en EDF non préemptif, mais faisable par un ordonnancement préemptif Une solution : t 1 = 3, p 1 = 4, t 2 = 2, p 2 = 8

CNS de faisabilité Généralités Condition nécessaire et suffisante pour pouvoir ordonnancer en préemptif : Σ n t i i=1 p i 1 Condition nécessaire On considère l ordonnancement sur la période P = Π n i=1 p i La tâche i apparaît donc P p i fois, on a donc un temps d activité de calcul total égal à n i=1 P p i t i P Condition suffisante On découpe en slots de 1 P, et on fait un ordonnancement 1 périodique : les P p 1 t 1 premiers slots, donc de 0 à t1 p 1, sont pris par T 1, etc. Les derniers slots libres avant 1 sont éventuellement laissés oisifs.