Parallelrechner Cray T3E: Neue Perspektiven für das wissenschaftliche Rechnen

Bund, Länder und Großforschungseinrichtungen stellen zentrale Höchstleistungsrechner bereit, um Wissenschaftlern die Bearbeitung von Aufgaben mit extrem hohen Anforderungen an Rechenleistung zu ermöglichen. Im Jahre 1996 wurden mehrere Zentren mit massiv parallelen Rechnern vom Typ T3E der Firma Cray Research ausgerüstet, z.T. in Ergänzung oder als Ablösung der Vorläufer-Systeme T3D.

Wissenschaftlern der Universität Göttingen stehen die Rechner am Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) zur Verfügung, zur Zeit eine T3D mit 256 Prozessoren, die im November durch eine T3E mit 128 Prozessoren ergänzt werden wird. Wissenschaftler der Max-Planck-Institute können bald die 416-Prozessor-T3E der Max-Planck-Gesellschaft nutzen, die Mitte September am Rechenzentrum Garching (RZG) des Max-Planck-Instituts für Plasmaphysik installiert wird. Die Zugangsvoraussetzungen der beiden Gruppen zu ihren jeweiligen zentralen Systemen sind unterschiedlich. Von der Rechnerleistung der ZIB-Systeme wird nach den Regeln des Norddeutschen Vektorrechner-Verbundes bis zu 15% an Nutzer aus Niedersachsen abgegeben, ein Antrag auf eine Nutzerkennung dort genügt für den Zugang. Die Ressourcen des MPG-Systems am RZG wurden projektbezogen an Wissenschaftler aus den Max-Planck-Instituten vergeben. Weitere Projekte können nach Begutachtung Rechenzeit in begrenztem Umfang für Entwicklungsarbeiten und Effizienzstudien erhalten.

Zusätzlich besteht für alle Wissenschaftler in Deutschland die Möglichkeit, Projekte auf den Höchstleistungsrechnern der Forschunganstalt Jülich und der Universität Stuttgart zu bearbeiten, wenn die entsprechenden Anträge von den Begutachtungsgremien befürwortet werden. Auch an diesen Plätzen werden im Laufe des Jahres 1996 massiv parallele Systeme vom Typ T3E installiert.

Die zentralen Höchstleistungsrechner sind ausschließlich für große Produktionsrechnungen bestimmt, für die Entwicklung und den Test von parallelen Programmen, für exploratorische Vorstudien und Projekte mit großer, aber nicht extremer Rechenlast sollen dezentral eine Vielzahl kleinerer Parallelrechner zur Verfügung stehen. Die Max-Planck-Gesellschaft hat deshalb die Mittel zur Beschaffung von vier solchen Entwicklungsplattformen vom Typ T3E bereitgestellt. Eines dieser Systeme wurde Ende September 1996 bei der GWDG installiert, und ist derzeit mit 40 Rechenknoten mit je 256MB Hauptspeicher ausgestattet. Im folgenden wird ein Überblick über die Hardware, die Programmierung und die Nutzung dieser Rechner allgemein und des Rechners bei der GWDG im besonderen gegeben.

1 Hardwarekonfiguration

Die Cray T3E ist ein Multiprozessor-System mit verteilter Speicherorganisation, bei dem die Einzelknoten über ein schnelles Netzwerk in dreidimensionaler Torus-Topologie miteinander verknüpft sind.

Prozessortyp

Die Einzelknoten (PEs, von Processing Elements) sind mit einem Mikroprozessor vom Typ DEC Alpha EV5 (21164) mit 64-Bit-Arithmetik und einer Taktung von 300 MHz bestückt. Dies führt mit den beiden Gleitkomma-Pipelines dieses Prozessors für Multiplikation und Addition zu einer theoretischen Spitzenleistung von 600 Mflop/s pro Einzelknoten. Dies summiert sich zu einer theoretischen Gesamtspitzenleistung von 9.6 Gflop/s für den Vorrechner bei der GWDG, sowie 247.2 Gflop/s für die T3E am RZ in Garching, bzw. 76.8 Gflop/s für die T3E am ZIB in Berlin.

Speicherhierarchie

Auf dem Prozessorchip sind drei Caches vorhanden, die bei den Alpha-Prozessoren bekannten jeweils 8 KB großen First-Level-Caches für Daten und Instruktionen mit 256 Cache-Lines von jeweils 4 Wörtern mit 64 Bit und der für den neuen Alpha-Prozessor typische dreifach assoziative, 96 KB große Second-Level-Cache mit je 512 Cache-Lines von jeweils 8 Wörtern mit 64 Bit.

Die nächste und dritte Ebene der Speicherhierarchie der T3E bildet der lokale Speicher in DRAM-Technologie mit jeweils 128 MB Speicherplatz. Dies führt bei der Konfiguration der GWDG zu einem verfügbaren Hauptspeicher von insgesamt 2 GB. Dem lokalen Speicher sind sogenannte Streaming-Buffers zur schnelleren Bedienung des Prozessors mit Datenströmen an die Seite gestellt worden. Dieser lokale Speicher wird bei der T3E in zwei Bereiche unterteilt, den Cached Bereich und den Non-Cached Bereich.

Die vierte Ebene der Speicherhierarchie stellen die entfernten Speicher bzw. lokalen Speicher anderer Einzelknoten dar. Diese Ebene ist über die sogenannten E-Register und die Netzwerk-Router mittels Shared-Memory-Get- und -Put-Routinen in einem logisch gemeinsamen Adreßraum erreichbar. Um Latenzzeiten zu verstecken, können Get-Operationen spekulativ abgesetzt werden. Die Sicherung der Datenkohärenz liegt in der Verantwortung des Programmierers.

Die Massenspeicherebene der Speicherhierarchie wird über spezielle I/O-Knoten angesprochen. Für die T3E der GWDG sind 80 GB lokaler Plattenplatz (SCSI) vorgesehen. Es sollen später Teile davon durch Fibre-Channel-Platten ersetzt werden.

Netz und Kommunikation

Verbindungen zwischen den PEs sind für Synchronisation paralleler Abläufe und Austausch von bearbeiteten Daten (Kommunikation) Voraussetzung. Die Leistungsfähigkeit eines Parallelrechners hängt neben der Einzelprozessorleistung entscheidend von der Geschwindigkeit und geringen Latenzzeit des Verbindungsnetzes ab.

Die Netzwerktopologie der T3E ist wie bei dem Vorläufer T3D ein dreidimensionaler Torus, also ein dreidimensionales Gitter, das ringförmig geschlossen wurde, bei dem also die jeweils korrespondierenden Prozessorelemente gegenüberliegender Flächen ebenfalls durch eine Verbindung zu Nachbarn im Netz gemacht wurden. Bei der Göttinger T3E wird die Anzahl Rechen-PEs in den verschiedenen Raumrichtungen 2, 2 und 4 sein.

Jeder Einzelknoten besitzt eine Kommunikationseinheit (Netzwerk-Router) in CMOS-Technologie, der die Verbindungen mit je 500 MB/sec bidirektional und in alle drei Raumrichtungen verwaltet. Die Prozessor-Prozessor-Latenzzeit für die Kommunikation wird mit 0.5 ms für die Hardware angegeben.

Darüber hinaus sind jeweils vier dieser Kommunikationseinheiten mit einem I/O-Knoten für Plattenzugriff o.ä. verbunden.

2 Betriebssystem, Compiler und Software

Im Gegensatz zur T3D, die noch über einen Frontend-Rechner, i.a. einen Cray-Vektorrechner, angesprochen und verwaltet wurde, besitzt die T3E eine eigene vollständige UNIX-Betriebssystemversion, das Cray UNICOS/mk.

Es basiert auf einem Microkernel, der im wesentlichen die Speicherverwaltung, das Thread-Scheduling und die Interprozeßkommunikation zur Verfügung stellt. Alle darüber hinausgehenden Betriebssystemfunktionalitäten (z.B. Prozeßmanager, File-Server) sind in sogenannte Server ausgelagert, die vom Betriebssystem als eigenständige Einheiten (Actors) verwaltet werden, und die in mehreren Kopien aktiv sein können. Durch diese Modularisierung kann das Betriebssystem auf mehrere Knoten verteilt und anforderungsgemäß skaliert werden.

Das UNICOS/mk unterscheidet die hardwaremäßig gleichartigen Einzelknoten in sogenannte Anwender-PEs, auf denen als Rechenknoten (parallelisierte) Benutzerkommandos durchgeführt werden sollen, in reine Betriebssystem-PEs, die lediglich Server-Prozesse ausführen, und in redundante PEs, die beim Ausfall anderer PEs eingesetzt werden können.

Die Ressourcenzuteilung geschieht über ein Attributenkonzept, das Präferenzen und Anforderungen als Auswahlkriterium spezifiziert, und das dynamische Änderungen des Scheduling-Verhaltens erlaubt.

Die Anzahl der vom Prozeß benötigten und der von jedem PE als Minimum und Maximum für die Zusammenarbeit gebrauchten PEs bilden ein wesentliches Scheduling-Kriterium für parallele Anwendungen.

Über die Zuweisung der Ressourceattribute und damit auch über die Partitionierung der Maschine wird für die T3E der GWDG erst nach der Installation entschieden. Zudem sind hier im Laufe der Zeit Änderungen zu erwarten.

Als Programmiersprachen werden Fortran77 und Fortran90 , C und C++ unterstützt. Es wird die von Cray ausgelieferte Scientific Library (libsci) auch für die T3E geben, die BLAS, Gleichungslöser sowie Fouriertransformationen enthält, und die viele parallelisierte Unterprogramme enthält. Die Implementation der NAG- und IMSL-Bibliotheken ist ebenfalls vorgesehen.

3 Parallele Programmiermodelle

Bei der parallelen Ausführung von Programmen gibt es auf der Cray T3E wie auch schon auf der T3D eine besondere Vorgehensweise, die als SPMD-Konzept (Single Program, Multiple Data) bezeichnet wird. Hierbei wird jeder Prozeß auf die Anzahl verwendeter PEs vervielfältigt und alle Kopien gemeinsam zur Ausführung gebracht. Sequentielle Abschnitte werden also normalerweise nicht nur einmal durchgeführt, sondern identisch parallel auf allen PEs. Parallele Abschnitte brauchen unterschiedliche Datenbereiche zur Bearbeitung oder müssen in Abhängigkeit von der PE-Identifikation verzweigen.

Vorgesehen sind auf der Cray T3E drei Programmiermodelle, die alle unter dem SPMD-Konzept arbeiten: ein Modell für Message Passing mit MPI oder PVM, ein Modell, das sich Cray-eigener Kommunikationsprimitive bedient, und ein Shared-Memory-Modell (als HPF-Implementation allerdings nur für Fortran90, als Third-Party-Produkt der GWDG u.U. zu teuer und auch erst frühestens ab Ende des Jahres). Besonderes Merkmal der Cray-Programmierumgebung ist dabei, daß alle drei Modelle miteinander in einem einzelnen parallelen Programm verwendet werden können.

4 Nutzung

Die bei der GWDG installierte Cray T3E (gwdt3e.gwdg.de) hat derzeit 40 Rechenknoten und wird über FDDI in das Rechnernetz der GWDG integriert. Es sind eine eigene Benutzerverwaltung und ein eigenes Filesystem vorgesehen. Das Filesystem des Workstationclusters der GWDG soll aber über NFS gemountet werden.

Das System soll über die Ressourceattribute so partitioniert werden, wie es der Programmentwicklung während des Tages förderlich ist, und um die Nachtstunden für Produktions- und größere Testläufe nutzbar zu machen. Eine vorläufige Einteilung wird erstmals während der Abnahmephase vorgenommen.

Die Ressourcenverwaltung für größere Partitionen wird über das Cray-eigene Batchsystem NQS vorgenommen.


U. Schwardmann, O.Haan - letzte Änderung: 2. Okt. 96