-
Untermenü: Studium
-
Untermenü: Forschung
-
Untermenü: Der Lehrstuhl
Schnelleinstieg
CalculiX ist ein freies Simulationsprogramm, welches die Finite-Elemente- und die Finite-Volumen-Methode als numerische Verfahren zur Lösung verschiedener Simulationsprobleme implementiert. Konkret untersucht und optimiert wurde im Rahmen von POP hierbei die Ausführung einer Strömungssimulation, die die Strömungsgeschwindigkeit von Luft in einer Röhre (laminare Strömung) simuliert.
In einer ersten Korrektheitsanalyse der Ausführung konnte festgestellt werden, dass der Code ein Data Race enthält, welches zu nichtdeterministischen Berechnungen und daraus resultierenden Laufzeitschwankungen geführt hat. Im Rahmen der Analyse konnte das Data Race beseitigt werden. In der darauffolgenden Performanceanalyse des Codes konnte durch zwei Verbesserungen die Laufzeit des Codes um mehr als 30 Prozent verringert werden: Aufgrund der hohen Anzahl an schreibenden I/O-Zugriffen mit kleiner Datengröße, die insgesamt 40 Prozent der Gesamtlaufzeit ausmachten, konnte durch die Einführung eines Puffers die Laufzeit signifikant reduziert werden. Weiterhin stellte sich bei einer Analyse der Lastbalance heraus, dass wiederholt genau ein Thread beim Lösen der Gleichungssysteme deutlich länger läuft als alle anderen Threads. Durch die Verteilung dieser Arbeit auf andere Threads, deren Berechnungen schon abgeschlossen sind, können zur Verfügung stehende Ressourcen effizienter genutzt werden.
Eine detaillierte Beschreibung der Analyseergebnisse befindet sich im Blog des POP-Projekts (en).
Diese Webseite nutzt technisch notwendige Cookies, um bestmögliche Funktionalität bieten zu können.
Weitere Informationen