De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Hoofdstuk 9: Scheduling bij één processor

Verwante presentaties


Presentatie over: "Hoofdstuk 9: Scheduling bij één processor"— Transcript van de presentatie:

1 Hoofdstuk 9: Scheduling bij één processor

2 9.1. Soorten scheduling Soorten scheduling: short term scheduling
middle long term scheduling long term scheduling I/O scheduling Pa Px RAM ready Py PROCESSOR Px Pb Py Pc Pd Pe Pz hfdst 7/8 hfdst 3 hfdst 11

3 9.1. Soorten scheduling procestoestanden new ready running exit
suspend allow allow dispatch release ready suspended activate ready running exit time-out (~preemtive) suspend event occurs event occurs wait on event (I/O) blocked suspended activate blocked suspend secondary memory main memory

4 9.1. Soorten scheduling procestoestanden new ready running exit
long term scheduling long term scheduling ready suspended ready running exit middle long term scheduling short term scheduling blocked suspended blocked middle long term scheduling

5 9.1. Soorten scheduling time-out queue ready release queue
batch jobs queue ready PROCESSOR release queue ready-suspended queue blocked-suspended event occurs long term sched. middle long term sched. short term sched. queue blocked wait on event

6 scheduling = inroosteren
9.1. Soorten scheduling scheduling = inroosteren doel: wachtrijvertragingen minimaliseren prestaties maximaliseren long term scheduler middle long term scheduler middle long term scheduler wanneer runnen? exit van proces processor te weinig actief bij onefficiente geheugenallocatie klokinterrupts I/O interrupts system calls - signals

7 9.2. Algoritmen voor scheduling
criteria bij korte termijn scheduling kwantitatief (~prestaties) kwalitatief (~overig) - turn-around time - response time - deadlines - predictability (~variability on response times and turn-around times) user oriented fairness respecting priorities balancing usage of system resources system oriented throughput processor usage

8 9.2. Algoritmen voor scheduling
gebruik van prioriteiten RQ0 release PROCESSOR dispatch RQ1 admit : RQn probleem: starvation oplossing: prioriteit aanpasbaar Queue blocked

9 9.2. Algoritmen voor scheduling
mogelijke strategieën voor scheduling selectiefunctie : bepaalt welke proces in ready toestand als volgende de processor krijgt toebedeeld. gebaseerd op: 1) prioriteit 2) vereiste systeembronnen 3) uitvoeringskenmerken van proces uitvoeringskenmerken: w = tijd die wachtend is doorgebracht e = tijd die tot dusverre aan verwerking is besteed s = totale bedieningstijd van proces (inclusief e)

10 9.2. Algoritmen voor scheduling
mogelijke strategieën voor scheduling beslissingmodus : bepaalt op welke tijdstippen de selectiefunctie wordt uitgevoerd niet preëmptief preëmptief bij einde van proces of bij blokkering van proces bij aankomst van nieuw proces of bij optreden van interrupt Periodiek (~klokinterrupt)

11 9.2. Algoritmen voor scheduling
definities service time : totale tijd die vereist is voor verwerking turnaround time : totale tijd dat proces in systeem aanwezig is (service time + wait time) genormaliseerde turnaround time : turnaround time / service time setting time of arrival service time A 3 B 2 6 C 4 D 5 E 8

12 9.2. Algoritmen voor scheduling
definities service time : totale tijd die vereist is voor verwerking turnaround time : totale tijd dat proces in systeem aanwezig is (service time + wait time) genormaliseerde turnaround time : turnaround time / service time setting time of arrival service time A 3 B 2 6 C 4 D 5 E 8

13 9.2. Algoritmen voor scheduling
time of arrival service time A 3 B 2 6 C 4 D 5 E 8 first come, first served (FCFS) 5 10 15 20 A B C D E gemiddelde service time = 8,60 gemiddelde Tr/Ts = 2,56 nadelen: 1) ongunstig bij korte processen (zie next slide) 2) neiging om processor gebonden processen voorrang te geven op I/O gebonden processen (kan leiden tot inefficient processorgebruik en I/O gebruik) vaak gebruikt in combinatie met andere technieken

14 9.2. Algoritmen voor scheduling
first come, first served (FCFS) voorbeeld van slecht service level time of arrival service time start time end turnaround time Tr/Ts W 1 X 100 101 Y 2 102 Z 3 202 199 1,99 gemiddeld 26

15 9.2. Algoritmen voor scheduling
time of arrival service time A 3 B 2 6 C 4 D 5 E 8 Round Robin (RR) klokinterrupt met periodieke intervallen (let’s say ‘q’) selectie van volgend proces volgend FCFS principe 5 10 15 20 A B C D E bij q=1: gemiddelde service time = 10,80; gemiddelde Tr/Ts = 2,71 gedrag afhankelijk van time slice ‘q’ (see next slide) ‘q’ klein  veel overhead door vele proceswisselingen ‘q’ groot  neigt naar FCFS

16 9.2. Algoritmen voor scheduling
time of arrival service time A 3 B 2 6 C 4 D 5 E 8 9.2. Algoritmen voor scheduling Round Robin (RR) 5 10 15 20 A B C D E bij q=1: gemiddelde service time = 10,80; gemiddelde Tr/Ts = 2,71 5 10 15 20 A B C D E bij q=4: gemiddelde service time = 10,00; gemiddelde Tr/Ts = 2,71

17 9.2. Algoritmen voor scheduling
time of arrival service time A 3 B 2 6 C 4 D 5 E 8 9.2. Algoritmen voor scheduling Round Robin (RR) gedrag afhankelijk van time slice ‘q’ (see next slide) ‘q’ klein  veel overhead door vele proceswisselingen ‘q’ groot  neigt naar FCFS richtlijn: neem ‘q’ iets groter dan doorsnee ‘interactie’ time slice q q groter dan doorsnee interactie response time preëmptieve onderbreking time slice q q kleiner dan doorsnee interactie response time

18 9.2. Algoritmen voor scheduling
time of arrival service time A 3 B 2 6 C 4 D 5 E 8 9.2. Algoritmen voor scheduling Round Robin (RR) voordelen: werkt goed bij timesharing of transactieverwerking nadelen: werkt oneerlijk bij mengeling van I/O gebonden jobs en processor gebonden jobs (~slechtere prestaties van I/O gebonden jobs) oplossing: Virtual Round Robin time-out ready queue allow PROCESSOR release aanvullende wachtrij wait on I/O1 processen uit aanvullende wachtrij krijgen voorrang tot rest van time slice is opgebruikt wait on I/O2 wait on I/O3

19 9.2. Algoritmen voor scheduling
time of arrival service time A 3 B 2 6 C 4 D 5 E 8 9.2. Algoritmen voor scheduling Shortest Process Next (SPN) selecteer proces met kortste verwachte verwerkingstijd niet preemptief; langere antwoordtijden voor processorgebonden jobs probleem: schatten van verwerkingstijd batchtaken: waarde schatten door programmeur productieomgeving: statistieken interactieve processen: gemiddelde bijhouden van elke burst van elk proces Sn+1 = (T1 + T2 + … + Tn)/n Sn+1 = *Tn + (1- )*Sn (0<  <1)  =0,8  recente observaties belangrijk Sn+1 = (Tn/n) + ((n-1)/n)*Sn  =0,2  alle observaties belangrijk

20 9.2. Algoritmen voor scheduling
time of arrival service time A 3 B 2 6 C 4 D 5 E 8 9.2. Algoritmen voor scheduling Shortest Process Next (SPN) Risico: Starvation bij langere processen

21 9.2. Algoritmen voor scheduling
time of arrival service time A 3 B 2 6 C 4 D 5 E 8 9.2. Algoritmen voor scheduling Shortest Process Next (SPN) 5 10 15 20 A B C D E gemiddelde service time = 7,60; gemiddelde Tr/Ts = 1,84

22 9.2. Algoritmen voor scheduling
time of arrival service time A 3 B 2 6 C 4 D 5 E 8 9.2. Algoritmen voor scheduling Shortest Remaining Time (SRT) selecteer proces met kortste resterende verwerkingstijd preëmptief (huidig proces onderbroken bij aankomst korter proces in Ready Queue) eveneens schatting van verwerkingstijden nodig (cfr. SPN) uithongeren van langere processen mogelijk vergelijking andere algoritmes: t.o.v. FCFS : geen bevoordeling van langere processen t.o.v. RR : geen extra interrupts t.o.v. SRT: beter omlooptijden (~kortere taak krijgt voorrang)

23 9.2. Algoritmen voor scheduling
time of arrival service time A 3 B 2 6 C 4 D 5 E 8 9.2. Algoritmen voor scheduling Shortest Remaining Time (SRT) 5 10 15 20 A B C D E gemiddelde service time = 7,20; gemiddelde Tr/Ts = 1,59

24 9.2. Algoritmen voor scheduling
time of arrival service time A 3 B 2 6 C 4 D 5 E 8 9.2. Algoritmen voor scheduling Highest response ratio next (HRRN) DOEL: Tr/Ts klein houden voor elk proces selecteer proces met grootste te verwachten genormaliseerde turnaround time niet preëmptief eveneens schatting van verwerkingstijden nodig (cfr. SPN) uithongeren van langere processen mogelijk te verwachten genormaliseerde turnaround time = R = (w + s)/s uitvoeringskenmerken: w = tijd die wachtend is doorgebracht s = verwachte bedieningstijd van proces R = responseverhouding

25 9.2. Algoritmen voor scheduling
time of arrival service time A 3 B 2 6 C 4 D 5 E 8 9.2. Algoritmen voor scheduling Highest response ratio next (HRRN) eigenschappen: houdt rekening met levensduur van proces kortere processen licht bevooroordeeld 5 10 15 20 A B C D E gemiddelde service time = 8,00; gemiddelde Tr/Ts = 2,14

26 9.2. Algoritmen voor scheduling
time of arrival service time A 3 B 2 6 C 4 D 5 E 8 9.2. Algoritmen voor scheduling Multilevel Feedback probleem: wat indien verwerkingstijden niet geschat kunnen worden? SPN, SRT en HRRN onbruikbaar aanpak: processen straffen die al lang worden uitgevoerd processen dalen naar wachtrijen met lagere prioriteit - RR per wachtrij preëmptief onderbreken mechanisme voor dynamische prioriteit RQ0 allow PROCESSOR release RQ1 PROCESSOR release RQ2 PROCESSOR release variante: verschillend tijdsquantum ‘q’ per wachtrij RQi  q=2i RQ4 lowest priority PROCESSOR

27 9.2. Algoritmen voor scheduling
Prestatievergelijking Factoren die prestaties beïnvloeden: waarschijnlijkheidsverdeling van bedieningstijden efficiëntie van mechanisme voor scheduling en contextwisseling vorm van I/O aanvragen prestaties van I/O subsysteem

28 9.2. Algoritmen voor scheduling
Prestatievergelijking wachtrijanalyse indien (a) aankomsttijden Poisson-verdeling vertonen, en (b) bedieningstijden exponentieel verdeeld zijn, dan Tr/Ts = 1/(1-) Tr = turnaround time (wachttijd + uitvoeringstijd) Ts = gemiddelde bedieningstijd  = bezettingsgraad van processor Practisch: prioriteiten zijn onafhankelijk van verwachte bedieningstijden Voorbeelden: Round Robin & FCFS (niet: SJF, SRTF, …)

29 9.2. Algoritmen voor scheduling
Prestatievergelijking korte jobs langere jobs Setting: jobs gemiddelde bedieningstijd = Ts = 1 gemiddelde aankomstsnelheid =  = 0,8

30 9.3. Conclusies Soorten scheduling: short term scheduling
middle long term scheduling long term scheduling FCFS FB RR HRRN SPN SRT


Download ppt "Hoofdstuk 9: Scheduling bij één processor"

Verwante presentaties


Ads door Google