23.

11.2020

Top 10 Gründe für die Virtualisierung

Eingebettete Virtualisierung hat sich zu einer entscheidenden Technologie entwickelt, wenn es darum geht, die Komplexität der Funktionen im Auto in den Griff zu bekommen. Und sie nimmt weiter an Bedeutung zu, wenn Fahrzeuge hochautomatisiert oder sogar autonom werden. Durch Virtualisierung können die Ressourcen eines Prozessors mehreren, sicher voneinander getrennten Anwendungen und Betriebssystemen zugewiesen werden. Auf diese Weise können Hersteller die Prozessorleistungen besser nutzen und die Hardwarekomplexität im Fahrzeug verringern.

Grund Nr. 1: Virtualisierung hilft bei der Skalierung und Verwaltung der Komplexität.

Virtualisierung ist eine Technologie, durch die heterogene Softwaresysteme, die bislang auf unterschiedlichen ECUs ausgeführt wurden, jetzt auf einem einzigen Hardwaresystem konsolidiert werden können. Diese Hypervisortechnologie ermöglicht es also, einen größeren Funktionsumfang auf ein- und derselben Hardware zu integrieren. Das mag zunächst komplex erscheinen, aber faktisch können typische Entwicklungsaufgaben heute mithilfe einer Virtualisierungslösung viel einfacher durchgeführt werden. Das gilt z.B. für die Integration von Applikationen, HIL-SW-Tests und Systemintegration, für die früher mehrere Hardware- und Tooling-Umgebungen benötigt wurden. Darüber hinaus bietet der Typ-1-Hypervisor im COQOS Micro SDK genügend Headroom, um zahlreiche Kombinationen virtueller Maschinen (mit mehreren physischen Kernen und / oder mehreren virtuellen Kernen) zu integrieren. Voraussetzung: Er wird auf einem SoC der neuesten Generation ausgeführt.

Grund Nr. 2: Virtualisierung hat einen begrenzten Aufwand für die CPU- und Speicherauslastung.

Beim Hinzufügen von Virtualisierung zu einem System muss eine spezielle Software ausgeführt werden, damit Hypervisor-Funktionen wie Kontextumschaltung oder Routing von Interrupts ausgeführt werden. Dafür wird Prozessorleistung beansprucht, aber mit der heutigen Hardware ist dieser Bedarf sehr gering geworden. Die neue Generation des CPU-Designs mit Armv8-R ISA – insbesondere das Arm-R52-Design – umfasst hardwaregestützte Virtualisierungs-Features , wie z. B. eine optimierte MPU für eine schnellere Kontextumschaltung. Diese Designs stehen jetzt z.B. auf dem NXP S32S bereit.

Außerdem wird die ereignisbasierte Hypervisor-Architektur von OpenSynergy nur bei Bedarf aufgerufen. Folglich ist in bestimmten Konfigurationen die Leistung der virtualisierten Applikationen praktisch dieselbe wie bei einer Bare-Metal-Implementierung.

In einer Virtualisierungsarchitektur vom Typ-1 verringert die Speichergröße der virtualisierten Software (einschließlich Betriebssystem, Bibliotheken, Anwendungslogik und Daten) auch die Speichergröße für die Virtualisierungssoftware (Hypervisor und Gerätetreiber) um ein Vielfaches.

Grund Nr. 3: Durch Virtualisierung lässt sich die Funktionssicherheit leichter demonstrieren.

Der Hypervisor kann als Safety Element out of Context (SEooC) zertifiziert werden. Tatsächlich war der COQOS Hypervisor von OpenSynergy der erste Automobil-Hypervisor, der nach der neuesten Version der ISO26262-Spezifikation zertifiziert wurde. Dieser Ansatz bietet Systemarchitekten eine große Hebelwirkung, um die Sicherheitszertifizierung in ihrem Design wiederzuverwenden und den Zertifizierungsaufwand zu verringern. Außerdem ermöglicht Virtualisierung mehrere Lebenszyklen der Softwareentwicklung, die parallel und in unterschiedlichen Schritten ausgeführt werden. Der Grund dafür ist, dass sichere Isolationsmechanismen zwischen den virtualisierten Daten eingeführt werden.

Nehmen wir ein Beispiel von zwei Softwaresystemen, die unterschiedliche Sicherheitsanforderungen haben und logisch unabhängig und unterschiedlich sind: Eine Fahrzeugkommunikations-Applikation (QM) und eine Motorsteuerungs-Applikation (ASIL-D). Wenn diese beiden Systeme jeweils zwei verschiedenen virtuellen Maschinen zugeweisen werden, kann der Hypervisor sie gleichzeitig auf derselben CPU ausführen. Die Applikation für die Fahrzeugkommunikation erfordert danach vielleicht Anpassungen, weil sich die Fahrzeugarchitektur geringfügig geändert hat. Die Motorsteuerlogik jedoch bleibt unverändert. Solange die Sicherheitsannahmen bestehen bleiben, die für die Virtualisierungsarchitektur gelten, braucht dann durch die Änderungen an der Fahrzeugkommunikations-Applikation kein Sicherheitsnachweis für das gesamte System erbracht werden.

Grund Nr. 4: Virtualisierung kann die Angriffssicherheit erhöhen.

Virtualisierung hat in der IT-Welt dazu gedient, sicherheitskritische Applikationen sicher zu isolieren. Das Gleiche gilt für die Automobilindustrie, denn auch hier sind sicherheitskritische Applikationen ideal geeignet, um Virtualisierungstechnologie anzuwenden. Die Isolation zwischen den virtuellen Maschinen ist ein Schlüsselmerkmal des Hypervisors. Genau diese Isolation nutzen die Cybersicherheitsexperten und Systemarchitekten, um den Schutz vor bestimmten Angriffen herzustellen.

Gemäß dem bekannten Konzept der „geschichteten“ Cybersicherheit bietet der Hypervisor eine zusätzliche Schutzschicht und kann die Gesamtsicherheit des Systems erhöhen.

Grund Nr. 5: Virtualisierung kann bei Use-Caes mit hohen Sicherheitsanforderungem bis zu ASIL-D eingesetzt werden.

Einer der typischen Use Cases für die Anwendung von Virtualisierung ist die Elektrifizierung (Batteriemanagementsystem, E-Motor-Steuerung usw.). Sowohl die Hardware (NXP S32S) als auch die Software (OpenSynergy COQOS Micro SDK) decken diese Use Cases bis zu ASIL-D ab. ASIL-D ist die höchste Sicherheitsstufe für Applikationen gemäß dem ISO26262-Standard. Bei den ersten Implementierungen von Virtualisierung in der Automobilindustrie vor zehn Jahren, haben die Entwickler zunächst einfache Probleme behoben, wie z.B. bestmögliche Scheduling- und geringen Speicherschutzanforderungen bei Applikatioen, die nicht sicherheitsrelevant waren. Die heutigen Hardware- und Softwaretechnologien ermöglichen weitaus anspruchsvollere Ansätze, um das bestmögliche Silizium herzustellen und Zeit- und Raumdeterminismus zu erreichen.

Grund Nr. 6: Virtualisierung ergänzt die Betriebssystempartitionierung.

Virtualisierung erweitert die Möglichkeiten der Partitionierung über das Betriebssystem hinaus. In der AUTOSAR Classic-Plattformwelt tendieren Systemarchitekten dazu, Partitionierung als Speicherpartitionierung (Skalierbarkeitsklasse 3) und Zeitpartitionierung (Skalierbarkeitsklasse 2) zu betrachten. Beide werden vom Betriebssystem durchgeführt werden. Durch die Virtualisierung wird die Partitionierung auf eine andere Ebene gebracht, indem eine ähnliche Partitionierung zwischen den Betriebssystemen selbst und sogar ohne Betriebssystem berücksichtigt wird.

Partitionierung ist eine großartige Möglichkeit, „Divide and Rule“ -Prinzipien auf komplexe Architekturprobleme anzuwenden. Insbesondere, wenn es um funktionale Sicherheit geht, werden Architekturen häufig in separate Teile zerlegt. So kann beispielsweise ein Systemarchitekt mithilfe der Hypervisor-Partitionierung eine monolithische ASIL-D-Lösung zerlegen und Unterfunktionen mit geringerer Kritikalität (z. B. QM oder ASIL-B) in separaten virtuellen Maschinen isolieren. Dadurch wird der Aufwand für die Sicherheitszertifizierung verhältnismäßig zur Kritikalität. Dieses Beispiel zeigt, dass Systemarchitekten dank der Virtualisierung eine weitere leistungsstarke Partitionierungstechnik zur Verfügung steht, mit der sie stets komplexere, kritische Systeme entwerfen können.

Grund Nr. 7: Die Virtualisierung unterstützt Echtzeitanwendungen für die Automobilindustrie.

Die neuere Generation von Echtzeit-Mikrocontrollern, wie die MPU-basierte ARM-R52-Architektur, ermöglicht die Implementierung einer HW-unterstützten Virtualisierung. NXP und OpenSynergy haben zusammen daran gearbeitet, auf dem NXP  S32S Virtualisierung zu ermöglichen mithilfe OpenSynergy‘s des COQOS Micro SDK (siehe das Demonstrationsvideo hier). Hier ist Echtzeit-Scheduling verfügbar und implementiert; deterministische Funktionen wurden mit bare-metal virtuellen Maschinen und Echtzeit-Betriebssystemen wie FreeRTOS- und Classic AUTOSAR OS-Implementierungen getestet.

OpenSynergy hat bereits gezeigt, dass Paravirtualisierungstechniken auf früheren Hardwarearchitekturen implementiert werden können, selbst wenn keine integrierte Hardwareunterstützung für die Virtualisierung vorhanden ist. Dies geht jedoch zu Lasten der Leistung und reduziert den Einsatz solcher Techniken erheblich.

ARM hat 2016 seine HW-virtualisierungsunterstützte Cortex-R52-Spezifikation veröffentlicht. Die ersten Implementierungen von verschiedenen SoC-Anbietern, einschließlich NXP S32S oder STM Stellar, sind jetzt verfügbar. In ähnlicher Weise hat Renesas Virtualisierung auf der nächsten Generation von Mikrocontrollern angekündigt. Diese Prozessoren werden in den folgenden Jahren in fahrzeuginterne Elektroniksysteme eingebettet.

Grund Nr. 8: Die Virtualisierung kann mit der AUTOSAR-Methodik zusammenarbeiten.

Auch wenn die AUTOSAR-Methodik noch kein Standardframework für Virtualisierung spezifiziert, ist die Hypervisortechnologie mit der AUTOSAR-Methodik kompatibel. Tatsächlich ergänzen sich die beiden Systeme sehr gut. Mitglieder des Konsortiums haben in den letzten Jahren Konzepte für Virtualisierung von AUTOSAR vorgestellt. 2014 präsentierte OpenSynergy auf dem jährlichen Kongress in Detroit Konzepte für AUTOSAR-Virtualisierung. Im folgenden Jahr präsentierte ETAS seine Vision auf der Ausgabe 2015 in Tokio und trieb das Thema voran. Die klassische AUTOSAR-Plattform hat im Echtzeit-Multicore-Framework jetzt ausreichende Stabilität, um mehrere Applikationen gemeinsam eine Hardware nutzen zu lassen. Jetzt ist es höchste Zeit, die klassische AUTOSAR-Plattform über Virtualisierung auf die nächste Ebene zu heben.

Das COQOS Micro SDK hat bereits bewiesen, dass es gelingt, mehrere klassische AUTOSAR-Implementierungen von verschiedenen Anbietern auf Multicore-Systemen effektiv zu virtualisieren.

Grund Nr. 9: Virtualisierung bringt viel mehr als nur Trennung.

Es ist ein Fehler, Virtualisierung als eine einfache Architekturalternative zu betrachten. Virtualisierung bietet einzigartige Funktionen für grundlegende Softwarelösungen, die mit anderen Softwaretechniken ohne höhere Komplexität und höhere Kosten nur schwer zu erreichen sind: Unterbrechung der Softwareausführung, erweiterte Sicherheitsüberwachung, modularer Start und erweiterte stille Softwareaktualisierung. Virtualisierung ist auch nicht nur eine Architekturtechnik, um Legacy-Code mit neuem Code zusammenzuführen und zu isolieren, sondern sie ist zusätzlich eine Feature-Lösung, mit der neue innovative Funktionen entwickelt werden können.

Grund Nr. 10: Virtualisierung ermöglich kostengünstige Lösungen.

Betrachtet man die Gesamtkosten einschließlich Entwicklung und Fertigung, dann kann Virtualisierung dazu beitragen, die Kosten für die erneute Zertifizierung und Qualifizierung zu senken, weil Software-Assets wiederverwendet werden können. Auf der Fertigungsseite kann Virtualisierung die Siliziumnutzung maximieren und die Konsolidierung der EE-Architektur eines Systems unterstützen, indem mehrere Funktionen auf einem einzigen SoC und Steuergerät zusammengefasst werden. Virtualisierung ist ein leistungsfähiger Wegbereiter, um innovative und rechenintensive Fahrzeugfunktionen in den Bereichen Elektrifizierung, autonomes Fahren oder Konnektivität finanziell nachhaltig zu gestalten.