scheduling - institute of computer engineering (e191) · shortest process next (spn) •selection...
TRANSCRIPT
Scheduling
Peter PuschnerInstitut für Technische [email protected]
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 2
Aufgaben des Scheduling• Bestimmt die Abarbeitungsreihenfolge der
Prozesse auf dem Prozessor• verschiedene Optimierungsziele
– Durchsatz– Prozessorauslastung– Fairness– Response Time– Einhalten von Deadlines– ...
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 3
Schedulingebenen
CPURequests
Timeout
Ready
Ready, Suspend
Blocked, Suspend
BlockedEvent WaitEvent
Occurs
long-term
short-term
mid-term
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 4
Schedulingebenen• Long-term Scheduling
– Kreierung von Prozessen– bestimmt Grad der Parallelität– Mix von CPU- und I/O-intensiven Prozessen
• Medium-term Scheduling– Ein- und Auslagern von Prozessen (Memory
Management)• Short-term Scheduling
– bestimmt nächsten Prozess zur Ausführung
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 5
Short Term Scheduling• Welcher Prozess soll als nächster ausgeführt
werden?• CPU Scheduler oder Dispatcher• Aktivierung des Dispatchers, wenn
Prozessumschaltung angebracht sein kann:– System Calls und Traps– I/O-Interrupt, Signale– Uhr-Interrupt
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 6
Scheduling-Kriterien
User-Oriented System-Oriented
Performance
Other
Response Time,Turnaround Time,Deadlines
Predictability
Throughput,Processor Utilization
Fairness,Resource Balance,Priorities
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 7
CPU
Verwendung von PrioritätenRQ 0
RQ 1
RQ n
Preemption
Event Wait
Dispatch
• Achtung: Starvation!
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 8
Schedulingstrategien• Selection function
Auswahl des nächsten auszuführenden Prozesses– bisherige Verweildauer– bisherige/gesamte Ausführungszeit– Fertigstellungszeitpunkt (Deadline)
• Decision mode– Non-preemptive: keine externe Unterbrechung von
Prozessen durch BS– Preemptive: Unterbrechung von Prozessen durch BS
möglich
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 9
Task-Set für Beispiele
Arrival Time Service Time
P1
Prozess
0 3P2 2 6P3 4 4P4 6 5P5 8 2
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 10
First Come First Served (FCFS)• Selection function: Auswahl des Prozesses, der
bereits am längsten in der Ready Queue verweilt• Decision mode: non-preemptive
0 5 10 15 20
P1P2P3P4P5
… task arrival
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 11
First Come First Served• begünstigt:
– lange Prozesse (normalized turnaround time)– CPU-intensive Prozesse
(CPU-Monopolisierung durch Prozesse ohne I/O)• schlechte Auslastung von CPU und I/O• selten „pures“ FCFS
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 12
Round Robin (RR, Time Slicing)• Selection function: siehe FCFS• Decision mode: preemptive• Zeitscheiben gleicher Länge werden zyklisch an
Prozesse vergeben (Clock Interrupt)
0 5 10 15 20
P1P2P3P4P5
q=1
1 2 3 2 43
32
254
543
432
325
254
543
432
32
24
4
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 13
Round Robin• sinnvolle Zeitscheibenlänge:
– viel länger als Clock Interrupt + Scheduling– etwas länger als eine typische Interaktion
• benachteiligt I/O-intensive Prozesse– I/O intensive Prozesse schöpfen Zeitscheiben nicht
voll aus; werden während des Blockierens von CPU-intensiven Prozessen „überholt“
ðVirtual Round RobinðAuxiliary Queue mit höherer Priorität
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 14
CPU
Virtual Round RobinTimeout
Ready
Auxiliary Queue
I/O n QueueI/O n Wait
I/OOccurs
I/O 1 QueueI/O 1 Wait
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 15
Shortest Process Next (SPN)• Selection function: Prozess mit kürzestem
erwarteten CPU-Burst zuerst• Decision mode: non-preemptive
0 5 10 15 20
P1P2P3P4P5
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 16
Shortest Process Next• bessere Response Times als FCFS• größere Variabilität der Response Times
– Verzögerung langer CPU-intensiver Prozesse• Probleme:
– Schätzung der Abarbeitungszeiten– Starvation langer Prozesse– nicht für interaktiven Betrieb geeignet
(CPU-intensiver Prozess, der früh ankommt, kann CPU monopolisieren)
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 17
Shortest Remaining Time (SRT)• Selection function: wie SPN• Decision mode: preemptive• kürzere Prozesse werden fair behandelt• nicht so viele Interrupts wie bei RR• Protokollieren der Service Times notwendig• Starvation möglich
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 18
Highest Response Ratio Next• Selection function
– RR = (w+s) / sw ... gesamte bisherige Wartezeits … geschätzte Service Time
– Auswahl des Prozesses mit größtem RR• Decision mode: non-preemptive• Eigenschaften:
– kürzere Prozesse werden fair behandelt– keine Starvation– Schätzung der Service Times notwendig
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 19
Feedback Scheduling• Selection function: basiert auf bisheriger
Ausführungszeit– je mehr CPU Time ein Prozess bisher konsumiert hat,
desto niedriger wird seine Priorität (dafür längere Zeitscheiben)
– eigene Queue für jede Prioritätsstufe• Decision mode: preemptive• Starvation möglich
– Abhilfe: Anheben der Priorität nach best. Zeit
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 20
CPU
CPU
CPU
Feedback Scheduling (2)RQ 0, FCFS
RQ 1, FCFS
RQ n, RR
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 21
Real-Time Scheduling• Deadlines• „fast is not real-time“• Deadlines: hard versus soft real-time• Prozesse oft periodisch
• Scheduling: typischer Weise preemptive, statische versus dynamische Prioritäten
• Schedulability Tests: Überprüfung, ob alle Tasks rechtzeitig beendet werden können.
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 22
Earliest Deadline First (EDF)• Selection function: Task mit frühester
Completion Deadline zuerst• Decision mode: preemptive
• Minimiert Anzahl der Deadline Misses• Schedulability Test
Task Deadline = Periode Ti, Ausführungszeit Ci
Notwendige und hinreichende Bedingung:
S Ci / Ti £ 1
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 23
Beispiel: fixe Prioritäten vs. EDF
A1B1
AB
A2 A3 A4 A5B2
Deadlines A1 A2 A3 A4 A5B1 B2
Arrival- andExec. Times
0 5 10 15 20
A1 B1 A2 B1 A3B2
0 5 10 15 20
A4 B2 A5EDF
B1
0 5 10 15 20
Fixed PriorityB has priority
Deadline miss (A1)
A1 B1 A2 B1 A3
0 5 10 15 20
Fixed PriorityA has priority
Deadline miss (B1)
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 19/20 24
Zusammenfassung• Scheduling erfolgt auf verschiedenen Ebenen• Eine Vielzahl von Kriterien bestimmen die Wahl
der Schedulingstrategie– benutzerorientiert vs. systemorientiert– quantitativ vs. qualitativ
• Schedulingstrategien– FCFS, RR, SPN, SRT, HRRN, Feedback
(Laufzeit, Verweildauer, I/O-Verhalten)– Real-Time Scheduling: EDF