Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

RW-SystemarchitekturKap. 7 RM Optimalität RM ist bzgl. Zulässigkeit optimal unter den präemptiven Scheduling-Verfahren mit festen Prioritäten. D.h. gibt.

Ähnliche Präsentationen


Präsentation zum Thema: "RW-SystemarchitekturKap. 7 RM Optimalität RM ist bzgl. Zulässigkeit optimal unter den präemptiven Scheduling-Verfahren mit festen Prioritäten. D.h. gibt."—  Präsentation transkript:

1 RW-SystemarchitekturKap. 7 RM Optimalität RM ist bzgl. Zulässigkeit optimal unter den präemptiven Scheduling-Verfahren mit festen Prioritäten. D.h. gibt es einen zulässigen Plan, dann erzeugt RM einen zulässigen Plan. Beweis durch Transformation eines zulässigen Plans in einen zulässigen RM-Plan. Es gibt aber Prozessmengen mit zulässigen Plänen, welche keinen Plan mit festen Prioritäten haben. Beispiel: Prozesse T 1 mit p 1 = 2 und C 1 = 1 und T 2 mit p 2 = 5 und C 2 = 2,5 im Interval (0,4]. U =

2 RW-SystemarchitekturKap. 7 EDF vs. RM Warum soll man RM statt EDF benutzen? –RM braucht nur statische Zuordnung von Prioritäten –Scheduler muss nicht Prioritäten aufgrund von Zeitdauern ausrechnen.

3 RW-SystemarchitekturKap. 7 Planbarkeit (Schedulability) Wir haben mehrere Scheduling-Verfahren kennen gelernt, –zwei optimale, d.h. sie finden einen zulässigen Plan, wenn einer existiert. –Aber, wie können wir wissen, dass ein zulässiger Plan existiert? Wir suchen notwendige und/oder hinreichende Bedingungen für die Existenz von zulässigen Plänen. –hinreichende Bedingung: bei Erfüllung wird ein optimales Scheduling- Verfahren garantiert einen zulässigen Plan finden, –notwendige Bedingung: Bei Verletzung wird auch ein optimales Verfahren keinen zulässigen Plan finden.

4 RW-SystemarchitekturKap. 7 Planbarkeitstest bei EDF Annahmen: Fristen gleich Perioden Notwendiges und hinreichendes Kriterium: Prozessorausnutzung Warum? Prozessor wird immer dem Prozess zugeteilt, der ihn am dringendsten braucht.

5 RW-SystemarchitekturKap. 7 Planbarkeitstest bei EDF (2) Annahme: Fristen < Perioden –Bedingung ist hinreichend, aber nicht notwendig. –Es gibt mit EDF planbare Prozessmengen, welche diese Bedingung nicht erfüllen. Komplexere Bedingung: –analysiere Bedarf an Rechenzeit –Bestimme, wieviel Zeit eine Prozessmenge in einem Interval braucht. –Prüfe, dass dies weniger ist als die Intervalllänge.

6 RW-SystemarchitekturKap. 7 Planbarkeitstest bei RM Annahme: Fristen = Perioden Dann ist eine hinreichende Bedingung: Beweis: Liu&Layland73 Schranke für n : ln 2 Das heißt, wenn der Prozessor für höchstens 63% der Zeit gebraucht wird, dann ist die Prozessmenge mit RM planbar. Das ist keine notwendige Bedingung –Es gibt mit RM planbare Prozessmengen, welche die Bedingung verletzen.

7 RW-SystemarchitekturKap. 7 Planbarkeitstest bei RM (2) Annahme: Fristen < Perioden komplizierterer Test: Analyse der Antwortzeiten der Prozessmenge –Antwortzeit eines Prozesses: Zeit von Ankunft bis Terminierung, –länger als, weil höherpriore Prozesse unterbrechen können. –Annahme: Prozesse indiziert in Reihenfolge absteigender Prioritäten, also falls i < j, dann Priorität von T i größer als Priorität von T j.

8 RW-SystemarchitekturKap. 7 Antwortzeitanalyse Rekursive Gleichung Planbar, wenn iterativ Lösen mit Startwert Iteration

9 RW-SystemarchitekturKap. 7 Planbarkeits-Test Im Allgemeinen versucht man, die kritische Instanz zu finden. Diese Instanz beschreibt den schlechtesten Fall. Man zeigt, dass man den schlechtesten Fall lösen kann. Dann funktioniert es für alle Szenarios. bei RM: alle Prozesse kommen zum gleichen Zeitpunkt an.

10 RW-SystemarchitekturKap. 7 Statisches uhrengesteuertes Scheduling Berechne einen zulässigen Plan für eine Mege periodischer Prozesse offline, d.h. vor der Ausführungszeit (zulässig heißt, jeder Prozess hält seine Fristen ein.). Der Plan besteht aus sich wiederholenden Teilplänen zyklischer Plan. Der Teilplan legt genau fest, welcher Prozess zu jeder Zeit ausgeführt wird. Gegeben: Perioden der Prozesse, evtl. Reihenfolge-Bedingungen, Laufzeiten. Gibt es eine Mindestlänge eines solchen Teilplans, als Funktion der Perioden der Prozesse? Teilplan wird als Tabelle mit Einträgen (t k, T k ) gespeichert, wobei –t k ein Entscheidungszeitpunkt ist und –T k entweder ein zur Zeit t k auszuführender Prozess oder I (für idle) ist. Teilplan …

11 RW-SystemarchitekturKap. 7 Beispiel Prozess 1144 Prozess 21,855 Prozess 3120 Prozess 4220 Prozessrausnutzungen: Totale Prozessorausnutzung U = Ein möglicher Teilplan:

12 RW-SystemarchitekturKap. 7 Statisches uhrengesteuertes Scheduling (2) Zur Ausführungszeit initiiert der Dispatcher die Prozesse gemäß dieses Teilplans (siehe rechts): Bei Systemstart werden alle Prozesse kreiert, Code und Daten der Prozesse werden in den Speicher geladen. Der Scheduler setzt einen Zeitgeber (timer) so, dass beim nächsten Entscheidungszeitpunkt eine Unterbrechung erfolgt. Dieses Scheduling-Verfahren heißt uhrengesteuert, weil die Scheduling- Entscheidungen zu festen Uhrzeiten fallen, unabhängig von sonstigen Ereignissen wie der Ankunft von Prozessen. t k, T k t k+1, T k+1 Zur Zeit t k wird Scheduler durch Unterbrechung geweckt. Er startet Prozess T k und setzt Zeitgeber auf t k+1. Dann blockiert Scheduler sich.

13 RW-SystemarchitekturKap. 7 Timeline Scheduling Vorheriges Beispiel: Scheduler musste Entscheidungen zu unterschiedlichen Zeitpunkten fällen. Jetzt: Entscheidungen (und Überprüfungen auf eventuelle Fehler) nur zu periodischen Zeiten.

14 RW-SystemarchitekturKap. 7 Beispiel Beobachtungen: –Wie oft muss jeder Prozess in einem 100er-Intervall ausgeführt werden? Perioden P 1 =25, P 2 =50, P 3 =100 Ausführungszeitschranken C 1 =5, C 2 =15, C 3 =15 Fristen D 1 =25, D 2 =25, D 3 =50 Man finde einen Plan, in dem alle Fristen eingehalten werden!

15 RW-SystemarchitekturKap. 7 Timeline Scheduling (2) Die Zeit wird in eine Folge von Intervallen gleicher Größe aufgeteilt, genannt kleine Rahmen (minor frames). Eine Folge von kleinen Rahmen bildet einen großen Rahmen (major frame). Es wird ein Plan gesucht für einen großen Rahmen, danach wiederholt sich der Plan. Jeder kleine Rahmen enthält eine Folge von Prozessen. Der Plan wird vorberechnet und in einer Tabelle abgespeichert. Zur Laufzeit startet der Scheduler jeweils die im nächsten kleinen Rahmen auszuführenden Prozesse aus der Tabelle. kleiner Rahmen großer Rahmen

16 RW-SystemarchitekturKap. 7 Rahmen die Länge des kleinen Rahmens f (die kleinste Einheit des Scheduling-Verfahrens) –bestimmt die kleinste Zeitscheibe –innerhalb eines kleinen Rahmens werden die zugeteilten Prozesse sequentiell ausgeführt. Keine Unterbrechung! Annahme: Fristen liegen an der Grenze von kleinen Rahmen. Prüfung auf Ankunft eines neuen Prozesses nur an dieser Grenze. Bedingungen für den kleinen Rahmen: –f soll die Länge des großen Rahmens teilen, das ist der Fall, wenn f die Periode mindestens eines Prozesses teilt. –Wenn Scheduler Prozesse überwachen soll, muss mindestens 1 Rahmen zwischen Ankunftszeit und Frist jeden Prozesses liegen:

17 RW-SystemarchitekturKap. 7 Rahmen Die Größe des großen Rahmens ist das kleinste gemeinsame Vielfache aller Perioden. Nach dem Ende dieses Intervalls sind alle Prozesses eine ganzzahlige Zahl oft ausgeführt worden und der Plan wird neu angefangen. Plan muss nur für dieses Intervall ausgerechnet werden. Der große Rahmen bestimmt die Länge der Scheduling-Tabelle. Was passiert mit sehr langen Prozessen? Aufteilen in Scheiben.

18 RW-SystemarchitekturKap. 7 Beispiel Perioden P 1 =25, P 2 =50, P 3 =100 Ausführungszeitschranken C 1 =5, C 2 =15, C 3 =15 Fristen D 1 =25, D 2 =25, D 3 =50 Wie findet man einen Plan, in dem alle Fristen eingehlaten werden? Für den kleinen Rahmen muss gelten: –die Summe der Ausführungszeiten der Prozesse in dem Rahmen darf nicht größer sein als die Rahmenlänge

19 RW-SystemarchitekturKap. 7 Beispiel großer Rahmen kleiner Rahmen Task T 1 Task T 2 Task T 3 D1D1 D1D1 D1D1 D1D1 D2D2 D2D2 D3D3 Es muss gelten: C 1 +C 2 · 25 und C 1 +C 3 · 25 (und C 1 · 25): ok! Task 1525 Task Task

20 RW-SystemarchitekturKap. 7 Eigenschaften Scheduling-Verfahren ist statisch und off-line –sehr einfache Implementierung Scheduling ist sehr deterministisch –gut vorauszusagen –gut zu testen nichtpräemptiv –nutzt evtl. freie Zeiten nicht gut aus Plan zu berechnen ist komplex –den optimalen Plan zu finden, ist NP-schwer, also vermutlich exponentiell –deshalb werden oft Heuristiken verwendet, um schneller einen Plan zu finden.

21 RW-SystemarchitekturKap. 7 aktuelle Forschung Modern Architekturen kreieren neue Probleme: Caches, Pipelines verursachen nichtvernachlässigbare Kosten für Prozesswechsel –nach einer Unterbrechung müssen der Cache geladen und die Pipeline wieder in den vorherigen Zustand gebracht werden. –Bei modernen Architekturen können die Kosten in der Größenordnung der Prozessausführungszeiten liegen. Berechnung der Prozesswechselkosten: schwierig zu wissen, wo die Unterbrechung erfolgt. Aktuelle Arbeiten: –korrekte und präzise Berechnung der Prozesswechselkosten, –neue Bewertung der Eigenschaften von Scheduling-Verfahren, wenn die Prozesswechselkosten nicht vernachlässigbar sind.


Herunterladen ppt "RW-SystemarchitekturKap. 7 RM Optimalität RM ist bzgl. Zulässigkeit optimal unter den präemptiven Scheduling-Verfahren mit festen Prioritäten. D.h. gibt."

Ähnliche Präsentationen


Google-Anzeigen