Upload
adalstan-altergott
View
107
Download
4
Embed Size (px)
Citation preview
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,
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:
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:
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).
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– …
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.
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
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.
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:
RW-Systemarchitektur Kap. 7
Parameter
Prozess
Zeit
1
2
r1 f1
C1
D1s1 L1
r2s2 D2
f1C2
L2
P1
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.
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
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
RW-Systemarchitektur Kap. 7
EDF Beispiel
Task 1 2 4 6
Task 2 2 5 8
Task 3 3 7 9
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
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).
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.
RW-Systemarchitektur Kap. 7
Beispiel
Task 1 1 4 4
Task 2 2 5 5
Task 3 5 20 20
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
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)
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!
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.