Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "RW-SystemarchitekturKap. 7 7.3 Scheduling Zur Erinnerung: Mehrprogrammbetrieb (multiprogramming): gleichzeitig mehrere ausführbare Programme unter Verwaltung."—  Präsentation transkript:

1 RW-SystemarchitekturKap 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,

2 RW-SystemarchitekturKap. 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:

3 RW-SystemarchitekturKap. 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:

4 RW-SystemarchitekturKap. 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).

5 RW-SystemarchitekturKap. 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 –…

6 RW-SystemarchitekturKap. 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.

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

8 RW-SystemarchitekturKap. 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.

9 RW-SystemarchitekturKap. 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:

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

11 RW-SystemarchitekturKap. 7 Scheduling Gegeben eine Menge von Prozessen T 1,…,T n mit Parametern (C i,…) 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.

12 RW-SystemarchitekturKap. 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 Prozessmeng e Zulässigkeits- Analyse Prozessmeng e

13 RW-SystemarchitekturKap. 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

14 RW-SystemarchitekturKap. 7 EDF Beispiel Task 1246 Task 2258 Task 3379

15 RW-SystemarchitekturKap. 7 EDF Beispiel Task 1246 Task 2258 Task 3379

16 RW-SystemarchitekturKap. 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).

17 RW-SystemarchitekturKap. 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.

18 RW-SystemarchitekturKap. 7 Beispiel Task 1144 Task 2255 Task 3520

19 RW-SystemarchitekturKap. 7 RM Beispiel Task 1144 Task 2255 Task 3520

20 RW-SystemarchitekturKap. 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)

21 RW-SystemarchitekturKap. 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!

22 RW-SystemarchitekturKap. 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.


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

Ähnliche Präsentationen


Google-Anzeigen