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