Zur Simulation der Atmosphäre im Rahmen der numerischen Wettervorhersage ist heute der Einsatz
leistungsstarker Vektorrechner üblich und nicht mehr wegzudenken. Aufgrund der komplexen Gleichungen,
die bei dreidimensionalen instationären Strömungsvorgängen mit Berücksichtigung der zahlreichen
physikalischen Nebenbedingungen einer realen Anwendung in der Atmosphäre auftreten, ist
eine Simulation mit vertretbarem Zeitaufwand nur für relativ grobe Auflösungen der Modellgebiete zu
realisieren.
Qualitative Verbesserungen von Atmosphärensimulationen, d.h. verläßlichere und genauere Prognosen,
lassen sich durch feinere Auflösungen der verwendeten Rechengitter erzielen (vgl.
[10],[14],[18]), erfordern aber eine wesentlich höhere Leistungsfähigkeit der Computersysteme. So
hat bereits eine Verfeinerung des Rechengitters um den Faktor 2 in allen drei Raumrichtungen einen
insgesamt achtmal höheren Rechenaufwand zur Folge. Mit den derzeit eingesetzten Rechnern sind
solche Simulationen wegen des immensen Zeit- bzw. Rechenaufwands in den meisten Fällen nicht
sinnvoll. Nach heutigem Kenntnisstand sind bei Rechnerarchitekturen mit einem gemeinsamen Hauptspeicher,
zu denen auch die Vektorrechner zählen, die physikalischen Grenzen der Hardware nahezu
erreicht und es ist deshalb in Zukunft nicht mehr mit einer wesentlichen Steigerung der Performance
dieser Architekturen zu rechnen.
Eine signifikante Leistungssteigerung kann in naher Zukunft nur von Computerarchitekturen mit verteiltem
Speicher, den massiv-parallelen Rechnersystemen, zur Verfügung gestellt werden. Im Forschungsbereich
wurden in den vergangenen wenigen Jahren bereits erste Erfahrungen mit solchen
Rechnern mit bis zu vierstelligen Prozessorzahlen gesammelt. Der Einsatz von Parallelrechnern eröffnet
der oben beschriebenen Problematik also eine neue Perspektive.
In diesem Rahmen war es Ziel dieser Arbeit die Möglichkeiten der Parallelisierung von Programmen
aus dem Bereich der meteorologischen Modelle zur Simulationen der Atmosphäre anhand des Programmpakets
MM5 (Mesoscale Model Version 5) zu untersuchen ([3],[16],[17]). Bei dem Umfang
dieses Modells zur kurzfristigen Wetterprognose und aufgrund des begrenzten Zeitrahmens einer
Diplomarbeit konnten nur Hauptkomponenten des MM5 Gegenstand der Untersuchungen sein. Dafür
wurde eine geeignete sequentielle Programmversion erstellt, die die wesentlichen dynamischen
Teile der wichtigsten Variablen enthält, und auf einen massiv-parallelen Rechner portiert.
Parallelisierung von meteorologischen Modellen
unter besonderer Berücksichtigung des Produktionscodes MM5
(Mesoscale Model 5)
Diplomarbeit
von
Jens Cords
angefertigt am Mathematischen Institut
der Universität zu Köln
Köln, im Wintersemester 1994/95
Inhaltsverzeichnis
Einleitung ... 3
1 Mathematische und physikalische Grundlagen ... 5
1.1 Partielle Differentialgleichungen ... 5
1.2 Numerische Behandlung parabolischer Anfangsrandwertaufgaben ... 9
1.2.1 Differenzenverfahren ... 9
1.2.2 Konsistenz, Konvergenz und Stabilität ... 11
1.2.3 Das Courant-Friedrichs-Lewy-Kriterium ... 14
1.3 Hydrodynamik ... 17
1.3.1 Physikalische Erhaltungssätze ... 17
1.3.2 Die Grundgleichungen als Anfangsrandwertaufgabe ... 22
1.4 Einige meteorologische Elementarphänomene ... 23
2 Das meteorologische Modell MM5 (Mesoscale Model 5) ... 26
2.1 Aufbau und Konzept des MM5-Modells ... 26
2.2 Physikalische Modellierung ... 28
2.2.1 Hydrostatische Approximation ... 28
2.2.2 Vertikale Modellkoordinate ... 29
2.2.3 Projektion des Modellgebiets ... 32
2.2.4 Grundgleichungen des MM5-Modells ... 34
2.3 Parametrisierung physikalischer Prozesse ... 37
2.3.1 Horizontale Diffusion ... 37
2.3.2 Feuchtigkeit ... 39
2.4 Diskretisierung des Modellgebiets ... 40
2.4.1 Horizontale Auflösung als "Staggered Grid" ... 41
2.4.2 Vertikale Auflösung in s-Niveaus ... 42
2.5 Finiter-Differenzen-Algorithmus ... 44
2.5.1 Diskretisierung der Grundgleichungen ... 44
2.5.2 Zeitintegration und Filterung ... 52
2.5.3 Seitliche Randbedingungen ("Randrelaxation") ... 53
2.6 Sequentielles Programm ... 55
3 Konzepte zur Parallelisierung meteorologischer Modelle ... 57
3.1 Paralleles Rechnen ... 57
3.1.1 Aufbau und Ablauf paralleler Programme ... 57
3.1.2 Bewertung paralleler Programme ... 60
3.2 Ansätze zur Parallelisierung des MM5 ... 62
3.2.1 Analyse der Parallelisierbarkeit ... 62
3.2.2 Daten-paralleles Modell ... 63
3.2.3 Dekomposition des Modellgebiets ... 64
4 Parallelisierung des MM5-Programmcodes ... 67
4.1 Erfahrungen bei der Portierung des sequentiellen Codes ... 67
4.1.1 Portierung des CRAY-Codes in Standard-Fortran ... 67
4.1.2 Konvertierung der Daten ... 70
4.2 Das parallele MM5-Programm ... 71
4.2.1 Datenabhängigkeiten ... 71
4.2.2 Partitionierung des Rechengitters ... 74
4.2.3 Kommunikation der Prozesse ... 78
5 Ergebnisse ... 82
5.1 Untersuchungen von Laufzeit, Effizienz und Load-Balancing ... 82
5.2 Meteorologische Überprüfung der Ergebnisse ... 88
Schlußbetrachtung ... 93
Anhang : Informationen zu den Programmabläufen ... 95
Literaturverzeichnis ... 98
Einleitung
Zur Simulation der Atmosphäre im Rahmen der numerischen Wettervorhersage ist heute der Einsatz leistungsstarker Vektorrechner üblich und nicht mehr wegzudenken. Aufgrund der komplexen Gleichungen, die bei dreidimensionalen instationären Strömungsvorgängen mit Berücksichtigung der zahlreichen physikalischen Nebenbedingungen einer realen Anwendung in der Atmosphäre auftreten, ist eine Simulation mit vertretbarem Zeitaufwand nur für relativ grobe Auflösungen der Modellgebiete zu realisieren.
Qualitative Verbesserungen von Atmosphärensimulationen, d.h. verläßlichere und genauere Prognosen, lassen sich durch feinere Auflösungen der verwendeten Rechengitter erzielen (vgl. [10],[14],[18]), erfordern aber eine wesentlich höhere Leistungsfähigkeit der Computersysteme. So hat bereits eine Verfeinerung des Rechengitters um den Faktor 2 in allen drei Raumrichtungen einen insgesamt achtmal höheren Rechenaufwand zur Folge. Mit den derzeit eingesetzten Rechnern sind solche Simulationen wegen des immensen Zeit- bzw. Rechenaufwands in den meisten Fällen nicht sinnvoll. Nach heutigem Kenntnisstand sind bei Rechnerarchitekturen mit einem gemeinsamen Hauptspeicher, zu denen auch die Vektorrechner zählen, die physikalischen Grenzen der Hardware nahezu erreicht und es ist deshalb in Zukunft nicht mehr mit einer wesentlichen Steigerung der Performance dieser Architekturen zu rechnen.
Eine signifikante Leistungssteigerung kann in naher Zukunft nur von Computerarchitekturen mit verteiltem Speicher, den massiv-parallelen Rechnersystemen, zur Verfügung gestellt werden. Im Forschungsbereich wurden in den vergangenen wenigen Jahren bereits erste Erfahrungen mit solchen Rechnern mit bis zu vierstelligen Prozessorzahlen gesammelt. Der Einsatz von Parallelrechnern eröffnet der oben beschriebenen Problematik also eine neue Perspektive.
In diesem Rahmen war es Ziel dieser Arbeit die Möglichkeiten der Parallelisierung von Programmen aus dem Bereich der meteorologischen Modelle zur Simulationen der Atmosphäre anhand des Programmpakets MM5 (Mesoscale Model Version 5) zu untersuchen ([3],[16],[17]). Bei dem Umfang dieses Modells zur kurzfristigen Wetterprognose und aufgrund des begrenzten Zeitrahmens einer Diplomarbeit konnten nur Hauptkomponenten des MM5 Gegenstand der Untersuchungen sein. Dafür wurde eine geeignete sequentielle Programmversion erstellt, die die wesentlichen dynamischen Teile der wichtigsten Variablen enthält, und auf einen massiv-parallelen Rechner portiert.
Das MM5 ist ein dreidimensionales hydrodynamisches Gitterpunktmodell zur Simulation der Atmosphäre eines begrenzten Gebiets im mesoskaligen Bereich. Ausgangspunkt sind entsprechend aufbereitete Meßdaten, aus denen die Prognosevariablen wie Wind, Luftdruck, Lufttemperatur und Feuchtigkeit ermittelt werden. Diese werden in jedem Zeitschritt explizit in allen Gitterpunkten im Modellgebiet neu berechnet.
Die grundsätzliche Vorgehensweise bei der Parallelisierung ist eine Partitionierung des Rechengitters in mehrere Teilgebiete, die dann parallel von den einzelnen Prozessoren bearbeitet werden. Hierbei war eine möglichst gleichmäßige Lastverteilung unter Beachtung der vorhandenen Datenabhängigkeiten und der Struktur des Algorithmus ein wesentlicher Punkt. Insbesondere sollten Testläufe des parallelen Programms bei wachsenden Prozessorzahlen miteinander verglichen werden. Da die Compiler paralleler Rechner sequentielle Programme nicht selbständig auf ihre Architektur umsetzen können, war ein neuer Entwurf des Programmcodes erforderlich.
In Kapitel 1 wird zunächst auf einige mathematische, physikalische und meteorologische Grundlagen, die für das weitere Verständnis von Bedeutung sind, eingegangen. Insbesondere werden die Theorie zur numerischen Behandlung von partiellen Differentialgleichungen und die zugrunde liegenden speziellen Gleichungen und Gesetze der Hydrodynamik im Hinblick auf den Algorithmus des MM5-Modells dargestellt.
Daran schließt sich in Kapitel 2 eine ausführliche Darstellung der Version des MM5-Modells an, die in dieser Arbeit Gegenstand der näheren Betrachtungen ist, und die die Basis des gegebenen sequentiellen Programms bildet.
Das dritte Kapitel ist eher von theoretischer Natur und analysiert das sequentielle MM5-Programm im Hinblick auf grundsätzliche Konzepte zur Parallelisierung. Der Ausgangspunkt des aus den Untersuchungen resultierenden Implementierungsansatzes wird herausgearbeitet. Da viele Prognosemodelle aus dem Bereich der Meteorologie ähnliche Strukturen wie das MM5 aufweisen ([5],[29],[30]), sind wesentliche Gesichtspunkte dieser Problematik auch auf andere Programme und Algorithmen übertragbar.
Die praktischen Erfahrungen bei der Portierung des sequentiellen Programmcodes und die konkrete Umsetzung der Ergebnisse aus Kapitel 3 bei der Parallelisierung des MM5-Programms werden in Kapitel 4 beschrieben. Das in dieser Arbeit vorgestellte parallele Programm wurde für den am mathematischen Institut der Universität zu Köln verfügbaren
Parsytec GCel 1024/3 konzipiert und in der Programmiersprache FORTRAN 77 entwickelt.
Die Testläufe des parallelen Programms sowie die notwendige qualitative Überprüfung der Simulationsergebnisse werden im fünften Kapitel dokumentiert, dem sich dann noch eine Schlußbetrachtung anschließt. Der Anhang enthält einige wichtige technische Informationen zur Verwendung des sequentiellen und des parallelen Programms.
[...]
-
-
-
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X.