Energy-Constrained Real-Time Systems and Their Worst-Case Analyses Energiebeschränkte Echtzeitsysteme und ihre Worst-Case-Analysen - Fachgruppe ...
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Energy-Constrained Real-Time Systems and Their Worst-Case Analyses Energiebeschränkte Echtzeitsysteme und ihre Worst-Case-Analysen 12. März 2021 Vortrag Promotionspreis der Fachgruppe Betriebssysteme Peter Wägemann Lehrstuhl für Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) Lehrstuhl für Verteilte Systeme und Betriebssysteme
Betrieb unter Zeit- & Energiebeschränkungen Anforderungen an Systemsoftware Energie Aufgabe E ISR Zeit: Termin Ei Energie: Budget Task (High Priority) Task (Low Prio... ...rity) Di Zeit Zeit 1. Echtzeitanforderung: Worst-Case Execution Time (WCET) 2. Energiebeschränkung Persistente Sicherung von Daten (rechtzeitig vor Batterieerschöpfung) Garantierte Ausführung: Worst-Case Energy Consumption (WCEC) Nebenläufige Aktivitäten: Verbrauch von Start → Ende von Aufgabe + Systemweite Analysen notwendig Peter Wägemann 2
Betrieb unter Zeit- & Energiebeschränkungen Anforderungen an Systemsoftware Energie Aufgabe E ISR Zeit: Termin Sicherheitskritische Systeme: Herzschrittmacher harte Anforderungen Ei1. Echtzeit Energie: Budget Task (High Priority) Sensorik: Herzaktivität Task (Low Prio... ...rity) Aktorik: Impulse Di Zeit Zeit 2. Energie 1. Echtzeitanforderung: Worst-Case Execution Time (WCET) Batteriebetriebene Anwendungen 2. Energiebeschränkung Aktuelle Entwicklungen: Energie-Harvesting-Mechanismen Persistente Sicherung von Daten (rechtzeitig vor Batterieerschöpfung) Ablaufplanung & Überwachung von Ressourcen zur Laufzeit Garantierte Ausführung: Worst-Case Energy Consumption (WCEC) Nebenläufige Aktivitäten: Verbrauch von Start → Ende von Aufgabe + Systemweite Analysen notwendig Peter Wägemann 2
Übersicht Konzeptionelle Struktur Wägemann et al. FAU ’19 Anwendung Wägemann et al. Wägemann et al. ECRTS ’15 SysWCEC GenE RTSS-WiP ’16 benötigt ECRTS ’18 WCET ’15 DARTS ’18 RTAS ’17 bestimmt führt deckt von Analysewerkzeug: zu auf Generator: Garantie Pessimismus obere Schranken Benchmarks Wägemann et al. RTAS ’16 verwendbar ermöglicht TECS ’18 von Betriebssystem: Ablaufplanung EnOS Peter Wägemann 3
Übersicht Wägemann et al. Problem: Bestimmung von WCEC-Schranken für Systeme mit Geräten FAU ’19 Anwendung Wägemann et al. ECRTS ’15 SysWCEC benötigt ECRTS ’18 DARTS ’18 bestimmt von Analysewerkzeug: Garantie obere Schranken Whole-System Worst-Case Energy-Consumption Analysis for Energy-Constrained Real-Time Systems Euromicro Conference on Real-Time Systems (ECRTS ’18), Outstanding Paper Whole-System WCEC Analysis for Energy-Constrained Real-Time Systems (Artifact) Dagstuhl Artifacts Series (DARTS ’18) Peter Wägemann 4
Systemmodell Energiebeschränkte Echtzeitsysteme Prozessor Ein Rechenkern Reduzierte Komplexität Software + Christians Systemmodell Ablaufplanung mit festen Prioritäten Asynchrone Interrupts (minimale Zwischenankunftszeit) Geräte & Zustände Verschiedene Geräte (Sensoren, Aktoren, Transceiver) Softwaregesteuert durch explizite Systemaufrufe Peter Wägemann 5
Teilproblem 1: Temporär aktive Geräte WCEC-Analyse 50 Task [Berechnungen] 40 B Leistung [in mW] Gerät ist A inaktiv // aktiviere Gerät dev 30 on(dev); Gerät ist [verwende Gerät] B 20 aktiv // deaktiviere Gerät Gerät ignorieren off(dev); 10 A C Gerät ist C [weitere Berechnungen] inaktiv 0 0 10 20 30 40 Zeit [in ms] Geräte bestimmen maßgeblich Leistungsaufnahme Strategie für Energieeinsparungen Aktiviere Gerät für Verwendung Deaktiviere Gerät nach Verwendung Peter Wägemann 6
Teilproblem 1: Temporär aktive Geräte WCEC-Analyse 50 Task Gerät immer aktiv [Berechnungen] 40 B Leistung [in mW] Gerät ist A inaktiv // aktiviere Gerät dev 30 on(dev); Gerät ist [verwende Gerät] B 20 aktiv // deaktiviere Gerät off(dev); 10 A C Gerät ist C [weitere Berechnungen] inaktiv 0 0 10 20 30 40 Zeit [in ms] Geräte bestimmen maßgeblich Leistungsaufnahme Strategie für Energieeinsparungen Aktiviere Gerät für Verwendung Deaktiviere Gerät nach Verwendung Grobgranulare Modellierung: Unterabschätzungen oder pessimistische Schranken Peter Wägemann 6
Teilproblem 2: Energiebedarf abhängig vom Systemzustand WCEC-Analyse 50 B 40 Leistung [mW] 30 Task τLOW ISR 20 [Berechnungen] a // behandle Interrupt 10 A Ea H A C Gerät ist inaktiv A // aktiviere Gerät dev E activateTask(high); 0 10 20 30 40 50 Zeit [ms] on(dev); 40 B Eb H B Leistung [mW] Gerät ist b aktiv B [verwende Gerät] E Task τHIGH 30 // deaktiviere Gerät 20 off(dev); // behandle Ereignis A C Gerät ist 10 C [Ereignisbehandlung] inaktiv [weitere Berechnungen] H 0 10 20 30 40 Zeit [ms] WCET-Analyse Task τHIGH beeinflusst WCET von Task τLOW WCEC-Analyse Task τHIGH beeinflusst WCEC von Task τLOW Task τLOW beeinflusst WCEC von Task τHIGH Wechselseitige Beeinflussung bei WCEC-Analyse Peter Wägemann 7
Der SysWCEC-Ansatz Übersicht Task E A WCEC = E max ( v∈V . . .+ P on(dev); B ...( "∈E . . . ) P off(dev); E C EC WC 1. Dekomposition: Blöcke mit gleicher Leistungsaufnahme 2. Pfadanalyse: kontextsensitive Programmpfade 3. Problemformulierung: Integer Linear Program (ILP) 4. Lösung: ILP systemweiter WCEC Peter Wägemann 8
Dekomposition Power Atomic Basic Blocks Eingabe: Ausgabe: Echtzeitsystem Power Atomic Basic Blocks E τLOW PABBa E ISR ISR on(dev) PABBd E PABBb τLOW off(dev) E activateTask(high) τHIGH τHIGH PABBc PABBe Atomic Basic Block (ABB) Systemaufruf: ABB-Terminator Atomar aus Sicht der Ablaufplanung Power Atomic Basic Block (PABB) Gerätebezogener Aufruf: weiterer Terminator Leistungewahre Analyse Peter Wägemann 9
Bestimmung systemweiter Pfade Power-State–Transition Graph Eingabe: Ausgabe: Power Atomic Basic Blocks Power-State–Transition Graph E τLOW PABBd PABBa E PABBa 5 mW ISR PABBe on(dev) PABBd 5 mW 5 mW E E PABBd PABBb PABBb 35 mW off(dev) E PABBe activateTask(high) 35 mW 35 mW E τHIGH PABBd PABBc 5 mW PABBc PABBe PABBe 5 mW 5 mW Transformation: Explizite Aufzählung der möglichen Systempfade Zustände propagieren entlang der Pfade Ausgabe: Graph mit Leistungszuständen: Power-State–Transition Graph + Kontextsensitive Pfade: Geräte & Betriebssystem Peter Wägemann 10
Bestimmung WCEC-Schranken ILP WCEC E PABBd // Nebenbedingungen: PABBa 5 mW PABBe PABBa,5 = PABBd,5 + PABBb,35 5 mW 5 mW E PABBd ... PABBb 35 mW PABBe 35 mW 35 mW // Zielfunktion: E P max ( WCECϑ · fϑ ) PABBd PABBc 5 mW PABBe 5 mW 5 mW Nebenbedingung: Pfade aus Zustandsgraph Zielfunktion: Maximierung Energiebedarf sichere WCEC-Schranke der Aufgabe Zusammenspiel aus WCEC- & WCET-Analyse 1. Beschränkung der Anzahl der möglichen Interrupts 2. Kosten von Knoten: WCEC = Pmax · WCET WCET-Analysepessimismus unbekannt Peter Wägemann 11
Übersicht Wägemann et al. Problem: Evaluation & Validierung von Worst-Case-Analysen FAU ’19 Anwendung Wägemann et al. Wägemann et al. ECRTS ’15 GenE RTSS-WiP ’16 benötigt ECRTS ’18 WCET ’15 DARTS ’18 RTAS ’17 bestimmt führt deckt von Analysewerkzeug: zu auf Generator: Garantie Pessimismus obere Schranken Benchmarks GenE: A Benchmark Generator for WCET Analysis Workshop on Worst-Case Execution Time Analysis (WCET ’15) Benchmark Generation for Timing Analysis Real-Time and Embedded Technology and Applications Symposium (RTAS ’17) Peter Wägemann 12
Analysepessimismus Ursachen const size_t N = 1024; int32_t values[N]; TASK(τsort ){ ... for(i = 0; i < N-1; i++){ • Verschachtelte Schleifen for(j = 0; j < N-1-i; j++){ if(compare(values[j], values[j+1])) • Eingabeabhängige Pfade swap(&values[j], &values[j+1]); • Hardware-Modellierung } } } Peter Wägemann 13
Fehlendes Vergleichsmaß Bestimmung Genauigkeit obere obere Häufigkeit Schranke Schranke tatsächliche Analysator 1 Analysator 2 WCET Ausführungszeit Bestimmung Genauigkeit der Analyse: tatsächlicher Worst-Case essenziell Existierende Benchmarks 1. Monolithische Struktur 2. Automatische Extraktion aller Programmfakten unmöglich + Evaluation & Validierung: Wissen über Programmfakten notwendig Peter Wägemann 14
Fehlendes Vergleichsmaß Bestimmung Genauigkeit obere obere Häufigkeit Schranke Schranke tatsächliche Analysator 1 Analysator 2 WCET Ausführungszeit Wie lässt sich die tatsächliche WCET ermitteln? + GenE: generiert Benchmarks, deren Programmfakten bekannt sind Peter Wägemann 14
GenE als Metapher Suche nach Pfad durch Labyrinth + Generativer Ansatz: Worst-Case-Pfad bekannt Peter Wägemann 16
Pattern Pfad-Pattern: gegenseitiger Ausschluss Pattern a < 5 ? Enthalten Programmfakten true Kombinierbar: ineinander verwoben Einfüge- false punkt Pfad-Pattern, Schleifen, arithmetische Operationen, Variablen, Funktionsaufrufe, . . . a < 5 ? Realistisch & herausfordernd false Industrie-Anwendungen Einfüge- true Literatur punkt Pattern-Suites verhindern monolithische Benchmarks end Peter Wägemann 17
Übersicht: GenE Pattern- Pfad- Worst-Case- Suite budget Eingabewert GenE Pattern- Pattern Bibliothek Benchmark- generator Benchmark tatsächliche Benchmark Programmfakten WCET Peter Wägemann 18
Evaluation der WCET-Analysatoren Platin & aiT WCET-Analysatoren: Platin & aiT Hardware: ARM Cortex-M4 (Infineon XMC4500) 10 000 Benchmarks, verschiedene Pattern Optimum: 0% Überabschätzung Platin aiT Instruktionscache Instruktionscache Deaktiviert: 96% Deaktiviert: 23% Aktiviert: – Aktiviert: 36% Peter Wägemann 19
Evaluation: aiT aiT (deaktivierter Instruktionscache) 450 400 Opti- Mittel mum 350 300 Häufigkeit 250 200 150 100 50 0 0 50 100 150 200 250 Überabschätzung [%] Peter Wägemann 19
100 Evaluation: Bugs in WCET-Analysator aiT 50 0 0 50 100 Beobachtung: Unterabschätzungen der tatsächlichen WCET AbsInt: Fehler in WCET-Analysator entdeckt durch Benchmarks von GenE 1. Pipeline-Modell: spekulative Sprungvorhersage 2. Speicher-Modell: fehlerhafte Zugriffsdauer 3GenE: Bestimmung Genauigkeit & Unterabschätzungen aufgedeckt Peter Wägemann 20
Übersicht Problem: Betrieb von energiebeschränkten Echtzeitsystemen Wägemann et al. FAU ’19 Anwendung Wägemann et al. Wägemann et al. ECRTS ’15 RTSS-WiP ’16 benötigt ECRTS ’18 WCET ’15 DARTS ’18 RTAS ’17 bestimmt führt deckt von Analysewerkzeug: zu auf Generator: Garantie Pessimismus obere Schranken Benchmarks Wägemann et al. RTAS ’16 verwendbar TECS ’18 von Betriebssystem: Ablaufplanung EnOS A Kernel for Energy-Neutral Real-Time Systems with Mixed Criticalities Real-Time and Embedded Technology and Applications Symposium (RTAS ’16) Operating Energy-Neutral Real-Time Systems Transactions on Embedded Computing Systems (TECS ’18) Peter Wägemann 21
Teilprobleme Betrieb energiebeschränkter Echtzeitsysteme Energie ? ? ll sfa au om Str Zeit Teilprobleme 1. Hoher Pessimismus ungenutzte Ressourcen 2. Ablaufplanung: Garantien unter beschränkten Ressourcen Zeit & Energie 3. Energie-Harvesting-Systeme: unregelmäßige Energiezufuhr & Stromausfälle Peter Wägemann 22
EnOS – Betriebssystemkern für energieneutrale Echtzeitsysteme Hardware Applikation Tasks nicht-flüchtiger Energie- Speicher Überwachung Ressourcen-Überwachung Mikro- Energie- controller EnOS Kern Energie-Zeit Speicher Ablaufplanung Suspendieren Wiederherstellen Hardware Energie Hardware Überwachung des Ressourcenverbrauchs: Interrupts für Ressourcenbudgets Persistenz: nicht-flüchtiger Speicher Peter Wägemann 23
EnOS – WCET- & WCEC-gewahre Betriebsmodi Software Energie- Energie- Energie- Suspend- modus M1 modus M2 modus Mn Modus Msusp T T T HIM 1 HIM 2 HIM n T HIM susp T T LOM T LOM T LOM LOM susp 1 2 n Taskset T1 Taskset T2 Taskset Tn Taskset Tsusp Budget M1 Budget M2 Budget Mn Budget Msusp Software Offline: Budgets für Betriebsmodi basierend auf WCET-/WCEC-Abschätzungen Online: Ausführung der Betriebsmodi je nach Ressourcenverfügbarkeit Optimistische Worst-Case-Abschätzungen mildern Analysepessimismus Überwachung des Ressourcenverbrauchs 3Vorausschauende Ablaufplanung ermöglicht Garantien Peter Wägemann 24
Zusammenfassung SysWCEC: Bestimmung von WCEC-Schranken für Systeme mit Geräten Wägemann et al. FAU ’19 3 Betrachtung aller leistungsrelevanten (De-)Aktivierungen 3 Sichere systemweite WCEC-Analyse Anwendung Wägemann et al. Wägemann et al. ECRTS ’15 RTSS-WiP ’16 benötigt ECRTS ’18 WCET ’15 bestimmt DARTS ’18 3 führt deckt RTAS ’17 von Analysewerkzeug: zu auf Generator: Garantie Pessimismus obere Schranken Benchmarks Wägemann et al. RTAS ’16 verwendbar ermöglicht TECS ’18 von Betriebssystem: Ablaufplanung Peter Wägemann 26
Zusammenfassung GenE: Evaluation & Validierung von Worst-Case-Analysen Wägemann et al. FAU ’19 3 Benchmark-Generierung Analysepessimismus 3 Bestimmung von Über- & Unterabschätzungen Anwendung Wägemann et al. Wägemann et al. ECRTS ’15 RTSS-WiP ’16 benötigt ECRTS ’18 WCET ’15 bestimmt DARTS ’18 3 führt deckt 3 RTAS ’17 von Analysewerkzeug: zu auf Generator: Garantie Pessimismus obere Schranken Benchmarks Wägemann et al. RTAS ’16 verwendbar ermöglicht TECS ’18 von Betriebssystem: Ablaufplanung Peter Wägemann 26
Zusammenfassung EnOS: Betrieb von energiebeschränkten Echtzeitsystemen Wägemann et al. FAU ’19 3 Betriebsmodi & Ressourcenüberwachung Reduktion des Pessimismus 3 Worst-Case-Schranken Garantien der Ausführung Anwendung Wägemann et al. Wägemann et al. ECRTS ’15 RTSS-WiP ’16 benötigt ECRTS ’18 WCET ’15 bestimmt DARTS ’18 3 führt deckt 3 RTAS ’17 von Analysewerkzeug: zu auf Generator: Garantie Pessimismus obere Schranken Benchmarks Wägemann et al. RTAS ’16 verwendbar ermöglicht TECS ’18 3 von Betriebssystem: Ablaufplanung Peter Wägemann 26
Vielen Dank für die Aufmerksamkeit! Fragen? Quellcode https://gitlab.cs.fau.de/syswcec https://gitlab.cs.fau.de/gene https://gitlab.cs.fau.de/enos Wägemann et al. FAU ’19 Anwendung Wägemann et al. Wägemann et al. ECRTS ’15 RTSS-WiP ’16 benötigt ECRTS ’18 WCET ’15 DARTS ’18 RTAS ’17 bestimmt führt deckt von Analysewerkzeug: zu auf Generator: Garantie Pessimismus obere Schranken Benchmarks Wägemann et al. RTAS ’16 verwendbar ermöglicht TECS ’18 von Betriebssystem: Ablaufplanung Peter Wägemann 27
Bildnachweise Fledermäuse (fliegend): Sherri and Brock Fenton Fledermaus (in Hand): Linus Günther Mobiler Knoten (BATS): Simon Ripperger Herzschrittmacher: Medtronic Micra Energie-Harvesting Herzschrittmacher: University of Illinois at Urbana-Champaign Airbus: https://upload.wikimedia.org/wikipedia/commons/4/48/Airbus_ A380_overfly_crop.jpg Peter Wägemann 28
Sie können auch lesen