Gerecht verteilen

Multi-Core Acquisition Optimizer für schnelle GigE Vision Kameras
Mit dem Multi-Core Acquisition Optimizer bietet Matrix Vision für schnelle GigE Vision Kameras eine Software- Lösung zum Verteilen der Netzwerkdatenverarbeitung auf mehrere CPU-Kerne an.
Bild 1 | Bei einem Datendurchsatz von 1245MB/s ist ein einziger Kern mit der Datenübertragung beschäftigt. Mit dem Multi-Core Acquisition Optimizer (MAO) kann die Verteilung der Arbeitslast, die durch die Verarbeitung der Netzwerkdaten entsteht, auf mehrere Kerne verteilt werden. (Bild: Matrix Vision GmbH)

Stellen Sie sich vor, Sie setzen eine neue 10GigE Industriekamera ein, welche durch die hohe Framerate die Steigerung der Taktrate Ihrer Applikation ermöglicht. Sie installieren die neue Kamera und verbinden sie mit dem Computer. Die Applikation wird bei maximaler Framerate gestartet. Doch als Sie zusätzlich einen Algorithmus zum Verarbeiten der Bilder ausführen, stellen Sie fest, dass die CPU des Host-Systems überlastet ist. Dieser Engpass bei der Verarbeitung der Daten kann zu Verlusten bei der Datenübertragung führen. Heutige Computerarchitekturen beinhalten in der Regel mehrere CPU-Kerne in einem einzigen Chip oder sogar mehrere physische CPUs auf einem Motherboard. Aus diesem Grund verwenden Applikationen oft mehrere Threads oder Prozesse, um die verursachte CPU-Last gleichmäßig auf alle verfügbaren Prozessoren zu verteilen und so eine optimale Leistung zu erzielen. Dabei sollte aber auch eine grafische Benutzeroberfläche reaktionsfähig bleiben, während bestimmte Aufgaben im Hintergrund ausgeführt werden.

Bei GigE Vision-Kameras, die mit Bandbreiten von 5GBit/s oder mehr streamen, führt dies manchmal zu einem Engpass. Insbesondere die Aufrechterhaltung eines stabilen Datenempfangs ohne Verlust einzelner Bilder oder Teile von Bildern, während parallel dazu große Datenmengen verarbeitet werden, funktioniert nicht immer so zuverlässig, wie man erwarten würde. Das kommt daher, dass eine Netzwerkverbindung bedingt durch das Betriebssystem immer von einem bestimmten CPU-Kern bearbeitet wird. Dieses Vorgehen funktioniert gut, wenn von einem Gerät mehrere parallele Verbindungen ähnlich geringe Mengen an Daten pro Zeitfenster übertragen. Bei GigE Vision-Geräten enthält allerdings eine einzige Netzwerkverbindung alle oder zumindest einen signifikanten Teil der Daten, die von einer Netzwerkkarte (NIC) im System empfangen werden. Das führt dazu, dass ein einziger CPU-Kern mehr belastet wird als andere. Bei einer 1GBit/s-Verbindung können die optimierten NIC- und GigE Vision-Filtertreiber in Kombination mit einer leistungsfähigen CPU die eingehenden Daten gut bewältigen. Allerdings stellen 5GBit/s oder höhere Bandbreiten, die von einem Gerät über eine einzelne Verbindung kommen, selbst für aktuelle CPU-Architekturen eine deutlich größere Herausforderung dar. Bild 1 zeigt, dass die CPU-Last, die durch ein 10GigE-Gerät generiert wird, relativ hoch ist.

Bild 2 | Netzwerkdatenverarbeitung einer Kamera mittels Multi-Core Acquisition Optimizer (MAO) auf mehrere CPU-Kerne verteilt. (Bild: Matrix Vision GmbH)

Drohender Datenverlust

Wenn nun ein rechenintensiver Algorithmus wie beispielsweise De-Bayering, Fourier Transformation oder große Matrix-Multiplikationen zusätzlich auf dem System ausgeführt werden soll, dann weist das Betriebssystem von diesem Algorithmus jedem CPU-Kern gleich große Arbeitspakete zu. Auch dem, der bereits die eingehenden Netzwerkdaten verarbeitet. Das kann zu einer Überlastung des CPU-Kerns und damit zu Datenverlusten führen. Des Weiteren werden die anderen Kerne nicht optimal ausgenutzt, da die maximale Größe der zusätzlich möglichen Arbeitspakete durch die bereits hohe Arbeitslast des einen Kerns limitiert sind. Selbst wenn der Kern nicht überlastet ist, können Probleme aufgrund der Tatsache entstehen, dass der Prozessor hin und wieder für einen kurzen Zeitabschnitt Aufgaben ausführen muss, die nicht mit der Verarbeitung der Netzwerkdaten zusammenhängen. Wenn dadurch der interne Puffer überläuft, kommt es zu einem Datenverlust. Um dieser Problematik entgegenzuwirken, hat Matrix Vision eine Software-Lösung entwickelt, die dem Anwender mehr Kontrolle über die Arbeitsverteilung auf die CPU-Kerne gibt.

Seiten: 1 2Auf einer Seite lesen

Das könnte Sie auch Interessieren

Bild: Ing. Büro Roth GmbH
Bild: Ing. Büro Roth GmbH
KI und Siemens Industial Edge bei Krombacher

KI und Siemens Industial Edge bei Krombacher

Die Einsatzmöglichkeiten von KI sind enorm und betreffen viele Bereiche unseres Lebens. Entsprechend sind die Erwartungen im industriellen Sektor ebenfalls sehr hoch. Gleichzeitig steigen nicht nur die Einsatzmöglichkeiten, sondern auch die Anzahl der umgesetzten Projekte. Das solche Lösungen sehr zuverlässig und flexibel eingesetzt werden können, zeigt eine Anwendung aus der Abfüllung der Krombacher Brauerei.

Bild: TeDo Verlag GmbH
Bild: TeDo Verlag GmbH
Webinar Spectral Imaging

Webinar Spectral Imaging

Am 7. Mai findet um 14 Uhr das inVISION TechTalk Webinar ‚Spectral Imaging‘ statt. Dabei stellen Vision & Control (Tailored Optics and Lighting for Hyper- and Multispectral Imaging), Lucid Vision (Advanced sensing with latest SWIR and UV cameras) und Baumer (Inspect the invisible with powerful SWIR & UV Cameras) verschiedene Trends zu SWIR, UV und Hyperspectral Imaging vor.