Scheduling Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 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 20/21 2 Schedulingebenen short-term Requests Timeout Ready CPU long-term Ready, Suspend Blocked, Suspend Event Occurs Peter Puschner, TU Wien Blocked mid-term Event Wait Vorlesung Betriebssysteme, Scheduling; WS 20/21 3 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 20/21 4 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 20/21 5 Scheduling-Kriterien User-Oriented System-Oriented Performance Response Time, Turnaround Time, Deadlines Throughput, Processor Utilization Other Predictability Fairness, Resource Balance, Priorities Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 20/21 6 Verwendung von Prioritäten RQ 0 Dispatch CPU RQ 1 RQ n Preemption Event Wait • Achtung: Starvation! Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 20/21 7 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 20/21 8 Task-Set für Beispiele Prozess P1 P2 P3 P4 P5 Peter Puschner, TU Wien Arrival Time Service Time 0 2 4 6 8 3 6 4 5 2 Vorlesung Betriebssysteme, Scheduling; WS 20/21 9 First Come First Served (FCFS) • Selection function: Auswahl des Prozesses, der bereits am längsten in der Ready Queue verweilt • Decision mode: non-preemptive P1 P2 P3 P4 P5 0 5 10 15 20 … task arrival Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 20/21 10 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 20/21 11 Round Robin (RR, Time Slicing) • Selection function: siehe FCFS • Decision mode: preemptive • Zeitscheiben gleicher Länge werden zyklisch an Prozesse vergeben (Clock Interrupt) P1 P2 P3 P4 P5 q=1 0 5 10 15 20 1 2 3 2 4 3 2 5 4 3 2 5 4 3 2 4 3 2 5 4 3 2 5 4 3 2 4 4 3 2 5 4 3 2 Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 20/21 12 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 CPUintensiven Prozessen „überholt“ ðVirtual Round Robin ðAuxiliary Queue mit höherer Priorität Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 20/21 13 Virtual Round Robin Timeout Ready CPU Auxiliary Queue I/O 1 Queue I/O Occurs Peter Puschner, TU Wien I/O n Queue I/O 1 Wait I/O n Wait Vorlesung Betriebssysteme, Scheduling; WS 20/21 14 Shortest Process Next (SPN) • Selection function: Prozess mit kürzestem erwarteten CPU-Burst zuerst • Decision mode: non-preemptive P1 P2 P3 P4 P5 0 Peter Puschner, TU Wien 5 10 15 Vorlesung Betriebssysteme, Scheduling; WS 20/21 20 15 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 20/21 16 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 20/21 17 Highest Response Ratio Next • Selection function – RR = (w+s) / s w ... gesamte bisherige Wartezeit s … 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 20/21 18 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 20/21 19 Feedback Scheduling (2) RQ 0, FCFS CPU RQ 1, FCFS CPU RQ n, RR CPU Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 20/21 20 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 20/21 21 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 20/21 22 Beispiel: fixe Prioritäten vs. EDF Deadlines Arrival- and Exec. Times A1 A1 A B Fixed Priority B has priority A3 B1 5 A3 0 20 Deadline miss (B1) 10 5 A1 B1 A2 0 15 15 20 Deadline miss (A1) B1 0 A5 10 5 B2 A5 A4 A4 B2 A1 B1 A2 B1 A3 EDF Peter Puschner, TU Wien A2 A2 0 Fixed Priority A has priority B1 5 10 B1 A3 B2 A4 10 Vorlesung Betriebssysteme, Scheduling; WS 20/21 15 B2 15 20 A5 20 23 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 Peter Puschner, TU Wien Vorlesung Betriebssysteme, Scheduling; WS 20/21 24