Project

General

Profile

Actions

Support Request #762

closed

ADTFS-47087 Performance Matlab ADTF Toolbox

Added by hidden almost 7 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Customer:
ELEKTROBIT
Department:
SUPPORT
Requester's Priority:
Normal
Support Level:
3rd Level
Resolution:
Product Issue Opened
Platform:
Windows 7 64bit
Topic:
MLSLBlockset::ToADTF
FAQ Links:

Description

Supportanfrage

Guten Morgen,

ich habe hier einen Kunden der in Realzeit Bilder simuliert und diese mit Hilfe des MLSL-Blocksets nach ADTF überträgt.
Dabei stellte er fest dass es nicht möglich ist mehr als ~22MB/s zwischen Matlab und ADTF zu versenden. Wenn sie zwischen ADTF und einem zweiten ADTF über die gleiche Schnittstelle Daten übertragen haben wir diese Performance Probleme nicht.

Seine Frage:
"Haben Sie eine Erklärung für uns warum die Schnittstelle durch Matlab so sehr ausgebremst wird?"

Folgende Versionen hat er probiert:
Wir haben es mit zwei ADTF Versionen 2.12.0 und 2.14.0 getestet. Die MLSL Toolbox Version ist 1.3.0.

Er nutzt folgende Konfiguration:
Die Matlab Konfiguration ist eigentlich eine Prescan Simulation die in Matlab Bilder ausgibt. Dazu wird eine Kamera Simulation benutzt mit einer Auflösung von 1280x800 mit einem Byte Farbtiefeninformation, also ein Graustufen Bild. Wir übertragen das Bild als Eindimensionales Array und wandeln es in einem Konvertierungsfilter in ein Standard Video Stream um. Das Array hat eine Größe von 1024000 Elementen.
Die ADTF Konfiguration ist ein Empfangsblock, ein Konvertierungsfilter und ein Video Display. Zu Testzwecken wurde keinerlei Algorithmus hinzugefügt.

Habt Ihr eine Erklärung aus Entwicklungssicht für den Kunden?

Danke und Grüße,
Anja Winkler
EB Assist ADTF Support-Team
---------------------

Lösung

Wir haben das Problem bei uns nachgestellt.

  • Matlab und ADTF2 liefen auf einem Rechner
  • Übertragung eines Samples der Größe 1 MB (gleiche Größe wie Anfrager)
  • CPU i7 – 4810MQ CPU @ 2.80 GHz
  • Die Daten werden durch den Block Matlab Function generiert

Dabei konnte ich auch nur eine Übertragungsrate von 100 MByte/s erreichen. Auffällig war dabei, dass Matlab bei mir während der Übertragung eine Prozessorlast von 13 % verursachte, was bei meiner 8-Core CPU genau einem Kern entsprach. Dies bedeutet, dass Matlab während der Simulation vollständig ausgelastet ist. Ein weiterer Versuch hat gezeigt, dass wenn ich die Daten nicht übertrage sondern ins File schreibe ich eine Geschwindigkeit von 700 MByte/s erreiche. Das lässt darauf schließen, dass der Block MbToADTF der Flaschenhals ist.

Für den Kunden bedeutet dies, dass hier keine höheren Geschwindigkeiten möglich sein. Die etwas höhere Geschwindigkeit erreiche ich vermutlich, da ich wahrscheinlich eine stärkere CPU verwende und mein Modell weniger komplex ist.
Ich habe ein entsprechendes Bug-Ticket eingestellt, vielleicht könnte die Berechnung hinter dem Block MbToADTF noch optimiert werden. Jedoch gehen wir nicht davon aus, dass es hierzu noch eine neue Version der Toolbox für ADTF2 geben wird.

Wir haben Versuche mit einem Prototypen einer MLSL-Toolbox für ADTF3 durchgeführt. Hier konnten wir mit gleichem Setup eine Übertragungsrate von etwa 290 MByte/s erreichen.

Produktticket https://www.cip.audi.de/jira/browse/AMLSLTB-190 erstellt.

Actions

Also available in: Atom PDF