Multicore - Gastkommentar
Echtzeit-Hypervisor: Wer soll das bezahlen?
Seit kurzem rauschen vermeintlich neue Hype-Begriffe durch die Medien-Wälder der industriellen Automatisierung, die in der IT-Welt seit vielen Jahren bekannt sind: Multi Core beziehungsweise Multi Prozessor, (Echtzeit-)Virtualisierung und -Hypervisor, Hardware-Konsolidierung, Ressourcen-Partitionierung… .
Heinrich Munz, Kuka Roboter: „Es ist wichtig, die Produktivität nicht aus den Augen zu verlieren.“
Beschrieben wird damit oft die auch in der industriellen Automatisierung bereits seit vielen Jahren etablierte Technik, zwei oder auch mehr Betriebssysteme auf nur einer PC-Hardware ablaufen zu lassen. Dabei ist das eine ein so genanntes General Purpose Operating System (GPOS) wie Windows oder Linux und das andere ein Echtzeitbetriebssystem (RTOS). - „Einsparung von Hardware“ zur Kostensenkung und zur MTBF-Erhöhung hieß das früher, „Hardware-Konsolidierung“ heute.
Sind sowohl das Thema als auch die damit verbundenen Vorteile bereits seit Mitte der 90-er Jahre unter dem Begriff „Echtzeiterweiterung für Windows (Linux)“ bekannt, so erweckt manche heutige Berichterstattung den Eindruck, als ob jetzt das Ei des Kolumbus neu entdeckt worden sei. Diverse Anbieter übertreffen sich mit Produktankündigungen ihrer jeweiligen Hypervisor-Lösung. Hypervisor: Nomen est Omen.
Der nach der Gartner Hype Cycle-Einteilung benannte „Technologische Auslöser“ waren zwei Prozessortechnologien, welche beide seit etwa 2005 in Intel- und AMD-Prozessoren zu finden sind:
- Mehrere gleichartige Prozessorkerne in einem Gehäuse (Multi Core)
- Virtualisierungsunterstützung durch die Prozessor-Hardware (genannt „VT-x“ bei Intel, „AMD-V“ bei AMD, im Folgenden nur „VT“)
Herkömmliche Lösungen haben auch schon virtualisiert - aber eben nur mit reinen Software-Methoden. Daher arbeiten sie nach wie vor uneingeschränkt auf allen Prozessoren - mit oder ohne VT, mit einem oder mehreren Cores. Die neuen Ansätze bringen jedoch neben ein paar wirklich potentiellen Vorteilen auch diverse Nachteile mit sich und so wie generell bei allen Hypes auf dem - wie Gartner das nennt – „Gipfel der überzogenen Erwartungen“ Vorsicht geboten ist, sollte der potentielle Anwender die eventuellen Risiken und Nebenwirkungen kennen.
Hier die wichtigsten potentiellen Vorteile der neuen Lösungen. „Potentiell“ deshalb, weil längst nicht alle Lösungen diese Vorteile auch wirklich aufweisen.
- Da ein Hypervisor nur aus einer dünnen Software-Schicht besteht, kann er mit vertretbarem Aufwand für Safety-Critical Applikationen zertifizierbar entwickelt werden (z.B. nach IEC-61508). Ein zertifizierbarer Hypervisor ergibt jedoch nur dann Sinn, wenn neben dem Hypervisor auch die Hardware, mindestens eines der OS und die darauf ablaufende sicherheitskritische Applikation ebenfalls entsprechend sicherheitsrelevant entwickelt worden sind, so dass das gesamte Gerät inklusive der sicherheitskritischen Applikation zertifiziert werden können. Bei solchen Applikationen aus dem Military-, Avionics- oder Medical-Umfeld sicher manchmal ein absolutes Muss.
- Da der Hypervisor und nicht eines der OS die Systemkontrolle hat (Booten, Ressourcen-Partitionierung wie Speicher, Devices), können die Gastbetriebssysteme völlig unabhängig voneinander jederzeit gestartet und gestoppt werden. Bei Applikationen, wo dies eine wichtige Anforderung darstellt, ebenfalls ein absolutes Muss.
Einschränkungen gegenüber herkömmlicher Technologie
- Neben anderen implementierungsabhängigen Einschränkungen wie die Nicht-Unterstützung diverser Windows- (HAL-)Versionen, können einige der neuen Hypervisor-Virtualisierungen mehrere OS ausschließlich nur auf Multi Core-Prozessoren betreiben. Preiswerte Prozessoren mit nur einem einzigen Core auf dem beide Betriebssysteme ablaufen, sind somit tabu. Dabei reicht die Leistungsfähigkeit moderner Prozessoren auch mit nur einem Core für viele Automatisierungsaufgaben völlig aus, welche zwei Betriebssysteme benötigen.
Weil den OS die Cores nur exklusiv zugeteilt werden können, ist es oft auch nicht möglich, mehrkernfähige OS (VxWorks- oder QNX-SMP) zusammen mit einem GPOS bereits schon auf den preiswerteren Dual Core-Prozessoren einsetzen zu können. Teure Triple- oder Quad Core-Prozessoren sind hierfür notwendig.
- Hypervisor-Lösungen brauchen zwingend die Virtualisierungsunterstützung durch die Prozessor-Hardware – koste es was es wolle. Schaut man sich die Preise für langfristig lieferbare (7+ Yrs) Intel Desktop-Prozessoren wie sie etwa in der Kuka Robotersteuerung zum Einsatz kommen näher an, fällt auf, dass der günstigste Dual Core-Prozessor mit VT ab $163,- zu Buche schlägt, wogegen der günstigste Dual Core-Prozessor ohne VT bereits ab $53,- zu haben ist. Kommt man dann sogar noch mit nur einem Core aus, kommt auch der Celeron Processor 440 für nur $44,- in Frage.
Die Prozessoren ohne VT haben zwar auch etwas weniger CPU-, FSB-Frequenz und Cache, reichen aber für viele Automatisierungslösungen bei weitem aus.
Langfristig lieferbare Mobile Prozessoren, welche oft in Kleinsteuerungen verwendet werden, haben zwar durchweg alle VT kosten aber auch deutlich mehr (ab $262,-).
- Ähnlich sieht es bei den Preisen für langfristig lieferbare (7+ Yrs) Intel Embedded Atom Prozessoren aus. Auch hier beginnt der Einstieg in VT mit dem einzigen VT-fähigen Prozessor Z530 erst ab $70,-, wobei der Pin-kompatible aber nicht-VT fähige Z510 bereits ab $20,- zu haben ist – allerdings auch mit etwas reduzierter Taktfrequenz. Erschwerend kommt bei allen Atom-Prozessoren jedoch hinzu, dass bis auf die nicht langfristig lieferfähige Ausnahme 330 ($43,- nur 2+ Yrs) alle Prozessoren keine zwei realen Cores aufweisen. Stattdessen wird das für manche Hypervisor-Lösungen zwingend benötigte zweite Core durch Hyper-Threading (eine Art Emulation) realisiert, was die Echtzeitfähigkeit erheblich einschränkt. Lediglich der 330 hat zwei reale Cores, ist bezüglich Taktfrequenz und Cache identisch beziehungsweise besser als der Z530, kostet mit $43 etwas mehr als die Hälfte, hat aber halt kein VT - also ein „no go“ für die Hypervisoren.
- Auch die Patentlage ist noch unklar - gibt es doch das US-Patent mit der Nummer US2005/0251806 A1 mit dem Titel „Enhancement of Real-Time Operating System Functionality using a Hypervisor“…
Bleibt zu hoffen, dass das „Tal der Enttäuschungen“ bestehend aus den Erfahrungen mit den aufgeführten Einschränkungen möglichst bald durchschritten ist und die potentiellen Anwender über den „Pfad der Erleuchtung“ auf dem „Plateau der Produktivität“ ankommen – und Produktivität hat etwas mit sparsamen Ressourcen und niedrigen Hardware-Preisen zu tun.
Autor: Heinrich Munz ist Product Manager Real Time Products bei Kuka Roboter.











