Cray XD1: Kampf den Cluster-Computern

05.10.2004 von UWE HARMS 
Mit der XD1 bietet Cray jetzt einen Supercomputer zum Sparpreis ab 100.000 US-Dollar an. Das auf AMDs Opteron basierende System nutzt eine extrem schnelle Interconnect-Hardware und hofft, damit klassische Cluster auszustechen.

Seit dem 4. Oktober bietet Cray die XD1 an. Der Supercomputer für das kleine Geld ist am unteren Ende des Markts positioniert und für Preise zwischen 100.000 und 2 Millionen US-Dollar erhältlich. Im darüber liegenden Marktsegment will Cray demnächst die kommerzielle Version des ebenfalls Opteron-basierenden Red-Storm-Rechners anbieten. Ganz oben in der Cray-Hierarchie thront der massiv-parallele Vektorrechner Cray X1 mit hauseigener CPU und einem Einstiegspreis ab 2,5 Millionen Euro.

Die XD1 basiert auf einem System, das OctigaBay aus Vancouver in Kanada entwickelt hat. Nach der Übernahme durch Cray im Frühjahr 2004 firmieren die Supercomputer-Spezialisten unter Cray Kanada. Mit der XD1 liefern sie jetzt ihr erstes System zwei Monate vor Plan aus.

Wie herkömmliche Cluster-Systeme nutzt auch die Cray XD1 Standardkomponenten, so etwa den aktuellen AMD-Opteron-Prozessor. Cray wertet diese aber durch einen eigenen schnellen Interconnect, Management- und Rekonfigurations-Features sowie Beschleunigungsprozessoren für spezielle Applikationen auf. Ein auf HPC zugeschnittenes Linux dient als Plattform für die Anwendungen. Cray hat die Hardware des XD1-Rechners bereits auf die kommende Dual-Core-Technologie von AMD ausgerichtet. Durch den Austausch der Prozessoren ist daher nächstes Jahr eine preiswerte Verdoppelung der Rechenleistung möglich.

Von 12 bis 144 Opterons

Ein Chassis der XD1 enthält 12 Opteron-CPUs, maximal 96 GByte Haupt- und bis zu 2 TByte Plattenspeicher. Die Spitzenleistung mit derzeit aktuellen Prozessoren beträgt 53 GFlop/s. Da sich zwölf Chassis in einem Rack stapeln lassen, erzielt man mit dessen 144 Prozessoren eine Spitzenleistung von 633 GFlop/s. Cray kann zudem mehrere dieser Racks koppeln und so Rechnersysteme mit über zwei TFlop/s Spitzenleistung anbieten.

Das Zusammenschalten von Opteron-Prozessoren ist eine übliche und erprobte Technik bei den Linux-Clustern. Der Clou von Cray ist jedoch das eigene Interconnect zur schnellen Kommunikation der Prozessoren miteinander. Übliche Cluster nutzen das preiswerte Gigabit Ethernet oder eventuell Infinband als Standardverbindung. Bei teureren Systemen kommen schnellere, aber proprietäre Lösungen von Myrinet, Quadrics oder SCI (Scalable Coherent Interface) zum Einsatz.

Schneller Interconnect

Das Cray-RapidArray-Interconnect zeichnet sich durch eine hohe Bandbreite und geringe Latenzzeit aus. Es nutzt zwölf eigene Kommunikationsprozessoren und ein 96-GByte/s-non-blocking-Switching-Fabric pro Chassis. Damit stellt Cray eine theoretische Bandbreite von acht GByte/s zwischen jedem der Knoten aus zwei Opterons in SMP-Topologie (Symmetrischer Multiprozessor) bereit. Davon stehen effektiv 5,8 GByte/s pro Knoten zur Verfügung. Die MPI- (Message Passing Interface) Latenz liegt bei 1,6 Mikrosekunden.

Zur Verbindung mehrerer Chassis verfügt jedes über 24 externe RapidArray-Interchassis-Links mit einer Bandbreite von insgesamt 48 GByte/s. Die Hardware unterstützt MPI (Message Passing Interface), shmem (eine verbreitete, Cray-spezifische Kommunikationsbibliothek) und Bibliotheken für globale Arrays. Für eine höhere Geschwindigkeit kann die zugehörige Kommunikations-Software den Linux-Kernel umgehen. Mit den Interconnects lassen sich beliebige Netzwerktopologien aufbauen wie etwa Fat Tree, Torus, und Hypercube.

Zieht man als Maß für die Ausgewogenheit eines Höchstleistungsrechners das Verhältnis Bytes pro Flops heran, so liegt nach Crays Angaben die XD1 bei 1 Byte/Flop. Dieser Wert entspricht auch dem der legendären Cray T3E/1200. Ein typisches Cluster aus Intel Xeons mit Myrinet-Interconnect soll laut Cray nur 0,05 Byte/Flop erreichen, Power5-Systeme rund 0,13 Byte/Flop. Damit ist die XD1 für kommunikationsintensive Aufgaben bestens geeignet und kann ihre theoretische Spitzenleistung auch bei realen Anwendungen gut umsetzen. Cray adressiert daher auch den Engineering-Markt und kooperiert mit den entsprechenden Software-Häusern, um die Programmpakete für das System zu optimieren.

FPGAs als programmierbare Koprozessoren

Eine weitere Besonderheit der XD1 sind die sechs optionalen Prozessoren zur Beschleunigung spezieller Anwendungen. Die Xilink Virtex-II Pro FPGAs (Field Programmable Gate Arrays) arbeiten eng mit den AMD-Opterons zusammen. Die Schaltkreise in den FPGAs lassen sich per Software konfigurieren. Dadurch kann man dynamisch einen Koprozessor generieren, der die benötigte Teilaufgabe in Hardware, also ohne das sequenzielle Abarbeiten von Programmcode, erledigt. Die FPGAs lassen sich dafür frei programmieren, doch Cray bevorzugt eine Programmbibliothek, aus der der Anwender erprobte Lösungen aufrufen kann.

Beispiele für das Entlasten der Opterons sind spezielle Such- und Sortierverfahren, die Signalverarbeitung und die Verschlüsselung. Bei der Genome-Sequenzierung in der Bioinformatik etwa führt der Einsatz der FPGAs zu einer Beschleunigung um mehr als den Faktor 100.

Die XD1-Beta-Sites entwickeln derzeit schon Bibliotheken für ihre spezifischen, zeitaufwendigen Applikationen. Xilink als Lieferant bietet FPGA Entwurfswerkzeuge. Cray wird wohl als erste Anwendung einen Zufallszahlengenerator anbieten, der bei der Monte-Carlo-Simulation benötigt wird. Die FPGAs haben direkten Zugriff auf den Opteron-Hauptspeicher und sind in das RapidArray eingebunden.

Management-Subsystem

Das Active-Manager-Subsystem stellt die Verfügbarkeit des XD1-Systems sicher und regelt die spezifische Konfiguration. Es stellt den aktuellen Zustand des Systems fest und führt damit eine zukunftsgerichtete Fehlervorhersage durch. Etwa 200 kritische Größen wie Spannung, Temperatur oder fehlererkennende Schaltkreise werden dazu regelmäßig überwacht.

Der Active Manager soll so kritische Hardware-Komponenten rechtzeitig von Operationen suspendieren und aus der SMP-Konfiguration ausblenden. Er kann zudem das XD1-System in mehrere kleine, unabhängige Supercomputer partitionieren oder auch die gesamte Rechenleistung einer Anwendung zuweisen.

Linux-Optimierung

Um die Hardware effizient zu nutzen, hat Cray Teile von Linux optimiert. Das betrifft besonders die Prozess-Synchronisation. So müssen bei der für verteilte Rechenaufgaben oft nötigen Barrier-Synchronisation alle Prozesse warten, bis auch der letzte beteiligte Knoten einen gemeinsamen Synchronisationspunkt erreicht. Erst dann kann die Berechnung fortgesetzt werden. Die Cray XD1 enthält eine eigene Hardware, die diesen Synchronisationspunkt erkennt und den sonst nötigen Overhead vermeidet. Dadurch steigt der Durchsatz vor allem bei einer hohen Knotenzahl deutlich an.

Cray wird in Kürze die ersten Serien-XD1-Rechner ausliefern. Nur Großkunden können die XD1 direkt vom Hersteller beziehen, andere Interessenten müssen sich an Reseller wenden. Zu den ersten US-Kunden gehören das Ohio Supercomputer Zentrum, Pacific Northwest National Laboratory (PNNL), Sandia National Labs und der U.S. National Forest Service. In Deutschland erhält die Helmut Schmidt Universität (HSU) in Hamburg die erste XD1. Cray plant, sie dort noch im vierten Quartal 2004 zu installieren. (ala)