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.
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. |