Uploaded by imb83903

bs06 scheduling

advertisement
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
Related documents
Download