Verteilte Echtzeit-Systeme

Ähnliche Dokumente
Verteilte Echtzeit-Systeme

Ausgewählte Kapitel eingebetteter Systeme

8. Einplanung einzelner Jobs durch nichtperiodische Tasks in prioritätsbasierten Systemen

Zustellerkonzepte in Mehrkern-Systemen

Verteilte Echtzeit-Systeme

Verteilte Echtzeit-Systeme

Verteilte Echtzeit-Systeme

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Multi-Feedback-Scheduling. SoSe bis P

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads

Echtzeitsysteme: Grundlagen

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien

Verteilte Echtzeit-Systeme

Prioritätsbasiertes Echtzeit-Scheduling

Immediate Priority Ceiling

Echtzeitsysteme: Grundlagen. Dipl.-Inf. J. Richling Wintersemester 2003/2004

Scheduling-Algorithmen: Zeitpunkt der Auswahlentscheidung

5) Realzeitscheduling

Übersicht. Monoprozessor-Scheduling. Einführung Anforderungen und Thread-Typen Zustandsmodelle

Scheduling in Echtzeitbetriebssystemen. Prof. Dr. Margarita Esponda Freie Universität Berlin

Echtzeitscheduling (1)

Verteilte Echtzeit-Systeme

Echtzeitsysteme. Ereignisgesteuerte Ablaufplanung periodischer Echtzeitsysteme. Peter Ulbrich

Tobias Klaus Florian Schmaus Peter Wägemann

Nicht-periodische Aufgaben: Extended Scope (Teil 1)

Betriebssysteme I WS 2015/2016. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Nicht-periodische Aufgaben: Extended Scope (Teil 1)

Multicore in Echtzeitsystemen (1)

Betriebssysteme. Wintersemester Kapitel 2 Prozess und Threads. Patrick Kendzo

TI Übung 5. Prozess-Scheduling. Andreas I. Schmied SS2005. Abteilung Verteilte Systeme Universität Ulm

3.3 Strategien zur Ablaufsteuerung

Aufgabe 2: Aperiodic Task Support

Advanced Operating Systems (Teil B: Ausgewählte Nichtfunktionale Eigenschaften)

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

Fakultät für Informatik der Technischen Universität München. Kapitel 3. Nebenläufigkeit

4. Echtzeitaspekte der Software

Technische Universität München WS 2006/2007 Fakultät für Informatik 15. Februar 2007 Prof. Dr. A. Knoll

Eingebettete Systeme

5. Foliensatz Betriebssysteme und Rechnernetze

2 Prozeßauswahl und Ablaufplanung in Echtzeitsystemen. 2.1 Statisch-periodische Prozeßsysteme

Echtzeitsysteme. Fragestellungen. Kriterien der Prioritätsvergabe. Gliederung. Ereignisgesteuerte Ablaufplanung periodischer Echtzeitsysteme

Verteilte Echtzeit-Systeme

Lösung von Übungsblatt 8

Aufgaben zum Thema Quantitative Methoden

5.1) Realzeitscheduling (Mehrprozessorsysteme)

Echtzeitanwendungen mit Java Real Time Specification for Java

Eingebettete Systeme. Jürgen Teich. Hardware-Software-Co-Design, Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2016/2017

5) Realzeitscheduling

Scheduling-Strategien (online, nicht-präemptiv) für Einprozessorsysteme

Hausübung 2. Konzepte und Methoden der Systemsoftware. Aufgabe 1: Einfache Schedulingstrategien. SoSe bis

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Wolfram Burgard

Literatur. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 2

8 Betriebssystemunterstützung für Multimedia. 8.1 Charakteristika von Multimedia-Daten. 8.2 Aufbau von Betriebssystemen. 8.

Lösung zur Praktikumsaufgabe 1

Echtzeitsysteme. Zustellerkonzepte & Übernahmeprüfung. Peter Ulbrich

Verteilte Echtzeit-Systeme

Windows 2000 Scheduler

3. Echtzeit-Scheduling Grundlagen

Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme

Fakultät für Informatik der Technischen Universität München. Nebenläufigkeit. Synchrone Kommunikation: Barrieren, Occam

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Systeme 1. Kapitel 5. Scheduling

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST

BERGISCHE UNIVERSITÄT WUPPERTAL FB B: SCHUMPETER SCHOOL OF BUSINESS AND ECONOMICS. Master of Science

Verteilte Echtzeit-Systeme

Seminar - Multicore Programmierung

Task& Data-Flow Graphs

Message Queues in POSIX

Echtzeitsysteme. Mehrkern-Echtzeitsysteme. Peter Ulbrich

CPU-Scheduling - Grundkonzepte

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Betriebssysteme. Teil 13: Scheduling

Einführung. Schedulingziel. Klassisches Scheduling-Problem. 6. Kapitel Ressource Prozessor: Scheduling

Echtzeitsysteme. Fragestellungen. Anomalie: Kritischer Zeitpunkt Antwortzeit in Abhängigkeit von der Ausführungsreihenfolge

Linux RT-Preempt Echtzeitkenngrößen ermitteln und testen. Embedded Testing 2017 Thomas Maierhofer Consulting

Nicht-blockierende Synchronisation für Echtzeitsysteme

Dynamisches Huffman-Verfahren

Einführung. Klassisches Scheduling-Problem. Schedulingziel. 6. Kapitel Ressource Prozessor: Scheduling

Übung zur Vorlesung Echtzeitsysteme

5 Betriebssystemunterstützung für Multimedia

OSEK / OSEKtime - ein Vergleich

Betriebssysteme Theorie

Ü B U N G E N Z U E C H T Z E I T S Y S T E M E

Quantitative Methoden

Zustellerkonzepte: Extended Scope (Teil 2)

Analysis of System Performance IN2072 Chapter 2 Random Process Part 1

Betriebssysteme 1. Einführung. Scheduling worum geht es? Scheduler: Gliederung

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

Statische Ablaufplanung

Events und Mailboxen. Zum Start im neuen Jahr... Ein Ausflug in die Welt der Wissenschaft was erwartet euch in eurer Bachelor-/Masterarbeit?

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7

Übungen zum Fach Betriebssysteme Kapitel 3

Arbeitsgruppe ESS Jun.-Prof. Dr. Sebastian Zug. Technische Informatik II (TI II) (5) Scheduling. Sebastian Zug Arbeitsgruppe: Embedded Smart Systems

Mathematik für Naturwissenschaftler II SS 2010

Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen

Transkript:

- Verteilte Echtzeit-Systeme Hans-Albrecht Schindler Wintersemester 2017/18 Teil C: Echtzeit-Betriebssysteme Abschnitt 10: Scheduling gemischter Prozessmengen CSI Technische Universität Ilmenau www.tu-ilmenau.de

10.1 gemischte Prozess-Mengen Motivation bisher behandelte Scheduling-Verfahren: homogene Prozessmengen (nur aperiodisch oder nur periodisch) viele Echtzeitanwendungen: enthalten periodische und aperiodische Prozesse, dabei: können einzelne Prozesse oder Prozess-Gruppen auch unterschiedlich kritisch bezüglich der Einhaltung ihrer Fristen sein möglich: 1. alle periodischen Prozesse: harte Fristen alle aperiodischen Prozesse: weiche Fristen 2. alle periodischen Prozesse: weiche Fristen alle aperiodischen Prozesse: harte Fristen 3. alle periodischen u. alle aperiodischen Prozesse: harte Fristen oder alle Prozesse: weiche Fristen EDF 4. alle Prozesse: individuelle Fristen 10. Scheduling gemischter Prozessmengen / 10.1 gemischte Prozessmengen ws 2017/18 H.-A. Schindler Folie: 10-2

gemischte Prozess-Mengen Diskutierte Verfahren alle periodischen Prozesse: zeitgesteuert (typisch z.b.: für periodische Sensorauswertung) führen kritische Aktivitäten aus harte Fristen alle aperiodischen Prozesse: ereignisgesteuert in Abhängigkeit von Anwendung: harte bzw. weiche Fristen oder Nichtechtzeit-Eigenschaften (keine Fristen) typisch für: Steuerungs-, Regelungs- u. Überwachungs-Systeme 10. Scheduling gemischter Prozessmengen / 10.1 gemischte Prozessmengen ws 2017/18 H.-A. Schindler Folie: 10-3

gemischte Prozess-Mengen Aufgaben des Betriebssystems (inkl. Scheduler) 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 10. Scheduling gemischter Prozessmengen / 10.1 gemischte Prozessmengen ws 2017/18 H.-A. Schindler Folie: 10-4

Betrachtete Prozess-Mengen Scheduling-Verfahren für hybride Prozess-Mengen Fall A: Annahmen a) periodische Prozesse: Prioritäten: statisch Scheduling: RM Ankunftszeiten: synchron b) aperiodische Prozesse: Ankunftszeiten: unbekannt Frist: Minimalzeit zwischen zweimaligem Bereitwerden (wenn nicht anders spezifiziert) bedingt: sporadische Prozesse 10. Scheduling gemischter Prozessmengen / 10.1 gemischte Prozessmengen ws 2017/18 H.-A. Schindler Folie: 10-5

Betrachtete Prozess-Mengen Scheduling-Verfahren für hybride Prozess-Mengen Fall B: Annahmen a) periodische Prozesse: Prioritäten: dynamisch Scheduling: EDF Ankunftszeiten: synchron b) aperiodische Prozesse: Ankunftszeiten: unbekannt Frist: Minimalzeit zwischen zweimaligem Bereitwerden (wenn nicht anders spezifiziert) bedingt: sporadische Prozesse wie im Fall A Betrachtet wird zunächst: einfacherer Fall A 10. Scheduling gemischter Prozessmengen / 10.1 gemischte Prozessmengen ws 2017/18 H.-A. Schindler Folie: 10-6

10.2 Hintergrund-Scheduling Prinzip rechenbereite Prozesse auf 2 Warteschlangen aufgeteilt (einfache Variante eines Mehr-Ebenen-Scheduling) Periodische Prozesse Teilwarteschlange mit höchster Priorität RM oder EDF CPU Aperiodische Prozesse niedrigste Priorität FCFS oder SJF oder EDF... Bild 10-1: Hintergrund-Scheduling Darstellung nach /Buttazzo97/ Bild 5.2 S.111 10. Scheduling gemischter Prozessmengen / 10.2 Hintergrund-Scheduling ws 2017/18 H.-A. Schindler Folie: 10-7

Hintergrund-Scheduling Prinzip Teil-Warteschlange 1: enthält alle periodischen Prozesse mit höchster Priorität bedient Schedulingverfahren RM oder EDF Teil-Warteschlange 2: enthält alle aperiodischen Prozesse nur bedient, wenn keine periodischen Prozesse bereit 10. Scheduling gemischter Prozessmengen / 10.2 Hintergrund-Scheduling ws 2017/18 H.-A. Schindler Folie: 10-8

Hintergrund-Scheduling Beispiel 1 A B C D 2 1 ZE Aperiodische 2 ZE Anforderungen 1 2 2 3 0 5 10 15 20 t [ZE] Bild 10-1: Hintergrund-Scheduling von aperiodischen Prozessen unter RM (Beispiel) Darstellung nach /Buttazzo97/ Bild 5.1 S.111 10. Scheduling gemischter Prozessmengen / 10.2 Hintergrund-Scheduling ws 2017/18 H.-A. Schindler Folie: 10-9

Hintergrund-Scheduling Weitere Bemerkungen 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 10. Scheduling gemischter Prozessmengen / 10.2 Hintergrund-Scheduling ws 2017/18 H.-A. Schindler Folie: 10-10

Server-Prozess 10.3 Server-Prozesse (1.Verbesserungsprinzip) hier: periodisch aktivierter Prozess, der aperiodische Anforderungen so schnell wie möglich ausführt charakterisiert durch: Periodendauer T S Rechenzeitbedarf C S (C S :. Server-Kapazität) Arbeitsweise des Servers: Scheduling: gleicher Algorithmus wie für 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,... 10. Scheduling gemischter Prozessmengen / 10.3 Server-Prozesse sinngemäß: wie bei normalen periodischen Prozessen ws 2017/18 H.-A. Schindler Folie: 10-11

Serverprozesse: 1. Polling Server (PS) Arbeitsweise Serverprozess: in regelmäßigen Zeitabständen entspr. Periodendauer T S aktiviert bedient: momentan vorliegende aperiodische Anforderungen bis Kapazität C S aufgebraucht falls keine aperiodischen Anforderungen: PS: beendet sich selbst bis Beginn der nächsten Periode nichtaufgebrauchte Kapazität: freigegeben falls aperiodische Anforderung(en) erst nach Selbstbeendigung von PS: es muss bis zu nächster Periode von PS gewartet werden dann: Server-Kapazität wieder auf vollen Wert aufgeladen 10. Scheduling gemischter Prozessmengen / 10.3 Server-Prozesse ws 2017/18 H.-A. Schindler Folie: 10-12

Serverprozesse: 1. Polling Server (PS) Server C S = 2 T S = 5 C i T i 1 1 4 2 2 6 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 Kapazität des Servers als Funktion der Zeit Bild 10-2: Polling Server (Beispiel) 2 1 Darstellung nach /Buttazzo97/ Bild 5.3 S.112 2 ZE 1 2 1 0 2 4 6 8 10 12 14 16 18 20 22 0 2 4 6 8 10 12 14 16 18 20 22 24 10. Scheduling gemischter Prozessmengen / 10.3 Server-Prozesse ws 2017/18 H.-A. Schindler Folie: 10-13

Serverprozesse: 2. Deferrable Server (DS) Arbeitsweise Serverprozess: ähnlich wie Polling Server: regelmäßig entspr. Periodendauer T S aktiviert aber: Server-Kapazität unter Beibehaltung des Prioritätsniveaus bis zum Ende der Periode aufgehoben - und nicht freigegeben Resultat: verbesserte durchschnittliche Antwortzeit aperiodischer Anforderungen 10. Scheduling gemischter Prozessmengen / 10.3 Server-Prozesse ws 2017/18 H.-A. Schindler Folie: 10-14

Serverprozesse: 2. Deferrable Server (DS) C i T i 1 1 4 2 2 6 1 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: C S 2 1 P 1 >P S > P 2 0 2 4 6 8 10 12 14 16 18 20 22 24 Bild 10-3: Deferrable Server (Beispiel) Darstellung nach /Buttazzo97/ Bild 5.5 S.117 10. Scheduling gemischter Prozessmengen / 10.3 Server-Prozesse ws 2017/18 H.-A. Schindler Folie: 10-15

Serverprozesse: 2. Deferrable Server (DS) 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 Bild 10-4: Vergleich: Polling Server Deferrable Server (jeweils gleiche Daten wie in Bild10-2 bzw. 10-3) 10. Scheduling gemischter Prozessmengen / 10.3 Server-Prozesse ws 2017/18 H.-A. Schindler Folie: 10-16

Serverprozesse: 2. Deferrable Server (DS) C i Server C S = 2 T S = 6 T i 1 2 2 8 3 10 1 2 2 1 2 1 aperiodische Anforderungen 0 2 4 6 8 10 12 14 16 18 20 22 24 Prioritäten: P S > P 1 > P 2 C S 2 1 0 2 4 6 8 10 12 14 16 18 20 22 24 Bild 10-5: Deferrable Server: Server hat höchste Priorität Darstellung nach /Buttazzo97/ Bild 5.6 S.117 10. Scheduling gemischter Prozessmengen / 10.3 Server-Prozesse ws 2017/18 H.-A. Schindler Folie: 10-17

Serverprozesse: 2. Deferrable Server (DS) 1 2 (a) DS 0 2 4 6 8 10 12 14 16 18 20Aperiodische Leerlauf time overflow 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 Bild 10-6: Deferrable Server: Server mit höchster Priorität (Erkärungen: nächste Folie) Darstellung nach /Buttazzo97/ Bild 5.7 S.118 10. Scheduling gemischter Prozessmengen / 10.3 Server-Prozesse ws 2017/18 H.-A. Schindler Folie: 10-18

Serverprozesse: 2. Deferrable Server (DS) Zur Beachtung ein Deferrable Server ist nicht äquivalent zu einem periodischem Prozess (siehe Bild 10-6) a) Die periodische Prozess-Menge { 1, 2 } ist durch RM planbar. b) Wenn jedoch 1 durch DS ersetzt wird, verpasst 2 seine Frist. (bei Scheduling-Test: geringerer Wert für untere Grenze der Prozessorauslastung) 10. Scheduling gemischter Prozessmengen / 10.3 Server-Prozesse ws 2017/18 H.-A. Schindler Folie: 10-19

Arbeitsweise Serverprozess: Serverprozesse: 3. Priority Exchange Server (PE) Änderung gegenüber Deferrable Server: 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 Wirkung gegenüber DS: verbesserte Planbarkeitsschranke für periodische Prozesse (etwas) verschlechtertes Antwortzeit-Verhalten aperiodischer Prozesse 10. Scheduling gemischter Prozessmengen / 10.3 Server-Prozesse ws 2017/18 H.-A. Schindler Folie: 10-20

Serverprozesse: 3. Priority Exchange Server (PE) C i Server C S = 1 T S = 5 T i 1 2 4 10 8 20 C S 1 1 1 P Sorig > P 1 > P 2 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 Bild 10-7: Bedienung aperiodischer Anforderungen durch PE-Server (Beispiel 1) Darstellung nach /Buttazzo97/ Bild 5.12 S.126 10. Scheduling gemischter Prozessmengen / 10.3 Server-Prozesse ws 2017/18 H.-A. Schindler Folie: 10-21

Serverprozesse: 3. Priority Exchange Server (PE) C i T i 1 2 2 10 12 20 Server C S = 1 T S = 5 C S 1 aperiodische Anforderungen Verdrängung 2 1 1 1 2 2 1 0 2 4 6 8 10 12 14 16 18 20 Bild 10-8: Bedienung aperiodischer Anforderungen durch PE-Server (Beispiel 2) Darstellung nach /Buttazzo97/ Bild 5.13 S.127 10. Scheduling gemischter Prozessmengen / 10.3 Server-Prozesse ws 2017/18 H.-A. Schindler Folie: 10-22

Serverprozesse: 4. Sporadic Server (SS) Arbeitsweise Serverprozess: wie Deferrable Server: Serverkapazität bleibt auf ursprünglichem Niveau erhalten bis periodische Anforderungen auftreten. anders als Deferrable Server: Wiederaufladen der Serverkapazität nur, wenn tatsächlich Kapazität verbraucht 10. Scheduling gemischter Prozessmengen / 10.3 Server-Prozesse ws 2017/18 H.-A. Schindler Folie: 10-23

Regeln für Wiederaufladung 1. Zeitpunkt Serverprozesse: 4. Sporadic Server (SS) mit: P exe... Priorität des momentan laufenden Prozesses P SS... Priorität von SS wird: 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 2. Betrag Server-Periodendauer 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 10. Scheduling gemischter Prozessmengen / 10.3 Server-Prozesse ws 2017/18 H.-A. Schindler Folie: 10-24

Serverprozesse: 4. Sporadic Server (SS) Bewertung Verbesserung durchschnittlicher Antwortzeit aperiodischer Prozesse, ohne Verschlechterung der Planbarkeitsschranke der periodischen Prozessmenge 10. Scheduling gemischter Prozessmengen / 10.3 Server-Prozesse ws 2017/18 H.-A. Schindler Folie: 10-25

Serverprozesse: 4. Sporadic Server (SS) C i Server C S = 5 T S = 10 T i 1 2 2 10 12 20 1 2 aperiodische Anforderungen SS aktiv t A t I C S +2 Prioritäten P 1 > P SS > P 2 5 3 1 0 2 4 6 8 10 12 14 16 18 20 22 +2 Bild 10-9: Beispiel für Sporadic Server mittlerer Priorität Darstellung nach /Buttazzo97/ Bild 5.17 S.134 10. Scheduling gemischter Prozessmengen / 10.3 Server-Prozesse ws 2017/18 H.-A. Schindler Folie: 10-26

Serverprozesse: 4. Sporadic Server (SS) C i Server C S = 2 T S = 8 T i 1 2 2 10 12 20 1 2 2 2 aperiodische Anforderungen C S 2 1 +2 +2 0 2 4 6 8 10 12 14 16 18 20 22 Bild 10-10: Beispiel für Sporadic Server hoher Priorität Darstellung nach /Buttazzo97/ Bild 5.18 S.135 10. Scheduling gemischter Prozessmengen / 10.3 Server-Prozesse ws 2017/18 H.-A. Schindler Folie: 10-27

Arbeitsweise Prinzip 10.4 Slack-Stealing ( Spielraum-Stehlen - 2.Verbesserungsprinzip) Es existiert passiver Prozess (= Slack Stealer ) kein periodischer Serverprozess dieser: sammelt Zeit für aperiodische Anforderungen Vorgehensweise: Ausführung der Instanzen periodischer Prozesse so weit wie möglich nach hinten verschoben ohne dass Fristverletzung auftritt (= Stehlen des Spielraums) Spielraum für periodischen Prozess i : slack i (t) = d i t c i (t) Idee dahinter Beenden periodischer Prozesse vor ihrer Frist bringt normalerweise keinerlei Vorteile 10. Scheduling gemischter Prozessmengen / 10.4 Slack-Stealing ws 2017/18 H.-A. Schindler Folie: 10-28

Slack-Stealing Resultat Verbesserung der Antwortzeiten aperiodischer Anforderungen 10. Scheduling gemischter Prozessmengen / 10.4 Slack-Stealing ws 2017/18 H.-A. Schindler Folie: 10-29

Slack-Stealing (a) 1 C i T i 1 1 4 2 2 5 aperiodische Anforderung (b) 2 RM 0 2 4 6 8 10 12 14 16 18 20 3 gestohlener Spielraum gestohlener Spielraum Bild 10-11: Slack-Stealer-Verhalten (Beispiel) 10. Scheduling gemischter Prozessmengen / 10.4 Slack-Stealing 0 2 4 6 8 10 12 14 16 18 20 a) Ablaufplan ohne aperiodische Anforderungen; b) mit aperiodischer Anforderung von 3 Einheiten Dauer u. Ankunftszeit t = 8 Darstellung nach /Buttazzo97/ Bild 5.20 S.139 ws 2017/18 H.-A. Schindler Folie: 10-30

Bewertung der Fixed-Priority-Server Performanz Mathematische Komplexität Implementationskomplexität Speicher- Bedarf Hintergrund- Scheduling Polling Server Deferrable Server Priority Exchange Sporadic Server Slack-Stealing Parameterklassifikation: sehr gut gut schlecht Bild 10-12: Zusammenfassende Bewertung der Fixed-Priority-Server Darstellung nach /Buttazzo97/ Bild 5.26 S.147 10. Scheduling gemischter Prozessmengen / ws 2017/18 H.-A. Schindler Folie: 10-31

EDF-Serverprozesse 10.5 Serverprozess-Algorithmen mit EDF Entwicklung auch von Serverprozess-Algorithmen mit Basisalgorithmus EDF (anstelle RM) Algorithmen betrachtbar als: Modifikation der Server-Algorithmen mit RM hierbei: statische durch dynamische Prioritäten ersetzt 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) 10. Scheduling gemischter Prozessmengen / 10.5 Serverprozess-Algorithmen mit EDF ws 2017/18 H.-A. Schindler Folie: 10-32

Beispiel-Verfahren Beispiel: Dynamic Priority Exchange Server (DPE) Dynamic Priority Exchange Server (DPE) als Modifikation des Priority Exchange Servers (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 sd gesetzt (mit d... Frist der aktuellen Serverperiode) im Beispiel: bei: t = 0 10. Scheduling gemischter Prozessmengen / 10.5 Serverprozess-Algorithmen mit EDF C s6 = 3 (volle Server-Kapazität) ws 2017/18 H.-A. Schindler Folie: 10-33

Dynamic Priority Exchange Server (DPE) Beispiel-Verfahren Dynamic Priority Exchange Server (DPE) als Modifikation des Priority Exchange Servers Entwickler: Buttazzo u. Spuri (1994 1996) Grund-Idee Austausch von Kapazitätsreserve für aperiodische Prozesse gegen Prozessorzeit für periodische Prozesse mit geringerer Priorität 10. Scheduling gemischter Prozessmengen / 10.5 Serverprozess-Algorithmen mit EDF ws 2017/18 H.-A. Schindler Folie: 10-34

Dynamic Priority Exchange Server (DPE) Beispiel-Verfahren Algorithmus Server beschrieben durch Periodendauer T S Kapazität C S und zu Beginn jeder Server-Periode: Server-Kapazität auf C sd gesetzt (mit d... Frist der aktuellen Serverperiode) im Beispiel: bei: t = 0 C s6 = 3 (volle Server-Kapazität) jede zu periodischen Instanzen gehörende Frist: hat ebenfalls aperiodische Kapazität C d Si (egal ob Instanz bereits abgearbeitet oder nicht). Kapazität anfänglich: Wert 0 (Null). im Beispiel: bei: t = 0 gilt C 8 S1 = C 12 S2 = C 16 S1 = = 0 10. Scheduling gemischter Prozessmengen / 10.5 Serverprozess-Algorithmen mit EDF ws 2017/18 H.-A. Schindler Folie: 10-35

Dynamic Priority Exchange Server (DPE) Beispiel-Verfahren Algorithmus 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: folgende Möglichkeiten: falls aperiodische Anforderungen vorliegen: diese bedient, bis sie erfüllt oder bis Kapazität erschöpft falls keine aperiodischen Anforderungen vorliegen aber periodische Prozess-Instanzen zu bearbeiten: o 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) 10. Scheduling gemischter Prozessmengen / 10.5 Serverprozess-Algorithmen mit EDF ws 2017/18 H.-A. Schindler Folie: 10-36

Dynamic Priority Exchange Server (DPE) Beispiel-Verfahren Algorithmus 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 6 S = 2 1 C 8 S1 = 2 (übertragene Kapazität) bei t = 2 liegt Instanz von 2 vor zunächst: verbliebene Kapazität von C 6 S wird verbraucht und übertragen dann: Kapazität von C 8 S1 wird auf C 12 S2 übertragen so dass Kapazität von C 12 S2 vollständig verbraucht wird 10. Scheduling gemischter Prozessmengen / 10.5 Serverprozess-Algorithmen mit EDF ws 2017/18 H.-A. Schindler Folie: 10-37

Dynamic Priority Exchange Server (DPE) Beispiel-Verfahren Algorithmus... ab t = 5 ist Prozessor 3 ZE im Leerlauf, so dass Kapazität von C 12 S2 vollständig verbraucht wird 10. Scheduling gemischter Prozessmengen / 10.5 Serverprozess-Algorithmen mit EDF ws 2017/18 H.-A. Schindler Folie: 10-38

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 Bild 10-13: Beispiel für Dynamic Priority Server (Dynamic Priority Exchange Server DPE) Darstellung nach /Buttazzo97/ Bild 6.1 S.152 10. Scheduling gemischter Prozessmengen / 10.5 Serverprozess-Algorithmen mit EDF ENDE Abschnitt 10 ws 2017/18 H.-A. Schindler Folie: 10-39