Diskrete Methoden Schedulingalgorithmen

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Motivation Bisher: Codes mit möglichst kurzer Codelänge.
Leistung.
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,
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,
Eine dynamische Menge, die diese Operationen unterstützt,
7.3 Scheduling Zur Erinnerung:
Prof. Dr. S. Albers Prof.Dr.Th Ottmann
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Kapitel 6: Klassifizierung von Sortiertechniken
3. Kapitel: Komplexität und Komplexitätsklassen
Default Logiken Zhao Li
Klassische Scheduling-Algorithmen für periodische Systeme
Verifizieren versus Berechnen
Systeme 1 Kapitel 5 Scheduling WS 2009/10.
Algorithmentheorie 04 –Hashing
Suche in Texten: Suffix-Bäume
Algorithmentheorie 6 – Greedy-Verfahren
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
1WS 06/07 Organisatorisches 1.Vorlesung am Montag, : 9-11 Uhr in Gebäude 106, Raum Podcasts: Probleme mit der Videoqualität sind behoben.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
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.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 – Sortieren vorsortierter Daten) Prof. Th. Ottmann.
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Halbzeit: Kurze Wiederholung
Sortieren vorsortierter Daten
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (06 – Reduktion endlicher Automaten) Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen 09 - Weitere Sortierverfahren Heapsort-Nachtrag Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (11-1 –Selbstanordnende lineare Listen) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27-Selbstanordnende lineare Listen) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
WS 06/07 Algorithmentheorie 01 - Einleitung Prof. Dr. Th. Ottmann Tobias Lauer.
Algorithmentheorie 7 – Bin Packing
Union-Find-Strukturen
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix - Bäume.
Geometrisches Divide and Conquer
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
Minimum Spanning Tree: MST
4. Echtzeitaspekte der Software
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Effiziente Algorithmen
Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft zu kennen?] Kurt Mehlhorn Konstantinos Panagiotou.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Diskrete Mathematik II
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Hartmut Klauck Universität Frankfurt SS
Polynome und schnelle Fourier-Transformation
Mehrkriterielle Optimierung mit Metaheuristiken
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Das Traveling Salesman Problem (TSP)
Analyse der Laufzeit von Algorithmen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Foliendesign: Jörg Steinrücken & Tobias Kahn Vorlesung
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Wiederholung TexPoint fonts used in EMF.
 Präsentation transkript:

Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann IEMS-DM

Lernziele Welche Bedeutung spielt Scheduling für eingebettete Systeme? Welche Arten von Schedulingproblemen gibt es? Wie kann man auszuführende Aktivitäten (Tasks) effizient mit einem passenden Schedulingalgorithmus einplanen? Beispiele für Scheduling Verfahren: EDD (Earliest Due Date) EDF (Earliest Deadline First) IEMS-DM

Bedeutung von Scheduling für eingebettete Systeme Eingebettete Systeme als Echtzeitsysteme: Häufig wird von eingebetteten Systemen verlangt, dass sie in fest definierten Zeitschranken arbeiten und mit der Außenwelt kommunizieren, sie sind sogenannte Echtzeit-Computersysteme. Beispiele für Anwendungen: Kontrolle von Produktionsprozessen, Verkehrsleitsysteme, Telekommunikation, Robotersteuerung, … In Echtzeit Systemen unterscheidet man: harte Tasks: Verpassen der Deadline kann katastrophale Folgen haben weiche Tasks: Einhalten der Deadline ist erwünscht, aber nicht zwingend IEMS-DM

Bedeutung von Scheduling für eingebettete Systeme Ausführungszeiten der Tasks müssen bekannt sein. Problem: Ausführungszeiten schwierig zu bestimmen oder unbekannt Lösung: Schätze sichere obere Schranken für das Ausführungsende (WCET) Die jeweils anstehenden Aufgaben (Aktivitäten, Jobs, Tasks) müssen zeiteffizient mit einem Schedulingverfahren eingeplant werden. IEMS-DM

Klassifkation u. Definitionen von Schedulingverfahren Periodische (vs. aperiodische) Tasks Tasks, die alle p Zeiteinheiten ausgeführt werden müssen. p ist die Periode. Jede Ausführung eines periodischen Tasks heißt Job. Präemptives (vs. nicht-präemptives) Scheduling präemptiv bedeutet, dass ein Task unterbrochen werden kann und später fortgesetzt werden kann. Ermöglicht u.a. Reaktion auf externe Ereignisse. Dynamisches (vs. statisches) Scheduling Einplanung / Umplanung zur Laufzeit Harte (vs. weiche) Zeitbedingungen Zeitschranken dürfen nicht überschritten werden Tasks-Beschreibungsliste (TDL) Ausführung durch Dispatcher in zeitgesteuerten Betriebssystemen IEMS-DM

Statisches vs. dynamisches Scheduling Statisches (Offline-)Scheduling: Die Startzeiten aller Tasks werden vorab berechnet, in einer Tabelle niedergelegt (Task-Beschreibungs-Liste, TDL) und an einen zeitgesteuerten Dispatcher weitergeleitet. Dynamisches (Online-)Scheduling: Entscheidungen über Prozessorzuweisungen (Scheduling) erfolgen zur Laufzeit. Die Entscheidungen werden aufgrund von Informationen über bisher angekommene Tasks getroffen Annahme: Ein-Prozessorsystem IEMS-DM

Beispiel Taskbeschreibungsliste Taskbeschreibungslisten (TDL) werden vom Dispatcher interpretiert und die entsprechenden Tasks angestoßen und überwacht Der Dispatcher arbeitet taktgesteuert (synchron) Beispiel: ZEIT Aktion WCET 10 starte T1 16 15 sende M5 26 stoppe T1 33 starte T2 37 ... IEMS-DM

Beispiel eines Schedules von drei Tasks Scheduling auf einem Prozessor J1 J2 J3 (t) t3 t4 t1 t2 IEMS-DM

Beispiel eines präemptiven Schedules Scheduling auf einem Prozessor J1 J2 J3 J2 J1 (t) t1 t2 t3 t4 t5 t6 IEMS-DM

Zeitgesteuerte Systeme … pre-run-time scheduling is often the only practical means of providing predictability in a complex system. [Xu, Parnas]. Vorteil: Es ist einfach, zu prüfen, ob die Zeitbedingen erfüllt sind. Nachteil: Antwortzeiten auf seltene Ereignisse können lang sein. IEMS-DM

Schedulability sufficient schedulable necessary Eine Menge von Tasks heißt schedulable bzgl. einer gegebenen Menge von Bedingungen, wenn für die Menge ein Schedule existiert, der die Bedingungen erfüllt. Exakte Tests sind häufig NP-hard. Sufficiency Test: Prüft hinreichende Bedingungen für die Existenz eines Schedules. Folge: Es können Schedules existieren, obwohl die Bedingungen nicht gelten. Necessary Test: Prüft notwendige Bedingungen für die Existenz eines Schedules. Wird meistens benutzt zum Nachweis, dass kein Schedule existiert. necessary schedulable sufficient IEMS-DM

Charakteristika von Tasks und Schedules Task Ji wird charakterisiert durch: Ankunftszeit ai Ausführungszeit Ci Deadline di Start Zeit si Endzeit fi Optimierungsziele: Minimiere Durchschnittliche Antwortzeit tr = 1/n ∑i=1n (fi – ai) Maximale Verspätung (maximum lateness): Lmax = maxi (fi – di) IEMS-DM

Maximale Verspätung T1 T2 t Def.: Maximale Verspätung (Maximum lateness) = maxall tasks (completion time – deadline) Maximale Verspätung ist < 0, wenn alle Tasks vor ihren jeweiligen Deadlines beendet sind. t T1 T2 Max. lateness IEMS-DM

Schedulingverfahren von Jackson Scheduling auf einem Prozessor. Alle n Tasks sind unabhängig voneinander und können zur gleichen Zeit begonnen werden (zum Zeitpunkt 0). EDD: Earliest Due Date (Jackson, 1955) Jeder Algorithmus, der die Tasks in der Reihenfolge nicht abnehmender Deadlines ausführt, ist optimal bzgl. der Minimierung der maximalen Verspätung Bew. (Butazzo, 2002): Sei A ein Algorithmus, der verschieden von EDD ist. Dann gibt es zwei Tasks Ja und Jb in dem von A erzeugten Schedule σ, so dass in σ Jb unmittelbar vor Ja steht, aber da  db ist: Jb Ja da db IEMS-DM

Optimalität von EDD Sei  ein Schedule, der von einem Algorithmus A erzeugt wird. Wenn A  EDD   Ja, Jb, da ≤ db, Jb geht Ja in  unmittelbar voraus. Die maximale Verspätung für Ja und Jb in  ist Lmax(a,b) = fa-da Jb Ja  da db IEMS-DM

Jackson´s Algorithmus (1) Idee: Vertausche in σ Ja und Jb und zeige, dass die maximale Verspätung höchstens abnimmt. Fall 1: L´a = f´a – d´a ≥ f´b – d´b = L´b  L'max(a,b) = f'a – da < fa – da = Lmax(a,b) weil Ja im Schedule ´ eher startet als in . σ Jb Ja Ja Jb σ´ f´a fb fa da db IEMS-DM

Jackson´s Algorithmus (2) Idee: Vertausche in σ Ja und Jb und zeige, dass die maximale Verspätung höchstens abnimmt. Fall 2: L´a = f´a – d´a  f´b – d´b= L´b L'max(a,b) = f'b – db = fa – db ≤ fa – da = Lmax(a,b), weil fa=f'b und da ≤ db Also ist in jedem Fall L'max(a,b) ≤ Lmax(a,b) σ Jb Ja Ja Jb σ´ f´a fb fa da db IEMS-DM

EDD ist optimal Jeder Schedule  mit Verspätung L kann transformiert werden in einen EDD Schedule n mit Verspätung Ln ≤ L; dieser muss also minimale Verspätung haben. EDD ist optimal (q.e.d.) IEMS-DM

Jackson´s Algorithmus (3) EDD-Algorithmus: Sortiere die n Tasks J1, …, Jn nach aufsteigenden Deadlines d1, …, dn und führe sie in dieser Reihenfolge aus! Ausführungszeit (für Berechnung eines optimalen Schedules): O(n log n) IEMS-DM

Schedulingverfahren von Horn (EDF) Scheduling auf einem Prozessor. Tasks können zu verschiedenen Zeitpunkten ankommen (ausführungsbereit sein) und unterbrochen ausgeführt werden (preemption erlaubt). EDF: Earliest Deadline First (Horn, 1975) Jeder Algorithmus, der zu jedem Zeitpunkt diejenige ausführungsbereite Task mit der frühesten absoluten Deadline ausführt, ist optimal bzgl. der Minimierung der maximalen Verspätung. IEMS-DM

Schedulingverfahren von Horn (EDF) Jede ankommende ausführbare Task wird entsprechend ihrer absoluten Deadline in die Warteschleife der ausführbaren Tasks eingereiht Wird eine neu ankommende Task als erstes Element in die Warteschlange eingefügt, muss gerade ausgeführte Task unterbrochen werden Effizienz von EDF hängt von Priority Queue Implementation ab! Sorted queue Executing task IEMS-DM

Earliest Deadline First (EDF): Beispiel spätere Deadline  no preemption frühere Deadline  preemption IEMS-DM

Optimalität von of EDF (1) Zu zeigen: EDF minimiert die maximale Verspätung. Beweis (Buttazzo, 2002): Sei  ein Schedule, der von einem Verfahren A erzeugt wird. Sei EDF ein von EDF erzeugter Schedule. Präemption sei erlaubt: Tasks werden in disjunkten Zeitintervallen ausgeführt  wird in Zeitscheiben der Einheitslänge 1 unterteilt Zeitscheiben werden mit [t, t+1) bezeichnet Sei (t) die in [t, t+1) ausgeführte Tasks. Sei E(t) die Tasks, die zum Zeitpunkt t die früheste deadline hat. Sei tE(t) die Zeit (t) zu der die nächste Zeitscheibe der Tasks E(t) im Schedule ausgeführt wird. IEMS-DM

Optimalität von EDF (2) Wenn   EDF, dann gibt es eine Zeit t: (t)  E(t) Idee: vertausche (t) und E(t) ohne die max. lateness zu vergrößern (t)=4; (tE)=2 T1 t T2 T3 T4 2 4 6 8 10 12 14 16 (t)=2; (tE)=4 T1 t T2 T3 T4 2 4 6 8 10 12 14 16 Wenn (t) zur Zeit t=0 startet und D=maxi{di }, dann kann EDF aus  mit höchstens D Vertauschungen erzeugt werden. IEMS-DM [Buttazzo, 2002]

Optimalität von EDF (3) Algorithmus interchange: { for (t=0 to D -1) { if ((t)  E(t)) { (tE) = (t); (t) = E(t); }}} Mit Hilfe eines analogen Arguments wie beim Jackson Algorithmus kann man zeigen, dass die maximale Verspätung nicht zunehmen kann; also ist EDF optimal. Konserviert interchange Schedulability? Task E(t) wird vorgezogen: Deadline im neuen Schedule wird eingehalten, wenn Deadline in  eingehalten wird. Task (t) wird verzögert: Wenn (t) ausführbar ist, dann ist (tE+1) ≤ dE, wobei dE die früheste Deadline ist. Weil dE ≤ di für jedes i, folgt tE+1 ≤ di, das garantiert Schedulability der verzögerten Task (Zeitscheibe). q.e.d. [Buttazzo, 2002] IEMS-DM

Scheduling von abhängigen Tasks Task Graph und ein möglicher Schedule Schedule kann in Tabelle gespeichert werden. IEMS-DM

Gleichzeitig ankommende Tasks: LDF The Latest Deadline First (LDF) Algorithm [Lawler, 1973]: LDF liest den Task Graph und legt von allen Tasks ohne Nachfolger jeweils den mit spätester Deadline in einem Stapel ab. Das wird für alle verbleibenden Tasks wiederholt. Zur Laufzeit werden die Tasks in der so erzeugten Reihenfolge ausgeführt. LDF ist nicht-präemptiv und is optimal für Ein-Prozessorsysteme. Wenn es nur eine globale Deadline gibt, führt LDF eine topologische Sortierung der Tasks durch. IEMS-DM

Asynchron ankommende Tasks: mEDF Dieser Fall kann mit einer Modifikation des EDF Algorithmus behandelt werden: mEDF-Algorithmus Idee: Verwandle das Scheduling Problem für die Menge abhängiger Tasks in ein Scheduling Problem für unabhängige Tasks mit geeignet gewählten Zeitparametern [Chetto90]. Dieser Algorithmus ist optimal für Ein-Prozessor Systeme. IEMS-DM

Zusammenfassung Worst case execution times (WCET) Definition von Begriffen im Scheduling: Harte vs. weiche Deadlines Statisches vs. dynamisches Scheduling Schedulability Scheduling Verfahren Aperiodische Tasks ohne Abhängigkeiten alle Tasks gleichzeitig verfügbar (EDD) asynchrone Ankunftszeiten (EDF) Abhängigkeiten (Precedences) alle Tasks gleichzeitig verfügbar ( LDF) asynchrone Ankunftszeiten ( mEDF) IEMS-DM

Literatur P. Marwedel: Eingebettete Systeme, Springer-Verlag, Berlin u.a., 2007 G.C. Buttazzo: Hard Real-Time Computing Systems, Predictable Scheduling Algorithms and Applications, Kluwer Academic Publishers, Boston u.a., 2002 P. Brucker: Scheduling Algorithms, 5th ed., Springer-Verlag, Berlin u.a., 2007 IEMS-DM