Design und Analyse von selbst-suspendierenden eingebetteten Echtzeitsystemen
In Computersystemen kann es dazu kommen, dass eine Taskinstanz sich selbst von der Ausführung (auf dem zugeordneten Prozessor) suspendiert, z.B. auf Grund von Interaktion mit externen I/O Geräten, in Multiprocessorsystemen mit geteilten Ressourcen, in suspendierungsbewussten Multiprocessorsystemen mit Synchronisierungsprotokollen, etc. In eingebetteten Echtzeitsystemen kann Selbstsuspendierung negative Auswirkungen auf die Schedulebarkeit von Echtzeittasks haben und führt normalerweise zu einer wesentlichen Verschlechterung der Performance / Schedulebarkeit.
Fig: Zwei Tasks τ1 (höhere Priorität, Periode 5, Relative Deadline 5, Ausführungszeit 3) und τ2 (niedrigere Priorität, Periode 7, Relative Deadline 7, Ausführungszeit 2) halten ihre Deadlines ein in (a). Herkömmliche Schedulability Analyse sagt eine maximale Response-Zeit von 3 bzw. 5 voraus. In (b), suspendiert der Task τ1 sich selbst, mit dem Ergebnis, dass Task τ2 seine Deadline zum Zeitpunkt 14 nicht einhalten kann. (Quelle: Many suspensions many problems by Chen et al. in RTSJ 2019)
Auch wenn in der Vergangenheit einige scheinbar positive Resultate im Bezug auf die Lösungen der von Task Systemen mit Selbstsuspendierung ausgehenden Probleme publiziert wurden, hat eine aktuelle Untersuchung unter der Leitung des Antragstellers Prof. Dr. Jian-Jia Chen gezeigt, dass ein signifikanter Anteil der vor 2013 entstandenen Literatur zu diesem Thema (und damit auch die Mehrzahl der bekannten Ergebnisse) schwerwiegende Fehler enthielt. Da die meisten Ergebnisse vor 2013 fehlerhaft waren oder nur unvollständige Beweise enthielten, wurde die Untersuchung von selbst-suspendierenden Task-Modellen in eingebetteten Echtzeitsystemen im Jahr 2015 de facto neu gestartet. Innerhalb dieses Projekts soll nach robusten und soliden fundamentalen Algorithmen und Analysemethoden gesucht werden, um den Einfluss von Selbstsuspendierungsverhalten in modernen eingebetteten Systemen sorgfältig abzumildern (durch sichere und fehlerfreie Erzwingung von Ausführungs/Suspendierungs-Mustern) und zuanalysieren (mit Hilfe genauer Schedulability-Tests). Dies soll insbesondere im Bezug auf sicherheitskritische Systeme mit Echtzeitanforderungen geschehen. Da Slbstsuspendierungsverhalten zu einem hohen Maß an Komplexität führen kann, sind neue Scheduling Strategien oder die Überarbeitung von existierenden Scheduling Strategien notwendig. Ziel unseres Projektes ist es, fundamentale Durchbrüche in der Scheduling Theorie und bei den entsprechenden Schedulability Analyse zu erzielen. Diese sollen an das Selbstsuspendierungsverhalten flexibel angepasst werden ohne das Worst-Case Zeitverhalten mit zu viel Pessimismus zu untersuchen. Mit Hilfe der Scheduling Strategien und der Schedulalibility-Tests die in diesem Projekt geliefert werden, wollen wir Werkzeuge für Designer von Echtzeitsystemen zur Verfügung stellen, damit weitere Optimierungen möglich sind, bei denen die Perpektive der Controller, der Kommunikation und der Berechnung beachtet werden.
(Quelle: DFG)
Projektinformationen
Dauer: | Nov. 2019 - Okt. 2022 (3 Jahre) |
Verweise: |
|
Angestellt: | M.Sc. Mario Günzel |
2020
- Suspension-Aware Earliest-Deadline-First Scheduling Analysis.
Mario Günzel, Georg Brüggen and Jian-Jia Chen.
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 39(11): 4205-4216
(presented in ACM Conference on Embedded Software, EMSOFT)
2020 - Correspondence Article: Counterexample for suspension-aware schedulability analysis of EDF scheduling.
Mario Günzel and Jian-Jia Chen.
Real Time Systems Journal, 56(4): 490-493 (2020)
2020 - On Schedulability Analysis of EDF Scheduling by Considering Suspension as Blocking.
Mario Günzel and Jian-Jia Chen.
CoRR abs/2001.05747
2020