Politiques d ordonnancement

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

Partie 7 : Gestion de la mémoire

Chapitre 7 : Intégration sur un intervalle quelconque

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques.

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

Simulation de variables aléatoires

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

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

Continuité et dérivabilité d une fonction

4 Distributions particulières de probabilités

14. Introduction aux files d attente

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

Chapitre 2 Le problème de l unicité des solutions

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

TSTI 2D CH X : Exemples de lois à densité 1

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

PLAN DE COURS. GPA750 Ordonnancement des systèmes de production aéronautique

Fonctions de plusieurs variables. Sébastien Tordeux

Moments des variables aléatoires réelles

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Exercices - Polynômes : corrigé. Opérations sur les polynômes

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

Rappels sur les suites - Algorithme

Intégrale et primitives

Compression Compression par dictionnaires

Limites finies en un point

Correction du Baccalauréat S Amérique du Nord mai 2007

Espérance conditionnelle

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

PROBABILITES ET STATISTIQUE I&II

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

Initiation à l algorithmique

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Correction de l épreuve CCP 2001 PSI Maths 2 PREMIÈRE PARTIE ) (

Exercices sur le chapitre «Probabilités»

MODELES DE DUREE DE VIE

Cours de méthodes de scoring

Systèmes d exploitation Gestion de processus

la virtualisation pour quoi faire?

Module d Electricité. 2 ème partie : Electrostatique. Fabrice Sincère (version 3.0.1)

Introduction à l étude des Corps Finis

Ordonnancement temps réel

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

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

Polynômes à plusieurs variables. Résultant

Manuel de validation Fascicule v4.25 : Thermique transitoire des structures volumiques

Master Modélisation Aléatoire Paris VII, Cours Méthodes de Monte Carlo en nance et C++, TP n 2.

Sécurité & Authentification. Sécurité Authentification utilisateur Authentification applicative

Suites numériques 3. 1 Convergence et limite d une suite

Condition de stabilité d'un réseau de les d'attente à deux stations et N classes de clients 1

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

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Dualité dans les espaces de Lebesgue et mesures de Radon finies

GdsCompta. Logiciel de comptabilité générale

CALCUL DES PROBABILITES

Triangle de Pascal dans Z/pZ avec p premier

I- Définitions des signaux.

ENS de Lyon TD septembre 2012 Introduction aux probabilités. A partie finie de N

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

Module 7: Chaînes de Markov à temps continu

Cours A7 : Temps Réel

Redondance de service

Traitement du signal avec Scilab : la transformée de Fourier discrète

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

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

Agrégation de liens xdsl sur un réseau radio

3. Conditionnement P (B)

Peut-on imiter le hasard?

Utilisation du plugin AppliDis SLB (Smart Load Balancing)

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

Cours 02 : Problème général de la programmation linéaire

Le modèle de Black et Scholes

GEA II Introduction aux probabilités Poly. de révision. Lionel Darondeau

10 leçon 2. Leçon n 2 : Contact entre deux solides. Frottement de glissement. Exemples. (PC ou 1 er CU)

Economie de l incertain et de l information Partie 1 : Décision en incertain probabilisé Chapitre 1 : Introduction à l incertitude et théorie de

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Cours de Systèmes d Exploitation

Comment paramétrer manuellement mon mobile pour accéder à la 2G/3G+ et configurer mes s?

TP LINUX Travaux avec Debian ETCH

Chapitre 1 Régime transitoire dans les systèmes physiques

Sites web éducatifs et ressources en mathématiques

Exo7. Probabilité conditionnelle. Exercices : Martine Quinio

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

La fonction exponentielle

Veeam Backup & Replication v6

Structure fonctionnelle d un SGBD

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

2011 Hakim Benameurlaine 1

L art d ordonnancer. avec JobScheduler. François BAYART

Programmes des classes préparatoires aux Grandes Ecoles

Equations Différentielles

Les algorithmes de base du graphisme

Licence MASS (Re-)Mise à niveau en Probabilités. Feuilles de 1 à 7

Chapitre 0 Introduction à la cinématique

Calcul fonctionnel holomorphe dans les algèbres de Banach

OUTLOOK GÉRER EFFICACEMENT SON BUSINESS D INGÉNIERIE OU DE CONSEIL AVEC OUTLOOK

IFT1215 Introduction aux systèmes informatiques

Transcription:

Disciplines d'ordonnancement élémentaire Politiques d ordonnancement (UI 96 chap 5 ; OSC 03 chap 6 et 14.2) On a plusieurs exemples d'ous (Organes à Usage Séquentiel) qui peuvent être alloués à un et un seul utilisateur à la fois : MS, unités E/S, sections critiques,... Quand plusieurs utilisateurs demandent un OUS, dans quel ordre faut-il le leur attribuer? L'algorithme qui détermine cet ordre = algorithme d'ordonnancement L ensemble de règles sur lequel est basé cet algorithme = politique, stratégie (discipline) d'ordonnancement S.C.O. Politiques d ordonnancement 2 1 2

Disciplines d'ordonnancement élémentaire Job (client), tâche qu'un utilisateur veut faire réaliser par un OUS Source, générateur de jobs Serveur, OUS ou ressource Calendrier, liste ordonnée de descriptions de job L'ordonnancement a lieu quand la source ajoute un job au calendrier ou quand le serveur sélectionne le prochain job S.C.O. Politiques d ordonnancement 3 Exemple a) Serveur = unité MS Source = ensemble des processus qui demandent des transmissions de données Description de job = message qui indique deux zones de mémoire, une dans MC et une dans MS, la taille de ces zones ainsi que l'identification du processus demandant la transmission Calendrier déterminé par files de requêtes L ordonnacement a lieu quand le message est envoyé S.C.O. Politiques d ordonnancement 4 3 4

Exemple b) Serveur = Source = Calendrier = ensemble de sections critiques (S.C.) partageant le même sémaphore S tous les processus tentant d'entrer dans une S.C. liste d'attente du sémaphore S Exemple c) Serveur = CPU multiplexé entre 1 ensemble de processus Job = séquence d'instructions entre deux pauses consécutives d'un processus Calendrier = liste des processus "ready" L ordonnancement a lieu quand un processus entre dans la liste d attente L ordonnancement a lieu quand un processus entre dans «ready list» ou quand le prochain processus est sélectionné S.C.O. Politiques d ordonnancement 5 S.C.O. Politiques d ordonnancement 6 5 6

Files d attente Ordre naturel, selon instants d'arrivée : FIFO, FCFS quand aucune raison de favoriser 1 job insertions et suppressions très simples push LIFO : stack pop PPPS : OSC 03 6.3.2. et 14.2.2 Pas toujours désirable mais très simple Files d attente Pr[source génère i nouveau(x) job(s) / unité de temps] suit distribution de Poisson (instants d arrivée indépendants de l'état présent et des arrivées précédentes) Th. de PALM-KHINTCHINE (guichets banque, centraux téléphoniques,...) S.C.O. Politiques d ordonnancement 7 S.C.O. Politiques d ordonnancement 8 7 8

Files d attente Les jobs servis, c'est-à-dire les départs du système, suivent aussi un processus de POISSON si l instant de terminaison d'un job est indépendant de l'instant de commencement sans mémoire ("memoryless", amnésie) [serveur exponentiel] Files d attente α, taux d arr = nombre moyen de jobs générés par unité de temps β, taux de service = nombre moyen de jobs traités par unité de temps si la file est non vide Pr(x), Pr [x arr en 1 unité de temps] = S.C.O. Politiques d ordonnancement 9 S.C.O. Politiques d ordonnancement 10 9 10

Files d attente Esp math ou moyenne du nombre d arrivées par unité de temps : Files d attente Pr[x services par unité de temps file non vide] = Nombre moyen d arrivées durant un intervalle t = αt Pr[x arrivées durant un intervalle t] = Pr[0 arrivée durant t] = e -αt Pr[au moins une arrivée durant t] = 1- e -αt = Densité de Probabilités =α.e -αu S.C.O. Politiques d ordonnancement 11 S.C.O. Politiques d ordonnancement 12 11 12

Files d attente Pr[0 arrivée durant (0,t) et une arrivée durant (t,t+dt)] = e -αt.αdt α.e -αt est donc la fonction de densité de P du temps inter-arrivées (séparant deux arrivées consécutives) On en déduit le temps moyen inter-arrivées : Files d attente Notons T ia la variable aléatoire représentant le temps interarrivées F sa fonction de répartition f sa d.d.p. Pr[au moins une arrivée entre 0 et t] = P[0< T ia t] = F(t) - F(0) = f(x)dx c est- à- dire f(x) = α.e -αx S.C.O. Politiques d ordonnancement 13 S.C.O. Politiques d ordonnancement 14 13 14

Files d attente Pr[0 arrivée durant (0,t) et une arrivée durant (t,t+dt)] = Pr[t<T ia t+dt] = F(t+dt) - F(t) = df(t) = f(t) dt = α.e -αt dt Files d attente Si la file n est pas vide Pr[0 départ durant (0,t)]=e -βt Pr[au moins un départ durant (0,t)]= 1 - e -βt = Pr[0 départ durant (0,t) et 1 départ durant (t, t+dt)] = e -βt β dt S.C.O. Politiques d ordonnancement 15 S.C.O. Politiques d ordonnancement 16 15 16

Files d attente Temps moyen inter-départs (file non vide) ou temps moyen de service Ce qui intéresse les usagers d un système : moins le temps de service que le temps de réponse t r t r dépend beaucoup de ce qu on trouve dans la file à son arrivée, donc en particulier de α et β On définit l utilisation du système : Files d attente ρ > 1, instabilité : la file d attente s allonge indéfiniment ρ 1 : 1 nouvel arrivant trouve le plus souvent la file vide Soit T r le temps moyen de réponse : W, temps moyen d attente dans la file S.C.O. Politiques d ordonnancement 17 S.C.O. Politiques d ordonnancement 18 17 18

Files d attente Soit n le nombre moyen de jobs qu on trouve dans le système α Théorème de LITTLE : n= αt n β Théorème de LITTLE (n=( αt) Nous étudierons les systèmes où α, β constants ρ < 1 état stationnaire p i (t), Pr[nb de jobs dans le système = i, à l instant t] Démonstration dans le cas FCFS S.C.O. Politiques d ordonnancement 19 S.C.O. Politiques d ordonnancement 20 19 20

Théorème de LITTLE Pr[+1] = Pr[1 arrivée en t] = α. t e -α t = α t + O( t 2 ) Pr[-1] = Pr[1 départ en t] si i > 0 = β. t e -β t = β t + O( t 2 ) Pr[-1] = 0 si i=0 (file vide) Théorème de LITTLE Pr de plus d une arrivée ou de plus d un départ, au moins 0( t 2 ) Pr[0] Pr(inchangé en t) = (1- α t)(1- β t) + 0( t 2 ) i > 0 Pr(inchangé en t) = (1- α t) + 0( t 2 ) i = 0 p i (t+ t) = p i (t).pr[0] + p i+1 (t).pr[-1] + p i-1 (t).pr[+1] si i > 0 p 0 (t+ t) = p 0 (t).pr[0] + p 1 (t).pr[-1] S.C.O. Politiques d ordonnancement 21 S.C.O. Politiques d ordonnancement 22 21 22

Théorème de LITTLE soit : p i (t+ t) - p i (t) = -p i (t)(α + β) t + p i (t) 0( t 2 ) + p i+1 (t)β t + p i+1 (t) 0( t 2 ) + p i-1 (t)α t + p i-1 (t) 0( t 2 ) p 0 (t+ t) - p 0 (t) = - p 0 (t) α t + p 0 (t) 0( t 2 ) + p 1 (t) β t + p 1 (t) 0( t 2 ) Théorème de LITTLE Divisant par t et prenant : p i =-(α+β)p i (t)+β p i+1 (t)+α p i-1 (t) i>0 et : p 0 (t) = - α p 0 (t) + β p 1 (t) D où, à l état stationnaire (p i (t)=0) : (α+β) p i (t) = β p i+1 (t) + α p i-1 (t) i>0 p 1(t) = p 0 (t) = ρ p 0 (t) S.C.O. Politiques d ordonnancement 23 S.C.O. Politiques d ordonnancement 24 23 24

Théorème de LITTLE α α α α α Théorème de LITTLE Normalisation : 0 1 i-1 i i+1 β β β β β D où : P 0 (t) = 1 - ρ Pr[file non vide] = ρ = utilisation S.C.O. Politiques d ordonnancement 25 S.C.O. Politiques d ordonnancement 26 25 26

Théorème de LITTLE Nombre moyen de clients dans la file : Théorème de LITTLE D où le temps de réponse = T = n/α = ρ / (1 - ρ).1/α = 1 / (β - α) temps moyen de réponse temps moyen de service = βt = 1/(1-ρ) augmente à mesure que ρ 1 S.C.O. Politiques d ordonnancement 27 S.C.O. Politiques d ordonnancement 28 27 28

Round Robin Discipline de service round robin (RR), applicable seulement à une ressource préemptible (CPU) : Round Robin Supposons deux sortes de jobs dans le systèmes jobs courts (α 1, β 1 ) jobs longs (α 2, β 2 ) α Quantum n β Les deux processus d arrivées sont de type Poisson et indépendants leur composition est aussi Poisson de taux α = α 1 + α 2 S.C.O. Politiques d ordonnancement 29 S.C.O. Politiques d ordonnancement 30 29 30

Round Robin FIFO Round Robin RR, Quantum q Supposons : le même pour tous les jobs, longs ou courts et comme pour FIFO S.C.O. Politiques d ordonnancement 31 S.C.O. Politiques d ordonnancement 32 31 32

Round Robin RR, Quantum q MAIS OVERHEAD (sauver et recharger info de status ) aussi % avec k RR uniquement quand il y a de grandes disparités : q service d un job court Ordonnancement à priorité linéaire (P.L.( P.L.) RR est applicable seulement à des ressources préemptibles : CPU, MC, RR T k, injuste pour les jobs longs car le système doit reconnaître certaines obligations visà-vis des jobs avec lesquels il s est engagé PL : conditions d admission dépend : de l instant d arrivée du nombre de jobs dans le système S.C.O. Politiques d ordonnancement 33 S.C.O. Politiques d ordonnancement 34 33 34

Ordonnancement à priorité linéaire Le job qui vient de recevoir un quantum est réinjecté au milieu de la file Ordonnancement à priorité linéaire Priorité d un job = p p = a. t pour les nouveaux jobs p = b. t pour les jobs acceptés Nouveau a > b p(t) = a(t 1 t 0 )+b(t-t 1 ) Jobs acceptés Un nouveau job est accepté dès que sa priorité = celle des jobs acceptés S.C.O. Politiques d ordonnancement 35 S.C.O. Politiques d ordonnancement 36 35 36

Ordonnancement à priorité linéaire Priorité des jobs acceptés la variable ap qu on incrémente de b.q à chaque fin de quantum ap 0 si les jobs acceptés sont tous terminés ap reprend la valeur de la priorité du 1er nouveau job accepté On doit enregistrer la priorité de chaque nouveau job séparément La transformation linéaire sauvegardant l ordre : v = -p/a + t Ordonnancement à priorité linéaire Le temps d arrivée virtuel V(t) = t 0 (constant) pour un nouveau job et pour un job accepté S.C.O. Politiques d ordonnancement 37 S.C.O. Politiques d ordonnancement 38 37 38

Ordonnancement à priorité linéaire Ordonnancement à priorité linéaire Soit av le temps d arrivée virtuel des jobs acceptés La vitesse à laquelle av voyage sur l axe de temps dépend du paramètre tg β = b t 0 = v(t 1 ) t 1 v(t 2 ) t 2 t tg α = a S.C.O. Politiques d ordonnancement 39 S.C.O. Politiques d ordonnancement 40 39 40

Cas 1 Cas 2 av v 0 v 1 v 2 t av ne rencontrera jamais le temps d arrivée virtuel d un nouveau job un nouveau job ne sera pas accepté tant que le(s) job(s) acceptés ne quitte(nt) pas le système : FCFS av v 0 v 1 v 2 t av se déplace moins vite que le temps mais rattrapera le temps d arrivée virtuelle de tout nouveau job SRR : t att d un nouveau job % quand r 0 S.C.O. Politiques d ordonnancement 41 S.C.O. Politiques d ordonnancement 42 41 42

Cas 3 Exemple 3 r = 1 ou b = 0 Le temps d arrivée virtuel croît aussi vite que le temps priorité d un nouveau job = celle des jobs acc : RR FCFS RR SRR r = 0 r = 1 0 < r < 1 réinjection tête de file fin de file entre les deux t réponse jobs longs courts k entre les deux Un nouveau job reste dans la boite de délai tant que son temps d arrivée virtuel > celui des jobs acceptés. Le temps que passe un nouveau job dans la boite de délai dépend de la vitesse à laquelle av rattrape son temps d arrivée. S.C.O. Politiques d ordonnancement 43 S.C.O. Politiques d ordonnancement 44 43 44

M/M/1 M/M/1 Soient 2 arrivées consécutives aux instants t 1 et t 2 tels que = t 2 -t 1 = 1/α, temps moyen inter-arrivée Ces deux jobs seront acceptés aux instants t 1 et t 2 tels que : Pour 1 job accepté : et pour un job S antérieur quelconque S.C.O. Politiques d ordonnancement 45 S.C.O. Politiques d ordonnancement 46 45 46

M/M/1 D où : M/M/1 Tout se passe comme si la boîte de délai diminue le taux d arrivée au serveur d un facteur c est-à-dire S.C.O. Politiques d ordonnancement 47 S.C.O. Politiques d ordonnancement 48 47 48

M/M/1 M/M/1 T d d un job ne dépend pas de son propre temps de service et est donc le même pour tous les jobs où Or et S.C.O. Politiques d ordonnancement 49 S.C.O. Politiques d ordonnancement 50 49 50

Synthèse Synthèse Pour les jobs qui ont un temps de service égal au Ordonnancement CPU à long terme Tenir compte de l histoire d un job S.C.O. Politiques d ordonnancement 51 S.C.O. Politiques d ordonnancement 52 51 52

Exemple 3 niveaux de files d attente de priorités distinctes 1 RR : 2 SRR : 3 FCFS : jobs très courts partent très vite éventuellement encore subdivisé pour éviter OVERHEAD de commutation beaucoup de jobs longs en MC Ordonnancement processeur virtuel Ordonnancement processeur virtuel Système divisé en sous-systèmes qui possèdent leur propre processeur virtuel Exemple : Système général Sous- Sous- Sous- système traitement par lot (FCFS) système TS (RR) système temps réel (FCFS) S.C.O. Politiques d ordonnancement 53 S.C.O. Politiques d ordonnancement 54 53 54

Ordonnancement processeur virtuel Exemple : n sous-systèmes avec 1 cpu Références : OSC 03 : Chap 6 : CPU scheduling Chap 20 : Linux Chap 21 : Windows 2000 Chap 22 : Windows XP S.C.O. Politiques d ordonnancement 55 55