Detailseite
Projekt Druckansicht

Dynamische Redundanz für Many-core Systeme

Fachliche Zuordnung Rechnerarchitektur, eingebettete und massiv parallele Systeme
Förderung Förderung von 2017 bis 2022
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 337312426
 
Sicherheitskritische Systeme benötigen Redundanz zur Fehlererkennung und -behebung. Abhängig von der Anwendung oder dem Ausführungszustand werden dazu verschiedene Arten von Redundanz benötigt: Zweifachredundanz für Fail-Safe-Systeme und Dreifachredundanz oder noch höhere Redundanz für Fail-Operational-Systeme. Zukünftige sicherheitskritische Systeme werden sich durch Modi-Wechsel zwischen Anwendungen verschiedener Kritikalität auszeichnen. Ein Beispiel aus dem Automotive-Bereich könnte der Wechsel vom Parkassistenten zum pilotierten Fahren sein, wobei beide Anwendungen zu unterschiedlichen Zeitpunkten auf dem gleichen Multicore ausgeführt werden, aber letztere die höheren Sicherheitsanforderungen hat. Dieses Projekt untersucht den dynamischen Wechsel zwischen verschiedenen Redundanzmodi in Abhängigkeit von externen Ursachen. Wie nennen dies dynamische Redundanz und untersuchen den dynamischen Redundanzwechsel zwischen Hardware-Modi (keine Redundanz, Zweifachredundanz und Dreifachredundanz) wie auch zwischen Software-Modi und Kombinationen aus beidem.Unsere Ziel-Hardware-Plattformen sind knotenbasierte Multiprozessorsysteme auf einem Chip (MPSoCs), die um fehlertolerante Hardware zu einen Adaptively Redundant Processor erweitert werden. Der dynamische Redundanzwechsel wird von einer Redundancy Management Unit pro Knoten und einer Network-on-Chip (NoC) Redundanzerweiterung gesteuert. Die NoC Redundanzerweiterung erhöht durch ihre NoC-basierte Voting-Fähigkeit die Skalierbarkeit des Systems.Auf Software-Seite starten wir mit einem Aktor-basierten Datenflussmodell, das Tasks, sogenannte Datenflussaktoren, in Abhängigkeit der Verfügbarkeit ihrer Eingabedaten parallel ausführt. Ein solches Modell findet sich häufig in parallelen Programmierumgebungen, wie zum Beispiel im Task-Modell von OpenMP. Wir erweitern das Datenflussaktormodell so, dass Aktoren zweifach- oder dreifachredundant ausgeführt und im Fehlerfall wegen ihrer Seiteneffektfreiheit leicht erneut gestartet werden können. Wir untersuchen zudem den dynamischen Redundanzwechsel zwischen Software- und Hardware-Modi, aber auch die Auswirkungen auf das Zeitverhalten und die Echtzeitplanung im Fehlerfall.Zur Evaluierung entwickeln wir eine Mehrebenensystemarchitektur, die wir als Adaptiv Redundante Many-core Architecture (ARMA) bezeichnen, welche dynamische Redundanz sowohl auf der Software- als auch der Hardwareebene umfasst. ARMA soll eine hohe Performanz durch die parallele Ausführung mit Sicherheitsmechanismen wie Fehlertoleranz und Zeitabschätzbarkeit kombinieren. Damit soll verschiedenen Anforderungen aus einem breiten Anwendungsfeld (Automotive, Avionik und Raumfahrt) der eingebetteten Systeme entsprochen werden. Das Konzept des dynamischen Redundanzwechsels soll auf einem FPGA-basierten ARMA Multicore evaluiert werden, jedoch sollen die gewonnenen Erkenntnisse und Techniken im Allgemeinen auf zukünftige MPSoC Architekturen anwendbar sein.
DFG-Verfahren Sachbeihilfen
 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung