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,

Slides:



Advertisements
Ähnliche Präsentationen
Fast Fourier Transformation
Advertisements

Motivation Bisher: Codes mit möglichst kurzer Codelänge.
Definition [1]: Sei S eine endliche Menge und sei p eine Abbildung von S in die positiven reellen Zahlen Für einen Teilmenge ES von S sei p definiert.
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
7.3 Scheduling Zur Erinnerung:
Vorlesung Programmieren II
Polynomial Root Isolation
Schwierigkeit von Aufgabenstellungen
Christian Schindelhauer
M a r c – o l i v e r p a h l Informatik II – Kapitel 14 Hashing Zusammenfassung des Kapitel 14 Küchlin, Weber, Einführung in die Informatik, 2.Auflage.
3. Kapitel: Komplexität und Komplexitätsklassen
2. Kapitel: Komplexität und Komplexitätsklassen
Verifizieren versus Berechnen
Terminierung und Deadlocks Enkhbat Daginaa Betreuerin Prof. Heike Wehrheim Totale Korrektheit.
Seite 1 BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Aug 2008 Das zeitliche Verhalten periodisch auszuführender Aktionen.
Aufgaben zum Scheduling
Erfahrungen aus Tests komplexer Systeme
REKURSION + ITERATION. Bemerkung: Die in den folgenden Folien angegebenen "Herleitungen" sind keine exakten Beweise, sondern Plausibilitätsbetrachtungen.
Algorithmentheorie 04 –Hashing
1WS 06/07 Organisatorisches 1.Vorlesung am Montag, : 9-11 Uhr in Gebäude 106, Raum Podcasts: Probleme mit der Videoqualität sind behoben.
Dynamische Programmierung (2) Matrixkettenprodukt
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Diskrete Methoden Schedulingalgorithmen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Algorithmentheorie 7 – Bin Packing
Kapitel 1 Das Schubfachprinzip
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
Zahlen mit Zahlen ausmessen
Mathematische Grundlagen und Rechnen mit algebraischen Zahlen
Teil II: Informierte Suche
Wie macht man ein Sudoku? Transformations-Methode:
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
Grenzen der Regularität
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Strategie der Modellbildung
Das Traveling Salesman Problem (TSP)
SFZ FN Sj. 13/14 Python 3 Rekursion Inf K1/2 Sj 13/14
Analyse der Laufzeit von Algorithmen
2.3 Implementierung von Prozessen
Der A*-Algorithmus.
Binärbäume.
Pointer. Grundsätzliches: Im Arbeitsspeicher werden Daten gespeichert. Um auf die Daten eindeutig zugreifen zu können, werden diesen Daten Adressen zugeordnet.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 2 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
 Gegenstandsbereich der Testtheorie: Analyse der Charakteristika von Tests:  Güte von Tests.  Struktur von Tests.  Schwierigkeit von Tests.  Gruppenunterschiede.
A. Steininger TU Vienna 1 Multicore eleganter Work-Around um die Design-Crisis Problemverschiebung in die SW (= auf höhere Ebene) ABER: hohe Parallelität.
Hexadezimale Darstellung von Zahlen
 Präsentation transkript:

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

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

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

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

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

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

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

Antwortzeitanalyse Rekursive Gleichung Planbar, wenn iterativ Lösen mit Startwert Iteration RW-Systemarchitektur Kap. 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. RW-Systemarchitektur Kap. 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 (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

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

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

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

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

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

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

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

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

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

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

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