Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdMirthe Vedder Laatst gewijzigd meer dan 9 jaar geleden
1
best3-1 Les 3: Procesplanning Pareto principle — States that for many phenomena 80% of consequences stem from 20% of the causes.
2
best3-2 Overzicht Wat is procesplanning? Planningsalgoritmen –Monoprocessorsystemen –Multiprocessorsystemen Concrete gevallen
3
best3-3 IO-gebonden CVE-gebonden CVE-Burst vs. IO-Burst CVE-burst & IO: burst
4
best3-4 IO-gebonden vs. CVE-gebonden processen CVE-gebonden IO-gebonden Moderne applicaties zijn doorgaans sterk io-gebonden
5
best3-5 Preëmptief vs. niet-preëmptief klaar geblokkeerd in uitvoering getermineerd exit wacht signaleer onderbreking/yield dispatch toegelaten nieuw Kortetermijnplanner
6
best3-6 Dispatch klaar geblokkeerd in uitvoering getermineerd exit wacht signaleer onderbreking/yield dispatch toegelaten nieuw
7
best3-7 Dispatch latentie
8
best3-8 Planningscriteria CVE-gebruik (CPU-Utilization) – de belasting van de processor, uitgedrukt in procent. Doorvoer ( throughput ) – # aantal processen dat afgewerkt wordt per tijdseenheid Doorlooptijd ( turnaround time ) – de totale tijd tussen opstarten en termineren van een proces Wachttijd (waiting time) – de tijd dat een proces in de klaarlijst doorbrengt Antwoordtijd ( response time ) – de tijd die verloopt tussen een aanvraag en het begin van antwoord (niet het einde)
9
best3-9 Algemene optimalisatiecriteria Max CVE-gebruik Max doorvoer Min doorlooptijd Min wachttijd Min antwoordtijd Fairness : gelijke behandeling van gelijkaardige processen Max IO-gebruik
10
best3-10 Specifieke optimalisatiecriteria Batchsystemen Doorvoer maximaliseren Doorlooptijd minimaliseren CVE-gebruik maximaliseren Interactieve systemen Antwoordtijd minimaliseren Fairness garanderen Ware-tijdsystemen Deadlines respecteren Voorspelbaarheid
11
best3-11 Overzicht Wat is procesplanning? Planningsalgoritmen –Monoprocessorsystemen –Multiprocessorsystemen Concrete gevallen
12
best3-12 Planningsalgoritmen 1.First-come First-served (FCFS) 2.Shortest Job First (SJF) 3.Shortest Remaining Time First (SRTF) 4.Prioriteit 5.Round Robin 6.Highest Response Ratio Next 7.Gewaarborgde planning 8.Fair Share 9.Loterijplanning 10.Multilevel Queue 11.Multilevel Feedback Queue 12.Earliest Deadline First 13.Rate Monotonic Scheduling
13
best3-13 First-come First-served Planning (FCFS) ProcesAankomstBurst P1P1 0 - 2ε24 P2P2 0 - ε3 P3P3 03 P1P1 P2P2 P3P3 Gemiddelde wachttijd: (0 + 24 + 27)/3 = 17 24 27 0
14
best3-14 First-come First-served Planning (FCFS) ProcesAankomstBurst P1P1 024 P2P2 0 - 2ε3 P3P3 0 - ε3 P1P1 P2P2 P3P3 Gemiddelde wachttijd: (6 + 0 + 3)/3 = 3 << 17 0 3 6
15
best3-15 Shortest job first planning (SJF) ProcesAankomstBurst P1P1 06 P2P2 08 P3P3 07 P4P4 03 P1P1 P2P2 P3P3 Gemiddelde wachttijd: (3 + 16 + 9 + 0)/4 = 7 P4P4 3 0 9 16
16
best3-16 Burstschatting n+1 = α t n + (1 - α ) n n : voorspelling burst n t n : werkelijke lengte van burst n α : wegingsfactor Exponentieel gemiddelde : n+1 = α t n + (1 - α ) α t n-1 + … + (1 - α ) j α t n-j + … + (1 - α ) n+1 0
17
Burstschatting best3-17
18
best3-18 Shortest job first planning ProcesAankomstBurst P1P1 08 P2P2 14 P3P3 29 P4P4 35 P1P1 P2P2 P3P3 Gemiddelde wachttijd: (0 + 7+15+9)/4 = 7,75 P4P4 0 9 15 7
19
best3-19 Shortest remaining time first planning (SRTF) ProcesAankomstBurst P1P1 08 P2P2 14 P3P3 29 P4P4 35 P1P1 P2P2 P3P3 Gemiddelde wachttijd: (9 + 0 + 15 + 2)/4 = 6,5 P4P4 9 2 15 0
20
best3-20 Prioriteitsplanning (P) ProcesAankomstBurstPrioriteit P1P1 0103 P2P2 011 P3P3 024 P4P4 015 P5P5 052 P1P1 P2P2 P3P3 Gemiddelde wachttijd: (6+0+16+18+1)/5 = 8,2 P4P4 6 18 16 0 P5P5 1
21
best3-21 Prioriteitsplanning Processen met lage prioriteit kunnen zeer lang in een systeem blijven hangen; oplossing: veroudering = langzame verhoging van de prioriteit (aging). Bij preëmptie kan een proces met hoge prioriteit een proces met lage prioriteit onderbreken. Indien dat proces tijdelijk eigenaar is van vereiste systeemmiddelen kan de prioriteit van het proces tijdelijk verhoogd moeten worden om de systeemmiddelen vrij te geven.
22
Prioriteitsplanner met blokkeringen best3-22 ProcesAankomstBurstPrioriteit P1P1 151 P2P2 035 P1P1 P2P2 Maximale uitvoeringstijd P 1 = burst(P 1 ) + burst(P 2 ) P 2 alloceert R P 1 vraagt R aan P 2 geeft R vrij P 1 alloceert R
23
Prioriteitsinversie best3-23 ProcesAankomstBurstPrioriteit P1P1 151 P2P2 035 P3P3 173 P1P1 P2P2 P3P3 Maximale uitvoeringstijd P 1 = burst(P 1 ) + burst(P 2 ) + ?? Oplossing: geef P 2 op t=2 tijdelijk de prioriteit van P 1
24
best3-24 Round Robin planning (RR) ProcesAankomstBurst P1P1 0 - 2ε24 P2P2 0 - ε3 P3P3 03 P1P1 P2P2 P3P3 Gemiddelde wachttijd: (6+4+7)/3 = 5,66 4 7 6 Kwantum = 4 eenheden
25
best3-25 Tijdskwantum vs. Contextwisseling Vuistregel: 80% van de bursts binnen 1 kwantum afgewerkt
26
best3-26 Wachttijd ifv van het tijdskwantum ProcesBurst P1P1 24 P2P2 3 P3P3 3 Wachttijd Tijdskwantum
27
best3-27 Highest response ratio next planning (HRRN) ProcesAankomstBurst P1P1 03 P2P2 110 P3P3 22 P4P4 36 P1P1 P2P2 P3P3 Gemiddelde wachttijd: (2+10+2+6)/4 = 5 P4P4 2 6 2 10
28
best3-28 Multilevel Queue planning (MQ) systeemprocessen Interactieve processen batchprocessen hoogste prioriteit laagste prioriteit
29
best3-29 Multilevel Feedback Queue planning (MFQ) kwantum = 8 ms kwantum = 16 ms FCFS
30
best3-30 Gewaarborgde planning (G) ProcesAankomstBurst P1P1 03 P2P2 010 P3P3 02 P4P4 06 Gemiddelde wachttijd: (6+11+5+11)/4 = 8,25 P1P1 P2P2 P3P3 P4P4 6 11 5
31
best3-31 Fair-share planning (FS) DraadAankomstProces D1D1 0P1P1 D2D2 0P2P2 D3D3 0P2P2 D4D4 0P2P2 D1D1 D2D2 D3D3 D4D4
32
best3-32 Lotterijplanning (L) DraadAankomstLotjes D1D1 050 D2D2 010 D3D3 0 D4D4 0 D1D1 D2D2 D3D3 D4D4
33
best3-33 Ware-tijdssystemen Harde ware tijd: te laat = geen antwoord = fout –B.v. controletoepassingen zoals een lasrobot Zachte ware tijd: te laat = vervelend maar niet zo erg –B.v. Video, toekennen van voldoend hoge prioriteit volstaat vaak Periodische processen & aperiodische processen Statische en dynamische planning: vaste of veranderlijke prioriteiten
34
best3-34 Rate Monotonic planning ProcesPeriode = PBurst = C P1P1 62 (33%) P2P2 83 (37,5%) P3P3 101 (10%) P1P1 P2P2 P3P3 ∑ = 80.5%
35
best3-35 Earliest Deadline First Planning ProcesPeriodeBurst P1P1 62 (33%) P2P2 83 (37,5%) P3P3 101 (10%) P1P1 P2P2 P3P3 ∑ = 80.5%
36
best3-36 Vergelijking RMS - EDF ProcesPeriode = PBurst = C P1P1 63 (50%) P2P2 83 (37,5%) P3P3 101 (10%) P1P1 P2P2 P3P3 P1P1 P2P2 P3P3 RMSRMS EDFEDF ∑ = 97.5% > 69.3%
37
best3-37 Toepassingsdomeinen PlanneralgoritmeBatchInteractiefReal-time First-come First-served (FCFS)X Shortest Job First (SJF)XX Shortest Remaining Time First (SRTF)XX PrioriteitXX Round RobinX Gewaarborgde planningX Highest Response Ratio NextX Fair ShareX LoterijplanningX Multilevel QueueXXX Multilevel Feedback QueueX Earliest Deadline FirstX Rate Monotonic SchedulingX
38
best3-38 Planning van gebruikersdraden process contention scope (planning op procesniveau) system contention scope (planning op systeemniveau) PCS SCS
39
best3-39 Multiprocessorplanning Een globale planner (goed voor belastingsspreiding) Verschillende lokale planners (goed voor asymmetrische architecturen) Bendeplanning (gang scheduling)
40
Multicore planners In essentie kunnen deze planners verschillende draden simultaan in uitvoering plannen. De cores kunnen zelf SMT (Simultaneous MultiThreading) aanbieden waardoor twee draden door dezelfde core kunnen uitgevoerd worden en op nanoschaal door de processor gepland worden. best3-40
41
Virtualisatie Een hypervisor gebruikt zelf ook een planner om de diverse BS van systeemmiddelen te voorzien. Die systeemmiddelen worden dan door de planners van de gastbesturingssystemen verder verdeeld over de diverse processen en draden. In gastbesturingssysteem worden de systeemdraden hierdoor eigenlijk gebruikersdraden… best3-41
42
best3-42 Overzicht Wat is procesplanning? Planningsalgoritmen –Monoprocessorsystemen –Multiprocessorsystemen Concrete gevallen
43
best3-43 Solaris PrioriteitTijdskwantumPrioriteit na aflopen tijdskwantum Prioriteit na blokkering 0200050 5200050 10160051 15160551 201201052 251201552 30802053 35802554 40 3055 45403556 5040 58 55404558 59204959
44
best3-44 Windows ware tijd variabel prioriteitsklassen relatieve prioriteit
45
best3-45 Linux procesplanning runqueue Active arrayExpired array 0 1 2 … 99 100 101.. 140 ware tijd nice 127 20 10 5 0 1 2 … 99 100 101.. 140 0 0 0
46
best3-46 Java Prioriteitsplanner (preëmptief of niet preëmptief) 10 prioriteiten 1..10 –MIN_PRIORITY = 1 (laagste prioriteit) –NORM_PRIORITY = 5 –MAX_PRIORITY = 10 (hoogste prioriteit) Een draad erft de prioriteit van zijn ouder Veranderbaar met setPriority() Worden afgebeeld op de prioriteiten van de systeemdraden
47
best3-47 Mach 128 prioriteitsniveaus Ontvanger van een boodschap krijgt de hoogste prioriteit
48
best3-48
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.