PACX-MPI

Michael Resch / Thomas Beisel / Holger Berger / Katrin Bidmon / Edgar Gabriel /Rainer Keller

PACX-MPI (PArallel Computer eXtension) wurde von Thomas Beisel am RUS als Tool entwickelt, um eine intel Paragon und eine CRAY Y-MP miteinander zu koppeln. Als es im Sommer 1996 darum ging zwei CRAY T3Es zu einem Metacomputer zu vernetzen griff eine Gruppe von Entwicklern auf diese erste Version von PACX-MPI zurück. Das neue Konzept für PACX-MPI sah vor, nicht mehr einen Vektorprozessor als Erweiterung zu einer parallelen Maschine zu ergänzen sondern zwei echte massiv-parallele Rechner miteinander zu koppeln.

Diese zweite Version von PACX-MPI (auch PACX 2.0 genannt) setzte sich gleich mehrere Ziele:

Um diese Ziele zu erreichen, wurde ein Konzept entwickelt, das auf drei wesentlichen Prinzipien beruht:
  1. PACX-MPI täuscht dem Benutzer eine einzige Maschine vor. Der Benutzer hat den Eindruck einen Rechner mit 1024 Prozessoren zu haben, obwohl es tatsächlich zwei Rechner mit je 512 Prozessoren sind
  2. Auf jeder Maschine gibt es je einen Prozeß für den Empfang von Nachrichten von außen und für das Verschicken von Nachrichten nach außen. So wurde sichergestellt, daß Nachrichtenverkehr in eine Richtung jederzeit reibungsfrei möglich ist. Jeder der beiden Prozesse kann sich auf eine Aufgabe konzentrieren:


  3.  
  4. PACX-MPI schiebt sich als Schicht zwischen die Anwendung des Benutzers und dem MPI des Rechners. PACX-MPI simuliert die eigentliche Schnittstelle und nimmt die Kommunikationsaufträge der Anwendung entgegen. Auf diese Art kann PACX-MPI die Kommunikation abfangen und im weiteren entscheiden, ob eine Nachricht innerhalb des selben Rechners verschickt werden soll oder ob sie nach außen zum zweiten Rechner geht:

 


Mit diesem Konzept wurde im Sommer 1997 der erste transatlantische Metacomputing-Lauf erfolgreich gestartet. Gemeinsam mit der T3E des Pittsburgh Supercomputing Center (PSC) bildete die T3E des HLRS einen virtuellen Rechner mit 1024 Prozessoren. Testprogramm war URANUS, ein Code zur Simulation des Widereintritts von Raumtransportsystemen, der am Institut für Raumfahrtsysteme entwickelt und am HLRS parallelisiert wurde. Ebenfalls als Testprogramm wurde P3T-DSMC, ein Direct Simulation Mon-te Carlo Code der in der Simulation granularer Medien eingesetzt wird, vom ICA 1 verwendet. Aus dieser Kooperation entstanden nicht nur wertvolle Erfahrungen für das Entwicklerteam von PACX-MPI. Matthias Müller vom ICA 1 gelang es auch, durch die Kopplung von zwei CRAY T3Es mit 1.4 Milliarden Teilchen einen Weltrekord für Simulationen im Bereich Molekulardynamik aufzustellen.

Im Rahmen eines Projekts der G7-Staaten stellte sich danach die Frage, ob es möglich wäre, die Rechner des Sandia National Laboratory (SNL) zu integrieren. Damit wäre es theoretisch möglich, den weltweit stärksten Rechnerverbund zu schaffen. Um diese Kopplung zu erreichen, mußte PACX-MPI allerdings stark erweitert werden:

Die Arbeiten dazu wurden unter dem Namen PACX 3.0 aufgenommen. Gleichzeitig wurde die Palette der Anwendungen erweitert.

Derzeit wird PACX-MPI für Kooperationen mit dem Pittsburgh Supercomputing Center, dem Forschungszentrum Jülich und der GMD eingesetzt. Mit einigen anderen deutschen und US-amerikanischen Zentren laufen Gespräche über gemeinsame Projekte bzw. Einbindung von PACX-MPI in bestehende Metacomputing-Projekte.

Michael Resch, NA-5834
E-Mail: resch@hlrs.de

Edgar Gabriel, NA-5834
E-Mail: gabriel@rus.uni-stuttgart.de