Quantitative Methoden

Quantitative Methoden Betriebssysteme Claude-J. Hamann TU Dresden Problem und Gegenstand  Problem Erfüllen von QoS-Anforderungen mit zeit- bzw. g...
19 downloads 2 Views 374KB Size
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

tv





 ↯ 



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

Suggest Documents