Kategorien
Seiten
-

IT Center Blog

POP-Audit: Erfolgreiche Performanceoptimierung und Korrektheitsanalyse für CalculiX

07. Mai 2021 | von
POP-Audit für die Anwendung CalculiX

Quelle: Pixabay

Die Entwicklung neuer Anwendungen wird immer komplexer. Zugleich wird es auch immer wichtiger, diese Anwendungen weiter zu optimieren. Auch am Lehrstuhl für Hochleistungsrechnen der RWTH Aachen University werden Methodiken und Werkzeuge zur Optimierung von Anwendungen erforscht. Dabei spielen Leistungs- und Korrektheitsanalysen eine zentrale Rolle. Im Rahmen des EU-Projekts POP2 – Performance Optimisation and Productivity werden diese Methodiken und Werkzeuge angewan. Das Projekt POP hatten wir euch bereits in einem gesonderten Beitrag vorgestellt. Heute möchten wir von einem bestimmten erfolgreichen POP-Audit berichten.

Im Rahmen des Projekts wurde ein Audit für die Anwendung CalculiX durchgeführt. Bei CalculiX handelt es sich um eine freie Simulationssoftware. Dieses Programm nutzt die Finite-Elemente und die Finite-Volumen-Methode als numerische Verfahren um verschiedene Simulationsprobleme zu lösen. Bei diesem Audit wurde die Ausführung einer Strömungssimulation untersucht und optimiert, die die Strömungsgeschwindigkeit von Luft in einem Rohr simuliert.

Das Ergebnis einer ersten Korrektheitsanalyse wies auf ein Data Race im Code auf. Das Data Race und die daraus resultierende nichtdeterministischen Ergebnisse konnten im Rahmen des Audits beseitigt werden. Eine Analyse der Lastbalance ergab zudem, dass beim Lösen der Gleichungssysteme ein Thread deutlich länger läuft als alle anderen. In Folge dieser Analyse konnte die Arbeit auf andere Threads verteilt werden, deren Berechnungen bereits abgeschlossen waren. Diese Neuverteilung ermöglicht es, die Nutzung der verfügbaren Ressourcen effizienter zu gestalten. Weiterhin ergab eine Analyse der I/O Performance, dass eine hohe Anzahl an schreibenden I/O-Zugriffen mit sehr kleiner Datengröße stattfinden. Durch die Einführung eines Puffers konnte dieser Schreibvorgang effizienter umgesetzt werden. Wie eine Performanceanalyse des Codes ergab, konnte durch alle implementierten Verbesserungen die Laufzeit des Codes um mehr als 30 Prozent verringert werden.

Ihr möchtet mehr über das POP-Audit zu CalculiX erfahren?

Eine ausführliche Beschreibung der Analyse und seiner Ergebnisse findet ihr im Blog des POP-Projekts (in Englisch).

Verantwortlich für die Inhalte dieses Beitrags ist Stéphanie Bauens.

Kommentare sind geschlossen.