MIXED-CRITICALITY SYSTEMS (MCS)

Werbung
MIXED-CRITICALITY SYSTEMS (MCS)
DEFINITION MIXED CRITICALITY SYSTEM
Ein System wo Applikationen mit verschiedenen Stufen von Kritikalität unter einer
gemeinsamen Computer Plattform ausgeführt werden.
DEFINITION CRITICALITY
Kritikalität ist eine Bezeichnung vom dem Niveau der Sicherheit gegen Fehler die eine
Systemkomponente hat.
VORTEILE VON MCS
 Große Performance Erhöhung in Berechnungen
 Führt zum Zusatz von vielen comfort / infotainment Funktionen
NACHTEILE VON MCS
 Erhöhte Verwendung von Elektrischen Signalen in Systemkritischen Bereichen
(X-by-wire, ...)
HERAUSVORDERUNGEN
 LIFT-UP EFFEKT
Wenn das sogenannte freedom from interference (Wenn man beweisen kann, dass die
verschiedenen Applikationen sich nicht gegenseitig beeinflussen können) nicht gegeben
ist, muss man die HW (ECU) anhand der Applikation mit der höchsten Kritikalitäts Stufe
implementieren.
 MULTI-CORE PROZESSOREN
Gemeinsame Ressourcen von Multi-Core Prozessoren (Caches, Memory, I/O) führen
zu Unvorhersehbarkeit.
Eine Applikation in einen Kern kann den zeitlichen Verlauf einer Applikation in einem
anderen Kern beeinflussen.

HETEROGENITÄT
o Verschiedene zeitliche Anforderungen (firm, soft, hard, non-realtime)
o Verschiedene Modelle der Berechnung (dataflow, time-triggered messaging,
distributed shared memory)

FUNDAMENTAL CHALLENGE (WIDERSPRÜCHLICHE VORAUSSETZUNGEN)
Die Vereinigung der widersprüchlichen Voraussetzungen von:
o partitioning (Für Sicherheitszwecken)
o sharing (Für optimale Ressourcenverwendung)
TECHNIKEN FÜR MCS
SCHEDULING
Scheduling benutzt die Kritikalitätsspezifische WCET (Worst Case Execution Time), die
für höhere Stufen der Kritikalität immer pessimistischer gewählt wird.
Viele der standard Scheduler können nicht in MC Systemen angewendet werden.
PARTITIONING
Partitioning ist die strenge Isolation von Applikation/Partitionen. Die Ausführung von
einer Partition soll die Ausführung einer anderen Partition nicht beeinflussen.
o Spatial Partitioning Isoliert den Speicher und den Zugriff an Ressourcen
einer Partition von den anderen (Memory, Network, I/O Devices, Interrupts)
o Temporal Partitioning Eliminiert die zeitliche Beeinflussung zwischen den
Partitionen (z.B. durch Partitionierung der CPU Time [und Zugriff an
Ressourcen] unter allen Applikationen)
Großer Vorteil von Partitioning sind reduzierte Zertifizierungskosten
MCS ARCHITEKTUREN
FEDERATED ARCHITECTURE
In der Federated Architecture wird jede Applikation (Distributed Application Subsystem)
in separaten selbst-ständigen Hardware Komponenten verteilt, die über ein
gemeinsames Netzwerk interkommunizieren.
Für MC Systeme ist es erforderlich das gemeinsame Netzwerk zu partitionieren.
Beachte: Hier finden wir wieder die fundamentale Herausforderung das Netzwerk
sicherheitskritisch zu isolieren, aber trotzdem die gesamte Netzwerkbandbreite effizient
auszunutzen.
Ein Ansatz ist die Partitionierung durch Arbitrierung
z.B. TDMA [Time Division Multiple Access] das von sogenannten Bus Guardians
durchgesetzt wird (um Babbling Idiots zu verhindern)


NACHTEILE
Erhöhter Kabelbedarf
o Platzverschwendung
o erhöhtes Gewicht
o Verringerte Zuverlässigkeit (Kabelverbindungen an 60% von elektrischen
Fehler zurückzuführen)
Erhöhte Anzahl von Prozessoren
o Hohe Hardware Kosten
o Erhöhter Stromverbrauch
INTEGRATED ARCHITECTURE
Im Gegensatz zu der Federated Architekture werden in der Integrated Architecture
Applikationen (Distributed Application Subsystems) in einer gemeinsamen Hardware
Komponente implementiert.
Die Verwendung von Integrated Architecture ist eine Lösung gegen den Nachteilen der
Federated Architecture, hat aber das Problem, dass die Partitionierung viel schwerer ist.
Ein Lösungsvorschlag um die Partitionierung vorzunehmen ist die Verwendung von
einen Separation Kernel (Virtualisierung).
Ein Separation/Partitioning Kernel ist erstellt in einer gemeinsamen Maschine eine
virtuelle Umgebung die die jeweiligen Komponenten nicht vom der physikalischen (hw)
Umgebung unterscheiden können.
Ein Hypervisor (Virtual Machine Monitor) ist eine mögliche Implementierung des
Konzepts des Separation Kernels. Es gibt zwei Typen von Hypervisor:
o Type-1 (Native / Hardware)
o Type-2 (Hosted / Software)
Ein Systemcall führt in einen Type-2 Hypervisor im Allgemeinen zu mehr modeswitches und deshalb zu geringerer Performance.
Es gibt 3 Konzepte der Virtualisierung:
o Full Virtualization
Der Applikation ist nicht bekannt, dass sie in einer Virtuellen Umgebung
arbeitet
o Para-Virtualization
Der Applikation ist bekannt, dass sie in einer Virtuellen Umgebung arbeitet,
und hat dementsprechend optimierte systemcall Aufrufe
o Binary-Translation
Die Instruktionen der Applikation werden in andere Instruktionen übersetzt,
die z.B. von der HW erkannt werden.
Für MC Systeme werden meist Type-1 Hypervisor mit Para-Virtualization verwendet.
Folgende Probleme verhindern die Verwendung von Full Virtualization in MC Systeme:
o Memory Management (Memory Arbitration)
o Cache Kontext (Cache bei Kontext Switch ungültig machen oder Cache
partitionieren)
o I/O Device Handling (I/O Arbitration)
o Interrupts
o Communication/Networking (TDMA,...)
SIDENOTE: Für Memory Arbitration gibt es auch das Konzept von Dual-Layer
Arbitration, in der ein Slot im TDMA Verfahren in dem Dynamisch mittels RoundRobin
arbitriert wird. Somit hat jede systemkritische Applikation zwar ihren fixen TDMA slot,
aber system-unkritische Applikationen können trotzdem im dynamischen Slot mittels
Round Robin arbitriert werden.
MIXED CRITICALITY SYSTEM vs FAULT TOLERANT SYSTEM
Ein großer Teil der Forschung in MC Systemen bedenkt nicht die Möglichkeit eines
permanenten HW Fehlers/Ausfalls.
MC Systeme können gut mit Tripple Modular Redudancy Systemen (Fault Tolerant
System) kombiniert werden.
o MCS wird für die Fehler Eindämmung mittels Partitionierung verwendet
o während TMR für Ausfall Redundanz verwendet wird.
Herunterladen