Hinterseer, S. (2024). Parallelization and performance analysis of a hygrothermal building component simulation using the example of HAM4D_VIE [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2024.120637
Hygrothermics; Building Simulation; Parallel Computing; OpenMP
en
Abstract:
Hygrothermische Gebäudesimulation ist ein Werkzeug zur Vorhersage und Verbesserung von Energieeffizienz, Dauerhaftigkeit und Nutzungskomfort von Gebäuden. Durch die Simulation von Szenarios können Konstruktionen optimiert werden, und Problemen wie Schimmelbildung oder ineffizienter Energieeinsatz können adressiert werden. Ein Programm zur hygrothermisches Simulation ist HAM4D_VIE, weleches an der TU Wien für Forschung und Lehre verwendet wird. In Anbetracht des hohen Rechenaufwands von Simulationen, ist die effiziente Nutzung rechentechnischer Ressourcen wie vorhandenen CPU Kernen erforderlich, um Laufzeiten in einem überschaubaren Rahmen zu halten. Ein verbreiteter Zugang ist in diesem Zusammenhang Multithreading mit der OpenMP API. Diese ist jedoch bekannt dafür, einen nennenswerten Overhead aufzuweisen, der sich negativ auf die Laufzeit des parallelisierten Programms auswirkt. Viele Simulationsalgorithmen bewältigen den Großteil des rechentechnischen Aufwands mithilfe von Solvern von linearen Gleichungssystemen oder Matrizenoperationen. HAM4D_VIE implementiert einen Algorithmus, der die Berechnungen in Schleifen über Zell- und Verbindungsobjekte des Mesh der simulierten Konstruktion durchführt. Derartige Algorithmen sind nicht unüblich in Multiphysik Simulationen und es wird erwartet, dass OpenMP hier substantiellen Overhead aufweist. Die vorliegende Arbeit untersucht, ob der Speedup monoton mit steigender Anzahl von Threads steigt, oder ob der Overhead von OpenMP an einem bestimmten Punkt so groß wird, dass eine weitere Erhöhung der Threadzahl sich negativ auf die Laufzeit auswirkt. Darüber hinaus wird die Performance von verschiedenen Parallelisierungsstrategien auf verschiedenen Systemen untersucht. Durch Laufzeitmessungen von verschiedenen Implementierungen der Parallelisierung von HAM4D_VIE wird die Skalierung des Speedups analysiert. Obwohl ein Performance Profiling zeigt, dass rund 95% des Rechenaufwands nach der Parallelisierung in parallelisierten Bereichen des Programms erfolgt, suggeriert die Skalierung des beobachteten Speedups einen Parallelisierungsgrad von rund 75% nach Amdahl's Gesetz. Das deutet auf einen nennenswerten Overhead der auf OpenMP basierten Implementierung der Parallelisierung hin.
de
Hygrothermal building simulation is a tool for predicting and enhancing the energy efficiency, durability, and user comfort of buildings. Through scenario simulations, it allows better design, addressing concerns like mold and energy waste. One hygrothermal simulation program is HAM4D_VIE which is being developed at TU Wien and used for research and teaching. Given the computational intensity of simulations, the efficient use of computational resources like available CPU cores is necessary for manageable execution times. One common approach to achieve this is multithreading with the OpenMP API. This is however known to show significant overhead that can be detrimental to the performance of the parallelized result. While many simulation algorithms perform the majority of computations using linear solvers and matrix operations, HAM4D_VIE implements an algorithm that performs the computations by iterating over cells and interfaces of a construction component’s mesh. Such algorithms are not uncommon in multiphysics simulation and parallelization with OpenMP is expected to show significant overhead here. This work investigates whether the speedup grows monotonously with increasing number of threads up to the number of available CPU cores, or if OpenMP's overhead will at a certain number of threads become so large that increasing the number of threads any further would be detrimental to the performance. In addition, the performance of various parallelization strategies and computational environments is being examined.Through measurements of the execution time of various parallel implementations of HAM4D_VIE, the scaling of the speedup is being analyzed. After the implementation of the parallelization, performance profiling suggests that about 95% of the computational effort is within parallelized regions of the code. However, when analyzing the scaling of the observed speedup, a degree of parallelization of only about 75% in accordance to Amdahl's Law is being observed. This suggests a significant overhead of the OpenMP based parallelization.