Adaptives Monitoring für Mehrkernprozessoren in eingebetteten sicherheitskritischen Systemen
Creators: name: Bapp, Falco K.
Publisher: name: Karlsruhe
Year: 2018
Subjects: Multicore
Functional Safety
funktionale Sicherheit
Eingebettete Systeme
Mehrkernprozessor

description: In vielen Anwendungsdomänen tragen softwarebasierte Systeme maßgeblich zu neuen Trends und Innovationen bei -- so auch in den Mobilitätsdomänen Automobilbau, Luftfahrt und Eisenbahnindustrie. Wesentliche Neuerungen können in Software auf neuester Hardware-Technologie entwickelt und in Umlauf gebracht werden. Speziell in den Mobilitätsdomänen sind besondere Anforderungen zu berücksichtigen sobald die Funktionen und Technologien in sicherheitskritischen Anwendungen integriert und eingesetzt werden. Neueste Hardware ist jedoch oftmals nicht für den Einsatz in solchen Anwendungen ausgelegt und kann daher die durch Standards und Normen vorgegebene Anforderungen nicht ohne weiteres erfüllen.

Dies gilt auch für den aktuellen Trend in der Prozessortechnologie, den Mehrkernprozessoren. Die bereits in Multimedia und Unterhaltungsmedien weit verbreiteten Mehrkernprozessoren können nicht uneingeschränkt Einzug in sicherheitskritische Anwendungen halten. Spezielle Methoden zur Absicherung im Sinne der funktionalen Sicherheit werden benötigt, um Mehrkernprozessoren überwachen und somit mindestens ein gleiches Maß an Sicherheit, wie in bereits etablierten Technologien, garantieren zu können.

In der vorliegenden Arbeit werden Methoden vorgestellt, die zur Steigerung der Zuverlässigkeit für Multicoreprozessoren eingesetzt werden können und es erleichtern, diese neuartige, komplexe Technologie in eingebetteten sicherheitskritischen Anwendungen einzusetzen. Anwendungsbereiche stellen beispielsweise Automobile, Flugzeuge, Anwendungen im Bereich der Industrieautomatisierung oder Züge dar. 

Obwohl (verteilte) Mehrprozessorsysteme bereits seit einigen Jahren eingesetzt werden, unterscheiden sich die Herausforderungen zur Absicherung durch die Integration in einen Chip erheblich von den bereits bekannten Herausforderungen bei der Entwicklung von Mehrprozessorsystemen. Der Übergang von verteilten Mehrprozessorsystemen zu hoch integrierten Mehrkernprozessoren bringt nicht nur eine neue Technologie, sondern auch eine immens gesteigerte Komplexität mit sich.

In den folgenden Kapiteln dieser Arbeit werden zunächst aktuelle Arbeiten und die Herausforderungen sowie die einhergehende Komplexität beim Übergang von Mehrprozessor- zu Mehrkern-Systemen vorgestellt. Diese Herausforderungen werden im Kontext der Applikationen als Fehlerbilder sichtbar, die wiederum zu Systemausfällen mit schwerwiegenden Folgen führen können. Diese resultierenden Fehlerbilder und deren Ursprung werden dargestellt. Um mögliche Fehler und daraus resultierende Ausfälle frühzeitig erkennen zu können werden im weiteren Verlauf der Arbeit neuartige Methoden zur Überwachung und Fehlererkennung in Mehrkernprozessoren vorgestellt und gegen die eingeführten Fehlerbilder reflektiert. Die Monitoring Mechanismen sind dabei nicht auf einen einzelnen Teil des Mehrkernprozessors oder eine Ebene im Design beschränkt, vielmehr handelt es sich um eine Hardware/Software Co-Design Entscheidung, welche der Mechanismen in Hardware und/oder in Software abgebildet und auf welcher Ebene im System diese umgesetzt werden. Das hieraus entstehende Multi-Level Monitoring mit parametrierbaren und adaptiven Konzepten deckt alle Ebenen von der Applikation bis zur Hardwareplattform ab.

Doch nicht nur die Überwachung von Mehrkernprozessoren spielt eine entscheidende Rolle, auch die sichere, deterministische und effiziente Nutzung von Ressourcen innerhalb des System-On-Chip stellt eine besondere Herausforderung dar. Dieser Nutzung wird ein weiteres Kapitel dieser Arbeit mit einem neuartigen Konzept gewidmet, das eine für die Software transparente Virtualisierung bereitstellt. Die eingeführte Hardware-Virtualisierung kann in weiten Bereichen ebenfalls parametriert werden und bietet die Möglichkeit zur Integration eines anwendungsspezifischen Schedulingverfahrens. Die vorgestellten Konzepte werden prototypisch implementiert, bewertet und es wird eine Validierung gegen die Fehlerbilder durchgeführt.

Weiterhin wird basierend auf den aktuellen Trends in der Industrie und Forschung davon ausgegangen, dass zukünftige Anwendungen, speziell durch den steigenden Grad an Automatisierung, strengeren Anforderungen genügen müssen. Dies bedingt, dass eine einfache Fehlererkennung und die Überführung in einen sicheren Systemzustand den künftigen Anforderungen nicht mehr genügen und ein bestimmter, minimaler Funktionsumfang immer bereitgestellt werden muss. Ein Konzept für die dynamische Migration von Funktionen für künftige Fail-Operational Systeme zur Integration in einen Mehrkernprozessor rundet die in dieser Arbeit vorgestellten Konzepte ab. 

Speziell die Entwicklung von sicherheitskritischen Anwendungen folgt strikten, durchgängigen und wohldefinierten Prozessen, in welchen die Mechanismen nicht losgelöst voneinander betrachtet werden dürfen. Zur besseren Handhabung der Konzepte und zur Anbindung an bereits bestehende und etablierte Entwicklungsprozesse, werden die Methoden in ein Bibliothekskonzept integriert. Dies sichert die einfache Nutzbarkeit und die Übertragbarkeit auf andere Anwendungsfälle und Architekturen. Die so entwickelten Systeme werden durch die vorgestellten Konzepte, die weitgehend parametriert und konfiguriert werden können und sich auf den jeweiligen Anwendungsfall anpassen lassen, unterstützt und reduzieren die Komplexität bei der Entwicklung.