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

Transcript
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.