CPU scheduling : introductie



Vergelijkbare documenten
Stochastische Modellen in Operations Management (153088)

Hoofdstuk 20 Wachtrijentheorie

TI-2720 Operating System Concepten. 21 januari 2013, uur. docent: H.J. Sips. Dit is een tentamen met 9 open vragen

Het begrip 'Proces' Proces-toestand

WACHTRIJMODELLEN. aankomstproces van klanten; wachtruimte (met eindige of oneindige capaciteit); bedieningsstation (met één of meerdere bediendes).

S n = tijdstip van de n-de gebeurtenis, T n = S n S n 1 = tijd tussen n-de en (n 1)-de gebeurtenis.

Wachten in de supermarkt

Centrale begrippen hoofdstuk 3. Waarom multiprogramming? Vandaag. processen proces state: running, ready, blocked,... Vragen??

WACHTRIJMODELLEN. aankomstproces van klanten; wachtruimte (met eindige of oneindige capaciteit); bedieningsstation (met één of meerdere bediendes).

in Operating System Concepten Doel van een Operating System Interrupts 3-Lagen model spooling (Simultaneous Peripheral Operation On Line)

in Operating System Concepten

Waarom wachten voor verkeerslichten? Inhoud 2/16/2010. Introductie Wachtrijtheorie Simpel model: een opengebroken weg

Stochastische Modellen in Operations Management (153088)

Model: Er is één bediende en de capaciteit van de wachtrij is onbegrensd. 1/19. 1 ) = σ 2 + τ 2 = s 2.

Stochastische Modellen in Operations Management (153088)

' Het tentamen is gesloten boek, dus het is niet toegestaan om het tekstboek, slides of eigen gemaakte aantekeningen te gebruiken.

S n = tijdstip van de n-de gebeurtenis, T n = S n S n 1 = tijd tussen n-de en (n 1)-de gebeurtenis.

Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: , Appendix A.

Hoofdstuk 3: Processen: Beschrijving en Besturing. Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces?

ICT Infrastructuren: Processen en Threads. 18 november 2013 David N. Jansen

LIMIETGEDRAG VAN CONTINUE-TIJD MARKOV KETENS

Stoomboot & de toekomst

Semaforen. Semaforen p. 1/2

Belangrijkste ideeën/concepten uit OS, incl. proces

Computerarchitectuur en netwerken 4 Processen en Threads

De load- en stress testers te slim af onthullingen uit de praktijk. Albert Witteveen 10 mei 2011 Testnet voorjaarsevent

Inhoudsopgave. Hoofdstuk 1.JMS...2

R.B. Kappetein. Callcenters. Bachelorscriptie, 5 juli Scriptiebegeleider: Dr. F.M. Spieksma. Mathematisch Instituut, Universiteit Leiden

p j r j = LIMIETGEDRAG VAN CONTINUE-TIJD MARKOV KETENS Hoofdstelling over het limietgedrag van continue-tijd Markov ketens formuleren.

Virtueel Geheugen en demand paging (1)

We zullen de volgende modellen bekijken: Het M/M/ model 1/14

Personeelsplanning in een schoolkantine

Vandaag. Uur 1: Differentiaalvergelijkingen Uur 2: Modellen

Documentatie

Bouwplaat. Datastructuren Opgave 6, Voorjaar

Inleiding Practicum Operating Systems

Frontend performance meting

Tim Mallezie Architectuur van besturingssystemen: Vraag A2.

Stochastic Approximation: Sturen in een veranderende wereld

Mobiele communicatie: reken maar!

Strategisch kassa s inzetten in supermarkten. Lydia van t Veer. BWI-werkstuk

Een Statistische Analyse van Klantgedrag in Callcentra

8. Complexiteit van algoritmen:

n-queens minimale dominantie verzamelingen Chessboard Domination on Programmable Graphics Hardware door Nathan Cournik

Zelftest Informatica-terminologie

Succesvol outsourcen van Business Processes

Q is het deel van de overgangsmatrix dat correspondeert met overgangen

Monitoring & Rapportage

Definitie van continue-tijd Markov keten:

Cloud Computing. Bart van Dijk

Kortste Paden. Algoritmiek

Wachtrijmodellen voor optimalisatie in het dagelijks leven

Deeltentamen Vraag 1 (0.25 punten) Vraag 2 (0.25 punten) Vraag 3 (0.25 punten) Vraag 4 (0.25 punten) *-vragen ( relatief simpel 2 punten)

Publieke Database. Verslag modelleren 4 (2H144) Finbar Bogerd (s474580) & Judy van Sambeek (s476368)

Monitoring. SolidBE B.V. Maarten Schoutenstraat SV Waddinxveen

Versie : Releasedatum : Geschikt voor Synergy Enterprise : v.a. batch 249

Datastructuren. Analyse van algoritmen. José Lagerberg. FNWI, UvA. José Lagerberg (FNWI, UvA) Datastructuren 1 / 46

Welkom! GertJan Coolen

Van Reactieve naar Proactieve Planning van Ambulance Diensten

Tim Mallezie Architectuur van besturingssystemen: Vraag A4.

Internet 2.0: De blockchain. Morrison Toussaint Blockchain Specialist & Security Consultant, Cyber4Z

Computerarchitectuur. Terugblik / discussie / oefenopgaven

Random-Getallen. Tristan Demont en Mark van der Boor en

4IP = Internet Protocol 4Protocol gebruikt op netwerk laag in het internet 4Geen betrouwbaarheid

Practicum wachtrijtheorie

BEREKENING SCHEURKANSEN VOOR VERHARDENDE BETONNEN ELEMENTEN

Definitie van continue-tijd Markov keten:

Sequentiële Logica. Processoren 24 november 2014

2de bach HIB. Systeemanalyse. Volledige samenvatting. uickprinter Koningstraat Antwerpen ,70

Infor LN Service Gebruikershandleiding Workbench Werklastverdeling

Transcriptie:

CPU scheduling : introductie CPU scheduling nodig bij multiprogrammering doel: een zo hoog mogelijke CPU-bezetting, bij tevreden gebruikers proces bestaat uit afwisselend CPU-bursts en I/O-bursts lengte van CPU-bursts exponentieel verdeeld CPU scheduler is short-term scheduler, selecteert een proces uit de ready queue 2005 3-1 CPU scheduling : criteria Mogelijke criteria: CPU-bezetting throughput turnaround time (tijd tussen het aanbieden van een (batch) job en het verschijnen van de output) waiting time (d.i. missed time : wel ready, geen CPU) respons time (tijd tussen ENTER en het verschijnen van het antwoord) Stabiel is belangrijker dan gemiddeld kort maar variërend Illustratie d.m.v. Gantt charts 2005 3-2

CPU scheduling : preemption definitie: Nonpreemptive scheduling houdt in, dat een proces dat de CPU heeft, deze mag houden totdat het de CPU vrijgeeft door te eindigen of naar de wachttoestand te gaan. preemptive scheduling betekent dat de CPU ontnomen kan worden terwijl het proces deze nog kan gebruiken. 2005 3-3 CPU-scheduling algoritmen: FCFS First Come First Served (FCFS), ook genoemd First In, First Out (FIFO) nonpreemptive voordeel: eenvoudige implementatie nadelen: voor kleine hoeveelheid tijd relatief lang wachten konvooi effect 2005 3-4

CPU-scheduling algoritmen SJF Shortest Job First (SJF), eigenlijk Shortest- CPU-burst -First preemptive of nonpreemptive preemptive SJF geeft bewijsbare de kortst mogelijke missed time probleem: voorspellen van lengte op basis van exponentieel gemiddelde: T n+1 = a t n + ( 1 - a) T n T i = voorspelling, t j = gerealiseerde tijd 2005 3-5 12 10 8 6 4 2 t 6 4 6 4 12 12 12 12 a=0.5 T 10 8 6 6 5 8.5 10.25 11.12 a=0.9 T 10 6.40 4.24 5.82 4.18 11.22 11.92 11.99 2005 3-6

CPU-Scheduling algoritmen Priority Scheduling Wijst CPU toe op grond van prioriteit prioriteit kan zijn : interne prioriteit (b.v op basis van gebruik van resources) externe prioriteit (b.v. contract, of gebruiker is VIP) preemptive of nonpreemptive probleem: kans op starvation, d.w.z. bepaalde processen komen nooit aan de beurt. oplossing : aging 2005 3-7 CPU-scheduling algoritmen Round Robin (1) Speciaal voor Timesharing systemen preemptive gebruikers krijgen om de beurt een tijdquantum q (timeslice) als het proces binnen de timeslice niet verder kan, gaat de CPU naar het volgende proces. Als de CPU-burst aan het einde van de timeslice nog niet is afgelopen, komt er een interrupt en gaat de CPU ook naar het volgende proces. 2005 3-8

CPU-scheduling algoritmen Round Robin (2) Keuze van q is erg belangrijk als q erg groot is, dan lijkt RR op FCFS als q klein is : processor sharing Context switchen kost tijd, als q te klein is : thrashing richtlijn: q moet zo groot zijn, dat de meerderheid van de CPU-bursts in 1 time slice kan worden afgehandeld. 2005 3-9 CPU-scheduling algoritmen ML Multilevel queue scheduling: hanteert verschillende queues voor verschillende soorten werk, b.v. foreground (interactief) background (batch) voor verschillende queues, verschillende algoritmen tijd tussen de queues te verdelen op basis van: prioriteit timeslices 2005 3-10

CPU-scheduling algoritmen MLFB Multi-Level scheduling met Feed Back, maakt het mogelijk dat prcoessen van queue kunnen wisselen. parameters: aantal queues verdeling tijd tussen de queues methode voor demoveren (b.v. overschrijding tijdlimiet) methode voor promoveren (b.v. aging) MLFB is het meest universele scheduling algoritme, probleem : keuze van de parameters. 2005 3-11 Multiprocessor scheduling aannamen: homogene processoren uniform memory access scheduling d.m.v. één READY-queue, mogelijkheden: iedere processor zelf schedulend (symmetrische multiprocessing) scheduling door één processor ( master/slave structuur, asymmetrische multiprocessing) 2005 3-12

CPU-scheduling algoritmen: Algoritme-evaluatie overzicht Eerst criteria vaststellen, dan algoritme evalueren volgens een bepaalde methodiek. Analytische evaluatie deterministisch evalueren queueing modellen Simulatie random input overeenkomstig mathematische verdeling random input overeenkomstig gemeten verdeling input van een trace tape Testen in de praktijk 2005 3-13 Deterministische evaluatie Bekijkt het gedrag van algoritmen bij exact bekende workload Geeft nauwkeurige resultaten, maar deze zijn alleen geldig voor deze workload is nuttig om inzicht te krijgen (trends te kunnen ontdekken) is te specifiek om hierop de keus van parameters te kunnen baseren. 2005 3-14

Queueing model Wachtrij theorie gaat uit van model van servers en wachtrijen verdeling CPU-bursts (algemeen: service times) verdeling tussen-aankomsttijden (inter-arrival times) scheduling policies berekent: lengte van de wachtrij, wachttijden, etc. Formule van Little: n = λ x W n = gemiddelde rijlengte λ = gemiddelde aantal aankomsten per seconde W = gemiddelde wachttijd in de rij Geldig voor iedere verdeling van aankomsttijden en service tijden en ieder scheduling algoritme 2005 3-15 Simulatie onderdelen: Een model gedrag van de componenten geprogrammeerd in software software bevat ook een klok invoer werkwijze: bij iedere wijziging van de klok is een toestandsovergang mogelijk toestandsovergangen mede bepaald door invoer tijden, input, toestandsovergangen en toestanden worden geregisteerd en gepresenteerd nadelen: gedetailleerd model maken is moeilijk gedetailleerde simulatie is zeer rekenintensief 2005 3-16

voorbeeld Linux Twee scheduling algoritmen Time sharing: eerlijke preemptive scheduler, gebaseerd op prioriteit en krediet bij keuze gaat de CPU naar het proces met het hoogste krediet bij iedere timer interrupt wordt krediet van running proces 1 minder bij krediet 0 CPU naar ander proces als geen runnable proces nog krediet heeft, volgt herkrediterings operatie: voor ieder process: krediet = krediet/2 + prioriteit Real time (soft) FCFS + prioriteit, of RR + prioriteit 2005 3-17