Inhalte Scheduling Strategie Diskussion von Anomalien: Dauer steigt, wenn mehr Prozessoren eingesetzt werden die Ausführungszeit pro Prozess sinkt weniger Freizeit pro Prozessor vorhanden ist weniger Vorgänger-Nachfolgerrelationen gegeben sind Seite 1
Motivation Bisher: Scheduling mehrerer Jobs auf einem Prozessor Jetzt: Spezielle Schedulingprobleme bei Mehrprozessorsystemen Vereinfachende Annahmen: m identische Prozessoren im Voraus bekannte Ausführungszeiten Berücksichtigung von Prozess-Abhängigkeiten: Prozesse P1,..., Pn haben evtl. Vorgänger-Nachfolger-Relationen Scheduling Strategie (naheliegend): Jeden Prozessor besetzen, sobald er frei wird und ein Prozess bedienbar ist. Longest-Processing-Time-First (LPT), d.h. zunächst Langläufer abarbeiten. Bewertungskriterium: Ein Schedule, d.h. eine spezielle Aufteilung von P1,..., Pn auf m Prozessoren, sei besser als ein anderer, wenn die Dauer (Ausführungszeit) bis zur Terminierung des letzten Prozesses geringer ist. Statt Ausführungszeit wird auch häufig die Wartezeit oder die Verweilzeit als Kriterium gewählt. Leider gibt es viele Gegenbeispiele und überraschende Anomalien, die im folgenden diskutiert werden. Seite 2
Prozess-Abhängigkeiten Beschrieben durch Präzedenzgraphen: Ein Prozess Pi muss beendet sein, bevor Pj beginnen darf genau dann, wenn im Präzedenzgraph eine Kante von Pi nach Pj existiert. Beispiel: Schedule für 2 Prozessoren: Seite 3
Warte- und Verweilzeiten Wartezeit = Startzeit Ankunftszeit Verweilzeit = Wartezeit + Ausführungszeit Beispiel für die mittlere Wartezeit und mittlere Verweilzeit unter der Annahme, dass die 6 Prozesse alle zum Zeitpunkt t = 0ms ihre Ankunftszeit haben, d.h. Startzeit = Wartezeit Seite 4
Scheduling Strategie Bedienung nach aufsteigender Listennummer, d.h. Liste [1,2,...,9], und zwar jeweils den frühesten bedienbaren Prozess. Zyklische Zuteilung der Prozessoren 1, 2, 3,..., m, 1, 2,... Ergebnis bei m = 3 Prozessoren: Ausführungszeit Te = 12 Task Ausführungszeit Nachfolger von P1 3 ms keiner P2 2 ms keiner P3 2 ms keiner P4 2 ms keiner P5 4 ms P4 P6 4 ms P4 P7 4 ms P4 P8 4 ms P4 P9 9 ms P1 Prozessor 1 P1 P9 Prozessor 2 P2 P4 P5 P7 Prozessor 3 P3 P6 P8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 t [ms] Te Seite 5
Anomalie 1: Ausführungszeit Te steigt, obwohl zu Beginn besser gefüllt wird. Annahme: Bedienung so schnell wie möglich ist bestmögliche Strategie. Gegenbeispiel:: Gegeben sei eine neue Liste [1,2,4,5,6,3,9,7,8]. Ergebnis: Ausführungszeit Te 1 = 14 > Te Prozessor 1 P1 P3 P9 Prozessor 2 P2 P5 P7 Prozessor 3 P4 P6 P8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 t [ms] Te 1 Seite 6
DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Jan 2010 Anomalie 2: Ausführungszeit Te steigt, obwohl mehr Prozessoren eingesetzt werden. Annahme: je mehr Prozessoren, desto kürzer die Ausführungszeit Gegenbeispiel:: Statt 3 sind jetzt 4 Prozessoren im Einsatz Ergebnis: Ausführungszeit Te 2 = 15 > Te Prozessor 1 P1 P8 Prozessor 2 P2 P5 P9 Prozessor 3 P3 P6 Prozessor 4 P4 P7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 t [ms] Te 2 Seite 7
DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Jan 2010 Anomalie 3: Ausführungszeit Te steigt, obwohl die Ausführungszeit pro Prozess gesunken ist. Annahme: Kürzere Ausführungszeiten pro Prozess bedingen auch kürzere Gesamtausführungszeit. Gegenbeispiel:: Im Folgenden seien die Ausführungszeiten aller Prozesse jeweils um 1 ms kürzer und die Liste wie anfangs [1,2,3, 9]. Ergebnis: Ausführungszeit Te 3 = 13 > Te Prozessor 1 P1 P5 P8 Prozessor 2 P2 P4 P6 P9 Prozessor 3 P3 P7 1 2 3 4 5 6 7 8 9 10 11 12 13 t [ms] Te 3 Seite 8
DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Jan 2010 Anomalie 4: Ausführungszeit Te steigt, obwohl weniger Vorgänger-Nachfolgerrelationen gegeben sind. Annahme: Weniger Abhängigkeiten bedingen einfachere Platzierung, die wiederum zu einer kürzeren Ausführungszeit führen sollte. Gegenbeispiel:: Gegeben seien nur noch 2 Abhängigkeiten Ergebnis: Ausführungszeit Te 4 = 16 > Te Task Ausführungszeit Nachfolger von... P5 4 ms P4 P6 4 ms P4... Prozessor 1 P1 P6 P9 Prozessor 2 P2 P4 P7 Prozessor 3 P3 P5 P8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 t [ms] In dieses Beispiel haben sich Fehler eingeschlichen, bitte korrigieren. Te 4 Seite 9
DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Jan 2010 Abschlussbetrachtung Vorgestellte Anomalien sind nicht die Regel, sondern Ausnahmen Man kann sie z.b. dadurch verhindern, dass man einen Prozessor leer lässt oder künstliche Leerphasen zulässt. Seite 10