Multicore Hard- und Software-Technologie für die Industrie
Durch den Einsatz von Echtzeit Virtualisierung können die Systemkosten bei Industrieanwendungen deutlich reduziert werden
Der Trend geht bei den Prozessorarchitekturen eindeutig zu mehreren Prozessoren in einem Gehäuse. Beim aktuellen Intel® Core® 2 Duo werden zwei 64 Bit CPUs in einen Baustein integriert. Moderne Betriebssysteme können die logisch getrennten CPUs verwalten und damit die Systemperformance steigern. Ein noch stärkerer, auch kommerzieller Nutzen ergibt sich durch die Virtualisierungstechnologien. Dabei können mehrere Betriebssysteme sicher, gegenseitig abgeschottet auf einer Hardwareplattform betrieben werden.
Mehrere Betriebssysteme auf einer Hardware zu betreiben ist nichts Neues. Lösungen wie VM-Ware sind bereits seit Jahren erfolgreich im Einsatz und jedes Jahr werden weitere Produkte für genau diesen Einsatz vorgestellt. Fast kann man von einem neuen Hype der IT-Welt sprechen. Drei Gründe liegen hierfür auf der Hand: Zur Sicherheit möchten Administratoren verschiedene Applikationen oder auch Daten durch Aufteilung auf verschiedene Betriebssysteme voneinander trennen und dadurch schützen. Des Weiteren werden heutige Mikroprozessoren immer leistungsfähiger und oft kann nur durch den Einsatz von virtuellen Maschinen diese Rechenleistung auch wirklich intelligent genutzt werden. Ein weiterer, offensichtlicher Grund für den Einsatz von Virtualisierung ist auch die Anforderung zwei oder mehrere, unterschiedliche Betriebssysteme zu nutzen, wie z.B. Microsoft Windows® oder Linux.
Geräte für Maschinensteuerungen, Mess- oder Medizintechnik unterscheiden sich in diesen Anforderungen nicht! Eine Steuerung oder auch eine Anwendung zur Datenerfassung darf oft nicht überraschend unterbrochen werden und sollte möglichst von unkritischen Applikationen, der uneingeschränkten Internetanbindung und der Visualisierungssoftware abgeschottet werden. Für diese Anwendungen werden herkömmlicherweise auch unterschiedliche Betriebssysteme eingesetzt. Für die Visualisierung und Anbindung an ein Firmennetzwerk wird ein General Purpose Betriebssystem (GPOS) wie Microsoft Windows® oder auch Linux eingesetzt und auf einer weiteren Hardware, typischerweise einem Mikrocontroller, wird die Steuerung oder Datenerfassung mittels Echtzeitbetriebssystem (RTOS) separat erledigt. Auch in diesem Fall wird die verfügbare Rechenleistung des x86 Prozessors für das GPOS selten ausgenutzt. Der Einsatz einer Virtualisierung würde deshalb durchaus Sinn machen, vor Allem, weil die Kosten für die zusätzliche Mikrocontroller basierte Hardware dadurch entfallen könnten.
Warum wurde in solchen embedded Anwendungen bisher trotzdem auf den Einsatz der Virtualisierung verzichtet? Eine Ursache hierfür ist der Einsatz von Echtzeitbetriebssystemen. Handelsübliche Virtualisierungslösungen bedienen sich verschiedener Tricks, um jedem der Betriebssysteme einen virtuellen „eigenen“ PC zu schaffen. Hardware wird zum Teil emuliert oder von einem der Betriebssysteme exklusiv verwaltet und oft wird Rechenzeit reihum abwechselnd den einzelnen Betriebssystemen zugeteilt (Time-Slicing). Ein RTOS muss jedoch den direkten Zugriff auf die Hardware erhalten. Interrupts von PCI-Geräten oder auch einer ISA-Karte bzw. Legacy Devices müssen direkt und ohne Verzögerung zum RTOS zur Bearbeitung gelangen. Ein sogenanntes Time-Slicing würde die Echtzeiteigenschaften genauso verletzen wie emulierte Hardware oder das Abfangen und die Umleitung von Befehlen.
Für den Einsatz in Anwendungen mit Echtzeitanforderungen werden deshalb spezielle echtzeitfähige Virtualisierungslösungen entwickelt. Ein sogenannter Real-Time Hypervisor ermöglicht die Aufteilung eines Multicore x86 Systems in mehrere, unabhängige, hart echtzeitfähige Systeme. Jedem Betriebssystem werden exklusiv ein oder mehrere Prozessorkerne zugewiesen, ein SMP (Symmetric Multi Processing) -fähiges Betriebssystem dem z.B. zwei Kerne zugeteilt werden kann somit auch auf beide CPUs zugreifen. Auch der zur Verfügung stehende Speicher wird exklusiv den einzelnen Betriebssystemen zugeteilt. Hardwaregeräte, ob PCI- oder auch sog. Legacy Devices, werden so konfiguriert, dass Interrupts exklusiv und direkt an die einzelnen Prozessorkerne und Betriebssysteme verteilt werden. Cores, Geräte und Speicher, die einem Betriebssystem nicht zugeteilt werden, bleiben diesem Betriebssystem verborgen.
Dadurch, dass Interrupts direkt zugewiesen und der Zugriff auf eigene Hardwaregeräte unmittelbar jedem Betriebssystemen gewährt wird, sind keine speziellen oder modifizierten Gerätetreiber erforderlich. In einem Real-Time Hypervisor kann auch die Bootreihenfolge bestimmt werden und einzelne Prozessorkerne beziehungsweise Betriebssysteme können unabhängig von den anderen in Betrieb genommenen, heruntergefahren oder neu gebootet werden. Keines der installierten Betriebssysteme übernimmt Aufgaben für andere Betriebssysteme oder gar für die Funktion des Real-Time Hypervisors selbst - die Sicherheit ist somit gewährleistet. Ob in dem System mehrere Instanzen des gleichen Echtzeitbetriebssystems gestartet werden oder ob ein Mix von einem GPOS und verschiedenen Echtzeitbetriebssystemen installiert wird, spielt keine Rolle.

In einem Real-Time Hypervisor können Betriebssysteme direkt auf zugeteilte Hardwareressourcen zugreifen.
Um zwischen den einzelnen virtuellen Systemen kommunizieren zu können, bietet sich in einem Real-Time Hypervisor die optionale Einrichtung eines Shared Memorys an. In der Regel verfügen solche Lösungen auch über ein virtuelles, TCP/IP basiertes internes Netzwerk.
Der Einsatz mehrerer Betriebssysteme auf Multicore Prozessorarchitekturen ist ein logischer Schritt im Embedded System Design. Damit wird nicht nur die Summe aller Hardwarekosten reduziert, sondern gleichzeitig die Zuverlässigkeit und Performance des Gesamtsystems erhöht.
Mit der Multicore-Technologie wie z.B. in einem Intel Core 2 Duo auf Embedded Computer Modulen ist eine neue Dimension der Modularität und Flexibilität für alle Industriellen Anwendungen erreicht.
Während die I/O Interfaces sich von parallelen hin zu schnellen seriellen Schnittstellen entwickeln, verfolgen die Hersteller von Prozessoren den entgegengesetzten Weg. Mit 64 Bit ist das Potential der Leistungssteigerung weitgehend ausgeschöpft. Höhere Taktraten sind zwar möglich, aber der Stromverbrauch steigt exponentiell zur Rechenleistung. Die Parallelisierung bringt eine nahezu lineare Leistungssteigerung. Schon in den 90iger Jahren wurden Multi-Prozessor-Lösungen angeboten, welche meist an der mangelnden Softwareunterstützung scheiterten. Aktuelle Betriebssysteme unterstützen Multiprozessor-Systeme mit nur geringem Verwaltungs-Overhead. Selbst der Parallelbetrieb unterschiedlicher Betriebssysteme auf nur einem Dualcore System ist mit aktueller Hypervisor Software einfach zu konfigurieren.
Industrieanwendungen erfordern häufig spezielle Rechnersysteme. Die dort geforderte Robustheit und die speziellen Schnittstellen können Bürorechner nicht bieten. Die Industrie setzt daher meist eine Embedded PC Lösung ein, die speziell für die entsprechende Anwendung zugeschnitten wurde. Um den Entwicklungsaufwand gering und die Flexibilität hoch zu halten kommen dort in der Regel Computer-On-Modules (COM) zum Einsatz. Diese standardisierten Module beinhalten die komplette PC Funktionalität und werden mittels industrieller Board-zu-Board Stecker mit einem applikationsspezifischen Basisboard verbunden.

Modularer Aufbau einer COM Lösung
Alle PC unüblichen „Spezialitäten“ wie z.B. eine Motoransteuerung, industrielle Sensor-/Aktorbusse, spezielle Stromversorgungen oder auch ganz einfach die Steckerplatzierung werden dann auf dem Basisboard realisiert.
Durch die Modularität des Konzeptes kann aus einer existierenden Singlecore Lösung durch Modultausch ein aktuelles Dualcore System werden.
COM Standard
|
ETX |
XTX |
COM Express Type2 |
| Size |
95x114 mm |
95x114 mm |
95x125mm (Basic) 110x155mm (Extended) |
| Connector |
4 x 100 Pins |
4 x 100 Pins |
2 x 220 Pins |
| Power supply |
5V max. 30W |
5V max. 30W |
12V max. 188 W |
| ISA |
Yes |
No |
No |
| LPC |
No |
Yes |
Yes |
| 32 Bit PCI |
Yes |
Yes |
Yes |
| PCIe |
No |
4 Lanes |
6 Lanes + PEG |
| PEG |
No |
No |
Yes, shared with SDVO |
| USB2.0 |
4 |
6 |
8 |
| LAN |
10/100 MBit |
10/100 MBit |
10/100/1000 MBit |
| PATA |
2 Channels |
2 Channels |
1 Channel |
| SATA |
2 connectors
for cables
(only ETX 3.0) |
4 Ports |
4 Ports |
| SDVO |
No |
No |
yes (shared with PEG interface) |
| Legacy I/O |
Yes |
Yes |
No |
| PS/2 (kb/mouse) |
Yes |
Yes |
No |
| SMBus / I²C |
Yes |
Yes |
Yes |
| URL Consortium |
|
|
|
Überblick über die wichtigsten COM Modul-Standards
Die Rechenleistung eines COMs kann in weiten Grenzen variiert werden. Der aktuelle Leistungsbereich reicht bis hin zum Intel® Core® 2 Duo T7400 mit 2,16 GHz. In diesem Prozessor stecken zwei 64 Bit CPU Kerne die gemeinsam auf 4 MByte L2 Cache zugreifen können. Im Vergleich zu einem Intel® Pentium® M mit 2 GHz Taktrate arbeiten im T7400 zwei CPUs mit doppelter Datenbreite. Vereinfacht dargestellt ergibt sich damit die drei- bis vierfache Performance und dies, Dank der 65 nm Fertigungs-Technologie, bei einem annähernd gleichem Strombedarf.

COM Express Modul conga-B945 mit Intel® Core® 2 Duo T7400 Prozessor
Das COM Express Modul conga-B945 kombiniert diese high Performance CPU mit Dual Channel Memory bis zu 4 GByte DDR2 667 RAM. Der Zugriff erfolgt über zwei Kanäle gleichzeitig und verdoppelt damit die Speicherbandbreite. Der Prozessor kann sowohl 64 Bit als auch 32 Bit Applikationen und Betriebssysteme ausführen.
Das conga-B945 bietet zahlreiche Schnittstellen und Erweiterungsmöglichkeiten. Neben fünf PCI Express Lanes, PCI Express Graphics Port (PEG 1x16), acht USB 2.0, HDA digital Audio, zwei Serial ATA und den Signalen für zwei Express Cards, steht auch Gigabit Ethernet zur Verfügung. Alle congatec Systemerweiterungen wie ACPI Batteriemanagement, mehrstufiger Watchdog, schneller multimasterfähiger I²C Bus und weitere Embedded BIOS Features sind auch bei diesem Modul implementiert.
Mit dem schnellen, im Intel® 945GM Chipsatz integrierten Grafikcontroller können zwei unabhängige Grafik-Kanäle über 2x24 Bit LVDS, SDVO, TV-Out oder analog VGA ausgegeben werden. Flachdisplays werden über EPI (Embedded Panel Interface www.epi-standard.org), dem Grafikstandard zur automatischen Erkennung von LCDs, konfiguriert.
Durch die Kombination von Embedded Computer Modulen mit einem Real-Time Hypervisor entsteht eine universell einsetzbare Plattform für nahezu alle industriellen Anwendungen. Die nahtlose Integration von mehreren Betriebssystemen und Applikationen auf nur einem Multicore Rechnersystem reduziert Kosten und erhöht die Flexibilität.
Autoren:
Gerd Lammers ist Geschäftsführer der Real-Time Systems GmbH
Christian Eder ist Marketingleiter der congatec AG
Über Real-Time Systems GmbH:
Die Real-Time Systems GmbH ist Technologieführer im Bereich von Echtzeit Virtualisierungslösungen und Lösungen für den embedded Echtzeitmarkt. Neben der Entwicklung und Vermarktung eigener Produkte unterstützt und begleitet die Real-Time Systems GmbH ihre Kunden in allen Projektphasen der Entwicklung. Schwerpunkt im Bereich der Dienstleistung ist die Beratung sowie das Angebot von Entwicklungsdienstleistung z.B. im Bereich von Gerätetreibern und Plattformsoftware (BSP).
Die Real-Time Systems GmbH hat Ihre Zentrale in Ravensburg, mit Partnern in Europa, den USA sowie Asien.
www.real-time-systems.com
Über congatec AG:
congatec ist ein innovativer, junger und erfahrener Hersteller von Embedded Computer Boards. Mit über 200 Mannjahren an Entwicklungs-Know-How sind die Mitarbeiter Technologie-Experten im schnell wachsenden Bereich des Embedded Computing. Ziel der in Deggendorf ansässigen Firma ist die Entwicklung und Vermarktung von industriellen Computer Modulen auf Standard Formfaktoren. congatec Produkte sind branchenunabhängig und werden in verschiedenen Industriebereichen und Applikationen eingesetzt. Die Kunden kommen z.B. aus den Branchen Industrie-Automatisierung, Medizintechnik, Automobil-Zulieferer, Luftfahrt und Transport. Typische Anwendungen sind z.B. Maschinensteuerungen, Ticket-Automaten oder Visualisierungsterminals. Wesentliches Kern-Know-How sind besondere, erweiterte BIOS- und Treiberunterstützung und umfangreiche Board Support Packages. Die Kunden werden ab der Design-In Phase durch umfassendes Product Lifecycle Management betreut. congatec Produkte werden bei spezialisierten Dienstleistern nach modernsten Qualitätsstandards gefertigt.
www.congatec.com |