Bitte benutzen Sie diese Kennung, um auf die Ressource zu verweisen: http://dx.doi.org/10.18419/opus-1974
Autor(en): Benkert, Katharina
Titel: Adaptive parallel communications for large-scale computational fluid dynamics
Sonstige Titel: Adaptive parallele Kommunikation für groß-skalige Berechnungen in der Strömungsmechanik
Erscheinungsdatum: 2011
Dokumentart: Dissertation
URI: http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-70209
http://elib.uni-stuttgart.de/handle/11682/1991
http://dx.doi.org/10.18419/opus-1974
ISBN: 978-3-8439-0231-1
Zusammenfassung: Nowadays, simulation methods in engineering are recognized as equally important as the traditional fields of theory and experiment. They reduce or replace expensive experiments and allow simulations of physical processes which are impossible to investigate otherwise. Because of their complexity, parallel computations are necessary, commonly using the Message Passing Interface (MPI) in distributed memory environments. One of the main obstacles end-users are facing when performing large-scale computations is the choice between performance and portability. The performance of MPI communications depends on various factors such as network interconnect, MPI implementation, process placement and message sizes. The complexity of the MPI standard exceeds the average end-user's knowledge. A possible solution are empirical optimization libraries which offer a rich set of codelets, i.e. implementations, for a particular problem as well as methods to detect the best-performing one. This allows for tuning applications at install- or runtime without special knowledge or intervention of the end-user. In this work, two large-scale Computational Fluid Dynamics (CFD) applications are optimized using the empirical auto-tuning library ADCL, the finite-volume code Euler3D and a Fast Fourier Transforms benchmark as kernel of spectral CFD methods. For this, ADCL is extended beyond neighborhood communication patterns to allow tuning of collective communications. It is shown that ADCL can shorten runtimes more than 30\% for the chosen test cases. As empirical optimization libraries base their choice of the best-performing codelet on empirical data, this work also investigates two fundamental problems that are associated with collecting this data and its evaluation. Firstly, the empirical data is obtained by measuring the execution times of various codelets where the measurement method greatly influences its informational value. Secondly, the evaluation of the data is encumbered by unpredictable variations in execution time which frequently occur in a parallel setting resulting in data points which differ greatly from the observed average, so-called outliers. In this thesis, recommendations are given on how runtime tuning in a parallel environment needs to be carried out to get optimal results. Based on the results presented in this work, the library ADCL now possesses the means to tune MPI communications in most application scenarios and uses a sound empirical framework to choose the best-performing codelet in MPI parallel simulations. Optimization of collectives as well as code which overlaps communication and computation is now possible. This makes the performance of MPI communications portable, i.e. the communications perform well on different machines without spending anew time on optimizations, and together with the easy use of the library, reduces the complexity for the user.
In den Ingenieurwissenschaften wird heutzutage Simulationsmethoden die gleiche Bedeutung zugemessen wie den herkömmlichen Bereichen Theorie und Experiment. Sie reduzieren oder ersetzen teuere Experimente und erlauben Computersimulationen physikalischer Prozesse, die sonst nicht untersuchbar wären. Wegen ihrer Komplexität sind parallele Berechnungen notwendig, die normalerweise auf Systemen mit verteiltem Speicher unter Verwendung von Message Passing Interface (MPI) ausgeführt werden. Eines der Hauptprobleme, dem die Benutzer begegnen, wenn sie großskalige Berechnungen durchführen, ist die Wahl zwischen schneller Ausführung und Portabilität. Die Eigenschaften der MPI Kommunikationen hängen von verschiedenen Faktoren ab, beispielsweise vom Netzwerktyp, der MPI Implementierung, auf welchen Knoten die Berechnung ausgeführt wird oder den Nachrichtenlängen. Die Komplexität des MPI Standards ist größer als das Wissen eines durchschnittlichen Benutzers. Eine mögliche Lösung sind empirische Optimierungsbibliotheken, die eine große Anzahl an möglichen Implementierungen, sogenannten Codelets, für ein spezielles Problem zur Verfügung stellen sowie Methoden um das Beste darunter auszuwählen. Dies erlaubt es, Anwendungen zur Installations- oder Laufzeit zu optimieren ohne dass besondere Kenntnisse oder ein Eingreifen des Benutzers notwendig sind. In dieser Arbeit wird die empirische Optimierungsbibliothek ADCL verwendet, um zwei großskalige Strömungssimulationen zu optimieren, den Finite-Volumen-Code Euler3D und eine Schnelle Fourier-Transformation (FFT), die den Kernel spektraler Strömungssimulationsmethoden bildet. Dafür wird ADCL erweitert, so dass nicht mehr nur Nachbarschaftskommunikationen sondern auch kollektive Kommunikationen optimiert werden können. Es wird gezeigt, dass ADCL die Laufzeit der Simulationen für die gewählten Beispiele um bis zu 30% verkürzt. Da empirische Optimierungsbibiliotheken die Wahl des schnellsten Codelets basierend auf den empirischen Daten treffen, untersucht diese Arbeit auch zwei grundsätzliche Probleme, die mit der Erzeugung und dem Auswerten der Daten in Verbindung stehen. Erstens werden die empirischen Daten gewonnen, indem die Ausführungszeiten der verschiedenen Codelets bestimmt werden. Dabei beeinflusst die Methode, wie gemessen wird, zu einem großen Maß den Informationsgehalt der Daten. Zweitens wird die Auswertung der Daten durch unvorhersehbare Einflüsse auf die Ausführungszeit erschwert. Diese Phänomene treten oft in parallelen Anwendungen auf und bewirken, dass Datenpunkte, sogenannte Ausreisser, sehr von dem beobachteten Durchschnitt abweichen. In dieser Dissertation werden Empfehlungen gegeben wie Optimierungen zur Laufzeit in einer parallelen Umgebung ausgeführt werden sollten um optimale Resultate zu erzielen. Basierend auf den Ergebnissen dieser Arbeit verfügt die Bibliothek ADCL jetzt über die Mittel, MPI Kommunikationen in den meisten Anwendungsszenarien zu optimieren und besitzt ein solides empirisches Rahmenwerk, um das schnellste Codelet in MPI parallelen Simulationen auszuwählen. Die Optimierung von kollektiven MPI Operationen sowie Programmcode, bei dem sich Kommunikation und Berechnung überlappen, ist jetzt möglich. Dies macht die Performance von MPI Kommunikationen portabel, d.h. die Kommunikationen sind auf unterschiedlichen Maschinen schnell ohne dass man erneut Zeit für Optimierungen aufwenden müsste. Dies reduziert zusammen mit der einfachen Benutzung der Bibliothek die Komplexität für den Benutzer erheblich.
Enthalten in den Sammlungen:04 Fakultät Energie-, Verfahrens- und Biotechnik

Dateien zu dieser Ressource:
Datei Beschreibung GrößeFormat 
gedrucktes_exemplar.pdf3,14 MBAdobe PDFÖffnen/Anzeigen


Alle Ressourcen in diesem Repositorium sind urheberrechtlich geschützt.