Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

7.3 Scheduling Zur Erinnerung:

Ähnliche Präsentationen


Präsentation zum Thema: "7.3 Scheduling Zur Erinnerung:"—  Präsentation transkript:

1 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

2 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

3 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

4 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

5 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

6 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

7 Beispiel T1: Bilderfassung Kamera1 T2: Bilderfassung Kamera2
T3: Kantenerkennung für Bild1 T4: Kantenerkennung für Bild2 T5: Gestaltrekonstruktion T6: Weichensteuerung T1 T2 T3 T4 T5 T6 RW-Systemarchitektur Kap. 7

8 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

9 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

10 Parameter P1 Prozess 1 L2 D2 s2 f1 r2 C2 C1 2 Zeit L1 s1 f1 D1 r1
RW-Systemarchitektur Kap. 7

11 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

12 Planbarkeit und Zulässigkeit
Prozessmenge 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 Zulässigkeits- Analyse RW-Systemarchitektur Kap. 7

13 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

14 EDF Beispiel Task 1 2 4 6 Task 2 5 8 Task 3 3 7 9 RW-Systemarchitektur
Kap. 7

15 EDF Beispiel Task 1 2 4 6 Task 2 5 8 Task 3 3 7 9 4 2 6 8 10 12 14 16
18 20 24 22 3 1 RW-Systemarchitektur Kap. 7

16 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

17 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

18 Beispiel Task 1 1 4 Task 2 2 5 Task 3 20 RW-Systemarchitektur Kap. 7

19 RM Beispiel Task 1 1 4 Task 2 2 5 Task 3 20 4 2 6 8 10 12 14 16 18 20
24 22 1 3 RW-Systemarchitektur Kap. 7

20 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

21 Optimalität EDF: Beweis der Optimalität:
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

22 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. RW-Systemarchitektur Kap. 7


Herunterladen ppt "7.3 Scheduling Zur Erinnerung:"

Ähnliche Präsentationen


Google-Anzeigen