Mit der Integration von RoCE v2 in GigE Vision 3.0 wird Remote Direct Memory Access (RDMA) zum Standard für Hochgeschwindigkeits-Ethernet-Kameras. Dadurch wird ein zuverlässigeres Streaming bei geringerer CPU-Last ermöglicht, was die Technologie besonders für skalierbare Multi-Kamera-Installationen prädestiniert. GigE Vision 3.0 und RoCE v2: Standardisierung der Hochleistungs-Bildübertragung über Ethernet RDMA Camera Lucid Tech Brief TCP for 10GigE Banner

Das hohe Tempo der Innovation

Da Bildverarbeitungssysteme zunehmend höhere Auflösungen und schnellere Bildraten erreichen, stößt das stetig wachsende Datenvolumen an die Grenzen traditioneller Netzwerkkonfigurationen – und übertrifft diese in manchen Fällen bereits. Mit der zunehmenden Verbreitung von 10GigE- und 25GigE-Kameras, die hohe Datenraten und komplexe Bildverarbeitungsprozesse erfordern, können Integratoren auf Paketverluste stoßen, die zu höherer CPU-Last und inkonsistenter Latenz führen. Diese Herausforderungen erfordern häufig eine sorgfältige Optimierung oder in manchen Fällen sogar kundenspezifische bzw. proprietäre Lösungen.

Mit der Einführung von GigE Vision 3.0 und der Unterstützung von RDMA über den RoCE v2 Standard setzt die Branche jedoch auf ein Hochleistungs-Transportprotokoll, das sich bereits in Rechenzentren und HPC-Umgebungen (High Performance Computing) bewährt hat. Dieser Artikel zeigt, wie die beiden Standards GigE Vision und RoCE v2 zusammengeführt werden, um effizientere, skalierbare und zukunftssichere Netzwerke für die industrielle Bildverarbeitung bereitzustellen.

Mehr Daten, mehr Verarbeitung Schnellere Sensoren und hochbandbreite Schnittstellen treiben die Innovation in der industriellen Bildverarbeitung voran, während zunehmend komplexe Inspektionsaufgaben die Daten- und Verarbeitungsbelastung auf Host-Systemen erhöhen. Single Vision system, one computer one camera More complex vision system, multi-camera application Very complex vision system, multi-camera and complex topology Data-processing1 Data-processing2

GigE Vision und RoCE v2: Zwei Standards auf getrennten Wegen

Der GigE Vision Standard wurde 2006 eingeführt mit dem Ziel, die Übertragung von Bilddaten über Ethernet in Bildverarbeitungsanwendungen zu vereinheitlichen. Der GigE Vision Standard ist ein gemeinschaftlicher Industrie-Standard, der von Ingenieuren aus Kamera- und Softwareunternehmen getragen wird, die ihre Zeit ehrenamtlich investieren, um ihn zu pflegen und weiterzuentwickeln. Neue Kundenanforderungen werden erst nach gründlicher Recherche, intensiven Diskussionen und Verteidigung innerhalb des Komitees in den Standard aufgenommen. Die Konformität wird durch formale Konformitätstests überprüft, einschließlich einer Kamera-Validierungssuite, die Hunderte von im Standard definierten Anforderungen abdeckt. Nur Produkte, die diese Tests bestehen, werden als GigE Vision konform anerkannt und gewährleisten damit herstellerübergreifende Interoperabilität und ein vorhersagbares Verhalten im Produktionseinsatz. Der Standard etablierte einen gemeinsamen Rahmen auf Basis von UDP, um die Interoperabilität zwischen Kameras, Software und Netzwerktechnik sicherzustellen.

Im Laufe der Zeit wurden im GigE Vision Standard zahlreiche Erweiterungen eingeführt: Paket-Neuübertragung und Chunk-Daten (GigE Vision 1.1, 2008), offizielle Unterstützung für Link Aggregation und 10 Gigabit über IEEE 802.3ba, Kompressionsunterstützung sowie Steuerung nicht-streamender Geräte (GigE Vision 2.0, 2012), Verbesserungen bei Puffer- und Ereignisbehandlung sowie die Unterstützung komplexerer 3D-Datenstrukturen (GigE Vision 2.1, 2018) sowie GenDC-Streaming und Multi-Event-Datenunterstützung (GigE Vision 2.2, 2022).

GigE Vision
Infiniband Trade Association

Parallel dazu stand die Rechenzentrums- und HPC-Industrie vor einer anderen Herausforderung: Wie lassen sich große Datenmengen mit minimaler Latenz und geringer CPU-Last zwischen Servern übertragen? Dies führte zur Entwicklung von RDMA-Technologien und zur Einführung von RoCE (RDMA over Converged Ethernet). RoCE wurde von der InfiniBand Trade Association (IBTA) entwickelt, um das leistungsstarke RDMA-Transportprotokoll von InfiniBand auf Standard-Ethernet-Netzwerke auszuweiten. RoCE v1 (2010) arbeitete auf Layer 2 und war auf lokale Netzwerksegmente beschränkt, während RoCE v2 (2014) durch UDP/IP-Kapselung erweitert wurde und dadurch über Standard-Ethernet-Netzwerke routbar und skalierbar ist. In den vergangenen zehn Jahren hat sich RoCE v2 trotz konkurrierender RDMA-Technologien weiterentwickelt und breite Akzeptanz in den Bereichen Cloud Computing, Storage und Echtzeitanalytik gefunden.

10 Mbps
1983
100 Mbps
1993
1 Gbps
1998
10 Gbps
2002
RoCE v1
Released

2010
InfiniBand
Spec v1 Released

2000
(InfiniBand originated from a merger of Future I/O & Next Generation I/O) 2006 40 / 100 Gbps
2010
InfiniBand
Linux Compatibility

2004
GigE Vision 2.1
2018
RoCE v2
Released

2014
25 Gbps,
2.5 / 5 Gbps
(NBase-T)
2016
200 /
400 Gbps
2017
GigE Vision 2.0
2011
GigE Vision 2.2
2012
800 Gbps - 10 Tbps
2023 and Beyond...
Long ethernet cable GigE Vision logo

Sowohl der GigE Vision Standard als auch der RoCE RDMA Standard verfügen über eine etablierte Historie.

Warum jetzt: RDMA und GigE Vision wachsen zusammen

Die Idee, RDMA-Prinzipien auf Ethernet-basierte Industriekameras anzuwenden, wurde bereits 2016 vom GigE Vision Standardisierungskomitee untersucht. Ein Vorschlag aus dem Jahr 2017 innerhalb dieses Komitees beschrieb einen neuen GVSP-Payload-Typ, der für RDMA entwickelt wurde. Obwohl der Ansatz technisch überzeugend war, war das breitere Machine-Vision-Ökosystem noch nicht bereit. Zu diesem Zeitpunkt war unklar, welche RDMA-Technologie sich durchsetzen würde, da mehrere konkurrierende Ansätze existierten, darunter das iWarp-Protokoll und Intels Omni-Path-Architektur. Zwar gewann RoCE v2 zunehmend an Popularität, jedoch waren RoCE v2 NICs teuer, wurden nur von einem einzelnen Hersteller produziert und erforderten zusätzlichen Entwicklungsaufwand für die Integration in Bildverarbeitungssysteme.

HPC and data centers needed RDMA

RoCE wurde 2010 von der IBTA eingeführt, um RDMA in das High-Performance Computing zu bringen. Mit RoCE v2 (2014) kamen IP-Routing und Flow-Control hinzu, wodurch eine skalierbare, standardbasierte Implementierung möglich wurde.

Zur gleichen Zeit wurden die meisten Anwendungen in der industriellen Bildverarbeitung noch zuverlässig von 1GigE-Kameras abgedeckt, und für Anwender mit höherem Bandbreitenbedarf standen bereits Alternativen wie USB 3.0, Camera Link und CoaXPress zur Verfügung. Die Nachfrage nach Ethernet mit höherem Durchsatz wuchs zwar, blieb jedoch insgesamt begrenzt. Frühe Anwender von 10GigE setzten auf einfachere Bildverarbeitung mit leistungsstarken Host-PCs, und mit entsprechender Optimierung war die auf UDP basierende Datenübertragung in der Regel ausreichend. Infolgedessen verpflichteten sich viele Kamerahersteller nicht zu RDMA und scheuten den Aufwand, ein vollständig RDMA-kompatibles Ökosystem aufzubauen und zu pflegen. Ohne breite Herstellerunterstützung oder eine starke Nachfrage seitens der Endanwender wurden die Bemühungen, RDMA in den GigE Vision Standard zu integrieren, zurückgestellt.

Mit der Zeit stieg jedoch die Nachfrage nach Multi-10GigE-Kameraanwendungen auf ein Niveau, bei dem RDMA erneut bewertet werden musste. Immer mehr Kunden setzten auf Ethernet nicht nur wegen der Geschwindigkeit, sondern auch aufgrund seiner industriellen Zuverlässigkeit und Netzwerkflexibilität. Eigenschaften wie integrierte elektrische Isolation, große Kabellängen, Power over Ethernet (PoE), Precision Time Protocol (PTP) und Action Commands machten Ethernet ideal für komplexe, skalierbare Bildverarbeitungssysteme. Anwender wollten die industriellen Vorteile von Ethernet mit der Bandbreite von 10GigE und darüber hinaus verbinden. Als jedoch zunehmend Multi-10GigE-Kamerasysteme eingesetzt und fortschrittlichere Bildverarbeitungsprozesse implementiert wurden, stießen viele auf hohe CPU-Last und Zuverlässigkeitsprobleme, die durch Paketverluste und Neuübertragungen über UDP verursacht wurden. Der steigende Bedarf an CPU-Ressourcen zur Verwaltung mehrerer 10GigE-Datenströme machte deutlich, dass der Zeitpunkt gekommen war, RDMA für den GigE Vision Standard erneut zu evaluieren.

UDP Packet Resend Bottleneck: 10GigE and 25GigE cameras generate massive data streams that can overwhelm unoptimized systems with limited CPU resources. When packet loss occurs, the overhead of handling retransmissions over UDP can trigger a cascade of dropped packets and image corruption, especially in multi-camera setups, creating a vicious cycle of rising CPU load and degraded reliability. UDP-Paketneuübertragung Beispiel für den Host-PC, der fehlende oder in falscher Reihenfolge eingetroffene Pakete verarbeitet. Der Filtertreiber des Kameraherstellers überwacht den UDP-Datenverkehr, indem er die GVSP-Header ausliest, und ermöglicht so die erneute Anforderung von Paketen. Dieser Prozess funktioniert zuverlässig bei 1GigE-, 2.5GigE- und 5GigE-Geschwindigkeiten, bei denen die Datenraten niedrig genug sind, damit das System Neuübertragungen problemlos handhaben kann. Packet Retransmission UDP GigE Vision

In der Zwischenzeit entwickelte sich auch die Situation für RoCE v2 RDMA weiter. Dank der UDP-Kapselung nahm die Verbreitung von RoCE v2 exponentiell zu. Mit der Einführung der Broadcom-Chipsätze BCM57414 und BCM957414 wurden RDMA-NICs zudem zugänglicher und kostengünstiger, wobei die Preise für NICs denen nicht-RDMA-fähiger Modelle entsprachen. Die Unterstützung durch Betriebssysteme war sowohl unter Windows als auch unter Linux ausgereift, und das RoCE v2 Protokoll wurde umfassend verstanden und breit eingesetzt, sodass es sich gegenüber konkurrierenden RDMA-Technologien durchsetzte. Aus diesen Gründen beschloss das GigE Vision Standardisierungskomitee, RoCE v2 RDMA als optionales Transportprotokoll in die Spezifikation zu integrieren. Während das ursprüngliche UDP-Transportprotokoll weiterhin unterstützt wird, bietet RDMA eine standardkonforme Alternative für Systeme mit höheren Bandbreitenanforderungen, ohne dass CPU-Ressourcen für die Verwaltung der Datenströme benötigt werden.

Wie RoCE v2 RDMA die CPU-Last in Bildverarbeitungssystemen reduziert

In einem herkömmlichen UDP-basierten System überträgt jede Kamera Bilddaten an den Host, wo die CPU für die Paketassemblierung, Datenvalidierung, Paketneuübertragung und das Kopieren der Daten in die Anwendungs-Puffer zuständig ist. RDMA bietet hierfür eine effizientere Alternative. Mit RoCE v2 werden die Daten direkt aus dem Speicherpuffer der Kamera in den PC-Speicher übertragen, wobei Kernel und CPU umgangen werden. RDMA fixiert den PC-Speicher, indem es diesen beim RDMA-fähigen Network Interface Card (NIC) des Hosts, auch bekannt als Host Channel Adapter (HCA), registriert. Dadurch wird sichergestellt, dass die Kameradaten im physischen RAM verbleiben und nicht vom Betriebssystem verschoben werden. Der NIC erhält anschließend die Berechtigung, auf diesen Speicher direkt zuzugreifen, um den Datenstrom zu verwalten, einschließlich der Anwendung von Flow-Control und Paketneuübertragung.

Damit RDMA funktioniert, muss die NIC Speicher im physischen RAM fixieren. Dieses Fixieren reserviert den Speicher für die Übertragung und Speicherung von Kameradaten.

Visualisierung des RDMA-Datenflusses: Eine vereinfachte Übersicht, wie Queue Pairs und Completion Queues Zero-Copy-Speicherübertragungen in einem RDMA-Vorgang koordinieren.

Jede RDMA-Verbindung verwendet eine Queue-Pair-Struktur, die jeweils aus einer Send-Queue und einer Receive-Queue besteht. Zusätzlich gibt es eine Completion-Queue, die den Status jeder Übertragung verfolgt und es der Anwendung ermöglicht zu erkennen, wann Daten zur Verarbeitung bereitstehen. Diese Queues werden hardwareseitig von der RDMA-NIC des Hosts verwaltet. Da die Übertragungen vollständig in der Kamera- und NIC-Hardware stattfinden, ist die CPU nicht an der Verwaltung des Datentransfers beteiligt. Dieser Mechanismus wird als Zero-Copy-Transfer bezeichnet. Er reduziert die System-Overheads erheblich, verbessert die Deterministik und entlastet die CPU, sodass mehr Ressourcen für Bildverarbeitung, Benutzeroberflächen oder Steuerungslogik zur Verfügung stehen.

Entwickler-APIs und Softwareunterstützung für RDMA

Zur Implementierung der RDMA-Kommunikation nutzen Entwickler Low-Level-Programmier-APIs, die als Verbs bezeichnet werden. Unter Linux stellt die Bibliothek libibverbs den Zugriff auf dieses Interface im User Space bereit. Unter Windows bietet Microsoft die Network Direct Service Provider Interface. Diese Bibliotheken ermöglichen Software- und Kameraherstellern den Zugriff auf die RDMA-Hardwarefunktionen, die für High-Performance-Streaming erforderlich sind. So lässt sich beispielsweise die RDMA-Streaming-Unterstützung in LUCIDs Arena SDK, in der ArenaView-GUI und den zugehörigen APIs sowie in anderer GigE Vision konformer Software integrieren.

RDMA Verbs Microsoft Linux

Wie werden RDMA-Geräte in Anwendungen programmiert? Der Einstieg erfolgt über die RDMA-Verbs, die die Low-Level-Bausteine für RDMA-Anwendungen darstellen.

Diese APIs stellen die Funktionen bereit, die benötigt werden, um Speicher zu registrieren und zu fixieren, Queue Pairs zu erstellen und zu verwalten sowie Datenübertragungsoperationen auszuführen. Sie sind entscheidend, um Zero-Copy-Datenbewegungen über RDMA-NICs zu ermöglichen. Allerdings definieren diese APIs zwar die Möglichkeiten für RDMA-Kommunikation, geben jedoch nicht vor, wie RDMA innerhalb einer Machine-Vision-Anwendung strukturiert oder verwaltet werden sollte.

RDMA Frame and Packets

Die Packet Sequence Number (PSN) ist im InfiniBand Base Transport Header (IB BTH) eingebettet, und der Empfänger akzeptiert nur Pakete in der richtigen Reihenfolge.

An dieser Stelle kommt der GigE Vision 3.0 Standard ins Spiel. Dieser Standard definiert, wie RDMA-basierte Bildströme eingerichtet, betrieben und beendet werden. Er legt außerdem fest, welche Geräte-Register und Steuerungsknoten erforderlich sind, wie Speicherressourcen zugewiesen werden und welche Paketformate zur Übertragung von Bilddaten verwendet werden. Dadurch wird eine konsistente und vorhersagbare Kameraleistung sowie die Interoperabilität zwischen verschiedenen Implementierungen gewährleistet.

Die Standardisierung der RDMA-Nutzung innerhalb des GigE Vision 3.0 Standards bringt zahlreiche Vorteile für Systemintegratoren, wobei der wichtigste Vorteil die Hardware- und Softwareflexibilität bei der Einführung von RDMA ist. Systemintegratoren sind nicht auf das Ökosystem eines einzelnen Hardwareherstellers beschränkt, sondern können Systeme mit standardkonformen und breit unterstützten Komponenten aufbauen. Da RoCE v2 zudem über routbare IP-Netzwerke arbeitet, ist es auch mit gängiger Ethernet-Infrastruktur und bestehenden Switches kompatibel, was die Implementierung zusätzlich vereinfacht.

LUCID Vision Labs hat die RDMA-Unterstützung für seine 10GigE-Kameras, die Atlas10- und Triton10-Kamerafamilien, implementiert. Offizielle Unterstützung für GigE Vision 3.0 wird folgen, sobald der Standard ratifiziert ist. In Kombination mit einer RDMA-NIC, wie beispielsweise LUCIDs kostengünstigen 4- und 2-Port-10GigE-PoE-Karten, können Bilddaten direkt in den Host-Speicher übertragen werden. Diese Funktion ist besonders wertvoll für Anwendungen, die Echtzeit-Inferenz oder Bildverarbeitung mit hohen Bildraten erfordern, wie etwa Robotikführung oder Inspektionen in Fabrik- und Fertigungsumgebungen. Durch die Entfernung der CPU aus dem Datenpfad können Entwickler auch bei dauerhafter Belastung durch mehrere Kameras einen gleichbleibend hohen Durchsatz und einen Betrieb mit niedriger Latenz erreichen.

Triton10 10GigE RDMA machine vision camera

Triton10 Kamera

Atlas10 45mp onsemi camera-back-front

Atlas10 Kamera

4-port 10GigE RDMA NIC HCA adapter

4-CH PoE RDMA NIC

LUCID RDMA HCA network interface card for Atlas10 Cameras

2-CH PoE RDMA NIC

Broadcom RDMA RoCev2 HCA NIC

2-CH RDMA NIC

RDMA für GigE Vision: für die Zukunft entwickelt, heute einsatzbereit

Die Integration von RDMA über RoCE v2 in den GigE Vision 3.0 Standard stellt einen bedeutenden Fortschritt für Hochleistungs-Bildverarbeitungssysteme dar. Obwohl die technischen Grundlagen für RDMA bereits seit Jahren existieren, hat erst die jüngste Weiterentwicklung des Ökosystems diese Technologie in industriellen Bildverarbeitungsumgebungen praktisch und kosteneffizient gemacht.

Für Anwender liegt der Wert nicht nur in der Leistung, sondern auch in der Standardisierung. GigE Vision 3.0 definiert, wie RDMA über Geräte und Plattformen hinweg genutzt werden soll, während RoCE v2 ein zuverlässiges, IP-routbares Transportprotokoll bereitstellt, das sich bereits in großem Maßstab in Rechenzentren, Cloud-Infrastrukturen und HPC-Systemen bewährt hat. Dies bedeutet, dass die beteiligten Protokolle nicht mehr experimentell oder proprietär sind. Sie sind klar spezifiziert, breit implementiert und unter anspruchsvollen realen Bedingungen umfassend validiert. Mit der Aufnahme von RDMA in den GigE Vision Standard können Anwender sicher sein, dass Hardware und Software unterschiedlicher Anbieter zuverlässig zusammenarbeiten, wodurch Integrationszeit und -kosten reduziert werden. Zudem wird langfristige Unterstützung, einfache Skalierbarkeit sowie ein breiteres Spektrum an kompatiblen Tools und Komponenten gewährleistet.

AIA GigE Vision 3.0 RDMA Statement

Promotionsaussage der Association for Advancing Automation (A3) zu GigE Vision 3.0 und RDMA