Digital-Kompendium Compact PCI Serial Typische Aufgaben der seriellen Schnittstellen

Redakteur: Holger Heller

CompactPCI Serial unterstützt für Ethernet die Sternarchitektur oder ein vollständig vermaschtes Netz (Full Mesh). Während eine Sternarchitektur für einen Standardcomputer ausreichend ist, bietet sich für komplexe Multicomputer-Systeme ein Full-Mesh an.

Firmen zum Thema

In einem vollständig vermaschten Netz ist auf jeder Steckkarte jeweils ein Ethernet-Interface genau mit jeweils einem Ethernet-Interface einer anderen Karte verbunden. Bei einer Standard-Busplatine mit neun Steckplätzen sind jeweils acht Ethernet-Kanäle auf jedem Board erforderlich, um jeweils unabhängig mit jedem anderen Board kommunizieren zu können. Wie bereits erwähnt, muss man diese Möglichkeit nicht voll ausschöpfen.

Bild 1 zeigt, wie man symmetrisches Multiprocessing in einem CompactPCI-Serial-System realisieren kann. Aber auch die Architektur intelligenter Subsysteme lässt sich so umsetzen (Bild 2). Das vermaschte Netz lässt sich auch als Ring verschalten. So kann man elegant und preiswert redundante Strukturen schaffen, bei denen der Ausfall einer Steckkarte nicht zum Ausfall des Systems führt (Bild 3).

Dies sind nur einige Beispiele von Architekturen, die man mit CompactPCI Serial realisieren kann. All dies ist mit Standard-Backplanes und Standard-Baugruppen möglich. Alle vier Steckkarten in den gezeigten Beispielen können jeweils vom gleichen Typ sein. Die Benutzung von Ethernet ist durch die Software festgelegt.

Da CompactPCI Serial physikalisch auf den BASE-T-Standards aufsetzt (10/100/1000 BASE-T und 10GBASE-T), kann man die Baugruppen mit „gewöhnlichen“ Ethernet-Controllern bestücken. In der Regel kann man auf eine galvanische Trennung der Boards untereinander verzichten. Das ermöglicht eine kapazitive Kopplung und spart Platz und Kosten.

Ethernet-Mesh für Computer-Cluster

Handelte es sich bei Supercomputern vor einigen Jahren noch um Systeme mit spezieller Technologie, werden heute in der Regel gängige Rechnertechnologien eingesetzt. Dabei werden viele einzelne vergleichsweise kostengünstige Server zu einem so genannten Computercluster verbunden.

Ein Computercluster beschreibt also eine meist große Anzahl von einzelnen miteinander vernetzten Computern, die dazu verwendet werden, Teile einer Gesamtaufgabe parallel zu verarbeiten. Von außen betrachtet wirkt ein Computercluster wie ein einziger Rechner. Die jeweiligen Knoten sind dabei untereinander über ein schnelles Netzwerk verbunden.

Redundanz durch Ausfallsicherheit der Cluster

Durch den Aufbau solcher Serverfarmen wird die Rechenkapazität und Verfügbarkeit deutlich erhöht. Vor allem die Ausfallsicherheit eines Clusters ist ein entscheidender Vorteil gegenüber einem einzelnen Rechner. Fällt innerhalb eines Clusterverbunds ein System aus, hat das keinen direkten Einfluss auf alle anderen beteiligten Systeme innerhalb des Clusters. Auf diese Weise wird Redundanz erzielt.

Im Wesentlichen werden zwei Arten von Computerclustern unterschieden und eingesetzt:

  • Hochverfügbarkeits-Cluster sollen die Verfügbarkeit steigern und für eine bessere Ausfallsicherheit sorgen. Im Fehlerfall werden die Dienste von dem defekten Host des Clusters automatisch auf einen anderen Host übertragen. Einsatzgebiete sind Anwendungen, in denen eine Ausfallzeit von maximal einigen Minuten pro Jahr erlaubt ist.
  • High Performance Computing Cluster werden dazu verwendet, Berechnungen durchzuführen, die auf mehrere Hosts verteilt sind. Aus Benutzersicht stellt sich der Cluster als zentrale Einheit dar, die aber logisch gesehen aus mehreren vernetzten Systemen besteht. Die Einsatzgebiete liegen überwiegend im wissenschaftlichen und militärischen Bereich, aber auch die Serverfarmen für das Rendern von 3D-Computergrafiken und Computeranimationen gehören zu dieser Art von Cluster.

CompactPCI Serial ist speziell für den Aufbau von Hochverfügbarkeits-Clustern prädestiniert. Aber auch wenn es um kompakte Systeme mit hoher Rechenleistung geht, sind Lösungen basierend auf CPCI-S.0 kaum zu schlagen.

Im System-Slot steckt beispielsweise der für diesen Teil-Cluster zuständige Verteilrechner. Er ist an die acht Cluster-Nodes mit einem 1 GBit/s (optional 10 GBit/s) schnellen Full-Mesh-Ethernet-Netzwerk angebunden. Eine solche 9-Slot-Einheit ist ein typischer Sub-Cluster in einem Cluster-Verbund. Basierend auf moderner Intel-Technologie verfügt dieser zum Beispiel über 9 x 4 = 36 Kerne mit je 4 GB Speicher. Aus Gründen der Verfügbarkeit wird man den Sub-Cluster, der eine typische Leistungsaufnahme von 400 W mitbringt, mit einem eigenen Netzteil ausrüsten, das bei Bedarf auch redundant sein kann.

Acht der beschriebenen Sub-Cluster verbindet man mit Ethernet zu einem Gesamt-Cluster. Ein CompactPCI-Serial-Rechner dient dabei zur zentralen Verwaltung als NAS (Network Attached Storage). Insgesamt verfügt das System dann über 288 Kerne zuzüglich Verwaltungseinheiten. Dieser Cluster-Computer aus CompactPCI-Serial-Komponenten nimmt nur 3500 Watt auf und benötigt in einem 19“-Schrank 20 HE (Höheneinheiten). Das Gesamtvolumen des CompactPCI-Serial-Clusters kommt damit auf lediglich 50 % im Vergleich zur Lösung mit 1-HE-Servern. Er wäre bei Bedarf auch für den Einsatz in extremen Temperaturbereichen und für den mobilen Einsatz geeignet.

Ethernet in sicherheits-relevanten Systemen

Sicherheitsrelevante Computer nutzen häufig das Prinzip der Redundanz, um Fehler aufzudecken. Paart man zwei Rechner, so spricht man von 2-aus-2-Systemen. Diese beiden Rechner sind oft diversitär, also unterschiedlich, um zu vermeiden, dass sogenannte Common-Cause-Fehler eintreten. Neben Sicherheit ist auch Verfügbarkeit von erheblicher Bedeutung für Anwendungen in kritischen Bereichen.

Verfügbarkeit erreicht man ebenfalls durch Redundanz. Ergänzt man nicht-diversitäre Subsysteme durch ein weiteres Subsystem, so bekommt man ein 2-aus-3-System. Bei diversitären 2-aus-2-Systemen erreicht man die gewünschte Verfügbarkeit durch Verdopplung des gesamten 2-aus-2-Systems.

Sicherheitsrelevante Systeme im Fokus

Die Rechner müssen die Ergebnisse untereinander abgleichen und vergleichen. Hierzu ist eine Schnittstelle erforderlich, die erstens ausreichenden Datendurchsatz bietet, zweitens aber Rückwirkungsfreiheit gewährleistet. Schließlich soll durch den Defekt eines Rechners nicht das gesamte System lahmgelegt werden. Ethernet, und hier die galvanisch getrennten Kommunikationsstandards (10/100/1000BASE-T und 10GBASE-T) eignen sich besonders gut.

CompactPCI Serial hat speziell auch sicherheitsrelevante Systeme im Fokus. So sind neben Ethernet als Kommunikationsschnittstelle für Multiprocessing weitere Features wie zum Beispiel Hot Plugging vorgesehen. Man kann ein Board aus dem System ziehen, ohne dass der Betrieb der anderen Rechner unterbrochen wird. Da die Kommunikation der Rechner untereinander auf Ethernet basiert und Ethernet implizit bereits Hot Plugging unterstützt, bedarf es nicht einmal eines speziellen Hot-Plug-Controllers für diese Funktion. Als Hauptstromversorgung dient eine Single-12V-Power-Rail. Der Aufbau redundanter Netzteile ist besonders einfach, wenn sie nur eine Ausgangsspannung liefern müssen.

Ein doppeltes 2-aus-2-System könnte beispielsweise aus drei CompactPCI-Serial-Subsystemen bestehen. Jedes Subsystem hätte seine eigene unabhängige Standard-Busplatine mit möglicherweise unabhängigen Netzteilen. Die Verbindung der Subsysteme kann über Ethernet und Rear-I/O erfolgen (ein weiterer Vorteil von BASE-T).

Um 2-aus-3-Systeme zu verdrahten, bietet sich eine Full-Mesh-Architektur an. Eine Standard-Busplatine nimmt drei identische CPU-Boards auf. Die ebenfalls redundanten Switches können als unabhängige CompactPCI-Serial-Segmente ebenfalls auf Standard-Busplatinen realisiert werden. Die Verdrahtung der Subsysteme untereinander ist wieder mit Rear I/O möglich. Eine kundenspezifische Backplane wäre zur Optimierung dieser Systemfunktion hilfreich.

Modularer Aufbau mit Mezzaninen

Ethernet-Mezzaninkarten sind direkt auf der System-Slot-CPU untergebracht und bringen bis zu acht Ethernet-Anschlüsse auf dem für Ethernet vorgesehenen P6-Steckverbinder auf die Backplane. Sie dienen der Kommunikation mit (intelligenten) Peripherie-Slot-Karten in Stern- oder Mesh-Architektur.

Eine Besonderheit dieser Ethernet-Mezzanine besteht darin, dass sich der CompactPCI-Serial-Systemstecker P6, auf den die Ethernet-Signale geführt sind, nicht auf der CPU-Karte, sondern direkt auf dem Mezzanin befindet. Im Unterschied zu bisher bekannten Mezzanin-Standards gehen die Signale direkt an die Backplane und müssen nicht über die Trägerkarte geroutet werden.

Ein weiterer Vorteil von Mezzaninen ist die Flexibilität bei der Anzahl der Kanäle. Die Bedürfnisse können hier je nach Anwendungsfall stark variieren. Dennoch kann man immer eine Standard-CPU-Karte nutzen.

Zum Aufbau eines vollständig vermaschten Netzes für alle neun Steckkarten wäre je ein Mezzanin mit den maximalen acht Kanälen nötig, um jeweils unabhängig mit jeder anderen Karte kommunizieren zu können. Genügt für einfachere Multiprocessing-Systeme auch eine Sternarchitektur, wird das gleiche Mezzanin-Modul verwendet – in diesem Fall nur einmal aufgesteckt auf der System-Slot-CPU.

Ethernet an der Front mit Peripheriekarten

Eine Möglichkeit für die Nutzung von Ethernet an der Front stellen CompactPCI-Serial-Peripheriekarten dar. Diese lassen sich nicht nur in reinen CompactPCI-Serial-Systemen betreiben, sondern sorgen auch in Hybridsystemen mit einem System-Slot gemäß CompactPCI PlusIO für eine schnelle Verbindung. (Mehr zu Hybridsystemen finden Sie im Kapitel Hybridsysteme.)

Die Verwendung von speziellen Peripheriekarten hat viele Vorteile für besondere Anforderungen:

  • hohe Datenraten,
  • besondere Konfigurationsoptionen, z.B. gleichzeitiger Betrieb aller Kanäle oder wahlweise zwei redundante Kanalpaare,
  • Verwendung von Glasfaser-Anschlüssen (z.B. 1000BASE-SX),
  • Ausstattung für raue Umgebungen, z.B. für -40 bis +85 °C Betriebstemperatur,
  • Ausstattung für Marktanforderungen, z.B. mit M12- anstelle von RJ45-Steckverbindern für Bahnanwendungen.

Ethernet-Schnittstellenkarten erweitern als Peripherie-Boards die Anzahl der verfügbaren Ports der System-Slot-CPU nach außen auf einem separaten Slot. Die Verbindung erfolgt über PCI Express auf dem Stecker P1. Weitere Möglichkeiten bieten Switch-Karten. Mit einem Ethernet-Switch im System-Slot lassen sich – über den Stecker P6 – beispielsweise Multicomputer mit CPU-Karten in den Peripherie-Slots aufbauen. Ein Switch im Peripherie-Slot bringt dagegen die typischen Eigenschaften für die Vernetzung externer Geräte mit – ohne Software-Aufwand.

PCI Express für hohe Bandbreite

Im Gegensatz zu anderen seriellen Interconnects wie beispielsweise SATA und USB 3.0 beschränkt man sich bei PCI Express nicht auf eine einzige Lane (ein differenzielles Empfangs- und Sendeleitungspaar), sondern nutzt bis zu 8 dieser Lanes parallel (PCI Express x8).

Damit ist PCI Express prädestiniert für hohe Bandbreiten. Auch im CompactPCI-Serial-System kommt es dort zum Einsatz, wo viele Daten übermittelt werden, vor allem für die Kommunikation zwischen CPU-Karte und leistungsfähigen Peripheriekarten über die Backplane. Theoretisch sind basierend auf PCI Express 3.0 Datenraten von 8 GT/s pro Lane und Richtung zwischen Boards und insgesamt über 80 GB/s (bidirektional) im System möglich.

Ein modularer Rechner soll ähnlich wie ein klassischer PC auch Bildschirme ansteuern können. Viele Chipsätze haben heute bereits den Grafik-Controller integriert. In der Regel teilen sich bei dieser Architektur CPU und Grafikeinheit den gemeinsamen Hauptspeicher. Für geringe bis mittlere Anforderungen, vor allem im 2-D-Bereich, kann man so günstige und gute Lösungen erzielen.

Steuert man allerdings Bildschirme mit sehr hoher Auflösung an, so reduziert die Bandbreite dieses gemeinsam genutzten Speichers die Leistung sowohl der CPU als auch der Grafik-Einheit. Möchte man gar mehrere Bildschirme mit verschiedenen, hochauflösenden Bildinhalten gleichzeitig betreiben oder hat man höhere Anforderungen an die Grafik selbst (beispielsweise 3-D-Rendering), so ist es angebracht, auf einen externen, unabhängigen Grafik-Controller mit eigenem Bildspeicher zurückzugreifen.

Wählt man einen externen Grafik-Controller, wird der Datendurchsatz der Verbindung zwischen Chipsatz und Grafik-Controller zum kritischen Performance-Faktor. Deshalb hat gerade diese Verbindung die Entwicklung von PCI Express ganz maßgeblich getrieben.

Speziell zur Ansteuerung der Grafikkarte nutzt man gerne die komplette Bandbreite, also PCI Express x16. Da es relativ häufig vorkommt, dass man mehr als eine Grafikkarte ansteuern möchte, unterstützen alle bekannten Chipsätze und Grafik-Controller einen Modus, um PCI Express x16 in zwei x8-Links aufzuteilen. Dieses Aufteilen halbiert zunächst die maximale Burst-Datenrate. Die ständige Weiterentwicklung der Übertragungsfrequenz am PCI-Express-Interface (PCIe 1.0, PCIe 2.0, PCIe 3.0 usw.) gleicht dies aber wieder aus.

Besondere Architektur für Grafikerweiterungen

Grafikerweiterungen sind ein Grund für die besondere Architektur von CompactPCI Serial. Zwei Steckplätze sind vom System-Slot aus mit PCIe-x8-Schnittstellen angebunden. So ist es möglich, zwei Peripherie-Slots im CompactPCI-Serial-System mit Standard-Backplane mit leistungsfähigen Grafikkarten zu bestücken.

Da alle weiteren Peripherie-Steckplätze über PCIe x4 angesteuert werden, kann man Grafikkarten grundsätzlich in jeden Peripherie-Slot stecken. Die Performance ist dort zwar nicht mehr ganz so hoch, aber für viele Anwendungen immer noch ausreichend.

Moderne Grafik-Chips unterstützen die Ansteuerung von bis zu vier hochauflösenden Bildschirmen gleichzeitig per DisplayPort. Ein CompactPCI-Serial-System kann (ohne Bridges) bis zu acht solcher Grafikkarten aufnehmen und mit geeigneter Software 32 Bildschirme ansteuern.

Diese Erweiterbarkeit zeigt die Eignung der Architektur von CompactPCI Serial für Applikationen, die weit über die Möglichkeiten des parallelen CompactPCI hinausgehen. So kann man auch Leitwarten von Kraftwerken, von Stellwerken oder sogar Videowände mit CompactPCI-Serial-Systemen ausrüsten.

Der zweite klassische Anwendungsfall für PCI Express ist Networking. Auch Ethernet-Controller und Switches in der High-End-Telekommunikation benötigen hohe Bandbreite. Oft handelt es sich um DSP- oder FPGA-basierende Baugruppen, die von PCIe x8 profitieren. Für diese Anwendungen bieten sich 6-HE-Boards an, die zudem von der Rear-I/O-Funktionalität von CompactPCI Serial profitieren. 6-HE-Karten können mit ihrer Ein-/Ausgabe über beliebige Steckverbinder – auch optische – im hinteren Teil des Systems kommunizieren. Mehr dazu finden Sie in Kapitel Individuelle Rear I/O für 3 HE und 6 HE.

Peripherie-Erweiterung mit Switched Fabrics

Eine weitere Anwendung sind CompactPCI-Serial-Systeme mit mehr als acht Peripherie-Slots. Für High-End-Systeme kann man im System-Slot statt einer klassischen CPU ein Switched-Fabric-Board unterbringen. Die CPU steckt in einem Peripherie-Steckplatz und kommuniziert über PCIe x8 mit der Switched Fabric. Letztere bildet dann das Interface zu mehreren CompactPCI-Serial-Bussen, um komplexe Systeme mit 9+8 oder mit 9+16 Steckplätzen zu realisieren.

Die Realisierung von RAID-Systemen war eine wesentliche Motivation für die Erweiterung von CompactPCI zu CompactPCI Serial. Deshalb sind neben den anderen Schnittstellen auch SATA/SAS-Signale auf der Backplane verfügbar. So lässt sich jeder Peripherie-Steckplatz als Festplattensteckplatz nutzen. Der System-Slot kann damit – wiederum sternförmig – bis zu acht Festplatten direkt ansteuern.

In einem Hybridsystem, das an der Backplane CompactPCI-Serial-Peripheriekarten mit einer herkömmlichen CompactPCI-CPU oder einer CompactPCI-PlusIO-CPU im System-Slot verbindet, kann man immerhin bis zu vier Festplatten direkt ansteuern. Mehr zu CompactPCI PlusIO und Hybridsystemen finden Sie im Kapitel Hybridsysteme.

Die CompactPCI-Mechanik, die 1:1 für CompactPCI Serial übernommen wurde, bietet alle Eigenschaften, die ein RAID-Shuttle benötigt:

  • robuste Einschub-Mechanik,
  • Schalter im Griff, um das Entfernen der Festplatte zu signalisieren,
  • (blaue) LED, um zu signalisieren, dass man die Karte abziehen darf.

RAID-System als Multiprozessor-NAS

Mit einer zentralen Ethernet-Anbindung kann das System auch als NAS (Network Attached Storage) dienen. Ein solches RAID-System könnte dann so aussehen (Bild 7). In diesem System mit mehreren CPUs sind alle CPU-Baugruppen identisch, jedoch nutzt nur die CPU im System-Slot ihren RAID-Controller und hat zudem einen aufgesteckten Switch, um über die Backplane mit den anderen drei CPUs zu kommunizieren. Diese stecken in Peripherie-Slots und haben im System weder Switch- noch RAID-Funktion.

CompactPCI Serial sieht noch weitere Mechanismen vor, die für ein RAID-System erforderlich sind. So kann durch die physikalische Adressierung ermittelt werden, welches Laufwerk gewechselt werden soll. Ein der Spezifikation SFF-8485 entsprechender Management-Bus sorgt für die notwendige Kommunikation zwischen RAID-Controller und Shuttle. SFF steht für das Small Form Factor Committee, www.sffcommittee.org, in dem Firmen wie Seagate, Sun, LSI, IBM und Intel Standards vorantreiben.

Der SFF-8485-Standard definiert einen seriellen GPIO-Bus (SGPIO) speziell in Zusammenhang mit Serial Attached SCSI (SAS) und Serial ATA (SATA). Er dient zum Datenaustausch zwischen dem RAID-Controller und dem Laufwerks-Shuttle. So kann er einfache Status-Information übertragen (beispielsweise „Schalter geschlossen“, „Hard-Drive powered“) und umgekehrt LEDs ansteuern oder die Stromversorgung der Festplatte kontrollieren. Der SGPIO-Bus ist dediziert der SATA/SAS-Funktionalität zugeordnet und unabhängig vom System-Management-Bus des CompactPCI-Standards.

Der SGPIO-Bus nutzt vier Signale zur Datenübertragung:

  • SClock: ein Datentaktsignal getrieben vom RAID-Controller,
  • SLoad: ein Synchronisierungssignal, um Anfang und Ende eines Übertragungsrahmens zu erkennen – ebenfalls getrieben vom RAID-Controller,
  • SDataOut: das Daten-Ausgangssignal des RAID-Controllers,
  • SDataIn: das Daten-Eingangssignal des RAID-Controllers. Hier übertragen die Shuttles die Status-Information, während der entsprechende Zeitschlitz im Datenrahmen mit der physikalischen Adresse übereinstimmt.

Erweiterungen über die Backplane

Mit Hilfe von SATA-Port-Multipliern können auch mehr als acht Laufwerke in einem CompactPCI Serial-System angesteuert werden. Hierfür ist eine kundenspezifische Backplane erforderlich, welche dann auch mehr als acht SATA/SAS-Slots haben kann. Kundenspezifisch möglich wäre auch, nur bestimmte Steckplätze für SATA/SAS zuzulassen. Solch ein System kann beispielsweise aus acht Steckplätzen für PCI Express, USB und Ethernet sowie aus acht zusätzlichen Steckplätzen nur für SATA/SAS-Festplatten bestehen.

Mehr zum Thema spezifische Backplanes finden Sie im Kapitel Anwendungsspezifische Rückwand-Architekturen.

USB für mobile Funktionen

Während PCI Express auf der Backplane relativ gebräuchlich ist, scheint USB zunächst eher ungewöhnlich. Dabei ist USB ein weitverbreiteter Standard, um Peripheriegeräte wie Tastatur und Maus, USB-Sticks und externe Festplatten vor allem an mobile Computer anzuschließen.

Praktisch alle modernen Laptops verfügen aber auch über sogenannte Express-Card-Slots. Diese gestatten Nachrüstungen von außen wie etwa GSM/UMTS-Modems. Express-Cards basieren auf USB und alternativ auf PCI Express. Im Inneren eines Laptop-Computers werden ebenfalls beide Schnittstellen benutzt, um sogenannte PCI Express Mini Cards anzuschließen.

Um alle PCI Express Cards und PCI Express Mini Cards auch in einem modularen 19"-Rechner nutzen zu können, muss man deshalb auch diese elektrischen Interfaces unterstützen – sowohl USB als auch PCI Express auf einem Slot. So können CompactPCI-Systeme mit Drahtlos-Technologie ausgerüstet werden.

Für den Anwender ist es dabei am einfachsten, wenn er jeden Slot mit beliebigen Baugruppen bestücken kann. Bei CompactPCI Serial ist dies der Fall. USB und PCI Express werden von der CPU zentral angesteuert und über die Backplane an jeden der acht Peripherie-Slots verteilt.

Module mit höherer Bandbreite nutzen in der Regel PCI Express als Interface (z.B. WLAN), Module geringerer Bandbreite wie GSM/UMTS kommen mit USB aus. PCI Express v1.x erreicht bereits bei nur einem Link (einer differenziellen Empfangs- und einer Sendeleitung) 250 MB/s Bandbreite. USB 2.0 bleibt mit nur 480 MBit/s weit zurück. USB 3.0 erreicht allerdings Bandbreiten ähnlich dem PCI-Express-Standard. CompactPCI Serial definiert sowohl USB 2.0 als auch USB 3.0 und ist damit zukunftssicher aufgestellt.

(ID:42294317)