Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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,

Ähnliche Präsentationen


Präsentation zum Thema: "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,"—  Präsentation transkript:

1 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 T1 mit p1 = 2 und C1 = 1 und T2 mit p2 = 5 und C2 = 2,5 im Interval (0,4]. U = 1. 4 RW-Systemarchitektur Kap. 7

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

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

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

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

6 Planbarkeitstest bei RM
Annahme: Fristen = Perioden Dann ist eine hinreichende Bedingung: Beweis: Liu&Layland’73 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. RW-Systemarchitektur Kap. 7

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 Ti größer als Priorität von Tj. RW-Systemarchitektur Kap. 7

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

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

10 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 (tk, Tk) gespeichert, wobei tk ein Entscheidungszeitpunkt ist und Tk entweder ein zur Zeit tk auszuführender Prozess oder I (für idle) ist. Teilplan Teilplan Teilplan Teilplan Teilplan Teilplan RW-Systemarchitektur Kap. 7

11 Beispiel Prozess 1 1 4 Prozess 2 1,8 5 Prozess 3 20 Prozess 4 2
Prozessrausnutzungen: Totale Prozessorausnutzung U = Ein möglicher Teilplan: Prozessrausnutzungen: 0,25 0,36 0,05 0,1 total 0,76 4 1 3 2 8 12 16 20 RW-Systemarchitektur Kap. 7

12 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. Zur Zeit tk wird Scheduler durch Unterbrechung geweckt. Er startet Prozess Tk und setzt Zeitgeber auf tk+1. Dann blockiert Scheduler sich. tk, Tk tk+1, Tk+1 RW-Systemarchitektur Kap. 7

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

14 Beispiel Perioden P1=25, P2=50, P3=100
Ausführungszeitschranken C1=5, C2=15, C3=15 Fristen D1=25, D2=25, D3=50 Man finde einen Plan, in dem alle Fristen eingehalten werden! Beobachtungen: Wie oft muss jeder Prozess in einem 100er-Intervall ausgeführt werden? RW-Systemarchitektur Kap. 7

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

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

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

18 Beispiel Perioden P1=25, P2=50, P3=100
Ausführungszeitschranken C1=5, C2=15, C3=15 Fristen D1=25, D2=25, D3=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 RW-Systemarchitektur Kap. 7

19 Beispiel Task 1 5 25 Task 2 15 50 Task 3 100 großer Rahmen
kleiner Rahmen D1 D1 D1 D1 D2 D3 D2 25 50 75 100 125 Es muss gelten: C1+C2· 25 und C1+C3· 25 (und C1·25): ok! RW-Systemarchitektur Kap. 7

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

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


Herunterladen ppt "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,"

Ähnliche Präsentationen


Google-Anzeigen