Parallelisierungsansätze

Im Dokument Plattform zur Echtzeit-Co-Simulation für die virtuelle Inbetriebnahme (Seite 84-88)

5.3 Parallelisierung der Modellberechnung

5.3.1 Parallelisierungsansätze

Zur Parallelisierung der Modellberechnung lassen sich die Ansätze der geschlossenen Pa- rallelisierung und der Parallelisierung durch Co-Simulation unterscheiden. Es soll ganzheit- lich dargestellt werden, welche Möglichkeiten zur Parallelisierung der Modellberechnung bestehen und diese hinsichtlich der für die Problemstellung der Arbeit wichtigen Faktoren bewertet werden.

Einer geschlossenen Parallelisierung liegt die Anforderung zugrunde, trotz einer Paral- lelisierung der Modellberechnung nach jedem Berechnungsschritt stets dieselben Berech- nungsergebnisse wie in einer rein sequentiellen Berechnung zu erzielen. Die Berechnung wird weiterhin in einer einzelnen Simulationstask und damit in einer geschlossenen Simu- lationsarchitektur durchgeführt. Ansätze zur geschlossenen Parallelisierung setzen entwe- der auf den Verschaltungen im Blockschaltbild-Modell oder auf algorithmischer Ebene des Solvers an.

Geht man davon aus, dass sich die Abhängigkeiten zwischen den einzelnen Simulations- blöcken auf die Signalkopplungen im Blockschaltbild beschränken, kann bei einer Signal- verzweigung im Blockschaltbild die Berechnung der nachgelagerten, voneinander unab- hängigen, Teilmodelle parallelisiert werden. Werden die Ergebnisse der beiden Teilmo- delle in einem Simulationsbaustein wieder zusammengeführt, wird die Berechnung se- quentiell fortgesetzt (siehe Abbildung 5.6). Zu beachten ist bei diesem Vorgehen, dass Rückkopplungen durch die Parallelisierung nicht aufgebrochen werden dürfen.

Auf algorithmischer Ebene kann in jedem einzelnen Simulationsbaustein die interne Bau- steinberechnung parallelisiert werden (siehe Abbildung 5.7a).

rung nicht ausschließlich basierend auf den Signalflüssen im Blockschaltbild erfolgen. Bei- spielsweise können die Bausteine einer Bausteinbibliothek mit einer unterlagerten Simu- lations-Engine gekoppelt sein und selbst keine eigenen Berechnungsalgorithmen besitzen. Aufgabe der Simulationsbausteine ist dann die Konfiguration, die Parametrierung und die Beeinflussung der unterlagerten Simulations-Engine. Die Simulation erfolgt in einer zent- ralen Instanz und nicht strikt getrennt innerhalb der einzelnen Simulationsbausteine. Die in Hoher 2017 entwickelte Bausteinbibliothek zur Materialflusssimulation besitzt den be- schriebenen Aufbau. Zur Parallelisierung muss bei dieser Art von Simulationsbausteinen die Parallelisierung auf algorithmischer Ebene in der unterlagerten Simulations-Engine er- folgen (siehe Abbildung 5.7b). Hierzu sind simulationsdisziplinspezifische Betrachtungen innerhalb der Simulations-Engine notwendig.

Abbildung 5.7: Geschlossene Parallelisierung der Modellberechnung in a) den Bau-

steinalgorithmen und b) der Simulations-Engine Simulationstask 1 CPU-Kern 1 CPU-Kern 2 CPU-Kern 3 CPU-Kern 4 Simulations- Engine Parallelisierung der Bausteinalgorithmen Parallelisierung innerhalb einer Simulations-Engine geschlossene Parallelisierung der Modellberechnung Peripherie-Signale a b

Abbildung 5.6: Geschlossene Parallelisierung der Modellberechnung auf Basis der

Verschaltungen im Blockschaltbild Simulationstask 1 CPU-Kern 1 CPU-Kern 2 CPU-Kern 3 CPU-Kern 4

Peripherie-Signale Verzweigung Zusammenführung

geschlossene Parallelisierung der Modellberechnung

Bei der Parallelisierung durch Co-Simulation werden aus einem Gesamtmodell ein- zelne Partitionen gebildet. Zur Aufteilung des Gesamtmodells in geeignete Teilmodelle ist ein Partitionierungsmechanismus erforderlich. Auch bei dieser Art der Parallelisierung müssen Rückkopplungen im Blockschaltbild-Modell sowie Abhängigkeiten zwischen ein- zelnen Simulationsblöcken beachtet werden. Dies muss bei der Auslegung des Partitio- nierungsmechanismus berücksichtigt werden. Jede Partition wird als geschlossene Einheit zur Berechnung einer eigenen Simulationstask zugeteilt. Es entsteht eine Co-Simulations- architektur (siehe Abbildung 5.8). Innerhalb der jeweiligen Simulationstasks kann die Be- rechnung zusätzlich durch eine geschlossene Parallelisierung beschleunigt werden. Zwi- schen den Simulationstasks entstehen Koppelsignale, welche die Teilmodelle zu einem Gesamtmodell verbinden.

Da ein Austausch der Koppelsignale nur zwischen den Simulationstakten der Teilmodelle stattfindet, entstehen bei dieser Art der Parallelisierung zwangsläufig abweichende Simu- lationsergebnisse im Vergleich zu einer rein sequentiellen Berechnung. Günther führt zur Bewertung der Genauigkeit der Co-Simulation ein Fehlermaß ein, welches das Ergebnis einer sequentiellen Simulation als Referenz wählt (Günther 2017). Durch die Anwendung

Simulationstask 1 CPU-Kern 1 CPU-Kern 2 Partition 1 Simulationstask 2 CPU-Kern 3 CPU-Kern 4 Partition 2 geschlossene Parallelisierung Paral lel isi erun g du rc h C o- Sim ulat ion Koppelsignale Peripherie-Signale geschlossene Parallelisierung

einer Co-Simulation kann allerdings die Modellberechnung maximal beschleunigt und für die Teilmodelle eine differenzierte Taktung und eine spezifische Ausführungsplattform gewählt werden. Zudem bleibt bei einer taktgenauen Bereitstellung der Koppelsignale die Reproduzierbarkeit eines Simulationslaufs erhalten.

Stellt man die beiden Möglichkeiten zur Parallelisierung der Modellberechnung gegen- über ergibt sich Tabelle 5.1. Bei der Parallelisierung durch Co-Simulation können durch die Modellpartitionierung und die über mehrere Simulationstasks parallelisierte Simulation Rechenzeiten besonders effizient reduziert und die Rechenleistung eines Mehrkernpro- zessors ausgenutzt werden. Im Vergleich zu einer geschlossenen Parallelisierung spricht neben der effizienten Parallelisierung die verteilte Berechnung auf unterschiedlichen Aus- führungsplattformen (RTOS, NRTOS) für eine Parallelisierung durch Co-Simulation. Die Reproduzierbarkeit eines Simulationslaufs ist in beiden Parallelisierungsansätzen gewähr- leistet, wenn bei einer Wiederholung der Simulation stets dieselben Nebenläufigkeiten und damit identischen Koppelsignale vorliegen.

Zur Lösung der Problemstellung wird daher die Realisierung einer Co-Simulationsarchitek- tur betrachtet. Wie im Stand der Forschung und Technik dargestellt, sind bislang keine Arbeiten zur Parallelisierung durch Co-Simulation im Bereich der HILS-RTOS mit industri- ellen Steuerungssystemen vorhanden. Daher verfolgt die Arbeit die Konzeption und die Entwicklung einer Plattform zur Echtzeit-Co-Simulation. Im Rahmen der Realisierung und Anwendung kann eine erste Aussage zum Einfluss der in einer Co-Simulation auftretenden Abweichung in den Simulationsergebnisse im Vergleich zu einer rein sequentiellen Berechnung (vgl. Tabelle 5.1) getroffen werden. In weiterführenden Arbeiten können auf Basis der dann zur Verfügung stehenden Plattform die numerischen Aspekte einer Echtzeit-Co-Simulation für die HILS-RTOS in den einzelnen Simulations- disziplinen und in spezifischen Anwendungsfällen und damit unterschiedlicher Partitionierung und Taktung der Simulationstasks im Einzelfall untersucht werden.

Im Dokument Plattform zur Echtzeit-Co-Simulation für die virtuelle Inbetriebnahme (Seite 84-88)