Upload
phunghuong
View
216
Download
0
Embed Size (px)
Citation preview
LEHRSTUHL FÜR VERTEILTE SYSTEME
UND BETRIEBSSYSTEME
Anwendungsgewahre Ressourcenverwaltung
in Echtzeitregelungssystemen
Seminarvortrag
Daniel Schiener
20. Juni 2014
Einleitung
■ „Spezialfall“ Echtzeitsystem
■ Echtzeit Geschwindigkeit
■ nicht-funktionale Anforderungen im Fokus
(Rechtzeitigkeit, Vorhersagbarkeit, Ausfallsicherheit)
■ Einsatzgebiet: eingebettete Systeme
Ressourcenbeschränkungen (Rechenzeit, Speicher)
■ Vielzahl bekannter Methoden nicht anwendbar
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 2 Daniel Schiener
Agenda
■ Die Welt der Echtzeit - Grundlagen
■ Struktureller Aufbau von Echtzeitsystemen
■ Eigenschaften von Echtzeitsystemen (Termin, Hyperperiode)
■ Typen von Echtzeitsystemen
■ naive Rekonfiguration: „one-shot“
■ Anwendungsgewahre Ressourcenverwaltung
■ Problemfall Überlast
■ Toleranz der Überlast
■ durch Anpassung der Perioden
■ durch Anpassung der Rechenzeit
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 3 Daniel Schiener
Die Welt der Echtzeit – Grundlagen (1)
■ Struktureller Aufbau
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 4 Daniel Schiener
Arbeitsauftrag
A1,1
Echtzeitanwendung
A
Echtzeitanwendung
B
Aufgabe A1 Aufgabe A2 Aufgabe A3
Arbeitsauftrag
A1,2
Die Welt der Echtzeit – Grundlagen (2)
■ Aufgaben
■ periodisch, aperiodisch, nicht-periodisch
■ Priorität (Verdrängbarkeit)
■ Zeitliche Eigenschaften
■ Terminarten
■ weich Terminverletzung hinnehmbar, Datennutzen nimmt ab
■ fest Terminverletzung hinnehmbar, Daten sofort unbrauchbar
■ hart Terminverletzung katastrophal (Airbag)
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 5 Daniel Schiener
0 2 4 6 8 10 12 14 16 18 20
A1 A1
Periode P Ausführungszeit C
Auslösung R
Einlastung S
Auslösung Einlastung
Termin T
Termin
Die Welt der Echtzeit – Grundlagen (3)
■ Taktgesteuerte Echtzeitsysteme
■ statische Ablauftabelle (Auslösezeiten, Ausführungszeiten, Termine, etc.)
■ Aufgabenauslösung durch Zeitgeber
■ keine externen Ereignisse (Unterbrechungen)
■ keine Prioritäten
■ i.d.R. harte Termine
■ Ereignisgesteuerte Echtzeitsysteme
■ prioritätsbasierte Ablaufplanung Verdrängung
■ Aufgabenauslösung durch Ereignisse
■ externe Ereignisse (Unterbrechungen z.B. durch Zeitgeber)
■ interne Ereignisse
■ prioritätsbasierte Ablaufplanungsverfahren (RM, DM, EDF)
■ Rate Monotonic: je kürzer die Periode desto höher die Priorität
■ weiche bis harte Termine
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 6 Daniel Schiener
Die Welt der Echtzeit – Grundlagen (4)
■ Hyperperiode
■ Dauer: kgV aller Perioden
■ jede Aufgabe mindestens 1x ausgeführt
■ Ablaufplan/Ablauftabelle beginnt von vorn
■ keine Abhängigkeiten von Betriebsmitteln (Sperrvariablen)
■ Grundzustand (quiescence state)
■ Beispiel: Ablaufplan nach RM
■ A: Periode 5
■ B, C, D: Periode 10
Hyperperiode: 10
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 7 Daniel Schiener
0 2 4 6 8 10 12 14 16 18 20
Hyperperiode Hyperperiode
A B C D A C A B C D A C
Rekonfiguration: „one-shot“
■ Szenario
■ Menge von Aufgaben unterschiedlicher Prioritäten und Perioden
■ weiche bis harte Termine
■ abhängige und unabhängige Aufgaben
■ taktgesteuertes oder ereignisgesteuertes System
■ Rekonfigurationssituation
■ Wechsel des Betriebsmodus
■ Konzept
■ Tausch der Ablaufpläne/Ablauftabellen durch Umschaltung („one-shot“)
■ Ausnutzen der Hyperperiode
■ keine Abhängigkeiten
■ keine Ressourcenkonflikte durch allokierte Betriebsmittel
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 8 Daniel Schiener
„one-shot“ – Beispiel: Regelungsanwendung R
■ Normalbetrieb
■ Umschaltvorgang
■ Periode von R bleibt gleich
■ Ausführungszeit von R nimmt ab
■ Echtzeitanwendung E ersetzt D
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 9 Daniel Schiener
0 2 4 6 8 10 12 14 16 18 20
Hyperperiode Hyperperiode
A C R D A C A C R D A C
0 2 4 6 8 10 12 14 16 18 20
Hyperperiode Hyperperiode
A C R D A C A C R E A C
„one-shot“ – Beispiel: Regelungsanwendung R
■ Problem: Maximale Umschaltzeit
■ hochfrequente Aufgaben in Konflikt mit zeitintensiven Aktualisierungen
■ Problem: Distanz zwischen Anforderungs- und Umschaltzeitpunkt
■ Latenz, Trägheit, sehr statisch
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 10 Daniel Schiener
A R C D A C A R C E A C
0 2 4 6 8 10 12 14 16 18 20
Distanz
0 2 4 6 8 10 12 14 16 18 20
A R C D A C A R C E A C
Maximale Umschaltzeit
Motivation – Anwendungsgewahre Ressourcenverwaltung
■ Definition: Echtzeitregelungssystem
■ Regelungsanwendungen häufigste Art von Echtzeitsystemen
■ Einsatzgebiete
■ Automobil
■ Luft- und Raumfahrt
■ Industrieanlagen
■ Regelung typischerweise zyklisch
■ Lesen von Sensordaten
■ Berechnen von Stellwerten
■ Durchführen der Regelung
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 11 Daniel Schiener
Messen Rechnen Regeln
Motivation – Anwendungsgewahre Ressourcenverwaltung
■ Rekonfiguration in Echtzeitregelungssystemen
■ Rekonfiguration überwiegend auf Anwendungsebene
■ Gründe
■ Moduswechsel wegen veränderter Umweltbedingungen (Schneefall, Nebel)
■ situationsbedingte Ausnahmefälle (Prozessorausfall)
■ seltener: Aktualisierungen der Anwendung
■ Probleme
■ Wiederherstellung des Normalzustands benötigt Zeit
■ Zeit aufgrund der Seltenheit des Fehlerfalls nicht einkalkulierbar
■ Folgen
■ Überlast
■ Abnahme der Regelgüte
■ Systemausfall (Anti-Blockier-System, ABS)
■ Ziele
■ Toleranz der Überlast
■ Gewährleistung der Regelgüte
■ Prävention eines Systemausfalls
■ Fokus: Einhaltung nicht-funktionaler Eigenschaften
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 12 Daniel Schiener
Robustheit der Regelung
■ Überlastsituation
■ Grund: Ausnahmefälle
(z.B. Anwendungswiederherstellung nach Prozessorausfall)
■ Problem: keine Zeit für die Behandlungsroutine im Ablaufplan
(„woher nehmen wenn nicht stehlen?“)
■ Lösung: (Regel-)Aufgaben wird Zeit entzogen
■ Folgen:
■ Berechnungszeiten unzureichend
■ Zunahme von Terminverletzungen
■ Abnahme der Regelgüte
■ Inhärente Robustheit
■ Überdimensionierung der Regelung
■ Verschlechterung der Abtastung
■ Verschlechterung der Regelung (Periodenausfall)
■ Terminverletzung Signalverarbeitung funktioniert ggfs. weiter
■ ABER: nur begrenzt tolerierbar!
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 13 Daniel Schiener
Beispiel: Signalverarbeitung
■ Beispiel: Signalabtastung durch Regelaufgabe mit Periode 1
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 14 Daniel Schiener
-1,0
-0,5
0,0
0,5
1,0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Abtastung
-1
-0,5
0
0,5
1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Eingangssignal
Beispiel: Signalverarbeitung
■ Beispiel: Signalabtastung durch Regelaufgabe mit Periode 2
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 15 Daniel Schiener
-1,0
-0,5
0,0
0,5
1,0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Abtastung
-1
-0,5
0
0,5
1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Eingangssignal
Anpassung der Perioden - Szenario
■ Szenario
■ periodische, hochpriore Regelaufgabe
■ Menge von Aufgaben unterschiedlicher Priorität und Periode
■ abhängige und unabhängige Aufgaben
■ Ablaufplan nach RM mit harmonischen Perioden
■ Multiprozessor-System
■ Rekonfigurationssituation
■ Wechsel des Betriebsmodus
■ Anwendungswiederherstellung nach Prozessorausfall
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 16 Daniel Schiener
Anpassung der Perioden – Konzept (1)
■ Belohnungssystem
■ Aufgaben besitzen…
■ Menge möglicher Perioden
■ Nutzen und „Belohnung“
■ Perioden, Nutzen und „Belohnung“ zur Entwurfszeit bekannt
■ je wichtiger die Aufgabe zur Gewährleistung der Regelgüte…
■ desto höher ist ihr Nutzen
■ desto höher ist ihre „Belohnung“
■ desto höher ist ihr Anteil an Rechenzeit
verringert sich Anteil an Rechenzeit (Periode verlängert sich),
so erhöht sich die „Belohnung“ / der Nutzen
Ziel: Maximierung der „Belohnung“ bzw. des Gesamtnutzen
Zeitgewinn durch dynamische Anpassung der Perioden
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 17 Daniel Schiener
Anpassung der Perioden – Beispiel: Nutzen/Regelgüte
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 18 Daniel Schiener
Anpassung der Perioden – Konzept (2)
■ Performanz-Index PI (performance index) = Regelgüte
■ Ermittlung durch Simulation
■ spezifisch für jede Regelungsanwendung
■ repräsentiert die Kosten für das System, um…
■ eine Aufgabe mit bestimmter Periode auszuführen bzw.
■ eine Schattenaufgabe auszuführen
■ Schattenaufgaben (shadow task)
■ laufen mit maximaler Periode
■ laufen nie zusammen mit Basisaufgabe auf einem Prozessor
■ laufen nie zusammen mit anderen Schattenaufgaben der Basisaufgabe
auf einem Prozessor
schnelle Reaktion auf Überlast
Gewährleistung der minimalen Regelgüte im Rekonfigurationsfall
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 19 Daniel Schiener
Anpassung der Perioden – Beispiel: Prozessorausfall
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 20 Daniel Schiener
Aufgabe
ausgefallen?
Schattenaufgabe
vorhanden?
Einsatz der
Schattenaufgabe
Aufgabe für
Reallokation
markieren
alle Aufgabe
markiert?
ja
ja
unabhängige
Aufgaben?
ja
Reallokation für
unabhängige
Aufgaben
durchführen
(AIT)
Reallokation für
abhängige
Aufgaben
durchführen
(ART)
ja nein
ja
nein
nein
Anpassung der Perioden – Reallokationsalgorithmen
■ Reallokation für unabhängige Aufgaben
(algorithm for independent tasks, AIT)
■ Rucksackproblem NP-Vollständigkeit Heuristischer Algorithmus
■ Rucksack: verfügbare, ungenutzte Gesamtrechenleistung
(CPU 0 + CPU 1 + CPU 2 …)
■ Zielfunktion: Maximiere Gesamtnutzen
System soll mit den wichtigsten Aufgaben optimal ausgelastet sein
■ Nebenbedingungen
■ maximale CPU-Auslastung 100 %
■ Prozessor Haupttask != Prozessor Schattentask
■ Lösung wird auf Prozessoren verteilt
■ Reallokation für abhängige Aufgaben
(algorithm for related tasks, ART)
■ analog AIT
■ zusätzliche Nebenbedingung
■ gemeinsame Anpassung der Perioden abhängiger Tasks
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 21 Daniel Schiener
Anpassung der Perioden – Fazit
■ Fazit
+ keine Anpassung des Algorithmus erforderlich
+ Berücksichtigung von Abhängigkeiten
Ermittlung des PI durch Simulation fragwürdig
Anwendbarkeit eingeschränkt
Laufzeit
Komplexitätsgrad des regelungstechnischen Entwurf
Eignung nur für Multiprozessor-Systeme
Komplexitätsgrad der Abhängigkeiten in der Praxis üblicherweise sehr
hoch (Bremse)
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 22 Daniel Schiener
Anpassung der Rechenzeit - Szenario
■ Szenario
■ implizit dreigeteilte Regelaufgabe
■ Abtastung/Eingabe, Berechnung, Regelung/Ausgabe
■ Menge von Aufgaben unterschiedlicher Prioritäten und Perioden
■ unabhängige Aufgaben
■ Singlecore-System
■ Rekonfigurationssituation
■ Wechsel des Betriebsmodus
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 23 Daniel Schiener
Anpassung der Rechenzeit – Konzept (1)
■ Zusteller
■ führt Regelaufgabe aus
■ bandweite-bewahrend: garantiert Ausführungsbudget
■ variable Bandweite, abhängig von Systemauslastung und Regelgüte
Zeitgewinn durch dynamische Anpassung der Bandweite
■ Berechnungsmodell erlaubt…
■ variable aber bekannte Abtastungs- und Regelungszeitpunkte
■ Abschätzungen für den „schlimmsten Fall“
■ gelegentliche Terminverletzungen
■ gelegentliche Berechnungsausfälle
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 24 Daniel Schiener
Exkurs: Zusteller
■ Zusteller
■ spezielle periodische Aufgabe
■ erlaubt Ausführung nicht-periodischer Aufgaben im eigenen Kontext
vereinfacht Planbarkeitstest
einzige Möglichkeit nicht-periodische Aufgaben
in taktgesteuerten Systemen abzuarbeiten
■ Auffüllperiode F
■ Erneuerungszeitpunkt für Ausführungsbudget
■ Ausführungsbudget Q
■ Ausführungszeit in einer Auffüllperiode
■ Bandweite B
■ 𝐵 =𝑄
𝐹=
𝐴𝑢𝑠𝑓üℎ𝑟𝑢𝑛𝑔𝑠𝑏𝑢𝑑𝑔𝑒𝑡
𝐴𝑢𝑓𝑓ü𝑙𝑙𝑝𝑒𝑟𝑖𝑜𝑑𝑒
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 25 Daniel Schiener
Exkurs: Zusteller
■ Varianten
■ abfragender Zusteller:
verwirft Ausführungsbudget für den Fall, dass
Auslösezeitpunkt n.-p. Aufgabe > Auslösezeitpunkt Zusteller
■ bandweite-bewahrender Zusteller:
garantiert Ausführungsbudget unabhängig vom Auslösezeitpunkt
■ Beispiel: bandweite-bewahrender Zusteller Z
■ R = 0; C = 3; P = 9; Q = 1; F = 3
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 26 Daniel Schiener
0 2 4 6 8 10 12 14 16 18 20
P
F
Z A B Z B Z C Z A B Z B Z C
Anpassung der Rechenzeit – Berechnungsmodell
■ Annahmen
■ T = R + P (Termin entspricht dem Periodenende)
■ P = n * F (Auffüllperiode ist ganzzahliger Teiler der Periode)
■ Berechnungsmodell
■ Fall 1: Regelaufgabe endet vor ihrem Termin
Folge: Regelung erfolgt zum Termin
■ Fall 2: Regelaufgabe endet nach ihrem Termin
Folge: Regelung erfolgt am Ende der aktuellen Auffüllperiode
■ Fall 3: Regelaufgabe endet nach ihrem Termin und
überschreitet Grenzwert (Grenzwert: 1x Periode)
Folge: aktuelle Regelaufgabe wird abgebrochen
■ Fall 4: Abtastung erfolgt immer zusammen mit Regelung der
vorhergehenden Aufgabe
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 27 Daniel Schiener
Anpassung der Rechenzeit – Beispiel (1)
■ Beispiel
■ R = 0, P = 9, F = 3, C/Q = variabel
■ Zusteller Zk mit k gleich der k-ten Ausführung
■ Fall 1
■ Regelaufgabe endet vor ihrem Termin
■ Folge: Regelung erfolgt zum Termin
■ Ziel: Vermeidung von Schwankungen bei der Regelung/Ausgabe
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 28 Daniel Schiener
0 2 4 6 8 10 12 14 16 18 20
Z1 Z1 Z1 Z1 Z3 Z2 Z2
P
F
Regelung Z2
Anpassung der Rechenzeit – Beispiel (2)
■ Fall 2
■ Regelaufgabe endet nach ihrem Termin
■ Folge: Regelung erfolgt am Ende der aktuellen Auffüllperiode
■ Ziel: Vermeidung variabler Zeitpunkte für Regelung/Ausgabe
■ Fall 3
■ Regelaufgabe endet nach ihrem Termin
und überschreitet Grenzwert (Grenzwert: 1x Periode)
■ Folge: aktuelle Regelaufgabe wird abgebrochen
■ Ziel: Vermeidung von Verzögerungen der Regelung/Ausgabe
unbekannter Länge
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 29 Daniel Schiener
0 2 4 6 8 10 12 14 16 18 20
Z1 Z1 Z1 Z1 Z3 Z2 Z2
P
F
Regelung Z1
Anpassung der Rechenzeit – Beispiel (3)
■ Fall 4
■ Abtastung erfolgt immer zusammen mit Regelung
der vorhergehenden Aufgabe
■ Ziele
■ Vermeidung variabler Zeitpunkte für Abtastung
■ Aktualisierung der Eingabedaten
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 30 Daniel Schiener
0 2 4 6 8 10 12 14 16 18 20
Z1 Z1 Z1 Z1 Z3 Z2 Z2
P
F
Regelung Z1
Abtastung Z2 Regelung Z2
Abtastung Z3
Anpassung der Rechenzeit – Fazit
■ Fazit
+ flexibles Modell im Vergleich zu „one-shot“
+ Abschätzbarkeit des schlimmsten Falls
(Terminverletzung / Berechnungsausfall)
+ Prävention von Verzögerungen/Schwankungen unbekannter Dauer
+ Auffrischung der Eingabedaten
keine Berücksichtigung von Abhängigkeiten
keine Berücksichtigung der Allokation von Betriebsmitteln
(Ressourcenkonflikte?)
keine Berücksichtigung von Abtastung/Regelung (nicht modelliert)
Ermittlung des Referenzmaßes unklar
AKSS / SS 2014 / Anwendungsgewahre Ressourcenverwaltung in Echtzeitregelungssystemen 31 Daniel Schiener
Danke für eure Aufmerksamkeit!