RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming):...

22
RW- Systemarchitektur Kap. 7 7.3 Scheduling • Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung des Betriebssystems – Prozesswechsel evtl. nur bei Blockieren wegen Warten auf Ereignis Zeitscheibenverfahren (Timesharing): Mehrprogrammbetrieb und Prozessor wird bei Blockade und bei Ablaufen der zugeteilten Zeitscheibe entzogen. •Prozesse bekommen Betriebsmittel, insbesondere den Prozessor, zeitlich abwechselnd vom Scheduler (Strategie) und Dispatcher (Technik) zugeteilt. Strategie betrifft im Wesentlichen das Optimierungsziel: Maximierung von Durchsatz - Arbeit pro Zeit, – Minimierung von Antwortzeit – Zeit zwischen Anfrage und Antwort bei interaktivem Nutzer, – Minimierung von Umlaufzeit (turnaround) – Zeit zwischen Prozesseinplanung und –terminierung,

Transcript of RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming):...

Page 1: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

7.3 Scheduling

• Zur Erinnerung:• Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere

ausführbare Programme unter Verwaltung des Betriebssystems– Prozesswechsel evtl. nur bei Blockieren wegen Warten auf Ereignis

• Zeitscheibenverfahren (Timesharing): Mehrprogrammbetrieb und Prozessor wird bei Blockade und bei Ablaufen der zugeteilten Zeitscheibe entzogen.

• Prozesse bekommen Betriebsmittel, insbesondere den Prozessor, zeitlich abwechselnd vom Scheduler (Strategie) und Dispatcher (Technik) zugeteilt.

• Strategie betrifft im Wesentlichen das Optimierungsziel:– Maximierung von Durchsatz - Arbeit pro Zeit,– Minimierung von Antwortzeit – Zeit zwischen Anfrage und Antwort bei

interaktivem Nutzer,– Minimierung von Umlaufzeit (turnaround) – Zeit zwischen Prozesseinplanung

und –terminierung,

Page 2: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

Scheduling für Nicht-Echtzeit

• Situtation: Prozesse haben CPU-aktive Zeiten und Ein-/Ausgabe-aktive Zeiten.

• Scheduler soll Betriebsmittel geschickt ausnutzen.• Round-Robin-Scheduling: Prozesse kommen hinten in FIFO-

Warteschlange und werden vorne entnommen und bekommen den Prozessor zugeteilt.

• Einfach zu implementieren.• Problematisch: Warum?• Abhilfe:

Page 3: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

Prioritäts-gesteuertes Scheduling

Strategien sind meist Prioritäts-gesteuert – Prozesse habe verschiedene Dringlichkeit, ausgedrückt in einem Zahlenwert, ihrer Priorität,

• Prioritäten werden häufig dynamisch vergeben.• Typische Strategien sind:

– FIFO – Priorität ergibt sich aus der Ankunftszeit, s.o. Round-Robin

– LIFO – dito

– SETF (shortest execution time first) – günstig für interaktive Prozesse,

– LETF (longest execution time first) – günstig für rechenintensive Prozesse.

– Problem?

– Abhilfe:

Page 4: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

Einführung Echtzeit-Scheduling

• Echtzeitsysteme müssen pünktlich reagieren und

• der Nachweis der Pünktlichkeit muss statisch, d.h. vor der Ausführung erbracht werden.

• Echtzeitsystem besteht aus mehreren Prozessen.

• Die Prozesse können auf ein oder mehreren Prozessoren ausgeführt werden.

• Aufgabe:– Verteilung der Prozesse auf Prozessoren und/oder– Prozesse Prozessoren zeitlich nacheinander zuteilen.

• Diese Aufgabe heißt Planung (Scheduling).

Page 5: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

Echtzeit-Scheduling• Die Planung muss Bedingungen erfüllen:

– Fristen (Deadlines): Prozesse müssen vorher terminieren,– Reihenfolge (Precedence constraints): ein Prozess braucht Ergebnis eines

anderen,– Gemeinsam benutzte Betriebsmittel (Shared Resources): exklusiver Zugriff

muss gesichert werden,

• verschiedene Optimierungsziele– Schlupf (slack time) – Zeitdauer von Terminierung bis Frist.

Schlupf kann genutzt werden, um Prozessor-Taktrate und damit Stromverbrauch herunter zu fahren.

– Blockade-Zeiten– …

Page 6: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

Beispiel für Reihenfolge-Anforderungen

Zwei Kameras überwachen Objekte auf einem Transportband

Angeschlossener Rechner erkennt Typ der Objekte und teilt sie auf zwei Ausgabeströme auf.

Page 7: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

Beispiel

T1 T2

T3 T4

T5

T6

T1: Bilderfassung Kamera1

T2: Bilderfassung Kamera2

T3: Kantenerkennung für Bild1

T4: Kantenerkennung für Bild2

T5: Gestaltrekonstruktion

T6: Weichensteuerung

Page 8: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

Klassifikation von Verfahren

Kriterien• Online: Planung (Scheduling) zur Laufzeit oder

• Offline: Plan vorberechnet und abgespeichert.

• Statisch: Planungsentscheidungen basieren auf unveränderlichen Parametern,

• Dynamisch: Planungsentscheidungen basieren auf während der Laufzeit veränderlichen Parametern.

• Präemptiv: Ausführung eines Prozesses kann unterbrochen werden.

• Nichtpräemptiv: Prozess läuft immer bis zur Terminierung.

• Periodisch: Prozess wird einmal pro festem Interval, seiner Periode, ausgeführt• Aperiodisch: Prozess-Aktivierung beliebig• Sporadisch: Aktivierung beliebig, aber mit festem Minimalabstand.

Page 9: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

Terminologie und Notation

• Prozesse (tasks) • Ankunftszeit: (auch Auslösezeit (release time) genannt)• Frist (Deadline): relativ , absolut )• obere Zeitschranke für die Ausführungszeit: • Startzeit:• Terminierungszeit: • Periode: • Verspätung (lateness): (<0 wenn pünktlich)• Prozessorausnutzung:• Priorität:

Page 10: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

Parameter

Prozess

Zeit

1

2

r1 f1

C1

D1s1 L1

r2s2 D2

f1C2

L2

P1

Page 11: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

Scheduling

• Gegeben eine Menge von Prozessen T1,…,Tn mit Parametern (Ci,…)

• Ein Scheduling-Verfahren bestimmt, welcher Prozess zu jedem Zeitpunkt ausgeführt wird..

• Es muss die Randbedingungen beachten, z.B. Einhaltung der Fristen, Reihenfolgen, Betriebsmittel-Einschränkungen,…

• Es versucht, ein Optimierungsziel zu erreichen.

Page 12: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

Planbarkeit und Zulässigkeit

• Eine Prozessmenge ist mit einem Scheduling-Verfahren auf einer gebenen Architektur planbar (schedulable), wenn dieses Verfahren einen Plan erzeugt, der unter Einhaltung aller Randbedingungen ausführbar ist.

• Eine Planbarkeitsanalyse (Schedulability Analysis) für ein gegebenes Scheduling-Verfahren prüft, ob eine gegebene Prozessmenge planbar ist.

• Ein Plan ist für eine Prozessmenge und eine Architektur zulässig (feasible), wenn seine Ausführung alle Bedingungen erfüllt.

• Eine Prozessmenge ist für eine Architektur zulässig, wenn es einen zulässigen Plan für die Prozessmenge und die Architektur gibt.

• Eine Zulässigkeitsanalyse (Feasibility analysis) prüft, ob es einen zulässigen Plan für eine gegebene Prozessmenge gibt.

Planbarkeits-Analyse für

spez. Scheduling-Verfahren

Prozessmenge

Prozessmenge

Zulässigkeits-Analyse

Prozessmenge

Prozessmenge

Page 13: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

Earliest Deadline First (EDF)

• Führe immer den Prozess aus mit der zeitlich nächsten Frist.• Unterbricht laufenden Prozess, wenn ein Prozess mit näherer Frist

eintrifft.• Implementierung: Verwalte eine Warteschlange bereiter Prozesses,

sortiert in der Reihenfolge ansteigender Fristen.• Kosten:

– Konstant für das Finden des nächsten Prozesses– O(n) für das Einfügen eines neuen Prozesses

Page 14: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

EDF Beispiel

Task 1 2 4 6

Task 2 2 5 8

Task 3 3 7 9

Page 15: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

EDF Beispiel

42 6 8 10 12 14 16 18 20 24223

2

1

Task 1 2 4 6

Task 2 2 5 8

Task 3 3 7 9

Page 16: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

EDF: Eigenschaften

• Dynamisches Verfahren (Prioritätbestimmung)

• Online-Verfahren : Planung während der Laufzeit

• Präemptiv: Prozesses werden evtl. unterbrochen,

• Lann man jede Menge von Prozessen damit planen?– Nein

• Ist aber unter gewissen Voraussetzungen die optimale Strategie (mehr später).

Page 17: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

Rate monotonic (RM)

• Statisch vergebene Priorität jedes Prozesses = 1/Periode– Je länger die Periode, desto kleiner die Priorität

• Intuition: häufiger gestartete Prozesse haben höhere Dringlichkeit.

• Scheduler führt immer Prozess mit der höchsten Priorität aus.

Page 18: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

Beispiel

Task 1 1 4 4

Task 2 2 5 5

Task 3 5 20 20

Page 19: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

RM Beispiel

42 6 8 10 12 14 16 18 20 2422

1

2

3

Task 1 1 4 4

Task 2 2 5 5

Task 3 5 20 20

Page 20: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

RM Eigenschaften

• Statisches Verfahren (Prioritäten einmal vorher bestimmt)• Online-Verfahren: Entscheidung über Prozesswechsel während der

Ausführung,• Präemptives Verfahren: Scheduler unterbricht Prozesse • Implementierung: Warteschlange für bereite Prozesses sortiert

nach Prioritäten,• Kosten: O(1) für die Auswahl des Prozesses, O(n) für die

Einfügung in die Warteschlange.• Alle Prozess-Mengen planbar? Nein• Optimalität (kommt später)

Page 21: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

Optimalität

• EDF:– Optimal bzgl. Zulässigkeit - Wenn es einen zulässigen Plan gibt, dann

erzeugt EDF einen zulässigen Plan. – Stärkere Aussage: Optimal bzgl. Reduktion der größten Verspätung.– Lässt die größte Zeit zwischen der Terminierung des verspätetsten

Prozesses und seine Frist => Zeit für andere Prozesse.

• Beweis der Optimalität:– Jeder Plan kann in einen EDF-Plan transformiert werden.– Von diesem EDF–Plan kann man zeigen, dass er eine kleinere größte

Verspätung hat als der Originalplan.

• Aber: Diese Mächtigkeit hängt an der Fähigkeit zur Unterbrechung!

• Unterbrechung ist nicht kostenlos!

Page 22: RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung.

RW-Systemarchitektur Kap. 7

RM Optimalität

• RM ist auch optimal bzgl. Zulässigkeit• Gibt es einen zulässigen Plan, dann erzeugt RM einen zulässigen

Plan.• Proof also by transforming a feasible schedule into an RM schedule• Why use RM instead of EDF?

– RM braucht nur statische Zuordnung von Prioritäten– Scheduler muss nicht Prioritäten aufgrund von Zeitdauern

ausrechnen.