Was bestimmt die Busleistung?

Überblick

Sie entwickeln ein neues Testsystem, bei dem der Einheitendurchsatz entscheidend ist. Sie evaluieren mehrere Geräte, die mit GPIB, USB, Ethernet oder PCI/PXI Express (PXIe) arbeiten. Woher wissen Sie, welche Gerätebusse eine ausreichende Systemleistung liefern? Die theoretische Bandbreite jeder Busoption ist ein guter Startpunkt, um die Leistung zu bewerten, aber oft muss die Evaluierung tiefer gehen. In diesem Beitrag werden die vier Hauptfaktoren untersucht, die die Gerätebusauswahl beeinflussen: Busbandbreite, Latenz, herstellerspezifische Treiberimplementierung und Anwendung.

Inhalt

Vereinfachtes Modell eines Testsystems

Selbst in einem vereinfachten Modell eines Testsystems (siehe Abbildung 1) gibt es viele Hard- und Softwarekomponenten, die die Busleistung beeinträchtigen können. Im Host-Computer beeinflussen Softwareanwendung, Betriebssystem, CPU/RAM-Kombination, Echtzeitbetriebssystemunterstützung, Multicore-CPU-Optimierung, Software-Stacks, Treiber und Hardwareschnittstelle die Busleistung. Geräteseitig beeinflussen I/O-Hardware und Firmware, CPU/RAM-Kombination und Messgeschwindigkeit die Busleistung. Das Ändern einer dieser Komponenten kann die Busleistung ändern, genau wie das Ändern von einem Bus zum anderen die Gesamtleistung des Systems beeinflusst. Alle diese Komponenten können einem der vier Hauptfaktoren zugeordnet werden, die die Busleistung beeinflussen. Viele Busleistungsvergleiche konzentrieren sich ausschließlich auf die Busbandbreite und ignorieren die anderen Hardware- und Softwarekomponenten, die die tatsächliche Busleistung beeinflussen. Systementwickler müssen nicht nur die theoretische Leistung eines Busses bewerten, sondern auch die Leistung der einzelnen Geräte auf diesem Bus im Kontext des gesamten Systems.

 
 
Abbildung 1. Host-PC und Gerätesystemkomponenten


Die vier Hauptfaktoren, die die Leistung des Busses beeinflussen, sind Busbandbreite, Latenz, Implementierung des Treibers/Firmware und Anwendung. Die Bandbreite ist die Datenrate. Dies wird in der Regel in Millionen Bits pro Sekunde (Mbit/s) gemessen. Die Latenz ist die Übertragungszeit. Dies wird in der Regel in Sekunden gemessen. Bei Ethernet-Übertragungen werden beispielsweise große Datenblöcke in kleine Segmente zerlegt und in mehreren Paketen gesendet. Die Latenz gibt an, wie lange eines dieser Pakete übertragen werden soll. Ein System kann nicht schneller als die Wartezeit auf seinen Bussen auf Daten reagieren. Die Implementierung von Bustreibersoftware, Firmware und Hardware beeinflusst die Leistung.

Nicht alle Instrumente sind gleich. Ein PC mit Multicore-Prozessor oder Real-Time-Betriebssystem (RTOS) und mehr RAM hat eine höhere Leistung als ein PC mit einem langsameren Prozessor und weniger RAM. Das Gleiche gilt für Instrumente. Die Kompromisse des Instrumentendesigners bei der Implementierung – sei es ein modulares oder traditionelles PXIe-Gerät – wirken sich auf die Geräteleistung aus. Einer der Hauptvorteile von PXI-Express-Instrumenten ist, dass sie softwaredefiniert sind, so dass der Endnutzer die optimalen Kompromisse bei der Implementierung festlegen kann. Einige verfügen auch über programmierbare FPGA-Architekturen, die eine deterministischere Leistung ermöglichen und die Möglichkeit bieten, benutzerdefinierte Verarbeitungsprozesse am Gerät durchzuführen, ohne andere Systemressourcen zu beeinträchtigen.

Der letzte wesentliche Faktor, der die Leistung des Busses beeinflusst, ist die Anwendung oder die Verwendung des Geräts. In einigen Anwendungen ist das Mess-Subsystem der Engpass, in anderen das Prozessor-Subsystem. Das Verständnis, welches Subsystem den Engpass verursacht, bietet einen Weg zur Verbesserung der Leistung. Und der Kernpunkt bleibt, dass ein bestimmter Bus, damit er ausreichend leistungsfähig ist, die Anforderungen der Anwendung erfüllen oder übertreffen muss. Wenn Sie jeden wichtigen Faktor genauer betrachten, können Sie die Kompromisse besser verstehen.

 

Abbildung 2: Theoretische Bandbreiten gegenüber Latenzen von Mainstream-T&M-Bussen

 

 

Latenz und Bandbreite



Wie bereits erwähnt, wird sich die Wartezeit je nach Größe der Datenübertragung stark auf die Busleistung auswirken. Die theoretische Bandbreite und Latenz von Mainstream-Geräte-Steuerbussen (siehe Abbildung 2) geben Hinweise zum Zusammenhang zwischen Busleistung und Übertragungsgröße. Nehmen wir beispielsweise zwei Kommunikationsbusse. Fast Ethernet (100M Ethernet) hat eine Bandbreite von 100 Mbit/s, die höher ist als die 64 Mbit/s Bandbreite von Hochgeschwindigkeits-GPIB. Die Latenz von Fast Ethernet ist jedoch viel langsamer – im Millisekundenbereich – als die Hochgeschwindigkeits-GPIB-Latenz, die im Zehn-Mikrosekunden-Bereich liegt. Abbildung 3 zeigt die tatsächliche Übertragungsrate für mehrere Busse am selben Gerät. Bei Datenübertragungen kleiner als 8 KByte bietet Hochgeschwindigkeits-GPIB eine höhere Leistung. Bei Übertragungsgrößen größer als 8 KByte bietet Ethernet jedoch eine bessere Leistung.

 

 
Abbildung 3: Vergleich der HS-488- und Ethernet-Leistung über Paketgrößen hinweg unter Verwendung eines Alterungsbereichs



Viele Ingenieure setzen immer noch auf alternde Geräte mit GPIB- oder älteren Ethernet-Schnittstellen, und das Verständnis ihrer Leistungsmerkmale ist wichtig für die Wartung bestehender Systeme. Moderne Plattformen wie PXI können jedoch den Durchsatz erheblich verbessern, die Latenz verringern und die Integration mit sich verändernden Architekturen und Anforderungen vereinfachen. Diese Upgrades helfen auch bei der Unterstützung von Testsystemen im Zuge der Weiterentwicklung der Technologie und reduzieren den langfristigen Wartungsaufwand.

Das gleiche Prinzip, dass sowohl Bandbreite als auch Latenz die Busleistung beeinflussen, gilt auch beim Vergleich von Kommunikationsbussen mit Systembussen. Kommunikationsbusse wie GPIB, USB und LAN werden üblicherweise außerhalb des PCs zum Anschließen von Peripheriegeräten verwendet und haben längere Latenzen und geringere Bandbreiten. Systembusse wie PCI und PCI Express werden in der Regel innerhalb des PCs verwendet und haben bessere Latenzen mit viel höheren Bandbreiten und bieten die beste Leistung für kleine und große Übertragungsgrößen. Dies liegt daran, dass Daten von mehreren Kommunikationsbussen zur Verarbeitung durch die Host-CPU auf Systembussen zusammengefasst werden.


Eine andere Betrachtungsweise ist, dass der primäre Wert von Kommunikationsbussen nicht die Leistung, sondern ein anderer Faktor ist. USB erleichtert z. B. das Anschließen externer Geräte und LAN ist hervorragend geeignet, Messungen über große Entfernungen zu verteilen. Beide Busse werden jedoch durch höhere Bandbreite und geringere Latenz wie PCI Express mit CPU und RAM überbrückt.

 
 
Abbildung 4: Unterschiede bei der Implementierung für gleiche Busse beeinflussen die Leistung bei zwei alternden Oszilloskopen

Implementierung

Die Implementierung ist der dritte wesentliche Faktor, der die Busleistung beeinflusst. Die Auswahl der Busschnittstellenchips, die Kodierung der Firmware oder Instrument Drivers sowie die Größe von CPU und RAM beeinflussen beispielsweise die Busleistung. Nehmen wir den Fall von Standard-GPIB- und Ethernet-Bus-Implementierungen für zwei verschiedene Herstellerbereiche. Die Ergebnisse in Abbildung 4 zeigen die Auswirkungen von Implementierungsentscheidungen auf die Busleistung. Der erste Oszilloskop bietet eine bessere Leistung für die meisten Übertragungsgrößen für Standard-GPIB und Ethernet. In diesem Benchmark wurden SCPI-Befehle auf demselben PC mit denselben GPIB-Kabeln verwendet. Der einzige Unterschied bestand in der Geräteimplementierung der GPIB-Schnittstellen. (Diese Vergleiche basieren auf alternden Instrumenten und sind weiterhin nützlich, um zu veranschaulichen, wie sich Implementierungsunterschiede auf den Durchsatz auswirken können, auch wenn derselbe Bustyp verwendet wird.)

Diese Auswirkung ist besonders problematisch, da die meisten Gerätehersteller keine Busleistung für ihre Geräte angeben. Darüber hinaus beeinflussen der Geräteprozessortyp und die Geschwindigkeit, Speichertiefe, Betriebssystem, Firmware und Benutzeroberflächensoftware die Leistung des Busses. Das bedeutet, dass Systementwickler die Busleistung bewerten sollten, bevor die endgültige Geräteauswahl abgeschlossen ist, insbesondere wenn sie mit veralteten Systemen arbeiten oder keine klaren Durchsatzspezifikationen haben.

Ein weiterer großer Einfluss der Implementierung auf die Busleistung ist der Host-Overhead, der vom Gerätetreiber benötigt wird. Geräte mit Systembussen, wie PCI/PXI, PCI Express/PXI Express, können mit Hilfe des Direct Memory Access (DMA) Daten direkt in den oder aus dem Systemspeicher mit minimalem Eingriff der Host-CPU übertragen. In diesen Fällen besteht die Rolle der CPU hauptsächlich in der Konfiguration des Datenstroms und des reservierten Speichers. Im Gegensatz dazu erfordern Gerätetreiber, die Kommunikationsbusse verwenden, oft bei jeder Übertragung in und aus dem Speicher eine enge und intensive Verwaltung durch den Host-Computer. Diese Treiber-Software-Stacks verursachen Verzögerungen und Jitter beim Datenübertragungs-Timing, da sie zusätzliche Verarbeitung erfordern und von Betriebssystemprioritäten abhängig sind. Je nach benötigtem Durchsatz kann der Treiber-Software-Stack einen erheblichen Teil der Prozessorkapazität beanspruchen und sogar zu einem Engpass im Datenstrom werden.

Anwendung

Der letzte wichtige Faktor für eine hohe Leistung eines Busses ist die Anwendung des Geräts im System. Einige Anwendungen erfordern viel Datenverarbeitung, z. B. die Berechnung von FFTs und die Übertragung großer Signalverläufe, während andere weniger Verarbeitungsbedarf haben, z. B. nach Mindest- oder Höchstwerten suchen. Andere Systeme reagieren jedoch möglicherweise überhaupt nicht auf Verarbeitungsanforderungen, da die Verarbeitung nach Abschluss einer Messung offline erfolgt. Je rechenintensiver und latenzempfindlicher die Anwendung ist, desto mehr kann der Prozessor zu einem Engpass werden.

Geräte, die auf Systembussen wie PCI/PXI und PCI Express/PXI Express basieren, sind eine bessere Lösung, da sie DMA-basierte Übertragungen unterstützen und geringere Latenzen und eine höhere Bandbreite bieten (siehe Abbildung 3). Andererseits reicht für geringere Durchsätze und latenztolerante Anwendungen oft jeder Bus aus. In diesen Fällen kann die Geräteauswahl auf andere Kriterien wie Messgeschwindigkeit, Genauigkeit, Genauigkeit, Entfernung, Kosten, Robustheit oder Größe fallen.

Fazit

Aus der Analyse der vier Hauptfaktoren, die die Leistung beeinflussen: Busbandbreite, Buslatenz, herstellerspezifische Implementierung und Anwendung, gibt es einige Systementwicklungsempfehlungen, die es zu beachten gilt. Halten Sie die Messungen für maximale Leistung so nah wie möglich an der CPU oder als Teil des Systems mit PXI. Dies nutzt leistungsfähigere Treiber mit DMA und geringer Latenz von Systembussen und reduziert die zusätzlichen Verzögerungen beim Mess-Timing und bei der Prozessorlast. Schließlich ist zu beachten, dass selbst innerhalb desselben Busses und für denselben Messtyp unterschiedliche Messgeräte und deren Treiber in ihrer Durchsatzleistung und CPU-Auslastung variieren. Wenn Sie also keine klaren Spezifikationen finden, müssen Sie möglicherweise die Busleistung potenzieller Geräte bewerten, bevor Sie die endgültige Auswahl treffen.

Wenn es auf die Leistung des Busses ankommt, kombiniert PXI Express erstklassige Bandbreite, geringe Latenz und Softwaretransparenz mit Skalierbarkeit – so können Sie die Leistung steigern und Funktionen hinzufügen, wenn sich die Anforderungen ändern, ohne Ihr gesamtes Testsystem neu zu entwerfen.