Weltrekorde durch Metacomputing

Matthias Müller / ICA 1

Die Leistungsmerkmale von Supercomputern wie Rechengeschwindigkeit, Hauptspeicherausbau und Datentransfergeschwindigkeit werden beständig verbessert. Ein Zeichen für diese Entwicklung sind die immer größeren Probleme, die man mit diesen Rechnern behandeln kann, wie es sich unter anderem in der Entwicklung von Weltrekorden zeigt.

Bisher waren diese Weltrekorde im wesentlichen Ausdruck der Leistungsfähigkeit der zu diesem Zeitpunkt größten Computer. Heute versucht man darüberhinaus, die Re-chenleistung noch weiter zu steigern, indem man solche Supercomputer zu Metacomputern verbindet. Das Höchstleistungsrechenzentrum der Universität Stuttgart (HLRS) kooperiert in diesem Zusammenhang mit den Sandia National Laboratories (SNL) und dem Supercomputing Center in Pittsburgh (PSC).
1.0 * 10^9 1996 E. D'Azevedo 
C. Romine
Oak Ridge National Laboratory 
1.2 * 10^9 März 1997 J. Stadler ITAP, Universität Stuttgart 
1.4 * 10^9 November 1997 M. Müller ICA1, Universität Stuttgart 

Tab. 1: Molekulardynamikweltrekorde (Teilchenzahl)
Neben der beteiligten Supercomputer und einer schnellen Netzverbindung zwischen den Rechnern spielt die Software hier eine entscheidende Rolle. Zur softwareseitigen Verbindung wurde PACX eingesetzt, eine Bibliothek, die am HLRS entwickelt wurde. Sie erweitert den MPI Standard, um damit mehrere Rechner verbinden zu können. Darüberhinaus muß das Anwendungsprogramm an die Erfordernisse des Metacomputings angepaßt werden. Das Institut für Computeranwendungen 1 (ICA 1) nimmt daher seit Mitte des Jahres mit zwei Applikationen am Global Wide Area Application Testbed (GWAAT) teil.

Am 19. und 20. November wurde ein weiterer Meilenstein des Metacomputing gesetzt, als diese Simulationsprogramme gleichzeitig auf der CRAY T3E der Universität Stuttgart und der CRAY T3E am Supercomputing Center von Pittsburgh gestartet wurden.

Sowohl die Simulation eines FCC-Kristalls von 1.399.440.000 Atomen mit Molekulardynamik und eines granularen Gases von 1.759.165.695 Teilchen mit Direct Simulation Monte Carlo stellen einen Weltrekord dar.

Die Molekulardynamik benutzte die Verlet-Integrationsmethode mit Linked Cell-Algorithmus, Lennard Jones-Wechselwirkung und 2.5 ä Abschneideradius.

Beide Programme verwenden P3T, ein objektorientiertes Design für Teilchensimulationen, das am ICA1 entwickelt wird. Kernstück der beiden Programme ist ein paralleler Template Container. Dieser verwaltet die Teilchen und ist für die Kommunikation mittels MPI zuständig. Der Container stellt einen lokalen Ausschnitt des Gesamtsystems auf jedem Prozessor zur Verfügung.

Die Zeitschleife für die Integration der Bewegung sieht im Fall der Molekulardynamik folgendermaßen aus:

while( t<maxT){

//distributes and updates particle data on processors:

box.update();

//force and potential energy calculations:

box.for_each_pair(myForce);

for_each_particle(box.begin(),box.end(),myIntegrator);

t+=dt;

}

Der Benutzer des Containers sieht praktisch keinen Unterschied zwischen einem Einprozessor- und einem Parallelrechner.

Falls Latency Hiding erforderlich ist, muß der Code allerdings angepaßt werden:
Der Aufruf von update() wird getrennt in update_init() und update_wait().

Nach dem ersten Aufruf können Berechnungen mit lokalen Teilchen durchgeführt werden, während im Hintergrund die Kommunikation abläuft. Nach Beendigung von update_wait() können dann auch die Teilchen am Rand für Berechnungen verwendet werden.

Da die externe Kommunikation zwischen Rechnern um mehrere Größenordnungen langsamer ist als die interne Kommunikation, macht erst dieses Latency Hiding den Einsatz im Rahmen des Metacomputing sinnvoll. In Abb. 1 sieht man, daß es bei genügend großen Teilchenzahlen möglich ist, die Latenzzeiten vollständig zu verstecken. Das heißt bei geeignetem Verhältnis von Kommunikations- zu Rechenaufwand muß das Programm nicht mehr auf eintreffende Nachrichten warten. Bei großen dreidimensionalen Systemen wird jedoch die Zeitdauer der Kommunikation durch die Bandbreite bestimmt. So wurde beispielsweise die MD-Simulation mit 1.4 Milliarden Teilchen durch die 2 MBit-Leitung deutlich gebremst.
 


Abb. 1: Effizienz einer zweidimensionalen DSMC-PACX-Anwendung im Vergleich mit einer lokalen MPI-Implementierung
Abbildung 1 zeigt die Effizienz einer zweidimensionalen DSMC-PACX-Anwendung im Vergleich mit einer lokalen MPI-Implementierung. Das Programm verwendete insgesamt 64 Prozessoren. Ab 15 000 Teilchen pro Prozessor ist die Ausführungszeit der über den Atlantik verteilten Anwendung praktisch identisch mit dem der lokalen Implementierung mittels MPI.

Nachdem mit den beiden Weltrekorden die technische Durchführbarkeit des Metacomputing demonstriert wurde, ist die nächste Herausforderung der weitere Einsatz bei wissenschaftlichen Fragestellungen, für die so große Systeme notwendig sind, daß die erforderlichen Ressourcen nur über Rechnerverbände bereitgestellt werden können.

Matthias Müller / ICA 1, NA-7606
E-Mail: matthias@ica1.uni-stuttgart.de