Introduction à l ordonnancement. Module M2101 DUT informatique

Documents pareils
PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Partie 7 : Gestion de la mémoire

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

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

Les riches heures de l ordonnancement

OPTIMISATION À UNE VARIABLE

Optimisation for Cloud Computing and Big Data

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

Annexe 6. Notions d ordonnancement.

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

Chapitre 5 : Flot maximal dans un graphe

Ordonnancement temps réel

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

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

LES MÉTA-HEURISTIQUES : quelques conseils pour en faire bon usage

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

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

BC LABEL Location de bornes photos numériques

Jean Dubuffet AUTOPORTRAIT II

Cours d électricité. Circuits électriques en courant constant. Mathieu Bardoux. 1 re année

Sujet 4: Programmation stochastique propriétés de fonction de recours

INSERTION TECHNIQUES FOR JOB SHOP SCHEDULING

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

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

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

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

LES PROBLEMES D'ORDONNANCEMENT

Déploiement générique d applications sur plates-formes hétérogènes distribuées

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

Un propagateur basé sur les positions pour le problème d Open-Shop.

Cours de Master Recherche

Chapitre 02. La lumière des étoiles. Exercices :

Generic deployment of applications on heterogeneous distributed platforms

Brasseur VDI multimédia 8 RJ45

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

L exclusion mutuelle distribuée

Minimisation de la somme des retards dans un jobshop flexible

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

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

Algorithmes de recherche d itinéraires en transport multimodal

CHAPITRE 5. Stratégies Mixtes

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

Algorithmes d'apprentissage

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

Les Supports UC d ordinateur

Resolution limit in community detection

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

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

LES GRADES PROGRAMME D EXAMEN DE LA CEINTURE JAUNE A LA CEINTURE MARRON

Monstre marin. Valentin. Sa tête est ronde et rose. Il a de grands yeux orange. Il a une bouche jaune, énorme, son nez est vert et rond,

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

Indications pour une progression au CM1 et au CM2

Programmation Linéaire - Cours 1

Formations au tournage et au montage vidéo. Monter un film avec. Imovie 11

SVP ISO - Sécurité & Protection

Chapitre 5. Équilibre concurrentiel et bien-être

Elfenland Règles du jeu

Résolution de systèmes linéaires par des méthodes directes

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

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

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

BALISE GPS. Modèle EOLE. MANUEL INSTALLATEUR Version 3.4 GPS+GSM+SMS/GPRS

Apprentissage Automatique

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

Vous incarnez un surdoué en informatique qui utilise son ordinateur afin de pirater des comptes bancaires un peu partout dans le monde et s en mettre

Consigne : je remplis le tableau en tenant compte des informations de la ligne supérieure et de la colonne de gauche (droite pour les gauchers)

Programmation linéaire

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Sommaire. Introduction Définition Historique Domaine d application.2. 4.Les Travaux réalisés sur les domaines d application.

Contrainte de flot pour RCPSP avec temps de transfert

Correction ex feuille Etoiles-Spectres.

PASSAGE A NIVEAU HO/N

Construction d un cercle tangent à deux cercles donnés.

Séparation et Evaluation pour le problème d ordonnancement avec blocage.

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

Limites finies en un point

I. Polynômes de Tchebychev

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

Chapitre 4 : Exclusion mutuelle

Progressons vers l internet de demain

AVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS

Continuité d une fonction de plusieurs variables

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

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

VTigerCRM. CRM : Logiciel de gestion des activités commerciales d'une (petite) entreprise

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

SYSTEME D AMBIANCE LUMINEUSE: INTERÊT DANS LE SCANNER DE LA MERE ET DE L ENFANT. JFR 2008 Hôpital Robert Debré - Imagerie Pédiatrique

IMAGINEZ UNE NOUVELLE FACON DE PEINDRE!

Cours de Systèmes d Exploitation

Pourquoi l apprentissage?

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

UN ALGORITHME COOPÉRATIF POUR UN PROBLÈME D ATELIER JOB SHOP MULTI-AGENT

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

Jean-Philippe Préaux

Bases de données réparties: Fragmentation et allocation

Nombre de marches Nombre de facons de les monter

Principes d AdWords. Quelques mots de présentation. Une audience large : les réseaux de ciblage. Réseau de recherche

Transcription:

Introduction à l ordonnancement christophe.cerin@iutv.univ-paris13.fr Module M2101 DUT informatique 2014-2015 1

Schedulers (ordonnanceurs) Il a la charge d'ordonnancer les processus (travaux/ jobs) et d'assurer des propriétés comme l'équité (tous les processus auront un jour la main), d'équilibrage des charges (contexte multi-coeur) Souvent les objectifs sont orthogonaux : minimiser le temps de réponse et maximiser l'occupation du CPU Long-term scheduler (or job scheduler) sélectionne quels processus doivent être mis dans la file ready Short-term scheduler (or CPU scheduler) sélectionne quel processus devra être exécuté prochainement et réserve le CPU 2

Schedulers (Cont.) Short-term scheduler : invoqué très fréquemment (milliseconds) (doit être rapide à répondre) Long-term scheduler : invoqué pas très souvent (seconds, minutes) (peut être lent) Processes peuvent aussi être décrits comme : I/O-bound process il passe son temps à faire des opérations d I/O, beaucoup de petits bursts du CPU CPU-bound process passe son temps à faire du calcul; petit nombre de très grands bursts du CPU 3

Les politiques d'ordonnancement Très nombreuses : il s'agit d'heuristiques car le problème théorique caché est nonpolynomial (il n'existe pas d'algorithme polynomiaux). De plus il est multicritère (minimiser le temps d'exécution des tâches et maximiser l'utilisation des CPU et minimiser les migrations et...) Une heuristique n'atteint pas toujours l'optimalité sur chaque instance. 4

Ordonnancement de liste Ici, vous avez n cours (durées connues) à caser dans m salles Algorithme : on place le cours le moins coûteux sur la salle la moins chargée Rq : et si on choisissait de placer le plus coûteux dans la salle la moins chargée? ListScheduling(m, n, c_1,...,c_n) { for i=1 to m { cost_i=0; /* load in room i */ J(i)=Vide; /* courses assigned to room i*/ } for j=1 to n { i = min_{1<= k <= m} cost_k; /* room i has smallest load */ J(i) = J(i) '+' {j}; /* assign course j to room i */ cost_i=cost_i + c_i } } 5

Optimalité? 2 5 Sur cet exemple, optimalité si on place d'abord les plus gros jobs... mais on peut trouver un autre contre - exemple 1 4 8 2 8 1 4 5 6

Théorème & démonstration Théorème (Graham 1966) : le précédent algorithme donne un solution qui est toujours éloignée de l optimal d un facteur pas plus grand que (2-1/m)... ce qui est plutôt bon dans la pratique. Preuve : on considère m machines et n tâches de temps d exécution p1,...,pn. Soit c * max le temps d exécution (makespan) de l ordonnancement optimal. Considérons le plus grand temps d exécution parmi les n tâches : pmax = maxj pj Puisque la tâche correspondante à pmax doit s exécuter on a: c * max pmax On peut aussi faire l hypothèse que les tâches peuvent être découpées en morceaux (préemptées) de telle sorte que le temps d exécution de toutes les machines est le même. Nous avons donc une autre borne inférieure : 7

Théorème & démonstration On peut aussi faire l hypothèse que les tâches peuvent être découpées en morceaux (préemptées) de telle sorte que le temps d exécution de toutes les machines est le même. Nous avons donc une autre borne inférieure : 28 8

Théorème et démonstration Soit Jk la dernière tâche à être exécutée. Puisque LS n autorise pas aucune machine à être inactive, toutes les machines sont occupées jusqu au temps sk, calculant des tâches autres que k. D où : 9

Théorème et démonstration En conséquence : 10

... on préfère donc des heuristiques, parmi lesquelles : First In, first Out (FIFO), que l'on peut traduire par «premier arrivé, premier servi» Earliest deadline first scheduling est un algorithme d'ordonnancement préemptif à priorité dynamique utilisé dans les systèmes temps réel. Il attribue une priorité à chaque requête en fonction de l'échéance de cette dernière. Plus l'échéance d'une tâche est proche, plus sa priorité est grande. 11

... on préfère donc des heuristiques, parmi lesquelles : Round-robin (tourniquet) qui attribue des tranches de temps à chaque processus en proportion égale, sans accorder de priorité aux processus. Problème : quelle valeur pour le quantum de temps? SJF est l acronyme de Shortest Job First («plus court processus en premier») : Il existe deux versions de cet algorithme : une version préemptive, et une version non préemptive. Dans cette dernière, un processus ayant pris le contrôle de l UC ne le quitte qu une fois la rafale terminée. La version préemptive, aussi appelée SRIF, Shortest Remaining Time First («plus court temps restant en premier»), est plus souple. Si un processus dont le temps d exécution est plus court que le reste du temps d exécution du processus en cours de traitement entre dans la file d attente, alors il prendra sa place. 12

Mise en garde Dans les transparents précédents on a joué subtilement sur le fait de connaître ou pas dès le départ l'ensemble des tâches, leurs durées d'exécution (dates de début, date de fin) Dans la réalité : il faut faire du online (à la volée) et prendre des décisions quand une tâche arrive : online clairvoyant : quand la tâche arrive elle annonce sa durée d'exécution non clairvoyant : elle ne dit rien ET DONC TOUT EST ENCORE PLUS DIFFICILE DANS LA «VRAIE VIE» 13

Autre vue de l ordonnancement (Les riches heures de l ordonnancement - Trystram, 2012) 14

Quelques précisions techniques Le terme précédent γ(i,j) indique par exemple le coût du transfert du (fichier) résultat de la tâche i vers la tâche j ; Notation : π(i) processeur sur lequel la tache i tourne ; les processeurs peuvent être hétérogènes (vites horloges différentes) Dans le modèle délai à temps de communication unitaire on prend : 15

Quelques précisions techniques Dans le modèle LogP on distingue les surcoûts pour l empaquetage et le déempaquetage des messages plus le coût de traversée du réseau : γ(i,j) = Osend+ L + Orec Dans le modèle général affine, on considère un temps de start-up β (pour acquérir le réseau) et un facteur proportionnel à la taille du message de sorte que γ(i,j) = β + Li,j. τ (où τ est l inverse de la bande passante du lien) 16

Exercice : trouver l ordonnancement sur 87 processeurs pour le graphe de tâches suivant qui nous vient de l application «Association Mapping and Population Genetics in Vervets» 17

C était une blague! Ordonnancement sur 2 processeurs Tache jaune : cout d exécution = 1 Tâches bleus : coût = 2 Tâches rouges : coûts = 1 Tâches oranges : coûts = 2 Tâches vertes : coûts = 1 Tâche bleu ciel : coût = 2 Tâche violette : coût = 1 Tâche grise : coût = 1 Modèle à temps de communication unitaire puis Modèle général affine : imaginer des valeurs réalistes pour les paramètres puis proposer un ordonnancement 18

Autre exemple Ordonnancement sur 4 processeurs Tache jaune : cout d exécution = 1 Tâches bleus : coût = 2 Tâches rouges : coûts = 1 Tâches oranges : coûts = 2 Tâches vertes : coûts = 1 Modèle à temps de communication unitaire puis Modèle général affine : imaginer des valeurs réalistes pour les paramètres puis proposer un ordonnancement 19