7
Seite 1 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 FIFO Kann Einhaltung der Zeitbedingungen nicht garantieren trotz geringer Prozessorauslastung von z.B. 20% 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 Time Slice Einfache Realisierung, Abh. der Periodendauer von der Anzahl der

Scheduling Bewerten von (dyn.)Scheduling-Verfahren

  • Upload
    adem

  • View
    26

  • Download
    2

Embed Size (px)

DESCRIPTION

Scheduling Bewerten von (dyn.)Scheduling-Verfahren. Folgende grundlegenden Fragen sind zu beantworten: 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. - PowerPoint PPT Presentation

Citation preview

Page 1: Scheduling Bewerten von (dyn.)Scheduling-Verfahren

Seite 1

BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Aug 2008

SchedulingBewerten 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

FIFO Kann Einhaltung der Zeitbedingungen nicht garantieren trotz geringer Prozessorauslastung von z.B. 20%

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

Time Slice Einfache Realisierung, Abh. der Periodendauer von der Anzahl der rechenwilligen Tasks

Earliest Deadline first (dynamisches S.)

EDF Optimales S.-Verfahren für Einprozessorsysteme, wenn präemptiv verwendet

Page 2: Scheduling Bewerten von (dyn.)Scheduling-Verfahren

Seite 2

BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Aug 2008

SchedulingProzessorauslastung

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.

Page 3: Scheduling Bewerten von (dyn.)Scheduling-Verfahren

Seite 3

BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Aug 2008

SchedulingZeitparameter bei den Taskzuständen

t [ms]

ruhend

ablaufwillig

laufend

a r s c d

p

j e lTaskzu-

stände

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)

Page 4: Scheduling Bewerten von (dyn.)Scheduling-Verfahren

Seite 4

BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Aug 2008

SchedulingFixed 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.

Page 5: Scheduling Bewerten von (dyn.)Scheduling-Verfahren

Seite 5

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 ?

Page 6: Scheduling Bewerten von (dyn.)Scheduling-Verfahren

Seite 6

BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Aug 2008

SchedulingLösungsblatt 1

Task 4

100

t [ms]

Priorität

Task 3

Task 1

50 150 200

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:

Task 2

250

Page 7: Scheduling Bewerten von (dyn.)Scheduling-Verfahren

Seite 7

BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Aug 2008

SchedulingLösungsblatt 2

100

t [ms]

Zustand von Task 3

50 150 200

Taskzustände in Abhängigkeit der Zeit

250

ruhend

ablaufwillig

laufend

blockiert

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.