Echtzeit-Simulation

Simulieren mit Kernkraft

25. April 2016, 14:06 Uhr | Von Abhishek Bhat
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

Ergebnisse der Concurrent Execution

Nach erneuter Ausführung des Modells für 10 Sekunden wird wieder ein Profiling-Bericht erstellt (Bild 6). Der Bericht bestätigt, dass die Modellausführung in drei Tasks unterteilt wurde und nicht nur aus einer einzelnen Task besteht wie beim Baseline-Modell. Des Weiteren werden die Tasks parallel ausgeführt. Es gibt weiterhin einen Eintrag für die zusätzliche Task des Timer Interrupt.

passend zum Thema

Codeausführungsbericht und Ausführungsprofil für das nebenläufige Modell
Bild 6. Codeausführungsbericht und Ausführungsprofil für das nebenläufige Modell.
© Mathworks

Es ist zu sehen, dass die durchschnittliche Ausführungszeit für die Task Battery_DCDC am höchsten ist. Das bedeutet, dass aus einer rechnerbezogenen Perspektive dieses Teilsystem die meiste Ausführungszeit belegt: 0,789 ms der 0,948 ms aus dem Baseline-Modell.

Da die Modell-Tasks nun parallel ablaufen, beträgt die Gesamtzeit für die Modellausführung nur

0,789 + 0,002 = 0,791 ms, d.h. 16,82 % niedriger als der Originalwert von 0,951 ms.

Die Verwendung von zwei Kernen steigert die Leistung nicht automatisch um 50 Prozent. Die tatsächliche Leistungssteigerung richtet sich nach dem Modelltyp und danach, wie die Tasks partitioniert werden. Zudem benötigt der Datentransfer zwischen verschiedenen Kernen Zeit, d.h. das Erstellen von mehreren Tasks wird gewissermaßen „bestraft“. Durch das Vorhandensein mehrerer Tasks ist es möglich, das Modell auf mehrere Kerne aufzuteilen. Dies bringt einige Vorteile, führt jedoch auch dazu, dass für die Datenübertragung zwischen den einzelnen Kernen Overhead generiert wird. Um die Leistung weiter zu verbessern, kann anstelle eines Zweikern-Computers ein High-Performance-Vierkern-Rechner von Speedgoat verwendet werden.

Komplexere Streckenmodelle möglich

Zusammenfassend lässt sich sagen, dass mit der Concurrent Execution komplexe Streckenmodelle in Echtzeit auf mehreren Kernen eines Target-Computers ausgeführt werden können.

Durch die Senkung der Gesamtausführungszeit kann davon ausgegangen werden, dass die Echtzeitausführung nicht wegen CPU-Überlastung stoppt. Gerade bei HIL-Tests wirkt sich die Reduzierung der Modellausführungszeit vorteilhaft aus, da der Regler gegen ein komplexes Streckenmodell als Representation des echten physikalischen Systems getestet werden kann.

 

Der Autor

Abhishek Bhat

ist Application Engineer bei MathWorks mit speziellem Fokus auf Simulink Real-Time und beschäftigt sich mit Fahrerassistenzsystemen in Echtzeit. Zuvor hat Bhat für die Automobilindustrie Multi-Controller Hardware für Schleifenmessungen entwickelt.


  1. Simulieren mit Kernkraft
  2. Partitionierung des Modells
  3. Ergebnisse der Concurrent Execution

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu MathWorks GmbH

Weitere Artikel zu Industrie-Computer / Embedded PC