1 / 72

Vorlesung Echtzeitbetriebssysteme VII. Schedulinganalyse

Vorlesung Echtzeitbetriebssysteme VII. Schedulinganalyse. Dr.-Ing. Frank Golatowski. Ziele der Vorlesung. Gliederung. Einleitung Statische Prioritäten Ressourcenzugriffe Aperiodische Server Dynamische Prioritäten. Gliederung. 1. Einleitung 2. Schedulinganalyse

abla
Download Presentation

Vorlesung Echtzeitbetriebssysteme VII. Schedulinganalyse

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. VorlesungEchtzeitbetriebssysteme VII. Schedulinganalyse Dr.-Ing. Frank Golatowski

  2. Ziele der Vorlesung

  3. Gliederung • Einleitung • Statische Prioritäten • Ressourcenzugriffe • Aperiodische Server • Dynamische Prioritäten

  4. Gliederung 1. Einleitung 2. Schedulinganalyse 3. Statische Prioritätensysteme 4. Dynamische Prioritätensysteme 5. Hardwareunterstützung 6. Leistungsmessung 7. Entwurfsunterstützung 8. Zusammenfassung und Ausblick

  5. Welchen Algorithmus für Echtzeit? • Off-line Garantietest (Wird während der Entwurfsphase verwendet.) • Schedulingalgorithmus • Unterstützung von Protokollen zum Zugriff auf Ressourcen • Berücksichtigung aperiodische Ereignisse Wie kann die Ausführung kritischer Tasks und die Einhaltung von deren Zeitschranken garantiert werden?

  6. Echtzeitsysteme Einleitung u Schedulinganalyse u Statische Prioritätensysteme u Dynamische Prioritätensysteme u • Funktion ist nicht nur von den logischen Ergebnissen abhängig, sondern auch vom Zeitpunkt, an dem diese Ergebnisse produziert werden • Überschreiten der Zeitpunkte (Deadlines) führt zu Leistungseinbußen und/oder Fehlfunktionen • Zur Entwicklung von Echtzeitsystemen Verwendung von Echtzeitbetriebssystemen notwendig Hardware-Unterstützung u

  7. Architektur eines Echtzeitsystems mit Uniprozessor

  8. Beschreibung des zeitlichen Verhaltens technischer Prozesse • Beschreibung durch statistische Größen (Warteschlangentheorie) • statistische Mittelwerte zum Nachweis, daß Deadlines eingehalten werden, ungeeignet • Formale Methoden = math. Modelle zur Beschreibung kausaler und zeitlicher Vorgänge • Petrinetze, temporale Logik, Prozeßalgebra, Spezifikationssprachen • scheitern häufig aufgrund der Komplexität • aktuelles Forschungsgebiet • Periodische, aperiodische und sporadische Vorgänge

  9. Prozeßtypenklassifikation HRT...Hard Real-Time SRT...Soft Real-Time FRT...Firm Real-Time

  10. Schedulinganalyse Einleitung u Schedulinganalyse u Statische Prioritätensysteme u Dynamische Prioritätensysteme u Hardware-Unterstützung u • Schedulinganalyse beschäftigt sich mit der Überprüfung, ob eine Echtzeitanwendung die zeitlichen Anforderungen erfüllt. • Schedulinganalysemethoden werden in den verschiedenen Stufen der Entwicklung von Echtzeitsystemen eingesetzt. • Spezifikationsphase (z.B. quantitative temporale Logik) • Entwurfsphase (z.B. Rate-Monotonic Analyse) • Implementierungsphase (z.B. Programmcodeanalyse)

  11. Durchführbarkeitstest

  12. Klassifikation der Schedulingalgorithmen Prioritätsbasiertes Scheduling Statisch Dynamisch Fixed Priority PRIO Rate Monotonic RMS Deadline Monotonic DMS Earliest Deadline First EDF Least Laxity First LLF

  13. Optimale Verfahren • RMS • EDF • LLF

  14. Definitionen • Periodische Systeme: • Auslastungsfaktor: • Aktivierung: • Jede Anforderung, die durch eine periodische oder aperiodische Task initiiert wird. • Durchführbarkeit: • Ein Tasksatz ist durchführbar, wenn es einen Schedulingalgorithmus gibt, der die Ausführung kritischer Tasks vor dem Erreichen deren Deadline garantieren kann. • Durchführbarkeit eines Schedulers: • Es wird garantiert, daß ein Tasksatz so ausgeführt werden kann, daß keine kritische Task seine Deadline verpaßt • Hyperperiode • Kleinstes gemeinsames Vielfache aller Perioden der Tasks

  15. Charakteristik periodischer Prozesse

  16. Rate-Monotonic • Annahmen: • alle Tasks sind periodisch • Die Deadlines der Tasks sind gleich deren Periode. • Tasks sind unabhängig. • Tasks sind periodisch. • Kontextwechselzeiten sind vernachlässigbar. • Tasksätze sind synchron. • die Rechenzeit der Prozesse ist konstant • Während der Designphase: • Jede Task erhält eine Priorität zugewiesen,die umgekehrt proportional zur Deadline ist. • Während der Ausführung: • Der Scheduler wählt die Aktivität mit der maximalen Priorität aus. Jeder Scheduler der prioritätsgesteuert arbeitet, kann auch Rate-Monotonic-Scheduling

  17. Berücksichtigung von Kontextwechsel • Kontextwechselzeit (Cs): • Retten des Systemstatus. (save) • Wiederherstellen des Status Prozesse. (restart) • Jede Verdrängung einer Task durch eine höherpriore Task bewirkt zwei Kontextwechsel. • Die Kontextwechsel können in der Rechenzeit jeder Task berücksichtigt werden. • C* = C + 2 * Cs

  18. Rate-Monotonic Schedulinganalyse Einleitung u Schedulinganalyse u Statische Prioritätensysteme u Dynamische Prioritätensysteme u Hardware-Unterstützung u • n = Anzahl der Prozesse • C = Rechenzeit (computation time) • T = Periode

  19. Echtzeittasks(Zeitcharakteristik) Periodische Tasks: Ci: Rechenzeit Ti: Taskperiode Di: Deadline Pi: Priorität Si: Startzeit Sporadische Tasks Ci: Rechenzeit Ti: minimaler Ereignisabstand Di: Deadline Pi: Priorität Si: Startzeit • Aperiodische Tasks • Ci: Rechenzeit • Di: Deadline (optional) • Pi: Priorität • Si: Startzeit

  20. Schedulinganalyse 2 Herangehensweisen: • Analyse auf der Basis der Bestimmung der Auslastung • Analyse auf der Basis der Berechnung der Reaktionszeiten

  21. Echtzeit-Schedulinganalyse • Rate-Monotonic Analyse • notwendige Bedingung • hinreichende Bedingung • Betrachtung von IPC • Berücksichtigung aperiodischer Prozesse • Exakte Analyse • Analyse der Reaktionszeiten • Berücksichtigung verschiedener Einflußfaktoren(Systemzeiten, Blockierungen, Jitter, Startzeiten)

  22. Durchführbarkeitstest (schedulability test) (Berechnung derAuslastung) (Beispiel) Auslastungsfaktor Auslastungsgrenze

  23. Durchführbarkeitstest (schedulability test)(Reaktionszeit) • Theorem: Ein Satz von “n” Tasks ist durchführbar, wenn eine der folgenden Bedingungen gilt: • Wenn eine Task auch im schlechtesten Fall bis zum Erreichen seiner Deadline ausgeführt wurde. • Die Worst-Case-Reaktionszeit jeder Tasks frühestens dann auftritt, wenn die höherpriorisierten Task bereits beendet sind. Test hinreichend und notwendig

  24. Durchführbarkeitstest (Reaktionszeit) • Theorem: Prozeßsatz ist durchführbar, wenn auf jeder Prioritätenstufe i die Worst-Case-Antwortzeit Ri kleiner gleich der Deadline Di ist: Iterative Lösung Tasksatz dessen Priorität größer als i ist

  25. Durchführbarkeitstest (RM) (Reaktionszeit)

  26. Statische und dynamische Echtzeitsysteme

  27. Ressourcenzugriff. Einleitung u Statische Prioritäten. u Ressourcenzugriff u Aperiodische Server u Dynamische Prioritäten. u • Berücksichtigung der folgenden Punkte: • Synchronisation • Kommunikation • gemeinsame Nutzung von Ressourcen • Gewöhnlich erfolgt Verwendung des Semaphor- oder Monitor- Konzeptes zum Schutz kritischer Abschnitte. Eine kritische Task kanneinen oder mehrere kritischeAbschnitte besitzen

  28. Prioritäteninversion • eine niederpriore Task kann die Ausführung einer hochpriore Task behindern, wenn eine hochpriore Task an einer Ressource blockiert, die im Besitz der niederprioren Task ist. (allgemein) • eine hochpriore Task, die einen kritischen Abschnitt betreten will, der bereits durch eine niederpriore Task besetzt ist, kann durch eine Task mit mittlerer Priorität für eine unbestimmte Zeitdauer verdrängt werden. Task mittl.Priorität wird gestartet Versuch kr.A.zu betreten Betreten kr.A. a b c d e f g

  29. Methoden zur Verhinderung der Prioritäteninversion. Verhindern • Erzeugen eines Ablaufs (schedule)der Tasks (off-line). Festlegen der Reihenfolge in einer Tabelle. • Kritische Abschnitte nicht unterbrechen. Kritische Abschnitte müssen sehr kurz sein • Kritische Abschnitte unterbrechen: Modifizierung der Taskprioritäten beim Betreten kritischer Abschnitte. • Priority Inheritance Protocol • BPIP (Basic Priority Inheritance): späte Vererbung • IPIP (Immediate Priority Inheritance Protocol): Frühe Vererbung • Priority Ceiling Protocol (PCP). • Ceiling Semaphore Protocol (CSP). Ignorieren Minimieren

  30. Priority Inheritance Protocol • Kritische Abschnitte werden durch Semaphoren geschützt • Algoritmus: • Wenn eine hochpriore Task (Th) eine kritischen Abschnitt betreten will, der bereits durch eine andere niederpriore Task (Tl) belegt ist, dann erbt die niederpriore Task die Priorität der hochprioren Task. • Beim Verlassen des kritischen Abschnittes erhält die niederpriore Task ihre Priorität zurück

  31. Priority Inheritance Protocol(Beispiel) Prioritätenvererbung Anforderung des kr.Ab. Betreten a b c d

  32. Priority Ceiling Protocol • Semaphoren erhalten eine zugehörigen Prioritätswert (ceiling). • Die “Ceiling-”Priorität ist die höchste Priorität, die eine Task annimmt, die auf diese Ressource zugreift.

  33. Priority Ceiling Protocol Prioritätenvererbung Blockieren an R1 Blockieren an R2 Betreten deskr. Abschn. a b c d Ressource 1 Ceiling =1 Ressource 2 Ceiling=2

  34. Priority Ceiling Protocol • 3 Prozesse P1, P2, P3 • 2 Datenstrukturen auf die von mehreren Prozessen aus zugegriffen wird • Zugriff auf die Datenstrukturen wird durch Semaphore geschützt: • P3={...,P(S0),...,V(S0),...} • P2={...,P(S1),..., V(S1),...} • P1={...,P(S0),..., V(S0),...} • prio(P3) > prio(P2) > prio (P1) • ceil(S0)=prio(P3) ceil(S1)=prio(P1)

  35. Priority Ceiling Protocol • 3 Prozesse P1, P2, P3 • 2 Datenstrukturen auf die von mehreren Prozessen aus zugegriffen wird • Zugriff auf die Datenstrukturen wird durch Semaphore geschützt: • P3={...,P(S0),...,V(S0),...} • P2={...,P(S1),...,P(S2),...,V(S2),...,V(S1),...} • P1={...,P(S2),...,P(S1),...,V(S1),...,V(S2),...} • prio(P3) > prio(P2) > prio (P1) • ceil(S0)=prio(P3) ceil(S1)=ceil(S2)=prio(P1)

  36. Priority Ceiling Protocol (cont.) • 3 Prozesse P1, P2, P3 • 2 Datenstrukturen auf die von mehreren Prozessen aus zugegriffen wird • Zugriff auf die Datenstrukturen wird durch Semaphore geschützt: • P3={...,P(S0),...,V(S0),...,P(S1),...,V(S1),...} • P2={...,P(S2),...,V(S2),...} • P1={...,P(S2),...,P(S1),...,V(S1),...,V(S2),...} • prio(P3) > prio(P2) > prio (P1) • ceil(S0) = ceil(S1) = prio(P3) ceil(S2)=prio(P1) P(S0) P(S2)

  37. Priority Ceiling Protocol(Vorteile) • Verhindern von Verklemmungen (Deadlocks) • Keine Mehrfachblockierungen • Die maximale Zeit, die ein hochpriorer Prozeß auf Grund eines niederprioren Prozesses blockieren kann,ergibt sich aus der maximalen Zeit, der kritischen Abschnittes • Pessimistischer Algorithmus: Interagierende Tasks können blockieren, ohne daß dies notwendig wäre.

  38. Durchführbarkeit und Blockieren Blockierungsterm

  39. Behandlung aperiodischer Forderungen Einleitung u Statische Prioritäten u Ressourcenzugriff u Aperiodische Server. u • Nicht alle Systemtasks sind kritisch. • Bei Verwendung eines EDF- Schedulers bewirken Prozesse mit weichen Deadlines folgendes Problem: • EDF- Scheduler kann nicht zwischen harten und weichen Deadlines unterscheiden. • Bei Zuweisung kleiner Deadlines an Prozesse steigt die Priorität des Prozesses, somit wäre Unterscheidung möglich. • Minimierung des Einflusses von Forderungen mit weichen Deadlines auf Tasks mit harten Deadlines durch aperiodische Servertasks. • Minimieren der Reaktionszeit. Dynamische Prioritäten u

  40. Aperiodische Server • Background- Server. • Polling Server. • Bandwidth Preserving. • Priority Exchange • Deferrable Server • Sporadic Server • Slack Stealing. (nicht in dieser Vorlesung) • Statisch • Dynamisch

  41. Background-Server für aperiodische Forderungen mit weichen Deadlines • Prozeß mit niedrigerer Priorität als alle anderen Tasks mit harten Deadlines • Backgroundserver zur Behandlung aperiodischer Ereignisse mit weichen Deadlines. • Somit führt eine Task mit weicher Deadline niemals dazu, daß ein Prozeß mit harter Deadline seine Deadline verpaßt • Background-Prozeß wird immer dann aktiviert, wenn kein hochpriorer Prozeß läuft. • Hauptnachteil: sowohl ART und WCRT des Servers kann inakzeptabel lang sein ART: Average Response Time WCRT: Worst Case Response Time

  42. Polling-Server für aperiodische Forderungen mit weichen Deadlines • Polling-Server zur Behandlung aperiodischer Ereignisse mit weichen Deadlines. • Polling-Server wird als harte Echtzeittask betrachtet. • Polling-Server ist periodische Task mit einem Executiontimebudget und einer Periode. • Deadline = Periode • Priorität ergibt sich entsprechend DMA aus Deadline. • Der PS wird einmal pro Periode ausgeführt und bedient alle Anforderunegen, die bis zu dieser Zeit eingetroffen und gepuffert wurden.

  43. PS für aperiodische Forderungen mit weichen Deadlines (cont.) • Wenn mehr Ereignisse vorhanden sind, als im zur Verfügung stehendem Executiontimebudget bedient werden können, dann wird die Behandlung dieser Ereignisse in die nächste Periode verschoben. • Wenn keine Ereignisse vorhanden sind, erfolgt Aktivierung des PS in seiner nächsten Periode. • Die Periode wird kurz genug gewählt, um die gewünschte durchschnittliche Reaktionszeit zu erreichen und alle harten Deadlines zu garantieren. • Das Puffern der Anforderungen, ermöglicht, daß die Periode des Servers größer als die Ankunftszeit der Anforderungen sein kann.

  44. Polling Server: Vor- u. Nachteile • Vorteil von PS gegenüber BS: • harte Deadlines (von Task, die sowohl harte als auch weiche Deadlines haben und begrenzte Rechen- und Ankunftszeiten) können garantiert werden, da die Serverperiode als harte deadline betrachtet wird. • Auch bei Verwendung mehrerer Server mit unterschiedlichen Prioritäten kann man einen Tasksatz mit einem Bereich von harten und weichen Deadlineanforderungen • Hauptnachteil von PS • die durchschnittliche Reaktionszeit ART ergibt sich aus der Hälfte der Serverperiode und der durchschnittl. Rechenzeit.ART= ½ * TPS + AET ART: Average Response Time AET: Average Execution Time

  45. Polling Server: Vor- u. Nachteile (cont.) • Der einzige Weg die Reaktionszeit für Tasks mit weicher Deadline zu verkleinern, besteht in der Minimierung der Serverperiode • Für sehr kurze Serverperioden wird der Polling Service zum Timesharing; d.h. die Reaktionszeit erreicht, die eines dedizierten Prozessors dessen Geschwindigkeit um den Faktor c (0<c<=1) verringert wurde; wobei c der Prozessoranteil ist, der dem Server zugewiesen wurde. (Ghazalie und Baker)

  46. Polling • Periodischer Prozeß als Server für aperiodische Prozesse mit Periode TPS • Falls mit Beginn der Periode des Servers eine aperiodische Forderung existiert, dann wird der Server aktiviert und die Forderungen bedient. • Falls keine Forderungen existieren, gibt der Polling Server die CPU frei. Erst beim Erreichen seiner nächsten Periode können aperiodische Ereignisse wieder bedient werden • Der Server erhält eine „Kapazität“ in Form einer maximal verfügbaren Rechenzeit CPS zugewiesen. • Wird die Kapaziät zu Beginn der Periode nicht benötigt, dann geht sie verloren. • Die Kapazität für den Server wird zu Beginn seiner Periode wieder aufgefrischt.

  47. Priority Exchange • Periodischer Prozeß als Server für nicht-periodische Prozesse • Falls mit Beginn der Periode des Servers eine nichtperiodische Forderung existiert, dann wird der Server aktiviert. • Falls keine Forderungen existieren, dann wird mit dem "Priority exchange" Algorithmus die Priorität des hochpriorisierten Prozesses mit einem niederpriorisierten periodischen ausgetauscht. • Der Server erhält eine „Kapazität“ in Form einer maximal verfügbaren Rechenzeit zugewiesen. • Die Rechenkapazität für den Server wirdzu Beginn seiner Periode wieder aufgefrischt.

  48. Deferrable Server (Eigenschaften) • DS bedient aperiodische Forderungen • DS ist periodische Task • mit Periode TDS und Rechenzeitkapazität (capacity) CDS • DS ist zu Beginn seiner Periode ready • DS kann durch höherpriore Tasks unterbrochen werden • Rechenkapazität des Deferrable Servers CDS ist über dessen gesamte Periode verfügbar, wenn sie nicht verbraucht wurde. • Am Ende seiner Periode verliert der Server jede nicht genutzte Rechenzeit; dann wird die gesamte Kapazität CDS wiederhergestellt (aufgefrischt).

  49. Deferrable Server (Eigenschaften) • Prioritätenzuweisung entsprechend RMS basierend auf Periode TDS • DS kann jede Priorität erhalten • günstig ist Zuweisung der höchsten Priorität (TDS so wählen, das Periode kleiner als alle anderen weiteren periodischen Prozesse) damit ist Garantie möglich, daß aperiodische Alarme rechtzeitig bedient werden und die Reaktionzeit aperiodischer Tasks mit weichen Deadlines verbessert wird. • Auf einer mittleren Prioritätsstufe, ist der DS weniger in der Lage, schnell zu regieren • Die Rechenzeit des DS CDS kann durch Unterbrechung durch andere höher priore Tasks verloren gehen, selbst wenn aperiodische Ereignisse anliegen. DS auf höchster Prioritätenstufe.

  50. Deferrable Server (Algorithmus) • Deferrable Server mit Periode TDS und Rechenkapazität (capacity) CDS. • Falls mit Beginn der Periode des Servers eine aperiodische Forderung existiert, dann wird der Deferrable Server aktiviert. • Wenn aperiodische Ereignisse vorliegen, werden diese durch den Deferrable Server bedient. • Liegen keine Ereignisse vor, dann gibt der DS die CPU wieder frei. • Am Ende seiner Periode verliert der Server jede nicht genutzte Rechenzeit; dann wird die gesamte Kapazität CDS wiederhergestellt (aufgefrischt) • Aperiodische Tasks, die eintreffen, wenn die Rechenzeit des Servers CDS abgelaufen ist, können mit Hintergrundpriorität bedient werden.

More Related