Bild 1: Architektur von PXI Express over IP.

Bild 1: Architektur von PXI Express over IP. Missing Link/Fraunhofer HHI

PXI Express wird zum Aufbau von Mess- und Testsystemen verwendet. PXI basiert für die Datenkommunikation auf der PCIe-Schnittstelle. Aufgrund der hohen Übertragungsgeschwindigkeit und der daraus folgenden Ansprüche an die Signalqualität, ist die Reichweite von PCIe-Verbindungen auf einige zehn Zentimeter einer Leiterplatte begrenzt. External-PCIe ermöglicht darüber hinaus eine kurze Verbindung (weniger als 5 m) außerhalb des Gehäuses. Die Datenübertragung findet in Form von Nachrichten statt, die PCIe Transaction Layer Packet heißen. Um mehrere Geräte mit dieser Punkt-zu-Punkt-Technologie zu verbinden, werden, wie bei Ethernet, Switches eingesetzt. PCIe-Switches und die angeschlossenen Geräte (Endpunkte) bilden eine Baumtopologie, die vom PCIe-Root-Complex ausgeht. Switches verbinden mehrere Geräte an Downstream-Ports mit einem Upstream-Port zu höheren Ebenen im PCIe-Baum.

PXI erweitert die PCIe-Schnittstelle um einen Referenztakt, Trigger und Synchronisationssignale. Diese Signale stellen synchrone Trigger und Datenaufnahme/-wiedergabe sicher. Aus Applikationssicht ergibt sich der Zugriff auf ein Gerät als Speicherzugriff. Dabei kann es sich um einen expliziten Registerzugriff (programmed IO) oder um Speichertransfers (DMA-Transfer) handeln. Bei ersterem geht es um den Zugriff auf einzelne Adressen eines eingeschränkten Adressbereichs. Bei letzteren können größere Datenblöcke übertragen werden. Dazu stehen umfangreiche Adressräume zur Verfügung.

Eck-Daten

Der Demonstrator zeigt, dass ein PXI-Express-over-IP-System eine einfache Systemintegration verspricht und dabei durch Hardwarebeschleunigung eine hohe Performanz ohne zusätzliche CPU-Last auf dem Host erreicht. Damit ist die Kommunikationseffizienz deutlich höher als bei LXI. Gleichzeitig kann in Zukunft von einer Fortentwicklung der Netzwerktechnologie (über 100 Gbit/s) und von einem großen Anbieterspektrum der Netzwerkindustrie profitiert werden. Die Genauigkeit der Zeitbasis entspricht der Genauigkeit der LXI-Geräte.

Als Nutzer von National-Instruments-Bibliotheken (Treiber) wird dieser Gerätezugriff abstrahiert und auf Speicherzugriffe abgebildet. Da PCIe grundsätzlich nachrichtenbasiert arbeitet, müssen die Speicherzugriffe in Nachrichten überführt werden. Dies wird von dem PCIe-Root-Complex durchgeführt, der in heutigen Systemen auf dem CPU-Chip direkt an die MMU angebunden ist. So werden aus Speicherzugriffen Transaction-Layer-Packets.

PXI ermöglicht durch Nutzung der PCIe-Basis eine einfache Systemintegration in Rechnerarchitekturen sowie durch vorhandene Treiber ebenfalls in Betriebssysteme. Die Datenraten sind hoch, die Reichweite ist allerdings beschränkt. Die Kommunikation ist insgesamt effizient, da sie von entsprechenden Hardware-Einheiten gut unterstützt und nach Auslösung eines Transfers softwareunabhängig durchgeführt wird (DMA). Damit ist der Einfluss von Betriebssystemen und anderen lastabhängigen Faktoren relativ gering.

MX-4 gestattet es, verschiedene Chassis, beziehungsweise Host und Chassis, zu verbinden. Dieses Verfahren bietet eine Möglichkeit der elektrischen und optischen Verbindung zur Vernetzung von Teilsystemen. Es erlaubt es dabei jedoch nicht, von der Ethernet-Technologie zu profitieren. So stellt das Ethernet-Ökosystem eine große Zahl von Anbietern und eine intensiv verfolgte Roadmap bereit.

Eine weitere Möglichkeit, größere Entfernungen (über 10 m) innerhalb von Messaufbauten zu überbrücken, bietet LXI. LXI wurde auf Basis von Ethernet spezifiziert. Damit auch verteilte Systeme mit hohen Anforderungen an die Zeitsynchronisation realisiert werden können, werden mithilfe von PTP (IEEE-1588) die einzelnen Geräte synchronisiert. Mit diesem Verfahren können Auflösungen im Bereich von Nanosekunden erreicht werden. Für eine höhere Genauigkeit müssen zusätzliche Signale genutzt werden. Da die Signallaufzeit jedoch relevant sein kann, wird dadurch die räumliche Ausdehnung des Aufbaus begrenzt.

Die Kommunikation in Netzwerken erfolgt wie bei PCIe seriell von Punkt zu Punkt und auf Basis von Nachrichten, die durch Switches und Router im System verteilt werden. Die Zugriffe einer Applikation auf LXI-Geräte werden letztendlich über die Netzwerkschnittstellen des Betriebssystems abgewickelt. Diese Schnittstellen werden aufgrund der hohen Anforderungen, die an sie gestellt werden, in den Betriebssystemen besonders behandelt. Daher werden Zugriffe auf diese Geräte nicht direkt über Speichertransfers, sondern durch Socket-Zugriffe realisiert. Als Nutzer von NI-Bibliotheken (Treiber) werden diese Vorgänge abstrahiert, und die Umsetzung von Gerätezugriffen auf die Netzwerkschnittstellen findet in den Bibliotheken statt. Diese interagieren mit dem Netzwerk-Stack des Betriebssystems, der die Kommunikation mit der Netzwerkkarte per DMA-Zugriff übernimmt.

Mithilfe von LXI sind große Entfernungen überbrückbar (über 300 m), wobei die Übertragungsgeschwindigkeit vom zugrunde gelegten Ethernet-Standard abhängig ist. Derzeit sind Ethernet-Standards für bis zu 100 Gbit/s definiert. LXI ermöglicht die Verteilung von Geräten in größeren räumlichen Dimensionen, bei gleichzeitiger Zeitsynchronisation der Einzelgeräte. Die Kommunikation ist nicht so effizient, da einige Softwareschichten zwischen den Nutzerfunktionen und der physikalischen Übertragung zum Gerät liegen.

Bild 2: Demonstrator-Architektur von PXI Express over IP. Die Ziffern bezeichnen Punkte, an denen einzelne Zugriffe erfasst werden können.

Bild 2: Demonstrator-Architektur von PXI Express over IP. Die Ziffern bezeichnen Punkte, an denen einzelne Zugriffe erfasst werden können. Missing Link/Fraunhofer HHI

Ein transparenter Tunnel von PXI Express über TCP/IP vereint die einfache und effiziente Kommunikation über PXI Express mit der höheren Reichweite von LXI. Der Tunnel bietet die gewohnte Performanz in Bezug auf Latenz und Determinismus. Die Zeitsynchronisation erfolgt analog zu LXI über PTP (IEEE-1588). Damit sind die Zugriffsmuster für die Applikationen auf Geräte, die via PXI Express over IP angebunden sind, identisch mit denen, die über PXI Express angebunden sind. Die Kommunikation ist effizient, da die Protokollverarbeitung in der Hardware stattfindet.

Einsatzmerkmale von PXI-Express-over-IP

Ein transparenter PXI-Express-over-IP-Tunnel ermöglicht die Verbindung von Geräten oder Chassis über weite Strecken. Das Einfügen eines transparenten Transportkanals gestattet dies, ohne dass die Schnittstellen der Geräte oder der Softwarestack ausgetauscht werden müssen. Lediglich das Stecken einer PCIe-Karte in das Host-System ist nötig, da alle Komponenten von den Betriebssystemen unterstützt werden.

Ohne Veränderungen an PXI-Systemen kann folglich das gleiche Gerät sowohl lokal als auch entfernt eingesetzt werden. Damit werden zum einen Anschaffungskosten eingespart, da andernfalls funktional gleiche Geräte mit unterschiedlichen Schnittstellen beschafft werden müssten. Zum anderen lassen sich Produktgenerationen einfacher entwickeln und warten, da nur eine Schnittstelle unterstützt werden muss.

Sowohl lokale als auch verteilte Systeme, die eine elektrische Isolation der Teilkomponenten erfordern, profitieren ebenfalls von der Technologie, da die PXI-Express-over-IP-Übertragung über optische Kommunikationstechnik erfolgen kann. Anders als bei üblichen Ethernet-Kabeln können hier zusätzlich auch Seitenbandsignale optisch übermittelt werden. Durch den Einsatz von Lichtwellenleitern lassen sich auch der Referenztakt und einige Triggersignale verteilen.

Architektur von PXI-Express-over-IP

Bild 3: Messergebnis mit Flash-Speicher (SSD) im Host.

Bild 3: Messergebnis mit Flash-Speicher (SSD) im Host. Missing Link/Fraunhofer HHI

Die Realisierung von PXI-Express-over-IP basiert auf dem Einsatz von Hardware-Beschleunigern in FPGAs. Die FPGAs werden auf PXI-Express-Steckkarten eingesetzt und stellen somit die Verbindung zur PXI-Schnittstelle her. Eine weitere Schnittstelle der Karte ist dann ein Netzwerkanschluss, zum Beispiel in Form eines SFP+-Anschlusses. Für die Funktionen innerhalb des FPGAs wird dabei auf Funktionsblöcke, IP-Cores, zurückgegriffen. Bild 1 zeigt die Architektur eines PXI-Express-over-IP-Systems. Der FPGA auf Seiten des Hosts enthält im Datenpfad die Anbindung an die PCIe-Schnittstelle mithilfe eines PCIe-Upstream-Ports (PCIe Up Port); zum Netzwerk hin wird ein TCP/IP-Hardwarebeschleuniger (Network Protocol Accelerator, NPA) eingesetzt. Dazwischen setzt eine Logik (Translation Logic) die PCIe-Kommunikation auf die TCP/IP-Schnittstelle um. Dabei werden die Seitenbandsignale in einer separaten TCP-Verbindung und somit unabhängig vom Datenaufkommen übertragen. Hinzu kommen eine Logik zur Handhabung der Triggersignale und eine PTP-Implementierung, was die Zeitsynchronisation über das Netzwerk gewährleistet.

Auf Seiten des entfernten Chassis wird die Netzwerkverbindung ebenfalls von einem NPA terminiert und PTP wird implementiert. Es folgt eine Translation Logic zur Umsetzung des TCP-Datenstroms in PCIe-Nachrichten und die Anbindung an die PCIe-Infrastruktur des Chassis über einen PCIe-Downstream-Port (PCIe Down Port). Die Implementierung realisiert so einen verteilten PCIe-Switch, der sich logisch so verhält, wie andere PCIe-Switches in Rechnern oder in einem PXI-Express-Chassis.

Demonstrator

Bild 4: Messergebnis mit Flash-Speicher (SSD) am verteilten PCIe-Switch.

Bild 4: Messergebnis mit Flash-Speicher (SSD) am verteilten PCIe-Switch. Missing Link/Fraunhofer HHI

Um die Machbarkeit des Verfahrens zu zeigen, wurde ein Labordemonstrator aufgebaut. Er besteht aus einer Workstation mit einer FPGA-PCIe-Steckkarte und einem weiteren Board, an welches ein PCIe-Endpunkt angeschlossen wird, damit der verteilte PCIe-Switch getestet werden kann. Die Boards sind über 10-Gbit/s-Ethernet-Anschlüsse (SFP+) in einem Punkt-zu-Punkt-Netzwerk verbunden. Am einfachsten eignet sich dafür ein Flash-Speicher (SSD), da für die Messung der Zugriffsperformanz einige anerkannte Werkzeuge verfügbar sind und sich effizient Vergleichsmessungen zwischen der Verwendung der SSD direkt im Rechner oder über den verteilten Switch durchführen lassen.

Der Fokus des Demonstrators liegt dabei auf der Messung von Performanz (Latenz, Bandbreite und Determinismus) der Datenkommunikation von PCIe und nicht auf den PXI-Express-Erweiterungen. Daher sind die PXI-Seitenbandsignale und die Synchronisation des Referenztaktes bei diesem Aufbau ausgespart. Es steht nun ein System nach Bild 2 zur Verfügung. Die Ziffern bezeichnen Punkte, an denen einzelne Zugriffe erfasst werden können und daher eine detaillierte Messung von Latenzen möglich ist. Diese Messungen sind Gegenstand aktueller Untersuchungen.

Ergebnisse mit SSD-Testprogrammen

Erste Messungen mit SSD-Testprogrammen zeigen, dass der Aufbau tatsächlich eine transparente Verbindung darstellt, da keinerlei Modifikationen an PCIe-Endpunkt, PCIe Root Complex oder Treibern sowie Applikation notwendig sind. Die eingesetzte Software, IOPing zur Messung der Latenz und FIO zur Messung der Bandbreite, zeigt keine große Varianz der Ergebnisse.

Die Ergebnisse in Bezug auf die erreichbare Bandbreite und IO-Durchsatz stellt Bild 3 dar. Es ist jeweils in der rechten Y-Achse die Bandbreite, in der linken der IO-Durchsatz angegeben. Die linke Grafik zeigt die Ergebnisse der Messung mit einer SSD, die direkt im Rechner eingesteckt ist. Die rechte Grafik zeigt die Ergebnisse inklusive des verteilten Switches. Es ist dabei ersichtlich, dass die Bandbreitenbeschränkung auf die maximale Übertragungsrate des Netzwerks und den Protokoll-Overhead zurückzuführen ist. Bild1_PXI-over-IPDie Latenz zeigt mit 100 µs im ersten und 105 µs im zweiten Fall für die Dauer eines Zugriffes bis zur Antwort (Round Trip Time, RTT) einen Anstieg von 5 µs, in diesem Fall 5 %, für die eingefügten Protokollschichten.