Aktuelles

Die CPU bei GigE Vision-Systemen entlasten

GigE Vision-Bildverarbeitungskameras mit 5-, 10- und schon bald auch 25-facher Geschwindigkeit werden die Leistungsfähigkeit von Machine Vision-Systemen deutlich steigern, doch die dabei entstehende CPU-Last und häufige Interrupts der Recheneinheit bremsen solche Systeme aus. Die neue Netzwerkkarte GevIQ von Matrox Imaging schafft Abhilfe.


GigE Vision hat sich seit seiner ersten Definition fraglos als einer der führenden Standards zur Datenübertragung in der Bildverarbeitung etabliert. Technische Eigenschaften wie die mögliche Kabellänge von bis zu 100 Metern, die sichere Datenübertragung und die relativ geringen Kosten haben dazu geführt, dass so gut wie jeder etablierte Hersteller von Industriekameras diverse Modelle mit GigE Vision-Interface im Programm hat und die Mehrzahl der industriellen Bildverarbeitungssysteme auf diese Interface-Technologie setzt.

Da der GigE Vision-Standard auf der Kommunikationsschnittstelle Ethernet basiert, profitiert er ohne jede Anpassung von den neuen Ethernet-Geschwindigkeiten wie 5GigE, 10GigE und 25GigE und befriedigt damit auch den immer weiter zunehmenden Bedarf nach schnellerer Datenübertragung. Einige Hersteller haben bereits Kameras mit diesen schnelleren Schnittstellen vorgestellt, so dass diese Technologie auf der diesjährigen Messe VISION sicher zu den wesentlichen Themen zählen wird.

Neben allen Vorteilen bringt die Methodik des Datenversands bei GigE Vision einen gewissen Nachteil mit sich: Die von der Kamera aufgenommene Bilder werden als einzelne Datenpakete an die Netzwerkkarte verschickt. Zur Bildrekonstruktion müssen die Pakete dann auf PC-Seite entpackt und der jeweilige Dateninhalt in den PC-Speicher geschrieben werden. Diese Vorgänge werden von der CPU ausgeführt, was im PC-System CPU-Last und CPU-Interrupts für die reine Bildakquisition erzeugt. Da die CPU somit für die Bildverfassung involviert ist, stehen weniger CPU-Ressourcen für alle anderen Tasks, speziell für die Berechnung der Bildverarbeitungsalgorithmen zur Verfügung. Die Bildverarbeitung wird also durch das Paket-Handling während der Bilderfassung gebremst. Hier unterscheidet sich GigE Vision von Systemen mit CoaXPress-Interface, wo ein Framegrabber die CPU von den Aufgaben des Paket-Handling entlastet.

Hohe CPU-Belastung

Matrox Imaging hat in Vergleichsmessungen verschiedener GigE Vision-Systeme die entstehende CPU-Last und CPU-Interrupts analysiert. So entstehen bei der Aufnahme von Bildern mit einer aktuellen 10 GigE Vision-Kamera mit einer Auflösung von 20 Megapixeln bei 50 Bildern pro Sekunde Datenmengen in der Größenordnung von rund 1,1 GB/s. Die beschriebenen Arbeitsschritte zur Rekonstruktion der Bilder im PC-Speicher führen nach den Ergebnissen der Untersuchungen zu einer CPU-Last von rund 10 Prozent sowie rund 49.000 CPU-Interrupts pro Sekunde. Die Bandbreite des Hauptspeichers wird dabei mit rund 5,5 GB/s belastet. Diese drei Effekte bremsen effektiv alle anderen Tasks auf dem PC-System: Die CPU hat durch die anfallende Last und Interrupts schlichtweg weniger Zeit, z.B. Bildverarbeitungsalgorithmen zu berechnen. Und gleichzeitig kann es zu einem Bottleneck bei den Speicherzugriffen kommen, da sowohl Algorithmen als auch die Bildrekonstruktion auf den gleichen Speicherbus zugreifen müssen.

An dieser Stelle lohnt sich nochmals der Vergleich mit CoaXPress-Systemen, wo ein Framegrabber diese Aufgaben übernimmt, komplette Bilder an den PC schickt und die CPU auf diese Weise entlastet. Bei Ein-Kamera-Systemen mit CoaXPress liegt die CPU-Belastung dadurch um etwa den Faktor 10 niedriger als bei GigE Vision-Architekturen, die Anzahl der CPU-Interrupts ist sogar um rund den Faktor 30 reduziert und die Nutzung der Hauptspeicher-Bandbreite beträgt rund ein Viertel der Datenmenge von 10 GigE Vision-Systemen.

Neue Freiheiten bei der Kameraauswahl

Mit der neuen Netzwerkkarte Matrox GevIQ löst Matrox Imaging diese aktuellen technischen Nachteile von High-End-GigE Vision-Systemen. Die grundlegende Idee ist, die CPU durch diese zusätzliche Karte ähnlich wie bei einem Framegrabber zu entlasten und das De-Paketizing der Bilder ohne CPU-Einsatz vorzunehmen.

Die Idee, derartige Netzwerkkarten einzusetzen, ist an sich nicht neu: Entsprechende Produkte, so genannte SmartNICs, existieren am Markt – speziell im Server-Umfeld von Rechenzentren – bereits. SmartNICs erfordern jedoch immer eine spezifische FPGA-Programmierung auf den jeweiligen Anwendungsfall hin. Im Bereich der Bildverarbeitung bieten einige Hersteller Bundles mit 10GigE-Kameras und abgestimmten SmartNICs. Diese Lösungen sind jedoch bislang proprietär und der Anwender ist damit immer an eine bestimmte, relativ eingegrenzte Auswahl an Kameramodellen gebunden. Ein Wechsel des Kameramodells ist aufgrund der spezifischen FPGA-Programmierung des SmartNICs nicht möglich. Nicht nur in der aktuellen Situation der Lieferkettenproblematik möchten viele Anwender jedoch bei der Kameraauswahl möglichst flexibel bleiben und profitieren aus diesem Grund von einem generischen Ansatz.

Die Netzwerkkarte Matrox GevIQ schafft diesbezüglich neue Freiheiten, da sie die eingehenden Bilddaten unabhängig vom Hersteller der eingesetzten GigE Vision-Kamera in komplette Bilder umwandelt. Einzige Voraussetzung dafür ist, dass die Kamera dem GigE Vision-Standard entsprechen muss. Ist dies gegeben, so eignet sich die Matrox GevIQ besonders bei der Realisierung von Ein- oder Mehrkamerasystemen mit 10 oder 25 GigE Vision-Kameras. Für Systeme mit einem 1 oder 5 GigE Vision-Interface ist die Leistung aktueller CPUs in der Regel ausreichend und erfordert keine zusätzliche Netzwerkkarte.

Drastische CPU-Entlastung

Um die Auswirkungen beim Einsatz der Matrox GevIQ zu untersuchen, hat Matrox Imaging die Effekte bei Standard-Bildverarbeitungsoperationen detailliert untersucht. Die Ergebnisse sind beeindruckend, wie diese Beispiele zeigen:

-    Die CPU-Last beim Einsatz eines Dual-Kamerasystems mit 10 GigE Vision und einer Standard-Netzwerkkarte lag bei 10 bis 18 Prozent, die Anzahl der CPU-Interrupts bei bis zu 65.000 pro Sekunde. Beim Einsatz einer Matrox GevIQ konnten diese Werte hingegen auf nur noch 1 Prozent und 1.000 bis 2.200 Interrupts gesenkt werden.

-    13 Prozent CPU-Last und rund 16.000 CPU-Interrupts hat Matrox Imaging als typische Kennwerte eines Systems mit einer 25 GigE Vision-Kamera und einer Standard-NIC ermittelt. Ein vergleichbares System mit einer Matrox GevIQ führte zu rund 1 Prozent CPU-Last und nur noch etwa 2.000 CPU-Interrupts.

Für Standard-Operationen wie das Kopieren von Bilddaten aus dem Hauptspeicher, die Lösung von Mustervergleichsaufgaben, das Lesen von Data Matrix-Codes, Blob-Analysen und andere typische Machine Vision-Operationen benötigen Matrox GeVIQ-basierte Systeme im Durchschnitt 2 bis 2,5 mal weniger Zeit als Systeme mit Standard-NIC.

Vielseitige Technologie

Vier technische Eigenschaften machen die Matrox GevIQ zu einer flexiblen Option für GigE Vision-basierte Bildverarbeitungssysteme:
1. Das Board unterstützt alle gängigen GigE Vision-Geschwindigkeiten: 1 GigE, 5 GigE, 10 GigE und 25 GigE.
2. Matrox GevIQ ist mit zwei Ports für den parallelen Betrieb von zwei Kameras ausgestattet.
3. Die neue Netzwerkkarte ist leistungsfähig genug, um auch für 2x 25 GigE das Depaketizing und Offloading zu übernehmen.
4. Die Ports lassen sich durch den Anwender auf einfache Weise mit SFP-Modulen bestücken. Damit hat man die Auswahl zwischen einer Datenübertragung über Kupfer, was in den meisten Fällen ausreichend und günstig ist, oder auch über Glasfaser. Sofern extrem EMV-störsichere Systeme oder eine Übertragung bis in den km-Bereich erforderlich sind, ist Matrox GevIQ also auch für solche Anforderungen bestens gerüstet.

„Mit der Vorstellung der Netzwerkkarte Matrox GevIQ hat Matrox Imaging einen echten Coup gelandet“, betont Raoul Kimmelmann, einer der beiden Geschäftsführer der Rauscher GmbH, über die diese Produkte in Deutschland und Österreich vertrieben werden. „Bei einem Preis im Bereich herkömmlicher SmartNICs gibt diese Entwicklung Anwendern viel mehr Freiheiten und ermöglicht sehr leistungsfähige 10 und 25 GigE Vision-Systeme, die nicht an bestimmte Kamerahersteller gebunden sind. Hinzu kommt die einfachere Realisierung ohne langwierige Programmierung, die bei bisherigen SmartNICs immer ein großer Hemmschuh waren. Matrox Imaging und Rauscher werden die Matrox GevIQ auf der diesjährigen VISION erstmals präsentieren. Wir sind jetzt schon sehr gespannt auf die Resonanz auf diese Innovation!“