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 #1

Updated by hidden almost 7 years ago

  • Project changed from Public Support to 7
  • Status changed from New to In Progress
  • Topic set to MLSLBlockset::ToADTF
  • Customer set to ELEKTROBIT
  • Department set to SUPPORT
  • Affected Products ADTF 2.12.0, ADTF 2.14.0, ADTF MLSLBlockset 1.3.0 added
  • Platform Windows 7 64bit added
Actions #2

Updated by hidden almost 7 years ago

  • Status changed from In Progress to Customer Feedback Required
  • Support Level changed from 2nd Level to 3rd Level

Hallo Anja,

leider ist unser Fachmann für das MLSL-Blockset noch bis einschließlich 30.06.2017 im Urlaub.
Mir persönlich ist keine Bandbreitenlimitierung bei der Übertragung von Daten zwischen MATLAB & ADTF bekannt.

Kann der Kunde bitte die Bilder die Simuliert werden als File o.ä. am Rechner speichern und dann in einer neuen Instanz von MATLAB aus an ADTF übertragen?
Falls diese Übertragung dann so schnell ist wie zwischen zwei ADTF Instanzen liegt das Problem ggf. an MATLAB bzw. der Simulation.
Ich werde dieses Thema auch morgen mit in die Projektrunde nehmen.

Actions #3

Updated by hidden almost 7 years ago

Hallo Ursula,

wie hoch ist die CPU/Systemauslastung des Kunden bei der Übertragung von MATLAB zu ADTF?
Falls diese an ihre Grenzen stößt kann das die verringerte Bandbreite zur Folge haben.
Siehe dazu MLSL-Blockset Doku 7 Performace Analysis:

Actions #4

Updated by hidden almost 7 years ago

Bitte um Feedback, bis spätestens Montag den 03.07.2017.


@Matthias, in meiner Abwesenheit bitte weiterbearbeiten.

Actions #5

Updated by hidden almost 7 years ago

Hallo,

 

ich habe den Kunden noch einmal angeschrieben und um Antwort gebeten. Könnt ihr den Fall noch etwas länger offen halten?

 

Danke und Grüße,

Anja

Actions #6

Updated by hidden almost 7 years ago

Hallo Anja,

wir haben das Due Date angepasst.
Reicht der Zeitrahmen?

Actions #7

Updated by hidden almost 7 years ago

Hallo Matthias,

erstmal danke für die Verlängerung. Inzwischen hat der Kunde geantwortet.

Zur Frage nach einer von der Simulation getrennten Übertragung der Bilder:

[Kunde]: Wenn die Bilder gespeichert werden und dann übertragen werden ist die Performance leicht erhöht aber immer noch nicht annähernd da wo wir sie bräuchten.
Wir kommen jetzt auf etwa 50MB/s.

Zur Frage nach der Systemauslastung:

[Kunde]: Zu der Systemauslastung, diese schwankt bei einem Kern zwischen 0 und 100% wenn wir Daten von Matlab zu ADTF übertragen.

Habt Ihr noch Vorschläge wie man die Übertragungsperformance erhöhen könnte?

Danke und Grüße,
Anja

EB Assist ADTF Support-Team

Actions #8

Updated by hidden almost 7 years ago

@Markus: Bitte sieh Dir das Problem einmal an. Kannst Du hier weiterhelfen?

Actions #9

Updated by hidden almost 7 years ago

Hallo Anja,

wir sind an den Ticket dran und warten aktuell noch auf eine Rückmeldung eines Fachkollegen.
Wir melden uns so bald wie möglich.

Gruß
Matthias

Actions #10

Updated by hidden almost 7 years ago

  • Status changed from Customer Feedback Required to In Progress
Actions #11

Updated by hidden almost 7 years ago

  • Resolution set to Product Issue Opened
  • Product Issue Numbers set to https://www.cip.audi.de/jira/browse/AMLSLTB-190

Hallo Anja,

Ich konnte jetzt endlich ein paar Informationen zu dem Problem gewinnen.

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.

Freundliche Grüße

Markus Schmailzl

Actions #12

Updated by hidden almost 7 years ago

  • Status changed from In Progress to Customer Feedback Required
Actions #13

Updated by hidden almost 7 years ago

Bitte um Feedback bis Ende der Woche

Actions #14

Updated by hidden over 6 years ago

  • Status changed from Customer Feedback Required to To Be Closed

Wird geschlossen.
Produkt ist erstellt.
Kein weiteres Feedback

Actions #15

Updated by hidden over 6 years ago

  • Description updated (diff)
  • Status changed from To Be Closed to Closed
Actions #16

Updated by hidden over 6 years ago

  • Project changed from 7 to Public Support
  • Private changed from Yes to No
Actions

Also available in: Atom PDF