- Verteilte Echtzeit-Systeme Hans-Albrecht Schindler Wintersemester 2015/16 Teil B: Echtzeit-Betriebssysteme Abschnitt 9: Scheduling gemischter Prozessmengen CSI Technische Universität Ilmenau www.tu-ilmenau.de
9.1 gemischte Prozess-Mengen Warum? 1. Viele SRÜ-Echtzeitanwendungen bestehen sowohl aus periodischen als auch aus aperiodischen Prozessen. (à Beispiele) 2. Da MM-Anwendungen oft in allgemeine Rechnerumgebungen integriert, auch hier verschiedene Klassen von Prozessen typische SRÜ-Echtzeitsysteme: Periodische Prozesse: Aperiodische Prozesse: zeitgesteuert (typisch: periodische Sensorauswertung) führen kritische Aktivitäten aus harte Fristen ereignisgesteuert in Abhängigkeit von Anwendung: harte, weiche oder Nichtechtzeit-Eigenschaften 9. Scheduling gemischter Prozessmengen / 9.1 gemischte Prozessmengen ws 2015/16 H.-A. Schindler Folie: 9-2
Aufgaben des Betriebssystems/Verteilten Systems Hauptaufgaben bei gemischten Prozessmengen und harten Echtzeit-Systemen: 1. Garantie für Planbarkeit aller harten Echtzeit-Prozesse unter worst case -Bedingungen 2. gute Durchschnitts-Antwortzeiten für weiche Echtzeit-Prozesse u. Nicht- Echtzeit-Prozesse 9. Scheduling gemischter Prozessmengen / 9.1 gemischte Prozessmengen ws 2015/16 H.-A. Schindler Folie: 9-3
Betrachtete Prozess-Mengen Scheduling-Algorithmen für hybride Prozess-Mengen aus Untermenge harter periodischer Prozesse Untermenge weicher aperiodischer Prozesse Annahmen - Fall A: periodische Prozesse: statische Prioritäten RM synchrone Ankunftszeiten aperiodische Prozesse: Ankunftszeiten unbekannt Minimalzeit zwischen zweimaligem Bereitwerden = Frist (wenn nicht anders spezifiziert) = sporadische Prozesse 9. Scheduling gemischter Prozessmengen / 9.1 gemischte Prozessmengen ws 2015/16 H.-A. Schindler Folie: 9-4
Betrachtete Prozess-Mengen Annahmen - Fall B: periodische Prozesse: dynamische Prioritäten EDF... einfachstes Verfahren: Hintergrund-Scheduling (sehr einfache Variante eines Mehrebenen-Scheduling) 9. Scheduling gemischter Prozessmengen / 9.1 gemischte Prozessmengen ws 2015/16 H.-A. Schindler Folie: 9-5
9.2 Hintergrund-Scheduling Prinzip: Periodische Prozesse Teilwarteschlange mit höchster Priorität RM oder EDF CPU Aperiodische Prozesse niedrigste Priorität FCFS oder SJF oder EDF... Ø rechenbereite Prozesse auf 2 Warteschlangen aufgeteilt (einfache Variante eines Mehr-Ebenen-Scheduling) Warteschlange 1: Warteschlange 2: enthält alle periodischen Prozesse mit höchster Priorität bedient Schedulingverfahren RM oder EDF alle aperiodischen Prozesse nur bedient, wenn keine periodischen Prozesse bereit 9. Scheduling gemischter Prozessmengen / 9.2 Hintergrund-Scheduling Darstellung nach /Buttazzo97/ Bild 5.2 S.111 ws 2015/16 H.-A. Schindler Folie: 9-6
Hintergrund-Scheduling Haupt-Vorteil: Einfachheit der Implementierung Haupt-Problem: Antwortzeit aperiodischer Prozesse kann zu lang werden (insbesondere bei hoher periodischer Last). Ø Starvation: geeignet nur für weniger strenge Zeitrestriktionen aperiodischer Prozesse! τ 1 A B C D τ 2 1 ZE Aperiodische 2 ZE Anforderungen 1 2 2 3 0 5 10 15 20 t [ZE] Beispiel: Hintergrund-Scheduling von aperiodischen Prozessen unter RM 9. Scheduling gemischter Prozessmengen / 9.2 Hintergrund-Scheduling Darstellung nach /Buttazzo97/ Bild 5.1 S.111 ws 2015/16 H.-A. Schindler Folie: 9-7
Server-Prozess (hier) : 9.3 Server-Prozesse (1.Verbesserungsprinzip) periodisch aktivierter Prozess, der aperiodische Anforderungen so schnell wie möglich ausführt charakterisiert durch : wie bei normalen periodischen Prozessen Periodendauer T S Rechenzeitbedarf C S (C S :. Server-Kapazität) Arbeitsweise des Servers: Scheduling: gleicher Algorithmus wie normale periodische Prozesse bedient aperiodische Anforderungen innerhalb seiner Kapazität Ordnung aperiodischer Anforderungen: unabhängig von Scheduling-Algorithmus für Server, z.b. nach: Ankunftszeit FCFS, Rechenzeitbedarf SJF, Frist EDF,... 9. Scheduling gemischter Prozessmengen / 9.3 Server-Prozesse ws 2015/16 H.-A. Schindler Folie: 9-8
Serverprozesse: 1. Polling Server (PS) Prinzip: Ø PS in regelmäßigen Zeitabständen entspr. Periode T S aktiv Bedient momentan vorliegende aperiodische Anforderungen bis Kapazität C S aufgebraucht Ø keine aperiodischen Anforderungen: PS beendet sich selbst bis Beginn der nächsten Periode (nichtaufgebrauchte Kapazität freigegeben ) Ø aperiodische Anforderung die unmittelbar nach Selbstbeendigung von PS auftritt muss bis zu nächster Periode von PS warten (wo Server-Kapazität wieder auf vollen Wert aufgeladen wird.) 9. Scheduling gemischter Prozessmengen / 9.3 Server-Prozesse ws 2015/16 H.-A. Schindler Folie: 9-9
Polling Server auf der Basis von RM C i T i τ 1 1 4 τ 2 2 6 Server C S = 2 T S = 5 Mittleres T aperiod.anforder. Zeitpunkt, zu dem jeweils Anforderung vorliegt (in ZE) τ 1 höchste Priorität τ 2 niedrigste Priorität C S mittlere Priorität 2 1 Kapazität des Servers als Funktion der Zeit 2 ZE 1 2 1 0 2 4 6 8 10 12 14 16 18 20 22 24 0 2 4 6 8 10 12 14 16 18 20 22 24 9. Scheduling gemischter Prozessmengen / 9.3 Server-Prozesse Darstellung nach /Buttazzo97/ Bild 5.3 S.112 ws 2015/16 H.-A. Schindler Folie: 9-10
Serverprozesse: 2. Deferrable Server (DS) Prinzip: Ø Anders als bei PS: Server-Kapazität unter Beibehaltung des Prioritätsniveaus bis zum Ende der Periode aufgehoben - und nicht freigegeben Resultat: Ø durchschnittliche Antwortzeit aperiodischer Anforderungen verbessert 9. Scheduling gemischter Prozessmengen / 9.3 Server-Prozesse ws 2015/16 H.-A. Schindler Folie: 9-11
Deferrable Server auf der Basis von RM (Daten wie bei PS) C i T i τ 1 1 4 τ 1 τ 2 2 6 Server C S = 2 T S = 5 τ 2 aperiodische Anforderungen 2 1 2 1 0 2 4 6 8 10 12 14 16 18 20 22 24 Prioritäten: Pτ 1 >P S > Pτ 2 2 C S 1 0 2 4 6 8 10 12 14 16 18 20 22 24 9. Scheduling gemischter Prozessmengen / 9.3 Server-Prozesse Darstellung nach /Buttazzo97/ Bild 5.6 S.117 ws 2015/16 H.-A. Schindler Folie: 9-12
Vergleich: PS u. DS (mit gleichen Daten) PS aperiodische Anforderungen 2 ZE 1 2 1 DS aperiodische Anforderungen 0 2 4 6 8 10 12 14 16 18 20 22 24 2 1 2 1 0 2 4 6 8 10 12 14 16 18 20 22 24 9. Scheduling gemischter Prozessmengen / 9.3 Server-Prozesse ws 2015/16 H.-A. Schindler Folie: 9-13
Deferrable Server: Server läuft mit höchster Priorität: P S > Pτ 1 > Pτ 2 C i T i τ 1 2 8 τ 1 τ 2 3 10 Server C S = 2 T S = 6 τ 2 aperiodische Anforderungen 2 1 2 1 0 2 4 6 8 10 12 14 16 18 20 22 24 C S 2 1 0 2 4 6 8 10 12 14 16 18 20 22 24 9. Scheduling gemischter Prozessmengen / 9.3 Server-Prozesse Darstellung nach /Buttazzo97/ Bild 5.6 S.117 ws 2015/16 H.-A. Schindler Folie: 9-14
Deferrable Server: Server läuft mit höchster Priorität: P S > Pτ 1 > Pτ 2 DS ist nicht äquivalent zu einem periodischem Prozess. (a) Die periodische Prozess- Menge {τ 1, τ 2 } ist durch RM planbar. (b) Wenn jedoch τ 1 durch DS ersetzt wird, verpasst τ 2 seine Frist. Scheduling-Test: geringerer Wert für untere Grenze der Prozessorauslastung τ 1 τ 2 (a) DS 0 2 4 6 8 10 12 14 16 18 20 Leerlauf time overflow Aperiodische Anforderung hält sich nicht an Vorgaben eines periodischen Prozesses! τ 2 (b) C S 2 1 0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20 9. Scheduling gemischter Prozessmengen / 9.3 Server-Prozesse Darstellung nach /Buttazzo97/ Bild 5.7 S.118 ws 2015/16 H.-A. Schindler Folie: 9-15
Serverprozesse: 3. Priority Exchange Server (PE) gegenüber DS geändert: Ø Prinzip der Kapazitätsreservierung: falls keine aperiodischen Prozesse zur Bearbeitung bereit: Kapazitätsreserve gegen Ausführungszeit eines periodischen Prozesses niedrigerer Priorität getauscht nach Tausch: periodischer Prozess läuft auf (höherem) Prioritätsniveau des Servers und Server behält seine Kapazität allerdings auf niedrigerem Prioritätsniveau des periodischen Prozesses gegenüber DS: Ø verbesserte Planbarkeitsschranke für periodische Prozesse Ø (etwas) verschlechtertes Antwortzeit-Verhalten aperiodischer Prozesse 9. Scheduling gemischter Prozessmengen / 9.3 Server-Prozesse ws 2015/16 H.-A. Schindler Folie: 9-16
Beispiel 1 für Bedienung aperiodischer Anforderungen durch PE-Server C i T i 1 1 τ 1 4 10 τ 2 8 20 Server C S = 1 T S = 5 P Sorig > P τ1 > P τ2 C S τ 1 1 1 Kapazitätsreserve des Servers auf Prioritätsniveau P τ1 Kapazitätsreserve auf Niveau P τ2 τ 2 2 1 0 2 4 6 8 10 12 14 16 18 20 9. Scheduling gemischter Prozessmengen / 9.3 Server-Prozesse Darstellung nach /Buttazzo97/ Bild 5.12 S.126 ws 2015/16 H.-A. Schindler Folie: 9-17
Beispiel 2 für Bedienung aperiodischer Anforderungen durch PE-Server C i T i τ 1 2 10 τ 2 12 20 C S 1 aperiodische Anforderungen Verdrängung 2 1 Server C S = 1 T S = 5 τ 1 1 τ 2 2 1 0 2 4 6 8 10 12 14 16 18 20 9. Scheduling gemischter Prozessmengen / 9.3 Server-Prozesse Darstellung nach /Buttazzo97/ Bild 5.13 S.127 ws 2015/16 H.-A. Schindler Folie: 9-18
Serverprozesse: 4. Sporadic Server (SS) wie DS: Ø Serverkapazität bleibt auf ursprünglichem Niveau erhalten bis periodische Anforderungen auftreten. anders als DS: Ø Wiederaufladen der Serverkapazität nur, wenn tatsächlich Kapazität verbraucht Regel für Wiederauflade-Zeitpunkt: mit: wird: P exe... Priorität des momentan laufenden Prozesses P SS... Priorität von SS SS = aktiv, wenn P exe P SS Zeitpunkt: t A (d. h. es läuft höher priorisierter Prozess oder SS selbst) è damit ergibt sich: Wiederaufladezeitpunkt: t WA = t A + T S Server-Periodendauer 9. Scheduling gemischter Prozessmengen / 9.3 Server-Prozesse ws 2015/16 H.-A. Schindler Folie: 9-19
Serverprozesse: 4. Sporadic Server (SS) Regel für Wiederauflade-Betrag: Ø Wiederaufladebetrag B WA wird berechnet, sobald gilt: SS = idle, d. h. P exe < P SS Ø ist gleich der im Intervall [t A, t I ] verbrauchten Serverkapazität Bewertung: Ø Verbesserung durchschnittlicher Antwortzeit aperiodischer Prozesse, ohne Verschlechterung der Planbarkeitsschranke der periodischen Prozessmenge 9. Scheduling gemischter Prozessmengen / 9.3 Server-Prozesse ws 2015/16 H.-A. Schindler Folie: 9-20
Beispiel für Sporadic Server mittlerer Priorität C i T i τ 1 1 5 τ 2 4 15 τ 1 τ 2 Server C S = 5 T S = 10 aperiodische Anforderungen SS aktiv t A t I Prioritäten P τ1 > P SS > P τ2 C S +2 5 3 1 +2 0 2 4 6 8 10 12 14 16 18 20 22 9. Scheduling gemischter Prozessmengen / 9.3 Server-Prozesse Darstellung nach /Buttazzo97/ Bild 5.17 S.134 ws 2015/16 H.-A. Schindler Folie: 9-21
Beispiel für Sporadic Server hoher Priorität C i T i τ 1 3 10 τ 2 4 15 Server C S = 2 T S = 8 τ 1 τ 2 aperiodische Anforderungen 2 2 C S 2 1 +2 +2 0 2 4 6 8 10 12 14 16 18 20 22 9. Scheduling gemischter Prozessmengen / 9.3 Server-Prozesse Darstellung nach /Buttazzo97/ Bild 5.18 S.135 ws 2015/16 H.-A. Schindler Folie: 9-22
9.4 Slack-Stealing ( Spielraum-Stehlen - 2.Verbesserungsprinzip) Prinzip: Ø Es existiert passiver Prozess (= Slack Stealer ) kein periodischer Server Ø dieser versucht, Zeit für aperiodische Anforderungen zu sammeln indem er periodische Prozesse so weit wie möglich nach hinten schiebt ohne dass Fristverletzung auftritt (= Stehlen des Spielraums) Ø Spielraum für periodischen Prozess τ i : slack i (t) = d i t c i (t) Grund-Idee: Ø Normalerweise bringt Beenden periodischer Prozesse vor ihrer Frist keinerlei Vorteile (à Skizze) Resultat: Ø Verbesserung der Antwortzeiten für aperiodische Anforderungen 9. Scheduling gemischter Prozessmengen / 9.4 Slack-Stealing ws 2015/16 H.-A. Schindler Folie: 9-23
Beispiele für Slack-Stealer-Verhalten a) ohne aperiodische Anforderungen; b) mit aperiodischer Anforderung von 3 Einheiten Dauer u. Ankunftszeit t = 8 (a) τ 1 τ 2 0 2 4 6 8 10 12 14 16 18 20 aperiodische Anforderungen 3 gestohlener Spielraum (b) τ 1 gestohlener Spielraum τ 2 0 2 4 6 8 10 12 14 16 18 20 9. Scheduling gemischter Prozessmengen / 9.4 Slack-Stealing Darstellung nach /Buttazzo97/ Bild 5.20 S.139 ws 2015/16 H.-A. Schindler Folie: 9-24
Zusammenfassende Bewertung der Fixed-Priority-Server Performanz Mathematische Komplexität Speicher- Bedarf Implementationskomplexität Hintergrund- Scheduling Polling Server Deferrable Server Priority Exchange Sporadic Server Slack-Stealing Parameterklassifikation: sehr gut gut schlecht 9. Scheduling gemischter Prozessmengen / 9.4 Slack-Stealing Darstellung nach /Buttazzo97/ Bild 5.26 S.147 ws 2015/16 H.-A. Schindler Folie: 9-25
9.5 Serverprozess-Algorithmen mit EDF Ø auch Entwicklung von Serverprozess-Algorithmen mit Basisalgorithmus EDF (anstelle von RM) Hauptvorteil: Ø höhere Prozessorauslastbarkeit (wegen EDF) Übersicht: 1. DPE: Dynamic Priority Exchange Sever (Modifikation von PE) 2. DSS: Dynamic Sporadic Server (Modifikation von SS) 3. TBS: Total Bandwidth Server (Verbesserung von Nr. 2) 4. EDL: Earliest Deadline Late Server (andere Verbesserung von Nr. 2) 5. IPE: Improved Priority Exchange Server (Verbesserung von Nr.1) 6. TBS*: modifizierter TBS (Verbesserung von Nr. 3) Anmerkung: Ø Algorithmen als Modifikation der Server-Algorithmen mit RM betrachtbar Ø hierbei: statische durch dynamische Prioritäten ersetzt 9. Scheduling gemischter Prozessmengen / 9.5 Serverprozess-Algorithmen mit EDF ws 2015/16 H.-A. Schindler Folie: 9-26
Beispiel: Dynamic Priority Exchange Server - DPE Grundidee: Ø Modifikation des Priority Exchange Servers für EDF (1994/96 Buttazzo/Spuri) Ø Austausch von Kapazitätsreserve für aperiodische Prozesse gegen Prozessorzeit für periodische Prozesse mit geringerer Priorität Algorithmus: Server beschrieben durch Parameter Periodendauer T S und Kapazität C S Ø Zu Beginn jeder Server-Periode: seine Kapazität auf C s d gesetzt (mit d... Frist der aktuellen Serverperiode) im Beispiel: bei: t = 0 C s 6 = 3 (volle Server-Kapazität) 9. Scheduling gemischter Prozessmengen / 9.5 Serverprozess-Algorithmen mit EDF ws 2015/16 H.-A. Schindler Folie: 9-27
Beispiel: Dynamic Priority Exchange Server - DPE weiter Algorithmus: Ø Jede zu periodischen Instanzen gehörende Frist hat ebenfalls aperiodische Kapazität C d Si (egal ob Instanz bereits abgearbeitet oder nicht). Kapazität hat anfänglich Wert 0 (Null). im Beispiel: bei: t = 0 gilt C 8 S1 = C12 S2 = C16 S1 = = 0 Ø Aperiodische Kapazitäten (falls > 0) erhalten Prioritäten entsprechend ihrer Frist und EDF (d.h. früheste Frist à höchste Priorität) [bei gleicher Frist: aperiodische Anforderungen bevorzugt.] Ø Immer wenn aperiodische Kapazität höchste Priorität hat, gibt es folgende Möglichkeiten: falls aperiodische Anforderungen vorliegen: diese bedient, bis sie erfüllt oder bis Kapazität erschöpft falls keine aperiodischen Anforderungen vorliegen 9. Scheduling gemischter Prozessmengen / 9.5 Serverprozess-Algorithmen mit EDF ws 2015/16 H.-A. Schindler Folie: 9-28
Beispiel: Dynamic Priority Exchange Server - DPE 6 C S DPE 0 2 4 6 8 10 12 14 16 18 20 22 24 8 C S1 16 C S1 τ 1 0 2 4 8 8 10 16 24 12 C S2 τ 2 0 2 4 6 8 10 12 14 16 18 20 22 24 9. Scheduling gemischter Prozessmengen / 9.5 Serverprozess-Algorithmen mit EDF Darstellung nach /Buttazzo97/ Bild 6.1 S.152 ws 2015/16 H.-A. Schindler Folie: 9-29
falls keine aperiodischen Anforderungen aber periodische Prozess- Instanzen zu bearbeiten: Ø Instanz mit frühester Frist bedient Ø Dabei Kapazität vom Betrag der Ausführungszeit zu Frist der betroffenen Instanz hinzugefügt (und von nicht ausgeschöpfter Frist subtrahiert) falls keinerlei Anforderungen: Kapazität im Leerlauf verbraucht im Beispiel: Ø bei t = 0 liegt Instanz von τ 1 zur Bearbeitung an. Diese nach 2 ZE vollständig bearbeitet: C 8 S1 = 2 (übertragene Kapazität) C 6 S = 2 1 Ø bei t = 2 liegt Instanz von τ 2 vor Ø zunächst wird verbliebene Kapazität von C 6 S verbraucht und übertragen Ø dann wird Kapazität von C 8 S1 auf C12 S2 übertragen so dass Kapazität von C12 S2 vollständig verbraucht wird Ø ab t = 5 ist Prozessor 3 ZE im Leerlauf, so dass Kapazität von C 12 S2 vollständig verbraucht wird Ø... 9. Scheduling gemischter Prozessmengen / 9.5 Serverprozess-Algorithmen mit EDF Beispiel: Dynamic Priority Exchange Server - DPE ENDE 9 ws 2015/16 H.-A. Schindler Folie: 9-30