Architektur der grafischen Schnittstelle und des Lösungsalgorithmus in CMPS

Graphical Interface and Solver Communication Architecture in CMPS

Bei der Entwicklung von CMPS war unser Hauptziel, CFD-Analysen (Computational Fluid Dynamics) so zugänglich und flexibel wie möglich zu gestalten. Die Kommunikation zwischen der grafischen Benutzeroberfläche (GUI) und dem Solver spielt dabei eine entscheidende Rolle. Die nahtlose und schnelle Übertragung benutzerdefinierter Parameter an den Solver sowie die aussagekräftige und sofortige Anzeige der Solver-Ergebnisse auf der GUI verbessern die Benutzerfreundlichkeit erheblich.

Kommunikationsarchitektur in CMPS 

Für die Kommunikationsarchitektur in CMPS wurden asynchrone Nachrichten- und Datenübertragungsmethoden implementiert. Um die Arbeitslast zwischen Solver und GUI zu reduzieren, laufen diese beiden Komponenten auf separaten Prozessoren und kommunizieren über Nachrichtenwarteschlangen. Diese Architektur gewährleistet, dass Benutzer den Analyseprozess kontinuierlich und ohne Verzögerungen oder Einfrieren der Benutzeroberfläche überwachen können. Die Daten des Solvers werden interaktiv und in Echtzeit auf der GUI dargestellt, unter anderem mit Konturdiagrammen und Strömungslinien.

Zusammenfassung der Architektur 

Diese Architektur lässt sich wie folgt zusammenfassen:

Die grafische Benutzeroberfläche kann mehrere Simulationen (sogenannte „Cortexe“) verwalten und Daten zwischen ihnen austauschen. Beispielsweise kann eine Simulation auf Ihrem lokalen Rechner laufen, während eine andere auf einem entfernten Parallelrechner ausgeführt wird.

Diese drei Prozessgruppen können über jedes beliebige Netzwerk ausgeführt werden. Beispielsweise könnte die grafische Benutzeroberfläche auf einem Desktop-PC zu Hause laufen, der Cortex auf einem entfernten Server und die Rechenknoten auf einem Clustersystem.

Die Architektur ist so konzipiert, dass sie nahtlos mit verschiedenen Cluster- und Cloud-Computing-Ansätzen zusammenarbeitet.

Echtzeit-Datenverarbeitung 

Ist Datenverarbeitung in Echtzeit möglich?

Mit der entsprechenden Hardware haben wir dies auf Softwareebene realisiert. Dazu müssen Millionen von Datenpunkten von den Rechenknoten an die grafische Benutzeroberfläche (GUI) und die Nachbearbeitungseinheiten übertragen werden. Aktuell werden nahezu alle bekannten schnellsten Methoden von MPI-Bibliotheken (Message Passing Interface) unterstützt. Daher wird MPI nach Möglichkeit im Hintergrund verwendet. In anderen Fällen greift das System auf optimierte Kommunikationsprotokolle zurück. Zum Beispiel:

Herausforderungen 

Die rechenintensiven Operationen des Solvers mussten ausgeführt werden, ohne die Stabilität der Benutzeroberfläche zu beeinträchtigen. Um dies zu erreichen, integrierten wir Multithreading-Verfahren und asynchrone Datenübertragung. Dadurch wurde eine reibungslose Benutzererfahrung gewährleistet, die es den Anwendern ermöglicht, verschiedene Phasen der CFD-Analysen nahtlos zu verfolgen.