Software- & Prozessortechnik

Entwicklungen in der Embedded-Multicore-Virtualisierung meistern

23.07.12 | Autor / Redakteur: Markus Levy, Surender Kumar, Rajan Goyal * / Holger Heller

Multicore-Virtualisierung: jetzt auch im Embedded-Bereich erforderlich
Multicore-Virtualisierung: jetzt auch im Embedded-Bereich erforderlich

Viele Jahre lang war die Virtualisierung das Flaggschiff der Serverwelt. Die steigende Komplexität und Vielfalt der Embedded-Systeme verlangt nun aber nach einer Virtualisierungstechnik.

Das Versprechen einer universellen Rechenplattform, die viele unterschiedliche Dinge für viele verschiedene Anwender gleichzeitig erledigen kann, erfordert ein gewisses Management, wie diese Tätigkeit erledigt wird – und die Virtualisierung hat diese Rolle im Server-Bereich übernommen. Andererseits benötigte die Embedded-Welt bisher im Allgemeinen keine Virtualisierung. Dies ist ein weitreichender Faktor, weil Embedded-Geräte schon fast per Definition keine universellen Plattformen sind.

Ihre Aufgaben konnten per Handarbeit auf den niedrigsten Ebenen erledigt werden. Als allerdings die Komplexität und die Vielfalt der Embedded-Systeme mit der Zeit anstieg, wurde die Notwendigkeit einer Form von Virtualisierungs-Technologie offensichtlicher; immerhin gehören heutzutage Anwendungen wie Netzwerk-Ausrüstung und Smartphones zu den Embedded-Systemen.

Wie bei den meisten Technologien ist die Anwendung der Virtualisierung in Embedded-Systemen komplexer als bei ihrem Server-Cousin. Der einzige Grund hierfür ist die Tatsache, dass Embedded-Technologie dazu tendiert, arbeitsintensiver zu sein: Die Anzahl der Variationen, Kombinationen und Permutationen von Eigenschaften und Funktionen kann leicht außer Kontrolle geraten, so dass es für die System-Architekten und Entwickler schwierig wird, ihren Weg in diesem Universum zu finden.

Multicore Association ruft Virtualization Working Group ins Leben

Außerdem hat die rasche Verbreitung von Multicore-Prozessoren zusätzliche Anwendungsmöglichkeiten für die Virtualisierungstechnik geschaffen. Aus diesem Grund hat die „Multicore Association“ eine „Virtualization Working Group“ genannte Arbeitsgruppe zum Thema Virtualisierung einberufen. Die Teilnahme vieler verschiedener Unternehmen, die auf dem Embedded-Markt aktiv sind, wird dabei helfen, Standards zu etablieren, welche die Skala der Bedürfnisse und Anforderungen von den unterschiedlichen Zuständigkeitsbereichen innerhalb der Embedded-Welt berücksichtigen und angehen.

Warum virtualisieren? Bisher gab es zwei wesentliche Treiber für die Virtualisierung innerhalb von Servern. Der transparenteste davon ist das Ziel, einen einzelnen Computer für eine Benutzergruppe so aussehen zu lassen wie mehrere Computer. Es gibt in der Welt des „Cloud-Computing“ (Datenverarbeitung in der Cloud) hierfür einen ganz klaren Bedarf, der meist als „Multi-Tenanting“ bezeichnet wird, wobei die direkte, aber in diesem Zusammenhang ungebräuchliche deutsche Übersetzung den Grundgedanken von „Multi-Tenanting“ sehr gut wiedergibt: Mehrfach-Verpachtung/Vermietung.

Ein Anwender verbindet sich mit der Cloud und bekommt eine „Maschine“, aber diese Maschine ist virtuell und vielleicht nur ein Teil einer tatsächlich in Hardware existierenden Maschine. Die Beziehung zwischen der „Maschine“, die der Anwender wahrnimmt und der zugrundeliegenden Hardware ist komplett für den Anwender unsichtbar und wenn das System ordnungsgemäß realisiert ist auch irrelevant.

Alter Code muss auf neuen Maschinen laufen

Der andere wesentliche Treiber zur Server-Virtualisierung ist die Tatsache, dass alter Code (Legacy-Code) auf neuen Maschinen laufen muss. Solche alten Programme könnten beispielsweise veraltete Betriebssysteme benötigen oder nach Ressourcen beziehungsweise Ein-/Ausgabeschnittstellen suchen, die auf dem neuen System nicht existieren. Selbstverständlich will sich niemand irgendwo in die Nähe des Codes bewegen (selbst wenn der Source-Code verfügbar ist). Daher wickelt die Virtualisierung das Programm förmlich ein – und zwar in einer Art und Weise, bei der das Programm denkt, es wäre auf seiner ursprünglichen Zielplattform.

Bild 1: Virtualisierungsschicht als Host, der Daten und Dienste für die Gäste bereitstellt
Bild 1: Virtualisierungsschicht als Host, der Daten und Dienste für die Gäste bereitstellt

In beiden Fällen geht es dabei um einen einzelnen Computer, der auf der alleruntersten fundamentalen Ebene von einem einzelnen Betriebssystem (OS) betrieben wird, während oberhalb des Betriebssystems mehrere „Gäste“ (Guests) laufen. Bei diesen Guests handelt es sich um Gäste-Programme und/oder Gäste-Betriebssysteme. Die Virtualisierungs-Schicht fungiert dabei als Host, der Daten und Dienste für die Gäste bereitstellt. Zu dieser Host-Funktionalität gehören auch Umsetzungen, die erforderlich sind, um alle Beteiligten zufriedenzustellen (Bild 1).

Inhalt des Artikels:

»1 »2 »3 »4 nächste Seite

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)



Spamschutz 

Bitte geben Sie das Ergebnis der Rechenaufgabe (Addition) ein:
Kommentar abschicken

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 34682990) | Archiv: Vogel Business Media

Info-Dienste für Elektronik-Professionals

Immer aktuell informiert: der EP Tagesspiegel mit aktuellen Branchen-Nachrichten der letzten 24 Stunden oder die wöchentlichen themenspezifischen Newsletter "Fachwissen für Elektronikprofis"  von elektronikpraxis.de. Jetzt kostenlos abonnieren!

Heftarchiv
ELEKTRONIKPRAXIS 9/2013

ELEKTRONIKPRAXIS 9/2013

Leistungsdichte durch SiC-Bipolar-Leistungsschalter

Weitere Themen:

Dimm-Verfahren für LED-Beleuchtungen
Eine Leiterplatte mit Identität
Zukunftsprojekt Industrie 4.0

zum ePaper

zum Heftarchiv

ELEKTRONIKPRAXIS 08/2013

ELEKTRONIKPRAXIS 08/2013

Hunter – auf der Jagd nach Signalen

Weitere Themen:

Strom für Start-/Stopp-Systeme
Folientastaturen für alle Fälle
Bleifrei löten – mit welchem Material?

zum ePaper

zum Heftarchiv

ELEKTRONIKPRAXIS 07/2013

ELEKTRONIKPRAXIS 07/2013

M12-Steckverbinder um 30 Prozent leichter

Weitere Themen:

PCB für Hochstromanwendungen
IGBT-Treiber: Fünf Fehler beim Design
Hausautomation mit Raspberry Pi

zum ePaper

zum Heftarchiv