20
Real Time Analysis in Real Time Schedulability

Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

Embed Size (px)

Citation preview

Page 1: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

Real Time Analysis in Real Time

Schedulability

Page 2: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

Problembeschreibung

Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen Hier: SPP Schedulability Analyse in beschränkter Zeit

Wie die Zeit beschränken? Welche Faktoren Beeinflussen die Laufzeit? Optimierungen und ihr Einfluss auf die Laufzeit Möglichkeiten der Einflussnahme auf die Laufzeit

Ableitung einer Analysestrategie

Page 3: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

Anatomie Busy-Window Algorithmen

Berechne Busy-Window

Busy-Window = Initialwert (0)

Mehr Preemptions?ja

Weitere Aktivierungen im Busy Window?ja

Preemption von höher prioren Tasks

Große Bursts

N+=1

Betrachte Aktivierung N=0Wähle N = letzter vom Burst

Untere Schranke für Busy Window als Initialwert

Beschränke Anzahl Durchläufe

Page 4: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

Einfluss von Last und Jitter

Konstante WCET Jitter = 0 Periode T0 -> WCET T0

Viele Preemptionsschwierig

Konstante WCET Konstante Periode Jitter 0->1000*P

Großer Jitter nur schwierig für zu Analysierenden Task

Page 5: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

Empirische Analyse - Ansatz

Generiere Taskset: Anzahl Tasks gleichverteilt [2..MAX_Tasks] WCET gleichverteilt [1..MAX_WCET] Periode gleichverteilt [1..MAX_PER] Jitter gleichverteilt [0..MAX_JIT]

Analysiere WCRT des niedrig priorsten Tasks Metriken:

Maximale Anzahl Busy-window Vergrößerungen (pro Aktivierung)

Anzahl zu Analysierender Aktivierungen Gesamtzahl Busy-Window Vergrößerungen

Page 6: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

Analysedauer zufällig generierter Tasksets

Kein Jitter Analyse meist einfach

Großer Jitter Analyse schwierig

Großer Jitter mit Optimierungen

Gibt Hoffnung Aber: nicht Anwendbar, wenn

minD

Page 7: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

Minimalabstand als Parameter

Genauere (= kleinere) WCET Größerer Akzeptanzfaktor

Beeinflussbar per Shaper im System

Zerstört Burst-Optimierung Längere Analysen

Page 8: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

MinD Verwenden

Generisches Beispiel – Gain Exploriert über minD

0Periode

Analysedauer in Iterationen für obiges Beispiel

Page 9: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

Minimalabstand als Parameter

Genauere (= kleinere) WCET

Größerer Akzeptanzfaktor

Beeinflussbar per Shaper im System

Zerstört Burst-Optimierung Längere Analysen

Verkürzt Analysedauer! (?)

Page 10: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

Analysedauer, empirisch

Viele Versuche mit verschiedenen minD

Setze minD zu x%Periode Exploriert über x Durchschnitt,

Standardabweichung

Betrachtung von minD nur komplex für minD < 0,2 * P

Page 11: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

Komplexe minD Probleme Abschätzen

Berechne Busy-Window

Busy-Window = Initialwert

Mehr Preemptions?ja

Weitere Aktivierungen im Busy Window?ja

N+=1

Betrachte Aktivierung N=0

Page 12: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

Komplexe minD Probleme Abschätzen

Berechne Busy-Window

Busy-Window = Initialwert

Mehr Preemptions?ja

Weitere Aktivierungen im Busy Window?ja

N+=1

Betrachte Aktivierung N=0

N>K?

Dmin = 0

N = maxBurst

Page 13: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

Exploration über verschiedene K

Versuch wie oben Nur Average K maximale Anzahl mit

minD Rot: ohne minD zu

beachten Keine Aussage:

Genauigkeit

Page 14: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

Genauigkeit

Versuch wie oben Nur Average K maximale Anzahl

mit minD Ohne MinD = 0

Page 15: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

Erkenntnisse bis jetzt

Schwierige Probleme Große Last mit hochfrequentem höherpriorem Task Großer Burst mit minD << P und K groß

Fragen: Wie K wählen? Wie viele Iterationen rechnen?

Was für Ergebnisse geben schwierige Probleme?

Page 16: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

WCRT/WCET zu # Zyklen

WCRT/WCET = 500 (will man nicht)

Selbst für große K kann maxTotalCycles <150 gewählt werden

MaxTotalCycles = 50 fängt bei K< 20 die meisten Fälle mit WCRT/WCET < 500

K=10: Shortcut-Effekt?

Page 17: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

Abstrakt gesehen

Existierende Probleme

Nicht Existierende Probleme

WC

RT

/ W

CE

T

Analysedauer

K -> 0

K ->

Infeasible wg. Latenz-Constraints

Tighter Constraints

500

200

Page 18: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

Abbruch für WCRT > Pfadlatenz

Existierende Probleme

Nicht Existierende Probleme

WC

RT

/ W

CE

T

Analysedauer

K -> 0

K ->

Infeasible wg. Latenz-Constraints

Analysen können relativ früh abgebrochen werden

Tradeoff:Analysedauer – Genauigkeit über K

Page 19: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

Strategie für die lokale Analyse

Schedulability Analyse in O(n) -> siehe Literatur WCRT Analyse nur für Tasks, die Latenz-Constrained sind

Wenn WCRT > Gesamtlatenz abbrechen Alle Abkürzungen von oben, K wählbar. (für schnelle Analysen

wähle K=0) Gedanken:

Bei Latenz-Beschränkungen kann schnell abgebrochen werden Andere, evtl. schwierige Probleme durch schedulability Analyse

erschlagen -> Schwierig zu analysierende Tasks wahrscheinlich nicht Latenz-Kritisch.

Page 20: Real Time Analysis in Real Time Schedulability. Problembeschreibung Performanzanalyse in beschränkter Zeit Iteratives Verfahren mit Schedulability Analysen

Conclusion

Goal: Perform SPP Analysis in bounded number of iterations Use Optimizations of Sjödin/Hanson

Esp. Init Burst Top-Down Analysis of tasks (not further investigated)

Use minD shortcut Shaper will help in Analysis complexity Tradeoff – Accuracy vs # of analyzable problems possible

Hard Problems will produce very large WCRTs Only analyse Tasks that have a latency constraint WCRT > constraint is abort-condition for analysis