Von Gigaflops zu Teraflops
Vier Jahre Supercomputing mit "Schrödinger"

von Peter Marksteiner (Ausgabe 05/2, Oktober 2005)

 

Was bisher geschah

Zahlreiche Wissenschaftszweige - Theoretische Chemie, Festkörperphysik, Mathematik, Meteorologie u.a. - haben einen sehr hohen Bedarf an Rechenleistung. Um diesen Bedarf abzudecken, wurde im Jahr 2001 vom Zentralen Informatikdienst gemeinsam mit der Fakultät für Naturwissenschaften und Mathematik ein Supercomputing-Projekt initiiert. Die Laufzeit des Projekts sollte vier Jahre betragen. Weil ein Supercomputer in vier Jahren hoffnungslos veraltet, wurden von Anfang an Budgetmittel für zwei Ausbaustufen vorgesehen.

In mehreren Comment-Artikeln wurde über den bisherigen Verlauf des Projekts berichtet: Nach einer öffentlichen Ausschreibung erfolgte im Sommer 2001 der Zuschlag an den Bestbieter, die auf Cluster-Lösungen spezialisierte Wiener Firma init.at. Das von init.at konzipierte System war ein Cluster aus 192 Rechenknoten und mehreren Servern. Im Herbst 2001 wurden die ersten Komponenten geliefert, Ende 2001 nahm der neue Supercomputer - der den Namen "Schrödinger I" erhielt - den Produktionsbetrieb auf. Planmäßig erfolgte die zweite Ausbaustufe Anfang 2003, wobei die Rechenleistung deutlich gesteigert werden konnte: Im Juni 2003 erreichte "Schrödinger II" Platz 190 in der Liste der 500 schnellsten Supercomputer der Welt.

Während in Schrödinger I Athlon-Prozessoren von AMD eingesetzt wurden, verwendete Schrödinger II Pentium-Prozessoren von Intel. Bereits Anfang 2004 wurde mit Überlegungen begonnen, wie die dritte Ausbaustufe aussehen könnte. Intels Erzrivale AMD hatte mit dem Opteron einen leistungsfähigen 64-Bit-Prozessor auf den Markt gebracht. Um diesen Prozessor zu testen und Erfahrungen mit der 64-Bit-Architektur zu sammeln, wurde der Cluster im Mai 2004 um vier Knoten mit je zwei Opteron-Prozessoren 246 (2,0 GHz) erweitert.

Nach der ursprünglichen Planung hätte die dritte Ausbaustufe im Herbst 2004 erfolgen sollen. Es stellte sich jedoch bald heraus, dass zu diesem Zeitpunkt mit den zur Verfügung stehenden Budgetmitteln nur ein mäßig attraktiver Ausbau - etwa 40% mehr Durchsatz - möglich gewesen wäre. Daher wurde beschlossen, auf die "Frühjahrskollektionen" der Hersteller zu warten und den Ausbau ins Jahr 2005 zu verschieben. Auch zu diesem Zeitpunkt war es schwierig, im Rahmen des Budgets eine Lösung zu finden: Verschiedene Varianten wie z.B. ein "Schrödinger 2 ½" (wobei nur die Hälfte der Knoten ausgebaut und mit einem schnellen Netzwerk von Infiniband verknüpft werden sollte) wurden diskutiert und wieder verworfen. Durch zusätzliche Budgetmittel, die teils vom Zentralen Informatikdienst und teils vom Institut für Theoretische Chemie1) zur Verfügung gestellt wurden, konnte schließlich doch noch ein Ausbau des gesamten Clusters erreicht werden.

Die ersten Knoten wurden bereits im Mai 2005 geliefert, wurden aber noch lange und gründlich getestet, sodass der eigentliche Umbau erst vom 19. Juli bis 2. August stattfand. Nach einem zweiwöchigen Probebetrieb wurde der Cluster für abschließende Tests am 17. August noch einmal abgeschaltet; am 24. August 2005 begann schließlich der Produktionsbetrieb von "Schrödinger III".

Schrödinger III

Die bisherige Architektur des Clusters (192 Rechenknoten, vernetzt mit Gigabit-Ethernet) wurde praktisch unverändert beibehalten. Es wurden jedoch fast alle Komponenten ausgetauscht:

  • Prozessor: Die Opteron-Prozessoren haben im Test nicht überzeugt, weshalb weiterhin Intel-Prozessoren eingesetzt werden. Der Intel Pentium 4 processor 640 gehört einer neuen Generation an, die unter dem Codenamen "Prescott" bekannt ist und gegenüber dem Vorgänger ("Northwood") entscheidend verbessert wurde. Die Taktfrequenz beträgt 3,2 GHz (bisher 2,53 GHz), und auch sonst ist er in allen Komponenten leistungsfähiger: Der Prozessor hat 2 MB (statt bisher 512 KB) Level 2-Cache (schneller Zwischenspeicher) und einen schnelleren Front Side Bus (800 MHz statt bisher 533 MHz), über den die Daten zum Motherboard und zum Hauptspeicher transferiert werden. Der Pentium 640 ist ein 64-Bit-Prozessor: Der Hauptvorteil dieser EM64T-Technologie ist die Möglichkeit, sehr großen Speicher zu adressieren. Für die Rechenknoten ist dies zwar unerheblich, aber auch die Performance mancher Applikationen kann von der 64-Bit-Architektur profitieren.
  • Hauptspeicher: Die Hauptspeicher-Ausstattung aller Knoten wurde verdoppelt (2 GB statt bisher 1 GB).
  • Plattenplatz: Auf den beiden Fileservern standen bisher knapp 1,2 TB (Terabyte) für permanente Daten sowie ein weiteres Terabyte für temporäre Daten (Scratch Space) zur Verfügung. Der Scratch Space auf den Fileservern wurde aufgelassen und der dadurch gewonnene Plattenplatz für permanente Daten bereitgestellt. Für temporäre Daten wurde ein eigener Scratch-Server mit 1,6 TB Plattenkapazität angeschafft. Auch die einzelnen Knoten haben nun eine größere lokale Platte (80 statt bisher 30 GB).
  • Netzwerk: Schon bei Schrödinger II waren alle Knoten untereinander mit Gigabit-Ethernet verbunden. Ein Engpass war jedoch der Switch (Cisco 4500): Zwar konnte damit jeder einzelne Knoten zu jedem beliebigen anderen eine Verbindung mit der vollen Bandbreite von 1 Gbit/s aufbauen; wenn viele Verbindungen gleichzeitig aktiv waren, stand jeder einzelnen aber nur mehr ein Bruchteil der Bandbreite zur Verfügung. Herzstück von Schrödinger III ist ein wesentlich leistungsfähigerer - und teurerer - Cisco 6500, mit dem auch dann noch fast die theoretische Bandbreite erreicht werden kann, wenn alle Knoten simultan miteinander kommunizieren.
  • Software: Für Schrödinger III wurden auch einige neue Software-Produkte angeschafft: Der Fortran-Compiler von PathScale erzeugt Code, der für 64-Bit-Architektur optimiert ist, und mit gridMathematica ist die Parallelversion der bekannten Software Mathematica verfügbar.

Nachdem die Gehäuse der neuen Knoten schmäler sind als die bisherigen, finden auf einem Regal fünf statt vier Knoten Platz. Dadurch wurde die Möglichkeit geschaffen, auf der gleichen Stellfläche 48 Knoten mehr unterzubringen. Diese Möglichkeit blieb nicht lange ungenutzt: Noch während der Testphase im Juni kam seitens des Instituts für Mathematik das Angebot, weitere 48 Knoten zu finanzieren, welche gleichzeitig mit den übrigen Knoten geliefert und eingebaut wurden. Auch die oben erwähnten vier Knoten mit Opteron-Prozessoren bleiben weiterhin Bestandteil des Clusters.

Gegenüber Schrödinger II wurde die Rechenleistung mehr als verdoppelt: Beim LINPACK-Benchmark erreicht Schrödinger III eine Rechenleistung von 1,14 Teraflop/s2) (unter Verwendung aller 240 Knoten, inklusive der für das Institut für Theoretische Chemie bzw. Institut für Mathematik reservierten). Schrödinger I brachte es auf 204,5 Gigaflop/s, Schrödinger II erreichte 504,3 Gigaflop/s.

Rückblick und Ausblick

Das Projekt "Schrödinger" war in vielen Bereichen außerordentlich erfolgreich:

  • Die wichtigsten Erfolge sind selbstverständlich die wissenschaftlichen. Zahlreiche Projekte aus unterschiedlichen Gebieten der Naturwissenschaften, Mathematik und Informatik konnten mit Hilfe von "Schrödinger" durchgeführt werden, viele Publikationen sind in renommierten Fachzeitschriften erschienen. Ein Überblick über die wissenschaftlichen Ergebnisse ist unter www.univie.ac.at/qccd/hpsc/hpsc_main.htm zu finden.
  • Der "österreichische Supercomputer" fand beachtliches Interesse in den Medien (siehe www.univie.ac.at/ZID/schroedinger-doku/). Während über die Uni Wien sonst häufig etwas zu "überfüllten Hörsälen" und "Chaos bei der Prüfungsanmeldung" in den Zeitungen zu lesen ist, hat die durchwegs positive Berichterstattung über den Cluster zum Ansehen der Universität Wien in der Öffentlichkeit beigetragen.
  • Outsourcing ist im IT-Bereich weit verbreitet, aber keineswegs immer erfolgreich. Aufgrund der geringen Personalressourcen, die der ZID in dieses Projekt investieren konnte, war weitgehendes Outsourcing unerlässlich: Fast alle laufenden Administrations- und Wartungsarbeiten sowie der Benutzer-Support wurden von der Firma init.at durchgeführt. Die Zusammenarbeit zwischen der Universität Wien und init.at hat reibungslos funktioniert und damit viel zum Gelingen des Projekts beigetragen.
  • Im Supercomputing ist Know-how ebenso wichtig wie Rechenleistung. Durch den Betrieb wurde viel Know-how gewonnen und Erfahrungen gesammelt, die auch anderen Projekten zugute kommen: An etlichen Instituten (z.B. Experimentalphysik) wurden kleinere Cluster errichtet, die in vielen Punkten "Schrödinger" ähnlich sind.

Obwohl das Supercomputing-Projekt offiziell beendet ist, wird der Support-Vertrag mit der Firma init.at bis auf weiteres verlängert. Dadurch ist sichergestellt, dass Schrödinger III weiterbetrieben werden kann, solange es technisch sinnvoll ist. Aufgrund des raschen Fortschritts in der Computertechnik ist mit einer Lebenszeit von etwa drei Jahren zu rechnen.

Ob und in welcher Form es ein Nachfolgeprojekt geben wird, ist noch ungewiss: Eine Finanzierung nach dem bisherigen Modell ist aufgrund des neuen Organisationsplans der Universität Wien bedeutend schwieriger, da nun anstelle der Nawi-Fakultät deren fünf Nachfolge-Fakultäten (Physik, Chemie, Mathematik, Lebenswissenschaften und Geowissenschaften) beteiligt sind. Es muss allen Verantwortlichen klar sein, dass Supercomputing in vielen Wissenschaftszweigen ein unerlässliches Werkzeug ist und dass dafür beträchtliche Investitionen erforderlich sind. Schon die Tatsache, dass Schrödinger III nicht in der nächsten Liste der 500 schnellsten Supercomputer (November 2005) aufscheinen wird3), illustriert, dass bedeutend mehr Anstrengungen erforderlich sind, um international nicht den Anschluss zu verpassen.

Es wäre auch denkbar, dass in Zukunft kein zentraler Supercomputer mehr betrieben wird und Rechenleistung nur mehr in Form von Clustern oder sonstigen Rechnersystemen erbracht wird, die von den einzelnen Instituten und Arbeitsgruppen betreut werden. Für eine zentrale Lösung spricht:

  • Die Kosten für die Infrastruktur (Stellfläche, Strom, Klimatisierung) werden oft unterschätzt. Ein Rechenzentrum kann diese Infrastruktur meistens günstiger zur Verfügung stellen und hat auch viel Erfahrung im Betrieb von großen Rechnersystemen (Datensicherung usw.).
  • Der Betreuungsaufwand für ein einzelnes großes System ist in Summe geringer.
  • Für große Rechenaufgaben können temporär sämtliche Ressourcen eines zentralen Systems zur Verfügung gestellt werden. Damit können komplexere Probleme gelöst werden, als es mit kleineren Rechnern möglich ist.

Auch eine dezentrale Lösung hat Vorteile:

  • Verschiedene Arbeitsgruppen haben unterschiedliche Anforderungen, daher kann ein Rechnersystem, das nur von einer Gruppe genutzt wird, leichter an individuelle Bedürfnisse angepasst werden.
  • Ein zentrales System braucht eine aufwendige Ressourcenverwaltung (z.B. ein Batchsystem mit einem ausgefeilten Scheduling-Algorithmus4)), um die Ressourcen gerecht zu verteilen. Dezentrale Systeme, die nur von wenigen Mitgliedern einer Arbeitsgruppe genutzt werden, kommen hier mit wesentlich einfacheren Mitteln aus.

Welche Lösungen auch gewählt werden: Beträchtlicher finanzieller und personeller Aufwand ist in jedem Fall erforderlich. Die attraktivste Lösung ist wohl eine Kombination aus einem zentralen Supercomputer und kleineren dezentralen Systemen.

 

1) Das Institut für Theoretische Chemie finanziert 16 Knoten, die nur diesem Institut zur Verfügung stehen.

2) Flop/s steht für Floating point operations per second, Rechenoperationen pro Sekunde. Ein Teraflop/s entspricht einer Billion (1012) Operationen. Beim LINPACK-Benchmark, auf dem die Liste der 500 schnellsten Supercomputer beruht, wird die Rechengeschwindigkeit beim Lösen eines linearen Gleichungssystems gemessen.

3) 1,14 Teraflop/s hätten im Juni 1997 Platz 1, im Juni 2000 Platz 5 und im Juni 2002 Platz 22 ergeben, aber für einen Platz in der derzeit gültigen Liste vom Juni 2005 nicht mehr gereicht. Durch Tuning und Optimierung wäre wahrscheinlich einer der letzten Plätze erreichbar gewesen; um den Betrieb nicht zu lange zu unterbrechen, wurde jedoch darauf verzichtet.

4) Schrödinger III verwendet die Sun Grid Engine als Batchsystem, das die Aufgaben ("Batchjobs") auf die einzelnen Knoten verteilt. Für die Verwaltung der Warteschlange ("Batchqueue") und eine möglichst gerechte Verteilung sorgt der Maui Scheduler.