Quantitative Methoden Betriebssysteme
Claude-J. Hamann TU Dresden
Problem und Gegenstand
Problem Erfüllen von QoS-Anforderungen mit zeit- bzw. größenbeschränkten Ressourcen
Gegenstand Scheduling basierend auf –
deterministischen Modellen
–
probabilistischen Modellen
Hauptspeicherverwaltung Externspeicherzugriff Dateisysteme
Echtzeitsysteme
Betriebssysteme WS 2016, Quantitative Methoden
2
Claude-J. Hamann, TU Dresden
Literatur WECK, G.: Prinzipien und Realisierung von Betriebssystemen. B. G. Teubner 1983.
LIU, J. W. S.: Real-Time Systems. Prentice-Hall, 2000 STANKOWIC, J. A., et al.: Implications of Classical Scheduling Results for Real-Time Systems. In: Computer 6/1995. DOWDY, L.; C. LOWERY: P.S. to Operating Systems. Prentice-Hall, 1993. PFLUG, G.: Stochastische Modelle in der Informatik. B. G. Teubner 1986.
Betriebssysteme WS 2016, Quantitative Methoden
3
Claude-J. Hamann, TU Dresden
Scheduling – Einführung
Begriff Vorgehensweise zur Einplanung von Aufgaben, die durch ein aktives Betriebsmittel zu bearbeiten sind Entscheidungsstrategien, die die Reihenfolge festlegen, in der sich Prozesse um den Prozessor (allgemeiner: um ein Betriebsmittel) bewerben müssen bzw. in der sie aus einer Warteschlange (für das Betriebsmittel) ausgewählt werden
Aufgabe der Schedulingtheorie Entwicklung und Bewertung (!) derartiger Strategien
Betriebssysteme WS 2016, Quantitative Methoden
4
Claude-J. Hamann, TU Dresden
Scheduling – Einführung
Ziele hohe Prozessorauslastung größtmöglicher Durchsatz minimale Gesamtbearbeitungszeit
/U D tg
geringe durchschnittliche Verweilzeit minimale Antwortzeit garantierte Reaktionszeit
tv
↯
Gerechtigkeit
Einordnung und Abgrenzung Ablaufplanung (Teilgebiet der Operationsforschung) Prozeßauswahl (System-S.) Prozessorzuteilung (Dispatching) Strategie Algorithmus Implementation
Betriebssysteme WS 2016, Quantitative Methoden
5
Claude-J. Hamann, TU Dresden
Scheduling – Einführung Ablaufplan (Schedule)
zeitabhängige Zuordnung von Prozessen zu Prozessoren oft:
graphische Darstellung der Prozessorzuteilung in Form eines GANTT-Diagramms
Prozeß – Thread – Job – Task – Auftrag – Vorgang – ...
Klassifikationsgesichtspunkte Ein- / Mehrprozessorsysteme Bearbeitung ohne / mit Prozessorentzug Deterministische / probabilistische Modelle Echtzeitbedingungen
Betriebssysteme WS 2016, Quantitative Methoden
6
Claude-J. Hamann, TU Dresden
Scheduling – Deterministische Modelle
Modellannahmen Gegeben: J ={ J 1, ... , J n } R⊆ J × J
t : J ℝ ●
Menge von Jobs Präzedenzrelation Abbildung, wobei
t J i =:t i
durch Messung oder Rechnung ermittelte tatsächliche (konstante) Ausführungszeit
●
auf Erfahrung beruhende mittlere Zeit
●
abgeschätzte maximal mögliche Ausführungszeit (WCET)
Anwendungsbereich: (annähernd) konstantes Aufgabenprofil
Betriebssysteme WS 2016, Quantitative Methoden
7
Claude-J. Hamann, TU Dresden
Scheduling – Deterministische Modelle
Graphische Darstellung Vorgangsknotennetz
Vorgangspfeilnetz
A/2 C/2
A/2
D/4
B/4 B/4
E/3
F/3
D/4
C/2 E/3 E/3
Scheinvorgang F/3 F/3
Möglicher Ablaufplan bei zwei Prozessoren: Prozessor 1
A
Prozessor 2
C B
0
D E
5
F 10 frei
Betriebssysteme WS 2016, Quantitative Methoden
8
Claude-J. Hamann, TU Dresden
Scheduling in 1-Prozessor-Systemen ohne Entzug
FIFO / LIFO SPT „Shortest Processing Time“ ist bei R = ∅ optimal bzgl. t̄v → Min! Beispiel:
FIFO:
Ji
A
B
C
D
ti
4
1
3
2
A
B
0
SPT:
D
C
t
1 17 ̄ t w = (0+ 4+ 5+ 8)= 4 4
t
1 10 t̄w = (0+ 1+ 3+ 6)= 4 4
D
5
B 0
C
10
A 5
10
Bei R ≠ ∅ ist das Problem NP-vollständig! Betriebssysteme WS 2016, Quantitative Methoden
9
Claude-J. Hamann, TU Dresden
Scheduling in 1-Prozessor-Systemen mit Entzug
RR „Round Robin“ Prozeßwechsel mit konstantem Zeitquant Q Beispiel:
Ji
A
B
C
D
ti
4
1
3
2
Q=1
A B C D A C D A C A 0
5
10
t
1 18 t̄w = (6+ 1+ 6+ 5)= 4 4 Problem: Größe von Q
Betriebssysteme WS 2016, Quantitative Methoden
10
Claude-J. Hamann, TU Dresden
Scheduling in 1-Prozessor-Systemen mit Entzug
MLF „Multilevel-Feedback“ Prozeßwechsel mit Zeitquant Q und Prioritäten Q Priorität 1
A
A C B B C D D A
Priorität 2
A
A
Priorität 3
A
Priorität 4
Betriebssysteme WS 2016, Quantitative Methoden
11
Claude-J. Hamann, TU Dresden
Scheduling in 1-Prozessor-Systemen
Rechenintensive vs. E/A-intensive Jobs Antwortzeit und Durchsatz abhängig von Priorität A B Priorität(A) > Priorität(B)
Priorität(B) > Priorität(A)
Betriebssysteme WS 2016, Quantitative Methoden
12
Claude-J. Hamann, TU Dresden
Scheduling in Mehrprozessor-Systemen m identische Prozessoren. Enumeration: Aufwand O(e jobanzahl)
Optimalitätskriterium
tg → Min!
R bel.: polynomialer Algorithmus nur für m = 2, ti = const. bekannt R = ∅:
m=1
trivial
m > 1:
Approximation LPT „Largest Processing Time“
Optimalitätskriterium
_ tv → Min!
R = ∅: SPT ist optimal (sonst NP-vollständig)
Betriebssysteme WS 2016, Quantitative Methoden
13
Claude-J. Hamann, TU Dresden
Scheduling in Mehrprozessor-Systemen
Beispiele m=2 LPT:
Ji
A
B
C
D
E
ti
3
2
2
2
3
A
B
E
D
C
0
11 t̄w = 5
t g=7
8 t̄w = 5
t g=6
9 ̄ t w= 5
t g=6
8 ̄ t w= 5
5
B
SPT:
C
D
E A
0
5
Opt. bzgl. _ tg und tw
A
E
B
C
D
0
Entzug:
t g=7
5
B
D C
A B
0 Betriebssysteme WS 2016, Quantitative Methoden
E 5 14
Claude-J. Hamann, TU Dresden
Fallstudie: Unix (konzeptionell)
Statische Prioritäten im Kern-Modus Seitenersetzung
...
Priorität
Plattenzugriff
→ gute Auslastung schneller E/A-Geräte
Terminal-Eingabe Terminal-Ausgabe
Dynamische Prioritäten im Nutzer-Modus Priorität = f(Basis-Priorität, nice-Wert, CPU-Nutzung) → Bevorzugung interaktiver Anwendungen
Betriebssysteme WS 2016, Quantitative Methoden
15
Claude-J. Hamann, TU Dresden
Fallstudie: Windows
Vier „Prioritätsbänder“ mit jeweils fünf Stufen 26
Real-Time High
highest above normal below lowest
Normal Idle 1
Dynamische Priorität entsprechend E/A-Aktivität 10
Priorität
6
Entzug
Entzug
E/A
Betriebssysteme WS 2016, Quantitative Methoden
16
t Claude-J. Hamann, TU Dresden
Echtzeit-Scheduling – Grundbegriffe
Job Planungseinheit für Scheduling e Ausführungszeit, Bearbeitungszeit (execution time) r
Freigabezeit, Bereitzeit
d Zeitschranke, Frist
(release time) (deadline)
Task Menge „zusammengehörender“ Jobs speziell: Jobnetz oder periodische Task
Deadline hart / weich
Betriebssysteme WS 2016, Quantitative Methoden
17
Claude-J. Hamann, TU Dresden
Echtzeit-Scheduling – Grundbegriffe
Schedule (Ablaufplan) zeitliche Zuordnung von Jobs zu Prozessoren gültig (valid):
Zuordnung verletzt keine der gegebenen Bedingungen
ausführbar (feasible): alle Zeitschranken werden eingehalten
Scheduling ●
●
Einplanung: Vorgehen (Algorithmus), das bei gegebener Taskbeschreibung einen Ablaufplan bestimmt Prozessor-Zuordnung: Auswahl eines Jobs durch Scheduler des Systems
Betriebssysteme WS 2016, Quantitative Methoden
18
Claude-J. Hamann, TU Dresden
Echtzeit-Scheduling – Grundbegriffe
Einplanbarkeit Taskmenge ist einplanbar (schedulable, feasible) bei einem Scheduling-Algorithmus, wenn der Algorithmus einen ausführbaren Ablaufplan erzeugt
Admission (Zulassung)
!
Verfahren, das die Einplanbarkeit einer Taskmenge entscheidet
Optimalität (bzgl. Einplanbarkeit) eines Scheduling-Verfahrens in einer Klasse C von Verfahren: erzeugt für jede Taskmenge T einen ausführbaren Ablaufplan, sofern T überhaupt mit einem Verfahren aus C eingeplant werden kann
Betriebssysteme WS 2016, Quantitative Methoden
19
Claude-J. Hamann, TU Dresden
Echtzeit-Scheduling – Modellannahmen
Deterministisches Modell jede Task Ti ist periodische Folge von Jobs, Periode pi Periode ist zugleich Zeitschranke (relative Deadline di) Bearbeitungszeit ei ist konstant Prozessor ist entziehbar Tasks sind voneinander unabhängig („in Zeit und Raum“) System-Scheduling prioritätsbasiert bereit
beendet
eingeplant
abs. Deadline/ Periodenende
Bedienungszeit ei
t Antwort-, Verweilzeit tv Betriebssysteme WS 2016, Quantitative Methoden
20
Claude-J. Hamann, TU Dresden
Echtzeit-Scheduling – Verfahren
RMS „Rate Monotonic Scheduling“
LIU/LAYLAND, 1973
statische Taskpriorität proportional zu Ankunftsrate
EDF „Earliest Deadline First“ Task mit nächstgelegener Deadline hat aktuell höchste Priorität
Beispiel
T1 hat höhere Priorität als T2
T1
t
T2
t
RMS
t T2 überschreitet Deadline
EDF
t 0
Betriebssysteme WS 2016, Quantitative Methoden
5 21
10 Claude-J. Hamann, TU Dresden
Echtzeit-Scheduling – Eigenschaften
Optimalitätseigenschaft RMS ist optimal in der Klasse aller statischen, EDF in der Klasse aller (dynamischen) Scheduling-Algorithmen (in Einprozessor-Systemen für unabhängige, verdrängbare Tasks)
Existenz eines Ablaufplans (Admission-Kriterium) n
bei RMS, falls
=∑ i=1
ei n ≤n⋅ 2−1 pi n
bei EDF genau dann, wenn =∑ i=1
Betriebssysteme WS 2016, Quantitative Methoden
22
≈ 0,83 … 0,69 (ln 2)
ei ≤1 pi
Claude-J. Hamann, TU Dresden
Scheduling - Probabilistische Modelle
Modellannahmen In zufälligem Ankunftsabstand Ta treffen Anforderungen an den Scheduler mit zufälligem Bedarf an Bedienungszeit Tb ein. Anwendungsbereich: Interaktiver Betrieb, verteilte Systeme
Aufgabe Bestimmen von Bewertungsgrößen wie
Tw
Wartezeit
Tv = Tw + Tb Verweilzeit
Nw
Warteschlangenlänge
Nv
Anzahl der im System befindlichen Forderungen
Mathematisches Instrumentarium Bedienungstheorie (Warteschlangentheorie)
Betriebssysteme WS 2016, Quantitative Methoden
23
Claude-J. Hamann, TU Dresden
Probabilistische Modelle – M/M/1/ꝏ-System
Struktur
BA: Bedienungsanlage FQ: Forderungsquelle WR: Warteraum
FS: Forderungssenke
BE: Bedieneinrichtung BA FQ
BE
FS
WR Ta exponentiell verteilt, Par. l
Tb exponentiell verteilt, Par. m
Wartezeit Tw + Bedienungszeit Tb Verweilzeit Tv
Bewertungsgrößen E(T w )=
ρ μ (1−ρ) 2
ρ E( N w )= 1−ρ
E(T v )=E(T w )+ E(T b )=
1 μ (1−ρ)
E( N v )=E( N w )+ E( N b )=
Betriebssysteme WS 2016, Quantitative Methoden
24
ρ 1−ρ
λ E(T b ) ρ= = μ E(T a )
Claude-J. Hamann, TU Dresden
Probabilistische Modelle – Anwendung
Bewertung von Scheduling-Verfahren SJN:
shortest job next
HRN: highest response ratio next FEP: fixed external priorities ●
b: Bedienzeitwunsch
FIFO: einfach. Gleichbehandlung aller Aufträge SJN:
Bevorzugung kürzerer Aufträge;
t̄w wird bei R = ∅ minimal, falls alle b bekannt HRN:
größere Gerechtigkeit
FEP:
statisch. Prioritätszuordnung?
Betriebssysteme WS 2016, Quantitative Methoden
25
Claude-J. Hamann, TU Dresden
Ausblick: Quantitative Methoden
Bewertung von Speicher-Zuteilungsstrategien ●
Segmentierter Speicher Freispeicherlisten → externe Fragmentierung Auffüllen und Kompaktifizieren → Aufwand
●
Seitenorientierte Systeme Arbeitsmengen → Fenstergröße; Seitenflattern statische Ersetzungsstrategien → Seitenfehlerrate
!
Pufferdimensionierung R
EP
Betriebssysteme WS 2016, Quantitative Methoden
AP
26
Claude-J. Hamann, TU Dresden
Ausblick: Quantitative Methoden
Externspeicher-Zugriff
Scheduling Leistungsanalyse mittels Bedienungsmodellen/-netzen Nutzung weiterer, nicht entziehbarer Ressourcen (Prioritätsinversion, Berechnung von Blockierungszeiten) Scheduling-Verfahren für flexible Applikationen Scheduling-Verfahren für nicht-periodische Tasks und Tasks ohne Echtzeit-Anforderungen Admission-Algorithmen
Leistungsanalyse von Betriebssystem-Komponenten
„Scheduling-Theorie“ Betriebssysteme WS 2016, Quantitative Methoden
27
Claude-J. Hamann, TU Dresden
Quantitative Methoden 1. Problem, Gegenstand und Grundbegriffe
2
2. Scheduling – Deterministische Modelle
7
2.1. Modellannahmen und -beschreibung
7
2.2. Scheduling in 1-Prozessor-Systemen
9
2.3. Scheduling in Mehrprozessor-Systemen
13
2.4. Fallstudien
15
3. Scheduling in Echtzeitsystemen
17
3.1. Grundlagen
17
3.2. Modellannahmen und Verfahren
20
4. Scheduling – Probabilistische Modelle
23
5. Ausblick
26
Betriebssysteme WS 2016, Quantitative Methoden
28
Claude-J. Hamann, TU Dresden