1 / 54

Entwurf von Echtzeitsystemen

Entwurf von Echtzeitsystemen. Durchführbarkeit von Echtzeitprozeßsätzen. Frank Golatowski Universität Rostock FB Elektrotechnik und Informationstechnik Institut für Angewandte Mikroelektronik und Datentechnik. Überblick. Einleitung Statische Prioritäten Ressourcenzugriffe

miller
Download Presentation

Entwurf von Echtzeitsystemen

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. Entwurf von Echtzeitsystemen Durchführbarkeit von Echtzeitprozeßsätzen Frank Golatowski Universität Rostock FB Elektrotechnik und Informationstechnik Institut für Angewandte Mikroelektronik und Datentechnik

  2. Überblick • Einleitung • Statische Prioritäten • Ressourcenzugriffe • Aperiodische Server • Dynamische Prioritäten

  3. Einleitung u Einleitung Statische Prioritäten u Ressourcenzugriff u Aperiodische Server. u Dynamische Prioritäten u • Richtigkeit eines Real-Time-Systems ist nicht nur von den logischen Ergebnissen der Berechnung abhängig, sondern auch von dem Zeitpunkt an dem die Ergebnisse produziert wurden. • RT Systeme sind Systeme, die korrekte Reaktionen innerhalb eines definierten Zeitlimits produzieren müssen. Wenn die Reaktionen diese Zeitlimits überschreiten, dann resultieren daraus Leistungseinbußen und/oder Fehlfunktionen.

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

  5. Echtzeittasks(semantische Eigenschaften) • kritisch: Ein Verpassen der Deadline kann zur Katastrophe führen • optional: • Zum Verbessern der Ergebnisse kritischer Tasks. • Tasks zur Maintanance und zur Visualisierung des Systems Einhaltung von Zeit-schranken (Deadlines) (hard) kritisch periodisch o. sporadisch. (soft) optional aperiodisch. (hard aperiodic) optional aperiodisch mit Deadline. (soft aperiodic) optional aperiodisch ohne Deadline.

  6. Geforderte Eigenschaften • Garantie der korrekten Ausführung kritischer Tasks • Verwaltung der Ressourcennutzung. • Bereitstellen einer brauchbaren Antwortzeit für Tasks, die keine Deadlinebesitzen. • Erholung im Beisein von Software oder Hardwarefehlern. • Support von Modewechsel • Kurze Contextwechselzeiten bei Eintreffen zusätzlicher Forderungen • etc..

  7. 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 aperiodischeEreignisse Wie kann die Ausführung kritischer Tasks und die Einhaltung von deren Zeitschranken garantiert werden

  8. Klassifikation von Echtzeitsystemen

  9. 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

  10. Einleitung u Rate-Monotonic Statische Prioritäten u Ressourcenzugriff u Aperiodische Server. u Dynamische Prioritäten u • 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

  11. Durchführbarkeitstest (RM) (Grenzen der Auslastung) Hinreichend • Theorem: Ein Satz von “n” Tasks kann mit dem Rate-Monotonic-Scheduling-Algorithmus so koordiniert werden, daß alle Tasks Ihre Deadlines einhalten, wenn gilt. n=1, 1.000 n=2, 0.828 n=3, 0.779 n=4, 0.756 n=5, 0.743 n=6, 0.734

  12. Durchführbarkeitstest (RM) (Beispiel) Auslastungsfaktor Auslastungsgrenze

  13. Test hinreichend und notwendig Durchführbarkeitstest (RM-DM) (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.

  14. Durchführbarkeitstest (RM-DM) (Reaktionszeit) cont. • 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

  15. Durchführbarkeitstest (RM-DM) (Reaktionszeit) cont.

  16. DM RM Deadline Monotonic (DM) • Prioritätenzuweisung an Tasks erfolgt umgekehrt proportional zum Endtermin. • Endtermin nicht an Periode gebunden • RM ist ein Spezielfall von DM, wobei die Deadline gleich der Periode ist. • RM ist optimal unter den statischen Verfahren Eine Prozeßmenge, die nicht nicht mit diesem Verfahren zeitkorrekt verplant werden kann, kann auch mit keinem anderen statischen Verfahren zeitkorrekt verplant werden.

  17. Kontextwechsel • Kontextwechselzeit (Cs): • Retten des Systemstatus. (save) • Restaurieren des Status neuer 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´e = Ce + 2* Cs

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

  19. 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

  20. Methoden zur Verhinderung der Prioritäteninversion. • 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 Betretenkritischer Abschnitte. • Priority Inheritance Protocol (PI). • Priority Ceiling Protocol (PCP). • Ceiling Semaphore Protocol (CSP). Verhindern Ignorieren Minimieren

  21. 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

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

  23. 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.

  24. 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

  25. 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)

  26. 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)

  27. 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)

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

  29. Durchführbarkeit und Blockieren Blockierungsterm

  30. Einleitung u Behandlung aperiodischer Forderungen Statische Prioritäten u Ressourcenzugriff u Aperiodische Server. u Dynamische Prioritäten 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.

  31. Aperiodische Server • Background- Server. • Polling Server. • BandWidth Preserving. • Priority Exchange • Deferrable server • Sporadic Server • Slack Stealing. • Statisch • Dynamisch

  32. 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

  33. 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.

  34. 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.

  35. 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 • unter berechtigten Annahmen der Verteilung aperiodischer Ereignisse ergibt sich die durchschnittliche Reaktionszeit ART aus der Häfte der Serveperiode und der durchschnittl. Rechenzeit.ART= ½ * TPS + AET

  36. Polling Server: Vor- u. Nachteile (cont.) • Der einzige Weg die Reaktionszeit für Tasks mit weicher Deadline zu erhöhen, 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)

  37. Polling-Server • 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.

  38. 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 Rechnenzeit zugewiesen. • Die Rechenkapazität für den Server wirdzu Beginn seiner Periode wieder aufgefrischt.

  39. 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).

  40. 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 erhöht wird. • Auf einer mittleren Prioritätsstufe, ist der DS weniger in der Lage, eine schnelle Reaktion aperiodischer Tasks zu unterstützen. Die Rechenzeit des DS CDS kann durch Preemption durch andere höher priore Tasks verloren gehen, selbst wenn aperiodische Ereignisse anliegen. DS auf höchster Prioritätenstufe.

  41. 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.

  42. Deferrable Server

  43. Sporadic Server

  44. Sporadic Server II • Priorität des Servers bleibt konstant • SS= aperiodische Task mit TSS und CSS • TSS gibt Zeit an, die nach dem Start der aperiodischen Taskvergeht, bis die durch sie verbrauchte Rechenzeit wieder aufgefüllt wird • Besonderheit: Auffüllen des Serverbudgets

  45. Periodische Server- Bestimmen der Rechenkapazität • Pollingserver: • Deferrable Server:

  46. Einleitung u Dynamische Prioritätensysteme Statische Prioritäten u Ressourcenzugriff u Aperiodische Server. u Dynamische Prioritäten u • Eearliest Deadline First • Least Laxity • Berücksichtigung aperiodischer Ereignisse in EDF-Systemen • Deadline Deferrable Server • Dynamic Sporadic Server • Total Bandwidth Server !!! • Robustes Scheduling: • RED (Buttazzo, Stankovic) • ROBUST (Baruah) • RAPID (Schwan)

  47. Earliest Deadline First Scheduling (EDF)

  48. Überlastsituation und Dominoeffekt

  49. EDF-Scheduling mit DPCP

  50. Total Bandwidth Server

More Related