Der neue Alpha-Cluster
(k)ein Supercomputer

von Peter Marksteiner (Ausgabe 95/2, Juni 1995)

 

Seit 7. April 1995 ist am EDV-Zentrum eine neue Rechenanlage in Betrieb: ein Cluster von 16 AlphaServern 2100 4/275 der Firma Digital Equipment Corporation mit insgesamt 64 Prozessoren, 8,5 GB Hauptspeicher und mehr als 140 GB Massenspeicher. Dieser Rechner, der im folgenden als "Alpha-Cluster" bezeichnet wird, ist die größte und leistungsfähigste Plattform für numerisch intensive Anwendungen an der Universität Wien. Traditionell finden sich die Benutzer numerisch intensiver Anwendungen im Bereich der Naturwissenschaften, vor allem in der Physik und Chemie. Es gibt jedoch in fast allen Fachgebieten Probleme, die sich nur mit aufwendigen numerischen Methoden lösen lassen. Für solche Aufgabenstellungen, die große Mengen an Rechenzeit, Hauptspeicher und anderen Rechnerressourcen benötigen, ist der neue Alpha-Cluster die geeignete Plattform.

Mit diesem Cluster gibt es nunmehr auch im numerischen Bereich einen Ersatz für den im Jänner 1995 abgebauten Vektorrechner IBM ES/9000-720. Der bereits seit einigen Jahren ebenfalls für numerisch intensive Anwendungen eingesetzte Cluster von Workstations der Type IBM RS/6000-550 wird bis auf weiteres weiterbetrieben, obwohl er durch die Beschaffung des neuen, weitaus leistungsfähigeren Alpha-Clusters an Bedeutung verliert.

Über die Ausschreibung zur Beschaffung eines Rechnersystems für numerisch intensive Anwendungen wurde in den letzten Nummern des Comment bereits ausführlich berichtet. Hauptkriterium für die Vergabe war die Gesamt-Durchsatzleistung, die mit Hilfe von Leistungstests (Benchmarks) ermittelt wurde. Der von Digital Equipment Corporation angebotene Alpha-Cluster schnitt bei diesen Tests am besten ab; allerdings war die Gesamt-Durchsatzleistung bei einigen anderen Angeboten nur unwesentlich geringer, sodaß die Durchsatzleistung alleine noch nicht ausschlaggebend war. Gegenüber den Angeboten mit vergleichbarer Gesamtleistung zeichnete sich der Alpha-Cluster jedoch auch durch eine bessere Ausstattung mit Hauptspeicher und durch bessere Systemintegration aus. Die Vergabevorschlagskommission, die am 23. Februar 1995 zusammentrat, entschied sich daher einstimmig für die von Digital angebotene Rechenanlage.

Obwohl es sich beim AlphaServer 2100 4/275 nach den meisten gängigen Definitionen um keinen Supercomputer handelt, kann sich die Rechenleistung des Alpha-Clusters dennoch sehen lassen: Die Leistung eines einzelnen Prozessors ist ungefähr dreimal so groß wie die eines Prozessors der IBM ES/9000-720 (Anmerkung: Dieses Verhältnis bezieht sich nur auf die Leistung bei ausgewählten numerisch intensiven Applikationen, man kann daraus keine Schlußfolgerungen über die Leistung bei anderen Anwendungen ziehen!) , sodaß die Gesamt-Durchsatzleistung aller 64 Prozessoren mehr als dreißigmal so groß ist wie die der Sechsprozessor-Anlage IBM ES/9000-720. Zur Erinnerung: Diese wurde vor dreieinhalb Jahren angeschafft und galt damals unangefochten als Supercomputer.

Die wichtigsten Leistungskennzahlen des AlphaServers 2100 4/275 sind in der folgenden Aufstellung zusammengefaßt; zum Vergleich sind - sofern vorhanden - auch die entsprechenden Werte der IBM ES/9000-720 und der IBM RS/6000-550 angegeben. Alle Daten in der Tabelle beziehen sich auf die Leistung eines einzelnen Prozessors.

AlphaServer 2100 4/275:

  • Zykluszeit: 3,64 ns
  • Theoretische Höchstleistung: 275 MFLOPs
  • Linpack 100x100: 52 MFLOPs
  • Linpack 1000x1000: 208 MFLOPs
  • SPECfp92: 291,1

IBM RS/6000-550:

  • Zykluszeit: 24 ns
  • Theoretische Höchstleistung: 83 MFLOPs
  • Linpack 100x100: 26 MFLOPs
  • Linpack 1000x1000: 70 MFLOPs
  • SPECfp92: 71,7

IBM ES/9000-720:

  • Zykluszeit: 14,5 ns
  • Theoretische Höchstleistung: 138 MFLOPs
  • Linpack 100x100: 23 MFLOPs
  • Linpack 1000x1000: ---
  • SPECfp92: ---

Hard- und Softwarekonfiguration

Die neue Rechenanlage ist ein Cluster von sechzehn Maschinen des Typs AlphaServer 2100 4/275. Die Typenbezeichnung besagt, daß es sich um ein Vierprozessorsystem handelt, bei dem jeder Prozessor mit 275 MHz getaktet ist. Der AlphaServer ist ein Symmetrischer Multiprozessor: Mehrere gleichberechtigte Prozessoren - in diesem Fall vier - greifen auf einen gemeinsamen Speicher zu. Jeder Prozessor verfügt zusätzlich über einen eigenen Pufferspeicher ("cache memory") von 4 MB. Jeder Befehl und jedes Programm kann auf einem beliebigen der vier Prozessoren ausgeführt werden. Das Betriebssystem sorgt automatisch dafür, daß alle Prozessoren gleichmäßig ausgelastet werden; man kann ein Programm aber auch an einen bestimmten Prozessor binden. Um ein einzelnes Programm auf mehreren Prozessoren gleichzeitig auszuführen - also um durch Parallelisierung eine verkürzte Ausführungszeit zu erreichen - sind jedoch spezielle Software-Werkzeuge notwendig.

Die Ausstattung mit Haupt- und Massenspeicher ist bei elf der sechzehn Maschinen gleich: Diese Standard-Konfiguration umfaßt 512 MB Hauptspeicher und 8 GB Massenspeicher, wobei 2 GB für Systemdaten und 6 GB für Benutzerdaten bzw. temporäre Daten ("scratch files") verwendet werden. Die 6 GB "scratch space" sind physisch auf drei Platten verteilt, wobei es möglich ist, auf alle drei gleichzeitig zuzugreifen ("disk striping"). Dadurch können wesentlich größere Datenmengen pro Zeiteinheit gelesen oder geschrieben werden. Vier weitere Maschinen unterscheiden sich von der Standard-Konfiguration nur durch die Ausstattung mit Hauptspeicher: zwei Maschinen verfügen über 1 GB und zwei weitere nur über 256 MB Hauptspeicher.

Einer der sechzehn AlphaServer dient allen anderen als Fileserver und zur Einbindung ins Datennetz. Dieser Rechner hat - zusätzlich zur Standard-Konfiguration - 14 GB an Massenspeicher, die an einen zweiten Disk-Controller angeschlossen sind. Zur Datensicherung dient ein DAT-Bandlaufwerk ("Digital Audio Tape"), das vier Kassetten faßt. Auf eine Kassette können 4 GB an Daten geschrieben werden, sodaß maximal 16 GB automatisch - das heißt, ohne händisches Wechseln von Kassetten - gesichert werden können. Das Archivieren von Dateien auf Band und der Zugriff auf archivierte Dateien erfolgt mit Hilfe von POLYCENTER NetWorker, einem Softwareprodukt zur Datensicherung von vernetzten Systemen.

Die Rechner sind untereinander über Ethernet vernetzt. Das Netzwerk ist in mehrere Segmente aufgespalten: Jeweils vier (bzw. drei) Maschinen und der Fileserver bilden ein eigenes Ethernet-Segment. Damit soll eine Überlastung des Netzwerks vermieden werden. Nur vom Fileserver führt eine Verbindung nach außen - also ins Datennetz der Universität Wien und weiter ins Internet. Alle anderen Rechner können nur vom Fileserver aus erreicht werden (siehe Abbildung).

Konfiguration des Alpha-Clusters

Das Betriebssystem ist Digital UNIX Version 3.2. Bis vor kurzem war dieses System als OSF/1 bekannt; von Digital wurde jedoch der Name geändert, um zu verdeutlichen, daß es sich dabei um ein Betriebssystem handelt, das die von X/Open definierten UNIX-Spezifikationen erfüllt. An Softwareprodukten stehen Compiler, numerische Programmbibliotheken, Debugger usw. zur Verfügung, die zur Programmentwicklung und für numerisch intensive Applikationen benötigt werden. Die wichtigsten derzeit vorhandenen Produkte (es werden aber auch noch weitere installiert werden) sind in der folgenden Aufstellung zusammengefaßt:

  • DEC C und C++
  • DEC Fortran 77
  • DEC Fortran 90 (inklusive High Performance Fortran)
  • DECladebug (symbolischer Debugger)
  • DXML (Digital Extended Math Library; optimierte numerische Programmbibliothek, enthält unter anderem das gesamte LAPACK)
  • Gaussian 92/DFT (Quantenchemie)
  • KAP für DEC Fortran und KAP für DEC C (optimierende und parallelisierende Präprozessoren)
  • Mathematica 2.2
  • NAG Fortran Library (numerische Programmbibliothek)
  • Perl

Rechnerbetrieb

Die Erfahrungen, die beim Betrieb des RS/6000-Clusters gesammelt worden sind, können auch dem Alpha-Cluster zugute kommen. Das heißt natürlich nicht, daß der neue Cluster genauso betrieben wird wie der bisherige; vielmehr sollen die Konzepte, die sich beim RS/6000-Cluster bewährt haben, mit entsprechenden Modifikationen auf den Alpha-Cluster übertragen werden. Durch die wesentlich größere Zahl an Prozessoren sowie durch das Symmetrische Multiprocessing bietet der Alpha-Cluster jedoch auch prinzipiell neue Möglichkeiten.

Obwohl jede der 16 Maschinen ein eigenes Betriebssystem hat und unabhängig laufen könnte, bildet der Cluster dennoch eine Einheit: Im Gegensatz zu einem dedizierten Parallelrechner ist die physische Kopplung zwischen den Maschinen relativ locker, durch geeignete Software-Werkzeuge kann jedoch eine enge logische Kopplung erfolgen, sodaß für den Benutzer der gesamte Cluster als ein einziges System erscheint.

Diese logische Kopplung erfolgt vor allem durch ein gemeinsames Batchsystem. Der überwiegende Anteil an Rechenleistung wird in Form von Batchjobs erbracht, interaktive Tätigkeiten wie Programmentwicklung, Fehlersuche usw. beanspruchen nur einen kleinen Teil der Ressourcen. Da sich das Batchsystem VQS, das für den RS/6000-Cluster entwickelt wurde, im großen und ganzen bewährt hat, wird es auch hier eingesetzt. Wesentliche Teile von VQS, z.B. die Benutzerschnittstelle und die Scheduling-Policy, wurden unverändert übernommen - wer auf dem RS/6000-Cluster gearbeitet hat, wird sich daher auch auf dem Alpha-Cluster rasch zurechtfinden. Es gibt aber auch einige Neuerungen und Erweiterungen: Beispielsweise kann man den Haupt- und Massenspeicherbedarf eines Batchjobs frei wählen. Die Portierung und Adaptierung von VQS ist weitgehend abgeschlossen; mit gewissen "Kinderkrankheiten" ist allerdings noch zu rechnen.

Zusätzlich zum gewohnten seriellen Batchbetrieb kann ein Teil des Clusters für Experimente mit anderen Betriebsarten - vor allem Parallelrechnen - genutzt werden. Sofern sich diese Experimente bewähren, kann Parallelrechnen in zunehmendem Maße auch im Produktionsbetrieb eingesetzt werden. Zukünftige Versionen von VQS sollen auch parallele Jobs unterstützen, wobei ein Job vorerst auf eine Maschine - also maximal vier Prozessoren - beschränkt bleibt; später soll ein Paralleljob auch mehrere Maschinen gleichzeitig verwenden können.

Zugang zum Alpha-Cluster

Die Verwendung des Alpha-Clusters ist strikt auf numerisch intensive Anwendungen beschränkt. Für Benutzer, die Zugang zum Internet haben wollen, einen Rechner für Graphik oder Textverarbeitung brauchen oder einfach Unix lernen möchten, stehen andere Rechnersysteme zur Verfügung. Insbesondere dient der RS/6000-Cluster als allgemeines Unix-Timesharing-System. Wer speziell an OSF/1 (Digital UNIX) interessiert ist, möge sich an die Mitarbeiter der Rechenanlage Physik wenden: Dort gibt es einen allgemein zugänglichen OSF/1-Rechner. Auch die Betreuung von DEC-Rechnern an den Instituten erfolgt für alle Betriebssysteme (Ultrix, OpenVMS, Digital UNIX) weiterhin durch die Rechenanlage Physik.

Daß der Zugang zum Alpha-Cluster beschränkt ist, heißt aber nicht, daß zahlreiche bürokratische Hürden zu überwinden und seitenlange Projektanträge einzureichen sind. Im Gegenteil, die Vergabe von Benutzungsberechtigungen soll möglichst rasch und einfach erfolgen. Ein Ansuchen um Benutzung des Alpha-Clusters ist in unserer Servicestelle bzw. als PostScript-Datei am FTP-Server der Uni Wien verfügbar. Die Kontaktperson für alle Bereiche der Benutzerbetreuung am Alpha-Cluster - also Vergabe von Benutzungsberechtigungen, Betreuung von Anwender-Software, Portierung und Optimierung von Programmen - ist Peter Marksteiner (Tel.: 4065822-255, eMail: peter.marksteiner@univie.ac.at).