300 likes | 410 Views
Diskrete Methoden Schedulingalgorithmen. Prof. Dr. Th. Ottmann. Lernziele. Welche Bedeutung spielt Scheduling für eingebettete Systeme? Welche Arten von Schedulingproblemen gibt es?
E N D
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) TasksTasks, die alle p Zeiteinheiten ausgeführt werden müssen. p ist die Periode. JedeAusführungeines periodischen Tasks heißtJob. Präemptives (vs. nicht-präemptives) Schedulingpräemptivbedeutet, 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) ZeitbedingungenZeitschranken dürfen nicht überschritten werden Tasks-Beschreibungsliste (TDL)Ausführung durchDispatcherin 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: 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
Eine Menge von Tasks heißt schedulablebzgl. 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. Schedulability necessary schedulable sufficient IEMS-DM
Charakteristika von Tasks und Schedules TaskJi 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
T1 T2 Max. lateness t Maximale Verspätung 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. 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 σ´ fa f´a fb 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´af´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 FallL'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 vonEDF 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ühestedeadline hat. • Sei tE(t) die Zeit (t) zu der die nächste Zeitscheibe der Tasks E(t) im Schedule ausgeführt wird. IEMS-DM
t t t t t t t t 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 T2 T3 T4 0 2 4 6 8 10 12 14 16 (t)=2; (tE)=4 T1 T2 T3 T4 0 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 toD -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