Vorlesung echtzeitbetriebssysteme vii schedulinganalyse
This presentation is the property of its rightful owner.
Sponsored Links
1 / 72

Vorlesung Echtzeitbetriebssysteme VII. Schedulinganalyse PowerPoint PPT Presentation


  • 64 Views
  • Uploaded on
  • Presentation posted in: General

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

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Vorlesung echtzeitbetriebssysteme vii schedulinganalyse

VorlesungEchtzeitbetriebssysteme VII. Schedulinganalyse

Dr.-Ing. Frank Golatowski


Ziele der vorlesung

Ziele der Vorlesung


Gliederung

Gliederung

  • Einleitung

  • Statische Prioritäten

  • Ressourcenzugriffe

  • Aperiodische Server

  • Dynamische Prioritäten


Gliederung1

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


Welchen algorithmus f r echtzeit

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?


Echtzeitsysteme

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


Architektur eines echtzeitsystems mit uniprozessor

Architektur eines Echtzeitsystems mit Uniprozessor


Beschreibung des zeitlichen verhaltens technischer prozesse

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


Proze typenklassifikation

Prozeßtypenklassifikation

HRT...Hard Real-Time

SRT...Soft Real-Time

FRT...Firm Real-Time


Schedulinganalyse

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)


Durchf hrbarkeitstest

Durchführbarkeitstest


Klassifikation der schedulingalgorithmen

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


Optimale verfahren

Optimale Verfahren

  • RMS

  • EDF

  • LLF


Definitionen

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


Charakteristik periodischer prozesse

Charakteristik periodischer Prozesse


Rate monotonic

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


Ber cksichtigung von kontextwechsel

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


Rate monotonic schedulinganalyse

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


Echtzeittasks zeitcharakteristik

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


Schedulinganalyse1

Schedulinganalyse

2 Herangehensweisen:

  • Analyse auf der Basis der Bestimmung der Auslastung

  • Analyse auf der Basis der Berechnung der Reaktionszeiten


Vorlesung echtzeitbetriebssysteme vii schedulinganalyse

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)


Durchf hrbarkeitstest schedulability test berechnung derauslastung beispiel

Durchführbarkeitstest (schedulability test) (Berechnung derAuslastung) (Beispiel)

Auslastungsfaktor

Auslastungsgrenze


Durchf hrbarkeitstest schedulability test reaktionszeit

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


Durchf hrbarkeitstest reaktionszeit

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


Durchf hrbarkeitstest rm reaktionszeit

Durchführbarkeitstest (RM) (Reaktionszeit)


Statische und dynamische echtzeitsysteme

Statische und dynamische Echtzeitsysteme


Ressourcenzugriff

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


Priorit teninversion

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


Methoden zur verhinderung der priorit teninversion

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


Priority inheritance protocol

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


Priority inheritance protocol beispiel

Priority Inheritance Protocol(Beispiel)

Prioritätenvererbung

Anforderung des kr.Ab.

Betreten

a

b

c

d


Priority ceiling protocol

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.


Priority ceiling protocol1

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


Priority ceiling protocol2

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)


Priority ceiling protocol3

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)


Priority ceiling protocol cont

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)


Priority ceiling protocol vorteile

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.


Durchf hrbarkeit und blockieren

Durchführbarkeit und Blockieren

Blockierungsterm


Behandlung aperiodischer forderungen

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


Aperiodische server

Aperiodische Server

  • Background- Server.

  • Polling Server.

  • Bandwidth Preserving.

    • Priority Exchange

    • Deferrable Server

    • Sporadic Server

  • Slack Stealing. (nicht in dieser Vorlesung)

    • Statisch

    • Dynamisch


Background server f r aperiodische forderungen mit weichen deadlines

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


Polling server f r aperiodische forderungen mit weichen deadlines

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.


Ps f r aperiodische forderungen mit weichen deadlines cont

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.


Polling server vor u nachteile

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


Polling server vor u nachteile cont

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)


Polling

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.


Priority exchange

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.


Deferrable server eigenschaften

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


Deferrable server eigenschaften1

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.


Deferrable server algorithmus

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.


Deferrable server

Deferrable Server


Deferrable server algorithmus1

Deferrable Server (Algorithmus)

  • Bestimmen der Rechenkapazität:

Server mit

maximaler Priorität


Worst case situation bei ausf hrung mit deferrable server

Worst-Case-Situation bei Ausführung mit Deferrable Server


Sporadischer server

Sporadischer Server

  • Vereint die Vorteile des PE- und DS-Algorithmus.

  • Algorithmen liefern bessere Antwortzeit (response time) als Polling-Server

  • Die Besonderheit des SS besteht in dem Auffüllen (Replenishment) der Serverkapazität.

  • SS ist aperiodische Task und bedient aperiodische Anforderungen

    • mit „Periode“ TSS , Rechenzeitkapazität (capacity) CSS und Priorität prioSS

  • TSSgibt Zeit an, die nach dem Start der aperiodischen Task vergeht, bis die durch sie verbrauchte Rechenzeit wieder aufgefüllt wird.


Sporadischer server1

Sporadischer Server

  • Verfügt der SS über Kapazität, hat er die höchste Priorität im System. Wenn dann aperiodische Forderungen anliegen, können diese als aperiodischen Tasks abgearbeitet werden. Dabei verringert sich die Serverkapazität um die Ausführungszeit der aperiodischen Tasks.

  • Ist die Kapazität verbraucht, oder liegen keine aperiodischen Forderungen mehr vor, dann gibt der Server die CPU frei. Gleichzeitig wird der Auffüllzeitpunkt (replenishment time) gesetzt.

  • Zeitpunkt ergibt sich aus dem Zeitpunkt, an dem der Server die Ausführung beginnt, zuzüglich der Serverperiode. Der Betrag, um den zum Auffüllzeitpunkt aufgefüllt wird, ist gleich der bei der letzten Ausführung verwendeten Rechenzeit (Kapazität).


Sporadischer server2

Sporadischer Server


Architektur eines harten echtzeitsystems

Architektur eines harten Echtzeitsystems

Einleitung

u

Schedulinganalyse

u

Statische Prioritätensysteme

u

Dynamische Prioritätensysteme

u

Hardware-Unterstützung

u

Leistungsmessung

u

Entwurfsunterstützung

u


Scheduling coprozessor

Scheduling Coprozessor

  • Minimierung des System-Overheads in harten Echtzeitsystemen

    • insbesondere bei Einsatz dynamischer Schedulingalgorithmen

  • Zweistufiger Schedulingalgorithmus

    • Nicht der Gesamtalgorithmus wird in einem Scheduling-Coprozessor implementiert

    • Bestandteile, mit denen eine signifikante Geschwindigkeitserhöhung möglich ist, wenn diese in einem Coprozessor implementiert sind.

  • Berechnungen, die in Hardware parallel durchgeführt werden können


Schedulingcoprozessor prototyp

Schedulingcoprozessor: Prototyp

  • Bestimmt, welche Task als nächste ausgeführt wird

  • Implementierung dynamischer Algorithmen

  • Implementierung des Least-Laxity-First Algorithmus (LLF)

    • Berechnung des Schlupfes

    • Pro: Vorhersage, daß eine Deadline verpaßt wird

    • Kontra: Overhead, Thrashing O(N*T)

  • Deterministische Berechnung der Schlupfwerte


Bestimmung von ep t und sp t f r eine task

Bestimmung von EP(t) und SP(t)für eine Task

EP(t) Deadline eines Prozesses

SP(t) Schlupf eines Prozesses


Bestimmung des minimalen schlupfes sp t min

Bestimmung des minimalen Schlupfes SP(t)min


Entwurf des schedulingcoprozessors

Entwurf des Schedulingcoprozessors

  • Passiver Schedulingcoprozessor

  • Entwurf

    • identische Funktionsblöcke

    • Berechnung des Schlupfes einer Task innerhalb eines Taskblocks

    • Vergleich der Schlupfwerte mittels Vergleicher (Comparator)

    • serielles deterministisches Vergleichsverfahren


Applikationsorientierte leistungsmessung

ApplikationsorientierteLeistungsmessung

Einleitung

u

Schedulinganalyse

u

Statische Prioritätensysteme

u

Dynamische Prioritätensysteme

u

  • Feinkörnige Laufzeituntersuchung

    • Messung systemspezifischer Zeiten (z.B. Kontextwechsel)

    • Messung von Laufzeiten von Systemfunktionen

  • Applikationsorientierte Leistungsmessung

    • Beobachtung des Systemverhaltens bei steigender Last

    • Aufzeichnung eingehaltener und verpaßter Deadlines

  • Ziele:

    • Leistungsbewertung von Echtzeitbetriebssystemen

    • Rapid-Prototyping von Echtzeitanwendungen

Hardware-Unterstützung

u

Leistungsmessung

u

Entwurfsunterstützung

u


Evascan eva luierung sc heduling an alyse

EVASCANEvaluierung & Schedulinganalyse

Einleitung

u

Schedulinganalyse

u

Statische Prioritätensysteme

u

Dynamische Prioritätensysteme

u

  • Entwurfsunterstützung harter Echtzeitsysteme (EZS)

  • EZS basierend auf statischen oder dynamischen Prioritätensystemen

  • Hauptkomponente: Erweiterbarer Schedulinganalyser

    • Auswahl verschiedener Schedulingalgorithmen

    • Untersuchung der Durchführbarkeit einer Echtzeitanwendung

  • Berücksichtigung von Zeitschranken (Deadlines)

  • Integration realer Meßwerte

Hardware-Unterstützung

u

Leistungsmessung

u

Entwurfsunterstützung

u


Erweiterbarer scheduling analyser

Erweiterbarer Scheduling Analyser

PRIO Prioritätsbasiertes Scheduling

RMS Rate-Monotonic Scheduling

DMS Deadline-Monotonic Scheduling

FIFO FIFO-Scheduling

USER Nutzerdefiniertes Scheduling

EDF Earliest- Deadline- First Scheduling

EDL Earliest- Deadline- Late Scheduling

LLF Least-Laxity-First (preemptiv)


Zusammenfassung und ausblick

Zusammenfassung und Ausblick

  • Entwurfsunterstützung für harte Echtzeitsysteme

    • Statische und dynamische Prioritätensysteme

      • Erweiterung der Analyse

      • Exakte Antwortzeitanalyse für Systeme mit begrenzter Ankunftsrate und minimalen Ereignisabständen

      • Neuer Bandbreitenserver für dynamische Systeme

      • Bibliotheksfunktionen für Synchronisationsprotokolle

    • Umsetzung dynamischer Schedulingverfahren mit Schedulingcoprozessor

    • Leistungsmessung von Echtzeitbetriebssystemen

      • Messung von Systemzeiten (RMOS, RMOS für Windows, LynxOS)

      • Applikationsorientierter Benchmark (SORIX, LynxOS, Windows-NT)

    • Übergreifendes Framework EVASCAN


Minenpumpensteuerung

Minenpumpensteuerung


Schedulability performance metrics

Schedulability Performance Metrics

  • Breakdown utilization


Breakdown utilization

Breakdown utilization

  • maximal zuteilbare Applikationslast

  • Die BU eines Tasksatzes ist die Auslastung bei der der Tasksatz noch zuteilbar ist. Ein weiteres Erhöhen der Last eines einzelnen Prozesses würde zum Verpassen von mindestens einer Deadline führen.


Breakdown utilization1

Breakdown utilization

  • Für Schedulingmodelle, die auf der Bestimmung der Auslastung basieren, wird die BU durch eine einheitliche Skalierung der Rechenzeiten Ci´ des Tasksatzes mit einem Skalierungsfaktor  bestimmt. Dabei werden die Rechenzeiten solange erhöht bis die Gesamtauslastung der ursprünglichen Auslastung des zugehörigen Schedulingmodells entspricht.

    • Für EDF ist diese Grenze 1,00

    • Für RMS ist die Grenze n(2½ - 1)

  • BU für zeitbasierte Schedulingmodelle wird berechnet durch Skalierung der Rechenzeiten Ci´des Tasksatzes bis für die begrenzende Task mint W(t)/t = 1.00 gilt

  • Die begrenzende Task ist definiert als die Task, die als erste ihre Deadline verpaßt, wenn der Tasksatz skaliert wird


  • Login