Netzwerkprozessoren: 8 Cores auf einem Chip

Um das volle Potential von Multi-Core-Systemen auszuschöpfen, sollten auf dem gleichen physikalischen Baustein mehrere sichere Rechendomänen konfiguriert werden, die ggf. auch von unterschiedlichen Betriebssystemen verwaltet werden. Das ist dann möglich, wenn Rechenkerne, Speicher und I/O-Funktionen eines Systems in sichere logische Partitionen unterteilt werden.

Um das volle Potential von Multi-Core-Systemen auszuschöpfen, sollten auf dem gleichen physikalischen Baustein mehrere sichere Rechendomänen konfiguriert werden, die ggf. auch von unterschiedlichen Betriebssystemen verwaltet werden. Das ist dann möglich, wenn Rechenkerne, Speicher und I/O-Funktionen eines Systems in sichere logische Partitionen unterteilt werden.

Im Produktsegment der Prozessoren mit einer Leistungsaufnahme unterhalb von 30 W zeichnen sich die Prozessoren der QorIQ-Kommunikationsplattform P4 durch eine hohe Rechenleistung aus. Für diese Multi-Core-Prozessoren werden acht „Power Architecture e500mc“-Kerne kombiniert, die mit Taktfrequenzen bis zu 1,5 GHz betrieben werden. Sie verfügen über eine leistungsstarke Logik zur Datenpfad-Beschleunigung, I/Os für die Netzwerk-Anbindung und weitere Bus-Schnittstellen für den Anschluss von Peripherie (Bild 1).

Für die Prozessoren der QorIQ-P4-Baureihe steht eine „Hypervisor“-Software zur Verfügung, mit deren Hilfe es möglich ist, unterschiedliche Betriebssysteme auf den einzelnen Kernen laufen zu lassen. Ein Hypervisor ist eine spezielle „Low-Level“-Software, die auf einfache Weise eine sichere Partitionierung ermöglicht. Sie verwaltet die Ressourcen und Sicherheitsfunktionen der jeweiligen Partitionen und spiegelt dem auf der jeweiligen Partition laufenden Betriebssystem eine „Virtual Machine“‘ vor. Ein Hypervisor kann mehrere Virtual Machines und Partitionen bedienen, ähnlich wie ein Betriebssystem zwischen verschiedenen Prozessen umschaltet – und das funktioniert auch für einen einzelnen Rechenkern.

Die Notwendigkeit zur Partitionierung

Es gibt eine ganze Reihe von Szenarien, bei denen eine Implementierung mehrerer heterogener Prozessordomänen auf einem einzigen Multi-Core-Prozessor vorteilhaft ist:

  • Ein System mit getrennten Schichten für Steuerung und Daten, das vorher auf mehrere diskrete Chips verteilt war, lässt sich so in einen einzigen Multi-Core-Prozessor konsolidieren.
  • Ein offenes Betriebssystem wie Linux kann neben einem proprietären Betriebssystem ausgeführt werden. Das System kann so von den Vorteilen beider Betriebssysteme profitieren.
  • Für den Betrieb einer vom Anwender installierten Software kann eine Partitionierung erforderlich sein, um nicht-vertrauenswürdige Software isolieren zu können.
  • Sicherheitsaufgaben müssen möglicherweise in einer eigenen Partition behandelt werden.

Ein solches Konzept ließe sich möglicherweise auch nach dem Kooperationsprinzip realisieren, bei dem sich alle Betriebssysteme auf die vorgegebenen Ressourcen beschränken und gleichberechtigt koexistieren. Allerdings lässt sich ein derartiges Kooperationsprinzip nur schwer durchsetzen. Gerät ein Betriebssystem in einen Fehlerzustand, so kann auch ein anderes abstürzen und gemeinsam genutzte Ressourcen wie Interrupt-Controller können zum Problem werden. Manche Anwendungen setzen eine gemeinsame Nutzung von Speicherbereichen durch mehrere Partitionen voraus, während andere Ressourcen ausschließlich der jeweiligen Partition vorbehalten bleiben und vor Störeinflüssen geschützt werden müssen. Durch den Einsatz eines Hypervisors lassen sich Partitionen wesentlich effizienter isolieren, und es kann ein höheres Maß an Sicherheit gewährleistet werden. Dies gilt auch dann, wenn sich die Partitionen verschiedene Ressourcen teilen.

Ein Hypervisor präsentiert sich der jeweiligen Partition als „Virtual Machine“ und ordnet ihr die passenden Ressourcen zu. Beispielsweise könnte auf einer Partition eine Linux-Version laufen, während auf einer anderen ein Echtzeit-Betriebssystem und eine Echtzeit-Anwendung ausgeführt werden. Und obendrein ist es möglich, die jeweilige Partition über die Existenz der anderen völlig im Dunkeln zu lassen. Es ist möglich, das Sicherheits- und Ressourcenmanagement mit wenigen Änderungen an den Betriebssystemen zu realisieren, der Umfang solcher Änderungen aber hängt von der Realisierung des Hypervisors ab.

Virtualisierung und Partitionierung

Die QorIQ-Multi-Core-Kommunikationsplattformen sind die nächste Generation der PowerQUICC-Kommunikationsprozessoren. Die speziell für die QorIQ-Multi-Core-Plattformen entwickelten e500mc-Kerne lassen sich mit Frequenzen bis zu 1,5 GHz takten. Das Hypervisor-Konzept ist bereits implementiert, zudem sind Netzwerk- und Bus-Schnittstellen für die Peripherie sowie eine leistungsstarke Logik für die Datenpfad-Beschleunigung bereits integriert.