chapitre iv : la gestion du processeur mécanismes d

24
Introduction Les principes fondamentaux Strat´ egies d’ordonnancement Impl´ ementation d’un ordonnanceur Chapitre IV : La gestion du processeur ecanismes d’ordonnancement [email protected] epartement IEM http://ufrsciencestech.u-bourgogne.fr http://ludique.u-bourgogne.fr/ ~ leclercq 25 f´ evrier 2006

Upload: others

Post on 22-Jun-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Chapitre IV : La gestion du processeurMecanismes d’ordonnancement

[email protected]

Departement IEMhttp://ufrsciencestech.u-bourgogne.fr

http://ludique.u-bourgogne.fr/~leclercq

25 fevrier 2006

Page 2: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Plan

1 IntroductionProblematiqueNotion d’ordonnanceurComposants de l’ordonnanceur

2 Les principes fondamentauxPrincipes d’ordonnancementNotion de penalisation

3 Strategies d’ordonnancementParametres essentielsTraitement jusqu’a terminaisonTraitement avec preemption

4 Implementation d’un ordonnanceurCriteres a optimiserExemples reels

Page 3: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Introduction et problematique

De nombreux processus sont geres par le SE

L’efficacite theorique maximale est atteinte si le nombre deprocesseurs est identique a celui des processus

Dans la plupart des cas la machine possede 1 seul processeurpar consequent : un grand nombre de processus se partagentle processeur (une ressource limitee)

Il faut definir une politique d’acces au processeur(ordonnancement ou scheduling)

Page 4: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Notion d’ordonnanceur

Definition : (Ordonnanceur)

Le mecanisme d’ordonnancement definit les criteres selon lesquelsles processus ont acces au processeur

Les demandes d’acces au precesseurs sont gerees dans des filesd’attente.

Les differentes methodes de gestion des files vont donner lieu a desstrategies d’ordonnacement differentes et des comportement du SEdifferents.

On souhaite :

un temps de reponse rapide pour les applications interactives

un debit eleve pour les travaux en arriere plan

eviter la famine

Page 5: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Composants de l’ordonnanceur

Objectif : realiser un implementation qui minimise le tempsd’execution de la strategie.

Page 6: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Principes d’ordonnancement

On distingue 3 grands principe de gestion des acces aux processeurselon :

l’ordre d’arrivee : premier arrive premier servi ;

le degre d’urgence : le premier servi est celui dont le besoind’acces rapide a la ressource est le plus grand ;

l’importance : le premier servi est celui dont l’acces a laressource est le plus important.

Suivant le principe retenu le SE aura un comportement different :il ne sera pas destine a tous les types d’utilisations (par ex. adapteaux traitements temps reel).

Pour s’adapter a des cas particuliers, plusieurs principes sontsouvent combines

Page 7: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Notion de penalisation

Definition : (Penalisation)

Lorsqu’un processus ne peut pas acceder directement a uneressource qu’il convoite on dit qu’il est penalise

La penalisation que subit un processus peut etre representee parson temps d’attente

Definition : (Temps d’attente)

Le temps d’attente est le nombre d’unite de temps durant lesquellesle processus est present dans la file d’attente (sans etre execute)

Page 8: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Notion de penalisation

La mesure de la penalite peut etre affinee :

en relativisant le temps d’attente par rapport a la duree duprocessus

on obtient ainsi un taux de retard T defini par le rapport :T = d/(a + d) ou

d est duree du processusa duree d’attente (cumulee)a + d le temps total du processus passe dans le systeme

dans le cas ideal T=1

Page 9: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Parametres essentiels

Deux parametres peuvent etre pris en compte pour elaborer unestrategie d’ordonnancement :

Strategie d’acces

Utilisation de processeur

Page 10: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Traitement jusqu’a terminaison

Principe : la politique de traitement du processus jusqu’aterminaison

accorde le processeur a un processus.

ne l’interrompt jamais quelque soit sa duree ;

Strategie FCFS (First Come First Serve) c-a-d premier arrivepremier servi

elle correspond a une gestion FIFO (First In, First Out) de lafile d’attente

c’est la strategie plus simple

le traitement des processus est sequentiel

les processus courts sont penalises et le temps d’attentemoyen est souvent important

probleme avec les processus IO-bound et CPU-boundprovoque un effet convoy

Page 11: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Traitement jusqu’a terminaison

Strategie SFJ (Shorstest Job First) c-a-d moindre duree :

on garde le principe d’occupation du processeur jusqu’aterminaison

la file d’attente est ordonnee non plus de facon chronologiquemais en fonction du temps d’execution necessaire (on faitpasser en tete les travaux courts)

cependant la duree totale est a-priori inconnue, on utiliser unedecomposition en rafales (burst) CPU et IO (nombred’instructions)

prouve comme etant optimal vis a vis de temps d’attentemoyen

Page 12: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Traitement jusqu’a terminaison

mais il des difficile de determine la duree des phases de rafale

prediction de la prochaine valeur du CPU burst basee sur unemoyenne exponentielle des precedentes mesures :

τn+1 = αtn + (1− α)τn

ou

tn : longueur du nieme CPU burst (mesure)0 ≤ α ≤ 1 facteur de prise en compte du temps precedent

si α = 0 τn+1 = τn

si α = 1 τn+1 = tn

on utilise τ pour interclasser les processus dans la file

Page 13: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Ordonnancement base sur une priorite

Une priorite est associe a chaque processus

Le CPU est alloue a celui qui a la priorite la plus haute

En cas de priorite egale on utilise FCFS

Le SFJ est un cas simple de strategie utilisant une priorite(inverse de τ)

D’une maniere generales les algorithmes utilisant un prioritepeuvent propoquer une attente infinie ou une famine

Un solution est de corriger la priorite avec l’age du processus

Page 14: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Traitement avec preemption

La requisition (preemption) concerne la gestion du processeur.

Elle consiste a decider en fonction de certains criteres, deremettre le processus en file d’attente avant la fin de sonexecution

Les processus font plusieurs passages dans la file d’attente

Le temps d’attente d’un processus est sa duree d’attentecumulee

Ce mecanisme est surtout utilise dans la strategie dutourniquet

La strategie SJF peut etre adpatee pour un mode preemptif :si un processus plus court que le processus actif arrive dans lafile, le processus actif est preempte

Page 15: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Traitement avec preemption

Strategie du tourniquet RR (Round-Robin)

objectif : vider les processus qui s’attardent trop dans leprocesseur

l’ordonnanceur realise la commutation de contexte

un processus est remis en file d’attente des que sa dureed’occupation du processeur depasse une duree predefinie :quantum de temps

la gestion de la file d’attente est faite selon le principe FIFO :

les travaux assez courts sont vite servisles travaux longs sortiront du systeme au bout d’un temps fini

Page 16: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Traitement avec preemption

Page 17: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Traitement avec preemption

Strategie du tourniquet RR (Round-Robin)

l’efficacite du systeme depend de la valeur du quantum :

trop petit, la machine perd du temps a changer de contexte(swapping)trop long, les petits travaux ne sont pas executes

on peut vouloir eviter que les processus long ne s’attardentpas trop dans le systeme : tourniquet exclusif

on ajoute une file d’entree au tourniquet et on determine deuxclasses de processus :

les processus acceptes, qui sont integres au tourniquetles nouveaux processus (arrivants)

Page 18: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Traitement avec preemption

Page 19: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Traitement avec preemption

Taux de priorite = F(t)

T augmente en fonction du temps qu’ils ont passe

Le taux de priorite d’un nouveau processus est toujours plusfaible que le plus bas taux de priorite des processus acceptes

Si le taux de priorite des nouveaux processus augmente plusrapidement que celui des acceptes il peut y avoir rattrapage

Un processus nouveau dont le taux de priorite a atteint celuid’un processus accepte est a son tour integre au systeme

Page 20: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Traitement avec preemption

Tourniquet a plusieurs files

Les files d’attente permettent d’introduire une hierarchie entreles demandeurs

fonction d’une priorite associee aux processusfonction du temps deja passe dans le systemeou bien d’autres criteres

Page 21: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Traitement avec preemption

Page 22: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Traitement avec preemption

Les regles de fonctionnement sont les suivantes :

le niveau de priorite maximal (niveau 1) = file d’attente desprocessus arrivants

a chaque file d’attente est associe un quantum de tempsspecifique

la file la moins prioritaire a un quantum de temps important(Qn+1 ≥ Qn)

Quand un processus atteint la fin de son quantum de tempssans etre termine, il descend d’un etage

les processus d’un niveau de priorite ne peuvent acceder auprocesseur que si les files de priorite superieures sont vides

l’apparition d’un nouveau processus dans une file de niveauinferieur a celui de la file d’origine d’un processus en coursprovoque le vidage de ce processus (requisition du CPU)

Page 23: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Criteres a optimiser

Utilisation du CPU

Debit (Throughput)

Rotation (Turnaround time)

Temps d’attente des processus (Waiting Time)

Response Time (Response Time)

Page 24: Chapitre IV : La gestion du processeur Mécanismes d

Introduction Les principes fondamentaux Strategies d’ordonnancement Implementation d’un ordonnanceur

Exemples reels

Les systemes BSD 4.3 utilisent un RR

Les files materialisent des niveau de priorite differents(multi-level-feddback round robin queues)

l’ordonnaceur scheduler parcourt les listes de haut en baspour trouver un processus eligible

il existe des listes internes pour le noyau avec la possibilite dedoubler les processus endormis

pour les liste utilisateur la regle generale de preemption estappliquee

un processus qui utilise le CPU voit sa priorite augmenter

un processus qui libere le CPU pour une E/S ne modifie passa priorite

un processus qui epuise tout son quantum de tamps estpreempte

plus la priorite augmente moins le processus est prioritaire