chap06-1 (1)

download chap06-1 (1)

of 82

Transcript of chap06-1 (1)

  • 8/17/2019 chap06-1 (1)

    1/82

    1

    Ordonnancement ProcessusOrdonnancement Processus

    Chapitre 6Chapitre 6

    http://w3.uqo.ca/luigi/http://w3.uqo.ca/luigi/

  • 8/17/2019 chap06-1 (1)

    2/82

    Ch. 6 2

    Aperçu du chapitreAperçu du chapitre

    Concepts de base Critères d’ordonnancement Algorithmes d’ordonnancement

    Ordonnancement de multiprocesseurs Ordonnancement temps réel Évaluation d’algorithmes

  • 8/17/2019 chap06-1 (1)

    3/82

    Importance des concepts de ce chapitresImportance des concepts de ce chapitres

    Les méthodes d’ordonnancement ont desnombreuses applications Et ont été très étudiées,surtout avec des

    éthodes pro!a!ilistes et de siulation Non seulement en informatique, mais aussi

    en gestion "upposons qu#on parle de di$$érents t%ches &

    e'écuter dans une usine dans laquelle il ( ades ressources qui sont des ouvriers et desoutils

    Ch. 6 3

  • 8/17/2019 chap06-1 (1)

    4/82

    Importance dans l’informatiqueImportance dans l’informatique

    L’utilisation de critères d’ordonnancementefficaces est surtout importante pour les grandscentres d’informatique qui sont très chargés Chi$$res recueillies dans le we!: )oogle, *icroso$t:

    !ien plus d#1* de serveurs chaque +ne petite épargne en pourcentage dans cette

    situation peut éconoiser des soesconsidéra!les électricité, chau$$age etc.- l est iportant de garder les serveurs saturés de travail

    Ch. 6

  • 8/17/2019 chap06-1 (1)

    5/82

    Ch. 6 0

    Diagramme de transition d’états d`un processusDiagramme de transition d’états d`un processus

  • 8/17/2019 chap06-1 (1)

    6/82

    Ch. 6 6

    Files d’attente de processus pourFiles d’attente de processus pourordonnancementordonnancement

    file prêt

    Nous ferons l’hypothèse que le premier processus dans une file est celui

    qui utilise la ressource: ici, proc7 exécute.

    Nous débuterons avec l’hypothèse qu’il n’y a qu’une seule U!

  • 8/17/2019 chap06-1 (1)

    7/82Ch. 6

    Concepts de baseConcepts de base

    La multiprogrammation vise ! obtenir une utilisation optiale des ressources et aussi un !on teps de réponse pour l#usager 

    L’"C# est la ressource la plus précieuse dans un

    ordinateur, donc nous parlons d’elle cependant, les principes que nous verrons s#appliquent

    aussi & l#ordonnanceent des autres ressources unitésE/", etc-.

    L’ordonnanceur "C# est la partie du $% qui décidequel processus dans la file read&'pr(t obtientl’"C# quand elle devient libre

  • 8/17/2019 chap06-1 (1)

    8/82Ch. 6

    es c!cles d’un processuses c!cles d’un processus

    C&cles )bursts* d’"C# et %'$ l’activité d’un processusconsiste de séquences d’e+écution sur "C# et d’attentes

    d’%'$ ou de s&nchronisation avec autres processus

  • 8/17/2019 chap06-1 (1)

    9/82

    Durée normale des c!clesDurée normale des c!cles

    Étant donné la grande vitesse de l’"C# parrapport au+ périphériques, la plupart desc&cles d’"C# seront très courts

    Cependant il pourrait & avoir des longsc&cles d’"C# quand on demandera descalculs poussés Calculs scienti$iques etc.

    Ch. 6

  • 8/17/2019 chap06-1 (1)

    10/82Ch. 6 14

    Observation e+périmentale dans un s(stèe t(pique, nous o!serverons un grand no!re de

    court c(cles d#+C5, et un petit no!re de long c(cles Les programmes tributaires de l’"C# auront normalem- un

    petit nombre de long c&cles "C# Les programmes tributaires de l’%'$ auront normalem- un

    grand nombre de court c&cles "C#

    Durée t!pique des c!cles "C#Durée t!pique des c!cles "C#

  • 8/17/2019 chap06-1 (1)

    11/82Ch. 6 11

    $uand in%oquer l’ordonnanceur$uand in%oquer l’ordonnanceur "C#"C# L ’ordonnanceur "C# doit prendre sa décision chaque fois que le

    processus e+écutant est interrompu, c’e!-d-1. un processus se présente en tant que nouveau ou se terine

    2. un processus e'écutant devient !loqué en attente3. un processus change d#e'écutant/running & prt/read(. un processus change de attente & prt/read(

    7 tout événeent dans un s(stèe qui cause une interruption de l#+C5iplique l#intervention de l#ordonnanceur,

    7 qui devra prendre une décision concernant quel proc ou thread aural#+C5 après

    .réemption on a préemption si on enlève l’"C# ! un processusqui l’avait et ne l’a pas laissée de propre initiative 8.e'. préeption dans le cas 3, pas de préeption dans le cas 2

    .lusieurs pbs ! résoudre dans le cas de préemption, v- manuel

  • 8/17/2019 chap06-1 (1)

    12/82Ch. 6 12

    DispatcheurDispatcheur &meilleur français' répartiteur(&meilleur français' répartiteur(

    Le processus qui donne le contr/le auprocessus choisi par l’ordonnanceur- 0ldoit se préoccuper de changer de conte'te

    changer & ode usager  réaorcer le processus choisi

    Attente de dispatcheur )dispatcher latenc&* le teps nécessaire pour e'écuter les

    $onctions du dispatcheur  il est souvent négligé, il $aut supposer qu#il soit

    petit par rapport & la longueur d#un c(cle

  • 8/17/2019 chap06-1 (1)

    13/82Ch. 6 13

    Crit)res d’ordonnancementCrit)res d’ordonnancement

    0l & aura normalement plusieurs processusdans la file pr(t

    1uand l’"C# devient disponible, lequel choisir2

    Critères générau+ 9onne utilisation de l#+C5 éponse rapide & l#usager 

    3ais ces critères peuvent (tre 4ugésdifféremment---

  • 8/17/2019 chap06-1 (1)

    14/82

    Ch. 6 1

    Crit)res spécifiques d’ordonnancementCrit)res spécifiques d’ordonnancement

    "tilisation "C# pourcentage d’utilisation 5ébit 6 #hroughput nombre de processus

    qui complètent dans l’unité de temps

    #emps de rotation 6 turnaround le tempspris par un proc de son arrivée ! sa termin- #emps d’attente attente dans la file pr(t

    )somme de tout le temps passé en file pr(t*

    #emps de réponse le temps entre unedemande de l’usager et la réponse

  • 8/17/2019 chap06-1 (1)

    15/82

    Ch. 6 10

    Crit)res d’ordonnancement'Crit)res d’ordonnancement' ma*imiser+minimiserma*imiser+minimiser

    "tilisation "C# pourcentage d’utilisation & a'iiser  5ébit 6 #hroughput nombre de processus qui

    complètent dans l ’unité de temps & a'iiser 

    #emps de rotation )turnaround* temps terminaisonmoins temps arrivée & iniiser 

    #emps d’attente attente dans la file pr(t

    & iniiser  #emps de réponse )pour les s&stèmes interactifs* le

    temps entre une demande et la réponse & iniiser 

  • 8/17/2019 chap06-1 (1)

    16/82

    Ch. 6 16

    ,*aminons maintenant plusieurs méthodes,*aminons maintenant plusieurs méthodesd’ordonnancement et %o!ons comment elles sed’ordonnancement et %o!ons comment elles secomportent par rapport - ces crit)rescomportent par rapport - ces crit)res

    nous étudierons des cas spécifiquesnous étudierons des cas spécifiques

    l’étude du cas général demanderait recours à techniques probabilistes ou del’étude du cas général demanderait recours à techniques probabilistes ou desimulationsimulation

  • 8/17/2019 chap06-1 (1)

    17/82

    Ch. 6 1

    Premier arri%é. premier ser%iPremier arri%é. premier ser%i &First come. first ser%e. FCF/(&First come. first ser%e. FCF/(

    "xemple: #rocessus !emps de cycle  #$ %&

      #% '

      #' '

    (i les processus arrivent au temps ) dans l’ordre: #$ , #% , #'*e dia+ramme antt pour l’utilisation de l’U! est:

    !emps d’attente pour #$- ) #%- %& #'- %7

    !emps attente moyen: /) 0 %& 0 %712' - $7

    P1

      P2  P

    3

    24 27 300

  • 8/17/2019 chap06-1 (1)

    18/82

    Ch. 6 1

    Premier arri%e. premier ser%iPremier arri%e. premier ser%i

    "tilisation "C# 6 7889 5ébit 6 :':8 6 8,7

    3 processus coplétés en 34 unités de teps #emps de rotation mo&en );=:8*': 6 ;>

    P1

      P2  P

    3

    24 27 300

  • 8/17/2019 chap06-1 (1)

    19/82

    Ch. 6 1

    #enir compte du temps d’arri%ée0#enir compte du temps d’arri%ée0

    5ans le cas o? les processus arrivent ! momentdifférents, il faut soustraire les temps d’arrivée %+ercice répéter les calculs si

    81 arrive & teps 4 et dure 2

    82 arrive & teps 2 et dure 3 83 arrive & teps 0 et dure 3

    5onc .7 attend 8 comme avant 3ais .; attend ;

  • 8/17/2019 chap06-1 (1)

    20/82

    Ch. 6 24

    FCF/ /cheduling &Cont1(FCF/ /cheduling &Cont1(

    $i les m(mes processus arrivent ! 8 mais dans l’ordre

     P 2  , P 3 , P 1 -Le diagramme de @antt est

    #emps d’attente pour P 1 =   P 2  6 8  P 3 = : #emps mo&en d’attente ) = 8 = :*': 6 : était 7> #emps de rotation mo&en ):==:8*': 6 7: était ;> Beaucoup mieu+ 5onc pour cette technique, les temps peuvent varier

    grandement  par rapport ! l’ordre d’arrivée de différentprocessus

    Exercice: calculer aussi le débit, etc.

    P1

    P3

    P2

    63 300

  • 8/17/2019 chap06-1 (1)

    21/82

    Ch. 6 21

    ,ffet d’accumulation,ffet d’accumulation &effet con%oi(&effet con%oi( dans FCF/dans FCF/

    $upposons )situation normale* un processus tri!utaire de l#+C5 c(cles longs- et plusieurs tri!utaires de l;E/" c(cles courts-

    Les processus tributaires de l’%'$ attendent l’"C# %'$ sousutilisée)D*

    Le processus tributaire de l’"C# fait une %'$ les procs tributaires de

    l’"C# e+écutent rapidement leur c&cle "C# et retournent surl’attente %'$ )convoi qui passe* "C# sousutilisée .rocessus tributaire de l’"C# finit son %'$, puis les autres aussi

    retour ! la situation )D* 5onc dans ce sens ECE$ favorise les procs tributaires de l’"C# %t peut conduire ! une mauvaise utilisation des ressources s’il & a

    apport continu de procs longs6tributaires de l’"C# 5ant d#+C5 que de périphériques "ne possibilité interrompre de temps en temps les proc tributaires

    de l’"C# pour permettre au+ autres procs d’e+écuter )préemption*

  • 8/17/2019 chap06-1 (1)

    22/82

    ,*emple,*emple

    $upposons 81: tri!utaire de l#+C5 82, 83: tri!utaires de l#E/"

    Ch. 6 22

    P1   P2 P3   P1UCT libre

    *e convoi qui passe

    pendant que #$ fait

    son "2(

    *’"2( de #$ a terminé mais

    les "2( de #% et #'

    continuent

    #$ demande une "2(

  • 8/17/2019 chap06-1 (1)

    23/82

    Ch. 6 23

    Plus Court d’abord 2 /hortest 3ob First &/3F(Plus Court d’abord 2 /hortest 3ob First &/3F(

    Le processus qui demande moins d’"C# part le premier  Optimal du point de vue du temps d’attente mo&en v. le dernier e'eple-

    3ais comment savonsnous quel processus demande moins

    d’"C# "upposons pour l#instant qu#on puisse

    P1

    P3

    P2

    63 300

  • 8/17/2019 chap06-1 (1)

    24/82

    Ch. 6 2

    /3F a%ec préemption ou non/3F a%ec préemption ou non

    Avec préemption si un processus qui dure moins que le restant  du processus courant se présente plus tard,

    l#+C5 est enlevée au proc courant et donnée &ce nouveau processus "5>: shortest reaining?tie $irst

    $ans préemption on permet au processuscourant de terminer son c&cle

  • 8/17/2019 chap06-1 (1)

    25/82

    Ch. 6 20

     .rocessusArrivée C&cle "C#

    P 1 8 >

     P 2  ; < P 3 < 7

     P 4 F <

    $GE )sans préemption*

    #emps d’attente mo&en 6 4@?2-@?-@12?0--/ A   4 @ 6 @ 3 @ -/ B #emps de rotation mo&en 6 )@12?2-@?-@16?0-- / B  

    ,*ample de /3F sans préemption,*ample de /3F sans préemption

    P1

      P3  P

    2

    7 160

    P4

    8 12

     P 2 arr .   P 

    3 arr.   P 

    4 arr 

    "xercice: calculer avec #3#(

  • 8/17/2019 chap06-1 (1)

    26/82

    Ch. 6 26

    ,*emple de /3F a%ec préemption,*emple de /3F a%ec préemption.rocessus Arrivée C&cle

    P 1 8 > P 2  ; <

     P 3 < 7

     P 4 F < $GE )préemptive*

    #emps mo&en dHattente 6 )I = 7 = 8 =;*'< 6 : était < .7 attend de ; ! 77, .; de < ! F, .< de F ! >

    #emps de rotation mo&en 6 16@ ?2- @ 0?- @ 11?0- B était

    P1

      P3

    P2

    42  110

    P4

    5 7

    P2

      P1

    16

     P 2 arr .   P 3 arr.   P 4 arr 

  • 8/17/2019 chap06-1 (1)

    27/82

    Plus en détail' file pr4tPlus en détail' file pr4t

    #emps des interruptions #emps 8

    e seul proc est 81, il est choisi #emps ; 0nterruption causée par l’arrivée de .;

    Deu' procs dans la $ile: 81 qui deande encore 0 et 82qui deande : ce dernier est choisi #emps

  • 8/17/2019 chap06-1 (1)

    28/82

    Préemption ou nonPréemption ou non

    La préemption est le cas normal pour l’"C#car l’arrivée d’un nouveau proc cause uneinterruption et ! ce moment l! l#ordonnanceur devra prendre une décision sur

    le prochain proc & e'écuter  3ais dans quelques ressources la

    préemption est impossible

    8.e'. dans une ipriante il $aut touoursteriner l#ipression courante avant d#enaorcer une nouvelle

    Ch. 6 2

  • 8/17/2019 chap06-1 (1)

    29/82

    Ch. 6 2

    Comment déterminer la longueur des c!cles - l’a%ance5Comment déterminer la longueur des c!cles - l’a%ance5

    1uelques méthodes proposent dedéterminer le comportement futur d’unprocessus sur la base de son passé p.e'. éthode de la o(enne e'ponentielle

  • 8/17/2019 chap06-1 (1)

    30/82

    Différentes méthodes en principeDifférentes méthodes en principe

    J&pothèse de comportement constant d’unprocessus +n processus qui a eu des c(cles d#+C5 de 3

    illisecondes en o(enne continuera coe =a

    J&pothèse de comportement variable d’unprocessus +n processus qui avant avait des c(cles d#+C5 de

    3s, aintenant a allongé ces c(cles, qui sont de14s

    a durée des c(cles les plus récents estconsidérée plus iportante pour la prévision desprochains c(cles

    Ch. 6 34

  • 8/17/2019 chap06-1 (1)

    31/82

    Ch. 6 31

    ,stimation de la durée du prochain c!cle,stimation de la durée du prochain c!cleh!poth)se de comportement constanth!poth)se de comportement constant

    #i la durée du i ème c&cle de l’"C# pour ceprocessus $i  la valeur estimée du i ème c&cle de l’"C# pour ce

    processus-  "

    n@1l#estiée courante

     "n l#estiée précédente

    "n choi+ simple est

    "n@1 B 1/n- ΣFiB1 & nG 5i une siple o(enne- Nous pouvons éviter de recalculer la somme en

    récrivant

    "n@1 B 1/n- 5n @ n?1-/n- "n Ceci donne un poids identique ! chaque c&cle

  • 8/17/2019 chap06-1 (1)

    32/82

    ,stimation de la durée du prochain c!cle,stimation de la durée du prochain c!cleh!poth)se de comportement %ariableh!poth)se de comportement %ariable

    Nous devons décider quelle importancedonner Hu' changeents plus récents 8ar rapport au' o!servations précédentes

    Ch. 6 32

  • 8/17/2019 chap06-1 (1)

    33/82

    Coefficient 6 pour le poidsCoefficient 6 pour le poids

    Ch. 6 33

    0 1

    α 1-α

    4mportance du cycle

    le plus récent4mportance de l’estimée

    précédente

    Pex. si α = 0,7, alors 1-α = 0,3

     

  • 8/17/2019 chap06-1 (1)

    34/82

    Ch. 6 3

    ,stimation de la durée du prochain c!cle,stimation de la durée du prochain c!cleh!poth)se de comportement %ariableh!poth)se de comportement %ariable

    3ais les c&cles récents peuvent (tre plus

    représentatifs des comportements ! venir  La mo&enne e+ponentielle permet de donner

    différents poids au+ c&cles plus ou moinsrécents

    "n@1 B α 5n@ 1?α- "n  I 4 JB α JB 1

    α

    le coéfficient d’importance #n la durée du c&cle le plus récent $ l’estimée

    "n@1 l#estiée courante après le c(cle 5n- "n l#estiée précédente

  • 8/17/2019 chap06-1 (1)

    35/82

    Pourquoi 7e*ponentielle’Pourquoi 7e*ponentielle’

    .ar e+pansion, nous vo&ons que le poids dechaque c&cle décroKt e+ponentiellement "n@1 B α5n @ 1?α-α5n?1 @ ... 1?α-iα5n?i @

    ... @ 1?α-n "1

    la valeur estimée $7 du 7er c&cle peut (trefi+ée ! 8 pour donner priorité ma+- au+nouveau+ processus

    Ch. 6 30

  • 8/17/2019 chap06-1 (1)

    36/82

    Ch. 6 36

    Importance de différents %aleurs de coefficientsImportance de différents %aleurs de coefficients 8/tallings98/tallings9

    Stallings

    #eu d’import. aux cycles récents

    5eaucoup d’import. aux cycles récs

    *a durée des vieux cycles perd d’importance rapidement si on donne beaucoup

    d’importance aux cycles récents, et aussi le converse6

         α

  • 8/17/2019 chap06-1 (1)

    37/82

    Ch. 6 3

    Importance de différents %aleurs de coefficientsImportance de différents %aleurs de coefficients 8/tallings98/tallings9

    $7 6 8 )priorité au+ nouveau+ processus* "n coefficient plus élevé réagit plus rapidement au+

    changements de comportement Stallings

  • 8/17/2019 chap06-1 (1)

    38/82

    Ch. 6 3

    "n deu*i)me e*emple"n deu*i)me e*emple 8/tallings98/tallings9

    Stallings

  • 8/17/2019 chap06-1 (1)

    39/82

    Ch. 6 3

    Comment choisir le coefficientComment choisir le coefficientα

    "n petitα

    assouplit les changements de comportement d’unprocessus l donne oins d#iportance au' c(cles récents l est avantageu' quand un processus peut avoir des

    anoalies de coporteent, après lesquelles il reprend soncoporteent précédent

    Cas liite:α

     6 8  on reste sur l#estiée initiale

    "n grosα

     réagit rapidement au+ changements l donne plus d#iportance au' c(cles récents

    Est avantageu' quand un processus est suscepti!le dechanger rapideent de t(pe d#activité et il reste sur =a

    Cas liite:α =

    : " n@1 B 5n  e dernier c(cle est le seul qui copte

  • 8/17/2019 chap06-1 (1)

    40/82

    ,*ercice' #ra%ailler cet e*emple dans le manuel,*ercice' #ra%ailler cet e*emple dans le manuelfaire un calcul plus précis :faire un calcul plus précis : aussi essa!er des coefficientsaussi essa!er des coefficients

    différentsdifférents

    Ch. 6 4

    réel

    estim.

    α=0,5

  • 8/17/2019 chap06-1 (1)

    41/82

    Ch. 6 1

    e plus court d’abord /3F' critiquee plus court d’abord /3F' critique

    5ifficulté d’estimer la longueur ! l’avance .lus pratique pour l’ordonnancement travau+ que

    pour l’ordonnancement processus Koral. on peut plus $acileent prévoir la durée d#un

    travail entier que la durée d#un seul c(cle 0l & a assignation implicite de priorités préférences

    au+ travau+ plus courts Famine possi!le pour les travau' au' c(cles longs

  • 8/17/2019 chap06-1 (1)

    42/82

    Ch. 6 2

    Difficultés ma;eures a%ec les méthodes discutéesDifficultés ma;eures a%ec les méthodes discutées

    .remier arrivé, premier servi, ECE$

    5eps o(en d#attente non?optial *auvaise utilisation des ressources s#il ( a apport continu de

    processus au' c(cles longs v. e$$et d#accuulation-

    .lus court servi, $GE

    Di$$iculté d#estier les c(cles >aine s#il ( a apport continu de processus au' c(cles courts

    5onc besoin d’une méthode sstémati!uement préemptive e tourniquet

    si vous $aites touours les devoirs les plus courts en preier, vous pourrieL avoir l#ipressionde $aire !eaucoup ais vous pourrieL ne aais arriver au' plus longsM si vous $aites les devoirs dans l#ordre d#arrivée, les longs pourraient vous !loquer pour

    longteps donc votre solution est de donner un peu de teps & chacun, c(cliqueent

  • 8/17/2019 chap06-1 (1)

    43/82

    e tourniquete tourniquet

    $i 4’ai une seule grande pia et plusieurspersonnes affamées, 4e pourrais #o$$rir & chacun & son tour: attendre que

    chacun ait $ini avant de passer au suivant éthodes précédentes-

  • 8/17/2019 chap06-1 (1)

    44/82

    Ch. 6

    #ourniquet 2

  • 8/17/2019 chap06-1 (1)

    45/82

    Ch. 6 0

    ,*emple' #ourniquet tranche 2 =>,*emple' #ourniquet tranche 2 =>

    .rocessus C&cle

    P 1 F:

     P 2 7>

     P 3 M

     P 4 ;<

    Observe

    teps de rotation et teps d#attente o(ens !eaucoup plus élevés que "N>e'ercice: calculeL?lesM-

    ais aucun processus n’est favorisé

    P1 P

    2 P

    3 P

    4 P

    1 P

    3 P

    4 P

    1 P

    3 P

    3

    0 20 37 57 77 97 117 121134 154162

  • 8/17/2019 chap06-1 (1)

    46/82

    Ch. 6 6

    Performance de tourniquetPerformance de tourniquet

    $’il & a n processus dans la file pr(t et latranche est t, alors chaque processusreoit 7'n du temps "C# dans unités dedurée ma+- t

    $i t grand ⇒ ECE$ $i t petit--- nous verrons

  • 8/17/2019 chap06-1 (1)

    47/82

    Ch. 6

    "ne petite tranche augmente les commutations"ne petite tranche augmente les commutationsde conte*tede conte*te &temps de /,(&temps de /,(

  • 8/17/2019 chap06-1 (1)

    48/82

    Ch. 6

    ,*emple pour %oir l’importance d’un bon choi*,*emple pour %oir l’importance d’un bon choi*de tranchede tranche &- dé%elopper comme e*ercice(&- dé%elopper comme e*ercice(

    #rois c&cles H, 9, C, tous de 14

    %ssa&er avec tB1 tB14

    5ans ce deu+ième cas, tourniquetfonctionne comme E0EO et le temps de

    rotation mo&en est meilleur 

  • 8/17/2019 chap06-1 (1)

    49/82

    Ch. 6

    e temps de rotation &turnaround( %arie a%ec lae temps de rotation &turnaround( %arie a%ec latranchetranche &e*emple - tra%ailler(&e*emple - tra%ailler(

    "xemple qui montre que le temps de rotation moyen n ’améliore pas

    nécessairement en au+mentant la tranche /sans considérer les temps de

    commutation contexte1

    = "#"$

    Choi* de la tranche pour le tourniquetChoi* de la tranche pour le tourniquet

  • 8/17/2019 chap06-1 (1)

    50/82

    Ch. 6 04

    Choi* de la tranche pour le tourniquetChoi* de la tranche pour le tourniquet doit (tre beaucoup plus grande que le temps requis pour e+écuter le changement de

    conte+te devrait permettre le complètement d’appro+- M89 des c&cles

    pour donner le temps ! la plupart des proc de terminer leur c&cle, mais pas trop pour éviter de pénaliser les processuscourts 

    (Stallings!

    . ex. prec. o8 les tranches optimales sont 9 et 7

  • 8/17/2019 chap06-1 (1)

    51/82

    Comment déterminer la tranche en pratiqueComment déterminer la tranche en pratique

    Évidemment la durée médiane des c&clesdes processus en attente est impossible !déterminer avec certitude

    %n pratique, les observations passées

    peuvent (tre utilisées le "E peut garder une trace des durées des

    c(cles des processus réceent e'écutés etauster la tranche périodiqueent

    Ch. 6 01

  • 8/17/2019 chap06-1 (1)

    52/82

    Ch. 6 02

    PrioritésPriorités

    Affectation d’une priorité ! chaqueprocessus )p-e+- un nombre entier* souvent les petits chi$$res dénotent des hautes

    priorités 4 la plus haute

    L’"C# est donnée au processus pr(t avecla plus haute priorité

    avec ou sans préeption il ( a une $ile prêt  pour chaque priorité

  • 8/17/2019 chap06-1 (1)

    53/82

    Ch. 6 03

    Probl)me possible a%ec les prioritésProbl)me possible a%ec les priorités

    Eamine les processus moins prioritairesn’arrivent 4amais ! e+écuter  $olution vieillissement

    odi$ier la priorité d #un processus en $onction

    de son %ge et de son historique d #e'écution le processus change de $ile d;attente

    .lus en général, la modification d&namique

    des priorités est une politique souventutilisée )v- files ! rétroaction ou retour*

  • 8/17/2019 chap06-1 (1)

    54/82

    Ch. 6 0

    Files - plusieurs ni%eau* &multiples(Files - plusieurs ni%eau* &multiples(

    La file pr"t est séparée en plusieurs files, p-e+- travau' ;d#arrière?plan; !acOground ? !atch- travau' ;de preier plan; $oreground ? interactive-

    Chaque file a son propre algorithme d’ordonnancement,p-e+-

    >C>" pour arrière?plan tourniquet pour preier plan

    Comment ordonnancer entre files2 8riorité $i'e & chaque $ile → $aine possi!le, ou

    Chaque $ile re=oit un certain pourcentage de teps +C5, p.e'. 4P pour arrière?plan 24P pour preier plan 

    Ordonnancement a%ec files multiplesOrdonnancement a%ec files multiples

  • 8/17/2019 chap06-1 (1)

    55/82

    Ch. 6 00

    Ordonnancement a%ec files multiplesOrdonnancement a%ec files multiples&e*1' ser%eur principal d’une uni%ersité(&e*1' ser%eur principal d’une uni%ersité(

    Un proc peut tre servi seulement si toutes les files de priorités plus

    élevées sont vides

  • 8/17/2019 chap06-1 (1)

    56/82

    Ch. 6 06

    Files multiples et - retourFiles multiples et - retour

    "n processus peut passer d’une file !l’autre, p-e+- quand il a passé trop detemps dans une file

    déterminer no!re de $iles algorithes d#ordonnanceent pour chaque $ile algorithes pour décider quand un proc doit passer

    d #une $ile & l;autre

    algorithe pour déteriner, pour un proc qui devientprt, sur quelle $ile il doit tre is

  • 8/17/2019 chap06-1 (1)

    57/82

    Ch. 6 0

    Files multiples et - retourFiles multiples et - retour

    Pla ? éle%ée

    P

  • 8/17/2019 chap06-1 (1)

    58/82

    Ch. 6 0

    ,*emple de files multiples - retour,*emple de files multiples - retour

    #rois files 84: tourniquet, tranche B secs 81: tourniquet, tranche B 16 secs 82: >C>"

    Ordonnancement +n nouveau processus entre dans Q4, il re=oit secs

    d #+C5 " #il ne $init pas dans les secs, il est is dans Q1, il

    re=oit 16 secs additionnels " #il ne $init pas encore, il est interropu et is dans Q2 "i plus tard il coence & avoir des c(cles plus courts,

    il pourrait retourner & Q4 ou Q1

  • 8/17/2019 chap06-1 (1)

    59/82

    ,*ercice,*ercice

    %+emple concret Dans un s(stèe avec $iles ultiples, un

    processus a !esoin de 04 secondes d#+C5sans appels au "E- .

    Dans la preière $ile on lui donne 0 secondeset & chaque $ile successive on lui donne ledou!le 14, 24, 4 M-

    Co!ien de $ois sera?t?il interropu et dans

    quelle $ile se trouvera?t?il quand il terineraR

    Ch. 6 0

  • 8/17/2019 chap06-1 (1)

    60/82

    Ch. 6 64

    ,n pratique111,n pratique111

    Les méthodes que nous avons vu sont toutesutilisées )sauf plus court servi pur  qui estnormalement impossible, pourquoi2*

    Les $% sophistiqués fournissent au+ gérants degrands s&stèmes des librairies de méthodes,

    qu’ils peuvent choisir et combiner au besoin aprèsavoir observé le comportement du s&stème .our chaque méthode, plusieurs params sont

    disponibles p-e+- durée des tranches,coefficients, etc-

    Ces méthodes évidemment sont importantessurtout pour les grands ordis qui ont des fortescharges de travail

  • 8/17/2019 chap06-1 (1)

    61/82

    Ch. 6 61

    AussiAussi

    Notre étude des méthodes d’ordonnancement est théorique,

    ne considère pas en détail tous les problèmes qui seprésentent dans l’ordonnancement "C#

    .-e+- les ordonnanceurs "C# ne peuvent pas donner l’"C# !un processus pour tout le temps dont il a besoin Car en pratique, l#+C5 sera souvent interropue par quelque

    événeent e'terne avant la $in de son c(cle Cependant les m(mes principes d’ordonnancement

    s’appliquent ! unités qui ne peuvent pas (tre interrompues,comme une imprimante, une unité disque, etc-

    5ans le cas de ces unités, on pourrait avoir des infoscomplètes concernant le temps de c&cle prévu, etc- Aussi, cette étude ne considère pas du tout les temps

    d’e+écution de l’ordonnanceur, du dispatcheur, etc-

  • 8/17/2019 chap06-1 (1)

    62/82

    Plusieurs "C#sPlusieurs "C#s

    5ans le passé, la vitesse des "C# augmentaitrapidement avec chaque génération d’ordinateurs

    Au4ourd’hui, l’ingénierie rencontre des limitespour augmenter la vitesse des "C#s

    5onc on se dirige vers la production de plusd’"C#s par ordinateur  Cependant, augmenter le nombre d’"C#

    n’implique pas une augmentation proportionnellede la puissance de l’ordi, pour des raisons quenous verrons "urtout, la charge de gestion de ces +C5s ralentit

    l#ordinateur 

    Ch. 6 62

    O d l i "C#

  • 8/17/2019 chap06-1 (1)

    63/82

    Ch. 6 63

    Ordonnancement a%ec plusieurs "C#sOrdonnancement a%ec plusieurs "C#sidentiques'identiques' homogénéitéhomogénéité

    3éthodes s&métriqueschaque "C# peut e+écuterl’ordonnancement et larépartition +ne seule liste prêt  pour

    toutes les +C5s divisiontravail B load sharing- 3éthodes as&métriques

    certaines fonctions sontréservées ! des "C#

    spécifiques >iles d#attentes séparées

    pour chaque +C5

    U!

    U!

    U!

    U!

    U!

    U!

    U!

    U!

  • 8/17/2019 chap06-1 (1)

    64/82

    /!métrique ou non5/!métrique ou non5

    La manière la plus normale de gérerplusieurs "C# est la s&métrique 8lus siple & gérer 

    Cependant l’as&métrique a un avantage RRR

    Ch. 6 6

  • 8/17/2019 chap06-1 (1)

    65/82

    Ch. 6 60

    /!métrique ou non5/!métrique ou non5

    La manière la plus normale de gérerplusieurs "C# est la s&métrique 8lus siple & gérer 

    Cependant l’as&métrique a un avantage Stant donné que chaque +C5 e'écute des$onctionnalités indépendantes, le teps perduen s(nchronisation entre +C5 est réduitT

    Chapitre suivant

    Ch. 6 6

  • 8/17/2019 chap06-1 (1)

    66/82

    Ch. 6 66

    /!st)mes temps réel/!st)mes temps réel s&stèmes temps réel rigides #$ard%:

    les échéances sont critiques p.e'. contrUle d#une chaVned;asse!lage, aniation graphique-

    il est essentiel de connaVtre la durée des $onctionscritiques

    il doit tre possi!le de garantir  que ces $onctions sont

    e$$ectiveent e'écutées dans ce teps réservation deressources-

    ceci deande une structure de s(stèe très particulière s&stèmes temps réel souples #so&t%:

    les échéances sont iportantes, ais ne sont pastouours critiques p.e'. s(stèes téléphoniques- les processus critiques re=oivent la priorité

  • 8/17/2019 chap06-1 (1)

    67/82

    Ch. 6 6

    /!st)mes temps réel'/!st)mes temps réel'

    Probl)mes d’attente dans plus1 s!st)mes &e*1 "BI(Probl)mes d’attente dans plus1 s!st)mes &e*1 "BI(

    5ans "N0P Qclassique’ il n’est pas permisd’effectuer changement de conte+te pendant unappel du s&stème et ces appels peuvent (tre longs

    .our le temps réel il est nécessaire de permettre lapréemption des appels de s&stèmes ou du no&auen général

    5onc "ni+ Qclassique’ n’est pas considéréapproprié pour le temps réel

    3ais des variétés appropriées de "N0P ont étéconues

  • 8/17/2019 chap06-1 (1)

    68/82

    Ch. 6 6

    In%ersion de priorité et héritage de prioritésIn%ersion de priorité et héritage de priorités

    1uand un processus de haute priorité doitattendre pour des processus de moindrepriorité )p-e+- a besoin de données produites parces derniers*

    .our permettre ! ces derniers de finirrapidement, on peut lui faire $ériter  lapriorité du processus plus prioritaire

  • 8/17/2019 chap06-1 (1)

    69/82

    Ch. 6 6

    Ordonnancement de threadsOrdonnancement de threads

    Local la librairie des threads pour uneapplication donnée décide quel threadusager obtient un LR. disponible

    @lobal le no&au décide quel thread de

    no&au e+écute sur l’"C#

  • 8/17/2019 chap06-1 (1)

    70/82

    Ch. 6 4

    Ordonnancement et priorités en /olaris =Ordonnancement et priorités en /olaris =

    / l i =/ l i =

  • 8/17/2019 chap06-1 (1)

    71/82

    Ch. 6 1

    /olaris ='/olaris =' lire dans le manuel pour %oir l’application pratiquelire dans le manuel pour %oir l’application pratiquede plusieurs concepts discutésde plusieurs concepts discutés

    .riorités et préemption Eiles multiniveau ! retour avecchangement de priorité

    #ranches plus grandes pour les processus

    moins prioritaires Les procs interactifs sont plus prioritaires

    que les les procs tributaires de l’"C# La plus haute priorité au+ procs temps réel #ourniquet pour les fils de priorités égales 

    éthode d’é al ation et comparaisonéthode d’é%aluation et comparaison

  • 8/17/2019 chap06-1 (1)

    72/82

    Ch. 6 2

    éthode d’é%aluation et comparaisonéthode d’é%aluation et comparaisond’algorithmesd’algorithmes &section plutEt - lire(&section plutEt - lire(

    3odélisation déterministe

    3odèles de files d’attente )queuing theor&*

    $imulation

    0mplantation

  • 8/17/2019 chap06-1 (1)

    73/82

    Ch. 6 3

    odélisation déterministeodélisation déterministe

    %ssentiellement, ce que nous avons dé4!fait en étudiant le comportement deplusieurs algorithmes sur plusieurse+emples

  • 8/17/2019 chap06-1 (1)

    74/82

    Ch. 6

    "tilisation de la théorie des files &queuing th1("tilisation de la théorie des files &queuing th1(

    3éthode anal&tique basée sur la théoriedes probabilités

    3odèle simplifié notamment, les temps du$% sont ignorés

    Cependant, elle rend possibles des

    estimées

  • 8/17/2019 chap06-1 (1)

    75/82

    Ch. 6 0

    #héorie des files' la formule de ittle#héorie des files' la formule de ittle

    "n résultat important  n 6 λ × R

    n: longueur o(enne de la $ile d #attente λ : dé!it d #arrivée de travau' dans $ile W: teps d #attente o(en dans la $ile teps de service-

     .- e+-

    λ si les travau' arrivent 3 par sec. R et il restent dans la $ile 2 secs n la longueur o(enne de la $ile sera RRR

    %+ercice Sésoudre aussi pourλ

    et 

    R Observer que afin que n soit stable, λ × R doit (tre stable

    +n dé!it d#arrivée plus rapide doit ipliquer un teps de serviceineur, et vice?versa "i n doit rester 6 et λ onte & , quel sera W

    "tile entre autres pour déterminer l’espace ! allouer pour la file  

  • 8/17/2019 chap06-1 (1)

    76/82

    Ch. 6 6

    /imulation/imulation

    Construire un modèle #simpli&ié...% de laséquence d’événements dans le $% Attribuer une durée de temps ! chaque

    événement $upposer une certaine séquence

    d’événements e+térieurs )p-e+- arrivée detravau+, etc-*

    %+écuter le modèle pour cette séquenceafin d’obtenir des stats

  • 8/17/2019 chap06-1 (1)

    77/82

    Ch. 6

    ImplémentationImplémentation

    0mplémenter l’algorithme %+écuter dans le s&stème réel ou desmélanges de travau+ t&piques )benchmarT*

    Obtenir des statistiques, en tirer des conclusions...

  • 8/17/2019 chap06-1 (1)

    78/82

    Ch. 6

    #ableau de comparaison#ableau de comparaison

    e tableau sui%ant fait une comparaisone tableau sui%ant fait une comparaisonglobale des différentes techniques étudiéesglobale des différentes techniques étudiées

    Assure:%ous de comprendre chaque caseAssure:%ous de comprendre chaque case

    Critèreél ti

    .réempt 3otivation #emps det t t tt

    #emps detè

    %ffect sur Eamine

  • 8/17/2019 chap06-1 (1)

    79/82

    Ch. 6

    sélection rotat- et atten- s&stème processus

    .A.$ECE$

    *a' XwY non $implicité Uariable *ini. Eavor- proc-trib- "C#

    Kon

    #ourniq- 5our $i'e oui%quité Uariable selontranche,

    Normalementélevé

    Slevé sitranchescourtes

    Squita!le Kon

    .C$$GE

    *inXsY non

  • 8/17/2019 chap06-1 (1)

    80/82

    Ch. 6 4

    Points importants dans ce chapitrePoints importants dans ce chapitre

    Eiles d’attente pour "C# Critères d’ordonnancement Algorithmes d’ordonnancement

    >C>": siple, non optial "N>: optial, iplantation di$$icile

    o(enne e'ponentielle

    8riorités

    5ourniquet: sélection du quantu Évaluation des méthodes, théorie des files,

    $orule de ittle

    l ; d

  • 8/17/2019 chap06-1 (1)

    81/82

    Ch. 6 1

    anuel' Pas su;et d’e*amenanuel' Pas su;et d’e*amen

    $ections -, ->, -M

    $ i i & d bi (

  • 8/17/2019 chap06-1 (1)

    82/82

    $uestion sur tourniquet &