Kein Folientitel

Werbung
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme
Aug 2008
Scheduling
Bewerten von (dyn.)Scheduling-Verfahren
Folgende grundlegenden Fragen sind zu beantworten:
1) Ist es überhaupt möglich, alle Zeitbedingungen einzuhalten? Wenn ja, dann existiert
ein so genannter Schedule, d.h. eine zeitliche Aufteilung des Prozessors an die
Task, die die Aufgabe löst.
2) Wenn dieser Schedule existiert, kann er in endlicher Zeit berechnet werden?
3) Findet das Scheduling-Verfahren diesen Schedule, wenn er existiert und in
endlicher Zeit berechnet werden kann? (optimales Schedulingverfahren)
Verfahren
Abk.
Bewertung
Kann Einhaltung der Zeitbedingungen nicht garantieren
trotz geringer Prozessorauslastung von z.B. 20%
FIFO
Fixed Prio (preemptive)
FPP
Besser als FIFO, kein optimales S.-Verfahren
Fixed Prio (non-preemptive)
FPN
kein optimales S.-Verfahren
Least Laxity first (dynamisches S.)
LLF
Optimales S.-Verfahren für Einprozessorsysteme, wenn
präemptiv verwendet, höherer Rechenaufwand als EDF
Guaranteed Percentage
GP
Optimales S.-Verfahren für Einprozessorsysteme, keine
Abh. der Periodendauer von der Anzahl der Tasks
Einfache Realisierung, Abh. der Periodendauer von der
Anzahl der rechenwilligen Tasks
Time Slice
Earliest Deadline first (dynamisches S.)
EDF
Optimales S.-Verfahren für Einprozessorsysteme, wenn
präemptiv verwendet
Seite 1
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme
Aug 2008
Scheduling
Prozessorauslastung
Prozessorauslastung (processor demand):
H = benötigte Prozessorzeit / verfügbare Prozessorzeit
Beispiel
Ausführungszeit
Periodendauer
H
Periodische
Task 1
100 ms
200 ms
0,5
Periodische
Task 2
50 ms
100 ms
0,5
Prozessorauslastung für beide Task ist 100% (Summe).
Bei einer Prozessorauslastung von <= 100% sollte immer ein Schedule existieren.
Seite 2
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme
Aug 2008
Scheduling
Zeitparameter bei den Taskzuständen
a: Ankunftszeit (Arrival Time)
r: Anforderungszeit (Request Time)
s: Startzeit (Start Time)
c: Beendigungszeit (Completion Time)
d: Zeitschranke (Deadline)
j: Reaktionszeit (Reaction Time,
Release Jitter)
e: Ausführungszeit (Execution Time)
l: Spielraum (Laxity)
p: Periode (Period)
p
j
Taskzu-
e
l
stände
laufend
ablaufwillig
ruhend
t [ms]
a
r
s
c
d
Seite 3
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme
Aug 2008
Scheduling
Fixed Priority Verfahren
Bei rein periodischen Anwendungen bekommen diejenigen Tasks die höchste Priorität
zugewiesen, die die kürzeste Periodendauer haben (Rate-Monotonic Scheduling).
Unter der Voraussetzung, dass
• präemptives Scheduling verwendet wird,
• die Periodendauer konstant ist,
• die Zeitschranke (deadline) gleich der Periodendauer ist,
• die Ausführungszeit konstant und bekannt ist und
• die Tasks unabhängig voneinander sind, dann
gilt (Busy Period Analysis):
Tritt bei periodischen Tasks keine Verletzung der Zeitschranken bis zu dem Zeitpunkt
auf, an dem der Prozessor das erste Mal in den Ruhezustand übergeht, dann wird auch
danach keine Verletzung der Zeitschranken mehr auftreten.
Seite 4
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme
Aug 2008
Scheduling
Übung 1
Aufgaben (Voraussetzung: Tasks werden EINEM Prozessor zugeteilt):
1) Vergeben Sie die Prioritäten nach dem Rate Monotonic Prinzip
2) Stellen Sie den zeitlichen Verlauf aller 4 Tasks dar unter der Voraussetzung,
dass alle Tasks gleichzeitig bereit sind (s. Lösungsblatt 1)
3) Zeichnen Sie für die Task 3 ihre Zustände (ruhend, ablaufwillig, laufend) über eine
Zeitachse von 0 bis 250 ms (s. Lösungsblatt 2).
Ausführungszeit
Periodendauer
Priorität
Task 1
20 ms
500 ms
?
Task 2
10 ms
40 ms
?
Task 3
30 ms
160 ms
?
Task 4
40 ms
110 ms
?
Seite 5
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme
Aug 2008
Scheduling
Lösungsblatt 1
Lösung zu Aufgabe 1:
In Abhängigkeit der Periodendauer ergibt sich folgende Prioritätsvergabe:
P(2) > P(4) > P(3) > P(1)
Vorlage zur Aufgabe 2:
Priorität
Task 2
Task 4
Task 3
Task 1
50
100
150
200
250
t [ms]
Seite 6
BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme
Aug 2008
Scheduling
Lösungsblatt 2
Taskzustände in Abhängigkeit der Zeit
In einem rein zeitgesteuerten System entfällt
der Zustand blockiert (stattdessen ruhend).
In ereignisgesteuerten Systemen wartet die
Task auf ein Zeitgeberereignis und ist dann
dem Zustand blockiert zuzurechnen.
Zustand
von Task 3
blockiert
laufend
ablaufwillig
ruhend
50
100
150
200
250
t [ms]
Seite 7
Herunterladen