iems-dm diskrete methoden schedulingalgorithmen prof. dr. th. ottmann
TRANSCRIPT
![Page 1: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/1.jpg)
IEMS-DM
Diskrete Methoden
Schedulingalgorithmen
Prof. Dr. Th. Ottmann
![Page 2: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/2.jpg)
2 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)
![Page 3: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/3.jpg)
3 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
![Page 4: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/4.jpg)
4 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.
![Page 5: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/5.jpg)
5 IEMS-DM
Klassifkation u. Definitionen von Schedulingverfahren
Periodische (vs. aperiodische) TasksTasks, 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) Schedulingprä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
![Page 6: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/6.jpg)
6 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
![Page 7: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/7.jpg)
7 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
... ...
...
![Page 8: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/8.jpg)
8 IEMS-DM
Beispiel eines Schedules von drei Tasks
Scheduling auf einem Prozessor
t4t3t2t1
J1 J2 J3
(t)
![Page 9: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/9.jpg)
9 IEMS-DM
Beispiel eines präemptiven Schedules
Scheduling auf einem Prozessor
t6t3t2t1
J1 J2 J3
t4 t5
J2 J1
(t)
![Page 10: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/10.jpg)
10 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.
![Page 11: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/11.jpg)
11 IEMS-DM
necessary
Schedulability
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.
schedulablesufficient
![Page 12: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/12.jpg)
12 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)
![Page 13: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/13.jpg)
13 IEMS-DM
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.
t
T1
T2Max. lateness
![Page 14: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/14.jpg)
14 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
![Page 15: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/15.jpg)
15 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
![Page 16: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/16.jpg)
16 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
f´a fb
Ja Jb
da dbfa
σ
σ´
![Page 17: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/17.jpg)
17 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
f´a fb
Ja Jb
da dbfa
σ
σ´
![Page 18: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/18.jpg)
18 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.)
![Page 19: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/19.jpg)
19 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)
![Page 20: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/20.jpg)
20 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.
![Page 21: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/21.jpg)
21 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
![Page 22: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/22.jpg)
22 IEMS-DM
Earliest Deadline First (EDF): Beispiel
spätere Deadline no preemption
frühere Deadline preemption
![Page 23: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/23.jpg)
23 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.
![Page 24: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/24.jpg)
24 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
Wenn (t) zur Zeit t=0 startet und D=maxi{di }, dann kann EDF aus mit höchstens D Vertauschungen erzeugt werden.
2 4 6 8 10 12 14 160
T1
T3
T2
T4
(t)=4; (tE)=2
2 4 6 8 10 12 14 160
T1
T3
T2
T4
(t)=2; (tE)=4
t
t
t
t
t
t
t
t
[Buttazzo, 2002]
![Page 25: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/25.jpg)
25 IEMS-DM
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?1. Task E(t) wird vorgezogen: Deadline im neuen Schedule wird
eingehalten, wenn Deadline in eingehalten wird.
2. 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]
![Page 26: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/26.jpg)
26 IEMS-DM
Scheduling von abhängigen Tasks
Task Graph und ein möglicher Schedule
Schedule kann in Tabelle gespeichert werden.
![Page 27: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/27.jpg)
27 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 LDFeine topologische Sortierung der Tasks durch.
![Page 28: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/28.jpg)
28 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.
![Page 29: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/29.jpg)
29 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)
![Page 30: IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann](https://reader036.vdokument.com/reader036/viewer/2022062417/55204d6549795902118bad10/html5/thumbnails/30.jpg)
30 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