2 research outputs found

    Demystifying Performance Predictions of Distributed FFT3D Implementations

    No full text
    Part 5: Performance Modeling, Prediction, and TuningInternational audienceThis paper presents a comprehensive story of the development of simpler performance models for distributed implementations of the Fast Fourier Transform in 3 Dimensions (FFT3D). We start by providing an overview of several implementations and their performance models. Then, we present arguments to support the use of a simple power function instead of the full performance models proposed by other publications. We argue that our model can be obtained for a particular problem size with minimal experimentation while other models require significant tuning to determine their constants.Our advocacy for simpler performance models is inspired by the difficulties found when estimating the performance of FFT3D programs. Correctly estimating how well large-scale programs (such as FFT3D) will work is one of the most challenging problems faced by scientists. The significant effort devoted to this problem has resulted in the appearance of numerous works on performance modeling.The results produced by an exhaustive performance modeling study may predict the performance of a program with a reasonably good accuracy. However, those studies may become unusable because their aim for accuracy can make them so difficult and cumbersome to use that direct experimentation with the program may be preferable, defeating their original purpose. We propose an alternative approach in this paper that does not require a full, accurate, performance model. Our approach mitigates the problem of existing performance models, each one of the parameters and constants in the model has to be carefully measured and tuned, a process that is intrinsically harder than direct experimentation with the program at hand.Instead, we were able to simplify our approach by (1) building performance models that target particular applications in their normal operating conditions and (2) using simpler models that still produce good approximations for the particular case of a program’s normal operating environment.We have conducted experiments using the Blue Fire Supercomputer at the National Center for Atmospheric Research (NCAR), showing that our simplified model can predict the performance of a particular implementation with a high degree of accuracy and very little effort when the program is used in its intended operating range.Finally, although our performance model does not cover extreme cases, we show that its simple approximation under the normal operating conditions of FFT3D is able to provide solid, useful approximations

    Ein HPC-tauglicher Spektralelemente-Löser auf der Grundlage von statischer Kondensation und Mehrgittermethoden

    Get PDF
    Arbeitstitel: Erweiterte mathematische Methoden zur Simulation von turbulenten Strömungsvorgängen auf parallelen Rechnern:Inhaltsverzeichnis 1 Einleitung 3 2 Numerische Simulation physikalischer Prozesse 6 2.1 Königsdisziplin - Turbulente Strömungssimulation 6 2.2 Vom mathematischen Modell zur numerischen Lösung 9 2.2.1 Räumliche und zeitliche Diskretisierung 9 2.2.2 Allgemeine Reduktion auf Poisson- und Helmholtz-Gleichungen 11 2.3 Anforderungen an effiziente Lösungsverfahren 12 3 Basiskomponenten des entwickelten Verfahrens 16 3.1 Spektralelemente-Methode 16 3.1.1 Grundlagen 17 3.1.2 Gewählte Ansatzfunktionen und Stützstellen 20 3.1.3 Struktur des linearen Operators 24 3.2 Statische Kondensation 25 3.3 Geometrisches Mehrgitterverfahren 26 4 Das Spektralelemente basierte Mehrgitterverfahren auf kondensierten Gittern 31 4.1 Stand der Forschung 31 4.2 Mehrgitterverfahren auf kondensierten Gittern 32 4.2.1 Konzeption wirkungsvoller Glätter 34 4.3 Nachweis optimaler Eigenschaften 41 4.3.1 Lineare Komplexität 41 4.3.2 Ausgezeichnete Konvergenzgeschwindigkeit 43 4.3.3 Robustheit gegenüber Gitterverfeinerung 46 5 Konzeption des parallelen Mehrgitterlösers 49 5.1 Parallelrechner und Leistungsbewertungskriterien 49 5.2 Stand der Forschung 52 5.3 Grundlegende Struktur und Parallelisierung 54 5.3.1 Analyse des Speicherbedarfs 54 5.3.2 Zwei- und dreidimensionale Zerlegung 58 5.3.3 Parallelisierung und Kommunikation 62 6 Ergebnisse 65 6.1 Implementierung des Lösers 65 6.2 Hardwarespezifikation des Testsystems 66 6.3 Bewertung der Implementierung 68 6.3.1 Sequentieller Anwendungsfall 68 6.3.2 Nachweis der Skalierbarkeit im parallelen Anwendungsfall 76 6.3.3 Vergleich mit etablierten Lösungsansätzen bzw. Lösern 87 7 Zusammenfassung und Ausblick 89 Abbildungsverzeichnis 92 Tabellenverzeichnis 94 Abkürzungsverzeichnis 95 Symbolverzeichnis 96 Literaturverzeichnis 98 A Weiterführende Messergebnisse 106 A.1 Relative Mehrkosten der parallelen Implementierung 106 A.2 Sequentielle Lösungszeiten ohne Nachglättung im 2D-Fall 107 A.3 Sequentielle Lösungszeiten ohne Nachglättung im 3D-Fall 108Die rechnergestützte Simulation physikalischer Prozesse ist ein fester Bestandteil im Alltag von Wissenschaftlern aus den unterschiedlichsten Wissensbereichen. Unabhängig davon, ob das Ziel die Vorhersage des Wetters von morgen, die Konzentrationsbestimmung von Fluidteilchen in Mischprozessen oder die Erschaffung von Werkstoffen mit optimalen Materialeigenschaften ist, ohne den Einsatz von leistungsfähigen Rechnern ist dieses Ziel nicht zu erreichen. Aus dieser inhärenten Kopplung lässt sich eine grundlegende Aussage bzgl. der Laufzeit durchzuführender Simulationen ableiten. Schnellere Rechentechnik reduziert automatisch die Laufzeit einer bereits bestehenden Simulation und somit auch die Wartezeit auf die potentiell zu erwartenden Erkenntnisse. Zeitgleich ist die so erreichte Reduktion der Berechnungszeit auch ein Maß für die mögliche Erhöhung des Detailgrades einer bestehenden Simulation und somit auch ein Indikator für den zusätzlich zu erwartenden Erkenntnisgewinn. Ein Blick auf die seit 1993 herausgegebene Top500-Liste der schnellsten Supercomputer zeigt ein annähernd gleichbleibend exponentielles Wachstum der Rechenleistung. Dieser durch eine Interpretation von „Moores-Law“ beschriebene Sachverhalt wird laut aktuellen Prognosen auch in den nächsten Jahren bestehen bleiben. Für die im Bereich der Simulation tätigen Wissenschaftler gleicht dies einem Versprechen, dass ohne deren Zutun auch in Zukunft mit stetig kürzeren Simulationszeiten zu rechnen ist. Immer vorausgesetzt, es können genug finanzielle Mittel für die neue Hardware akquiriert werden. Doch dieser Schein trügt. Eine genauere Analyse der Entwicklung der Rechentechnik der letzten Jahre zeigt zwei maßgebliche Veränderungen. Zum einen stagniert die maximale Taktrate einer einzelnen CPU seit Erreichen der 4 GHz Grenze im Jahr 2004 und zum anderen wird, insbesondere seit der Einführung der ersten Dual Core CPU’s 2005, gesteigerte Rechenleistung fast gänzlich durch die Verwendung einer Vielzahl von Rechenkernen erreicht. Das aktuell mit mehr als zehn Millionen Rechenkernen an Position 1 der Top500-Liste geführte System TaihuLight (deu. Licht der Göttlichkeit) verdeutlicht die Dimensionen dieser Entwicklung. Die für dieses System in Aussicht gestellte maximale Rechenleistung von circa 125 Billiarden gleitkommaoperationen pro Sekunde, kann dabei nur von einer perfekt parallelisierten Simulationsrechnung erreicht werden. „Amdahls-Law“ zeigt jedoch, dass dieser perfekte Zustand, aufgrund von unvermeidlichen sequentiellen Abschnitten in den einzelnen im Programm verwendeten Algorithmen, nicht zu erreichen ist. Die genaue Abweichung vom vollparallelisierten Idealzustand wird dabei durch die sogenannte parallele Effizienz quantifiziert. Deren Wert muss hierbei per Definition zwischen Null und Eins liegen. Dem Paradigma „eine hohe parallele Effizienz ergibt eine hohe Rechenleistung und dies führt zur kürzestmöglichen Simulationslaufzeit“ folgend, wurden in den letzten Jahren die unterschiedlichsten Simulationsprogramme auf eben diese Effizienz getrimmt. In den meisten Fällen wurden hierfür Codes verwendet, die auf eine sehr lange Historie zurückgreifen, so dass alte bestehende Strukturen und Algorithmen unabhängig von deren wirklicher Eignung parallelisiert wurden. Diese Entwicklung führt jedoch mehr und mehr dazu, dass die Entwickler den Blick für die Vielseitigkeit der Faktoren, die zu einer akzeptablen Simulationslaufzeit führen, verlieren. Werden zum Beispiel Methoden niederer Ordnung, wie dies etwa bei den Standard Finite-Differenzen-Verfahren der Fall ist, zur Diskretisierung des Simulationsgebietes eingesetzt, steigt die Zahl der für kleine Lösungsfehler benötigten Gitterpunkte so schnell an, dass jedweder Arbeitsspeicher vor Erreichen der benötigten Genauigkeit aufgebraucht ist. Im Gegensatz dazu sind Methoden höherer Ordnung, wie dies etwa bei den Standard Finite-Elemente-Verfahren der Fall ist, aufgrund ihrer suboptimalen numerischen Komplexität kaum besser geeignet. Ein ähnliches Bild ergibt sich bei den Algorithmen, mit denen die Gleichungssysteme in den einzelnen Simulationsschritten gelöst werden. Stellvertretend sei hier das Jacobi-Verfahren genannt, welches sich zwar durch eine parallele Effizienz nahe Eins auszeichnet, jedoch zum einen eine nicht optimale quadratische numerische Komplexität und zum anderen eine von der Auflösung des Simulationsgitters abhängige maximale Iterationszahl besitzt. Sofern die Anwender der etablierten Simulationsprogramme keine Kosten für den Zugang zu Hochleistungsrechnern zu erwarten haben und diese Rechner immer wieder massiv ausgebaut werden, stellen die genannten Einschränkungen fürs Erste nur bedingt ein Problem dar. Denn, eine Simulation die nach Hinzunahme einer bestimmten Zahl von Rechenkernen um annähernd diesen Faktor beschleunigt wird ist etwas Ausgezeichnetes. Werden den Anwendern jedoch, wie bereits von immer mehr Universitätsrechenzentren diskutiert und in der Industrie bereits gängige Praxis, die Kosten für den Energieverbrauch in Rechnung gestellt, ergibt sich ein gänzlich anderes Bild. Ein Bild, in dem der Effizienz, die die angewandten Methoden bzw. die eingesetzten Algorithmen erreichen, die größte Bedeutung zufällt. Die Effizienz einer Methode wird hierbei ungenauerweise oft nur anhand deren Implementierung als Algorithmus bestimmt. Jedoch kann eine effizient implementierte Methode mit numerisch ungünstigen Eigenschaften einer nicht effizient implementierten Methode mit numerisch optimalen Eigenschaften deutlich unterlegen sein. Demnach ist es offensichtlich, dass nur für eine effizient implementierte Methode mit optimalen numerischen Eigenschaften die kürzestmögliche Simulationslaufzeit erreicht werden kann. Der Fokus der vorliegenden Arbeit liegt deshalb zu allererst auf dem Nachweis der optimalen numerisch/mathematischen Eigenschaften der entwickelten Methode. Diese Eigenschaften sind: lineare numerische Komplexität, Robustheit des Verfahrens gegenüber Gitterverfeinerungen im Simulationsgebiet und eine bisher unerreichte Konvergenzrate. Abschließend wird zusätzlich die Eignung der Methoden bzgl. deren Verwendung auf aktuellen Hochleistungsrechnern unter Verwendung von Zehntausenden von Rechenkernen belegt und auch deren effiziente Implementierung bzw. Umsetzung dargelegt. Ziel dieser Arbeit ist die Entwicklung effizienter mathematischer Methoden zur numerischen Simulation von physikalischen Prozessen und deren hochskalierende Implementierung auf Hochleistungsrechnern. Unter allen denkbaren Aufgabenstellungen zählen hierbei insbesondere diejenigen zu den herausforderndsten, die der Strömungsmechanik zugeordnet sind. Besonders die direkte numerische Simulation (DNS), welche zur Analyse von turbulenten Strömungsphänomenen eingesetzt wird, stellt hierbei höchste Ansprüche an die eingesetzten numerischen Verfahren. Die Entwicklung und Umsetzung der im Rahmen dieser Arbeit vorgestellten Methoden ist deshalb auf die Anwendung im Rahmen der turbulenten Strömungssimulation ausgerichtet. Diese Fokussierung dient jedoch allein dem Beleg der Leistungsfähigkeit und stellt keine prinzipielle Einschränkung der Methode dar.:Inhaltsverzeichnis 1 Einleitung 3 2 Numerische Simulation physikalischer Prozesse 6 2.1 Königsdisziplin - Turbulente Strömungssimulation 6 2.2 Vom mathematischen Modell zur numerischen Lösung 9 2.2.1 Räumliche und zeitliche Diskretisierung 9 2.2.2 Allgemeine Reduktion auf Poisson- und Helmholtz-Gleichungen 11 2.3 Anforderungen an effiziente Lösungsverfahren 12 3 Basiskomponenten des entwickelten Verfahrens 16 3.1 Spektralelemente-Methode 16 3.1.1 Grundlagen 17 3.1.2 Gewählte Ansatzfunktionen und Stützstellen 20 3.1.3 Struktur des linearen Operators 24 3.2 Statische Kondensation 25 3.3 Geometrisches Mehrgitterverfahren 26 4 Das Spektralelemente basierte Mehrgitterverfahren auf kondensierten Gittern 31 4.1 Stand der Forschung 31 4.2 Mehrgitterverfahren auf kondensierten Gittern 32 4.2.1 Konzeption wirkungsvoller Glätter 34 4.3 Nachweis optimaler Eigenschaften 41 4.3.1 Lineare Komplexität 41 4.3.2 Ausgezeichnete Konvergenzgeschwindigkeit 43 4.3.3 Robustheit gegenüber Gitterverfeinerung 46 5 Konzeption des parallelen Mehrgitterlösers 49 5.1 Parallelrechner und Leistungsbewertungskriterien 49 5.2 Stand der Forschung 52 5.3 Grundlegende Struktur und Parallelisierung 54 5.3.1 Analyse des Speicherbedarfs 54 5.3.2 Zwei- und dreidimensionale Zerlegung 58 5.3.3 Parallelisierung und Kommunikation 62 6 Ergebnisse 65 6.1 Implementierung des Lösers 65 6.2 Hardwarespezifikation des Testsystems 66 6.3 Bewertung der Implementierung 68 6.3.1 Sequentieller Anwendungsfall 68 6.3.2 Nachweis der Skalierbarkeit im parallelen Anwendungsfall 76 6.3.3 Vergleich mit etablierten Lösungsansätzen bzw. Lösern 87 7 Zusammenfassung und Ausblick 89 Abbildungsverzeichnis 92 Tabellenverzeichnis 94 Abkürzungsverzeichnis 95 Symbolverzeichnis 96 Literaturverzeichnis 98 A Weiterführende Messergebnisse 106 A.1 Relative Mehrkosten der parallelen Implementierung 106 A.2 Sequentielle Lösungszeiten ohne Nachglättung im 2D-Fall 107 A.3 Sequentielle Lösungszeiten ohne Nachglättung im 3D-Fall 10
    corecore