Deutschlands neuer Number Cruncher: Der Supercomputer HLRB II

Systemarchitektur und Systemknoten

Die Systemarchitektur ist eine verteilte Shared-Memory-Architektur, das heißt: der gemeinsame Hauptspeicher ist über die Systemknoten verteilt. Memory-Controller auf den Systemknoten sorgen für den cache-kohärenten Zugriff aller Prozessoren auf diesen gemeinsamen Hauptspeicher. Je nachdem, ob ein Speicherzugriff auf physisch lokale oder auf einem anderen Systemknoten befindliche Daten erfolgt, ergeben sich jedoch unterschiedliche Zugriffszeiten und Bandbreiten. Daher wird die Systemarchitektur auch als cache-coherent non-uniform memory access (ccNUMA) bezeichnet. Die effiziente Nutzung eines derart ausgelegten Speichersystems stellt den Programmierer durchaus noch vor Herausforderungen, bietet aber auch große Flexibilität der Nutzung.

Einzelne Systemknoten der Altix 4700 sind entweder mit Prozessoren ausgestattet oder es handelt sich um Ein/Ausgabe-Knoten. Alle Knotentypen sind in Form von Blades, einer flachen Bauform von Platinen mit gemeinsamer Strom-und Lüftungsversorgung, realisiert. Diese Blades werden mittels des SGI-Numalink4Interconnects zu einem Shared-Memory-System zusammengeschaltet. Ein Compute-Blade besteht aus einem Intel Itanium2-Prozessorchip und einem Memory-Controller, der den Prozessor mit dem physisch lokalen Hauptspeicher verbindet sowie zwei Numalink-Kanäle zur Anbindung an den Interconnect bereitstellt.

Die Intel Itanium2-CPUs sind mit 1,6 GHz getaktet und haben zwei Multiply-Add-Einheiten. Damit ergibt sich pro Prozessor eine Spitzenleistung von 6,4 GFlop/s (6,4 Milliarden Gleitkomma-Operationen pro Sekunde). Jede CPU ist darüber hinaus mit 256 KByte Level 2 Cache und 6 MByte Level 3 Cache ausgestattet; im Unterschied zum „normalen“ Hauptspeicher laufen diese Caches mit der vollen Systemfrequenz, sodass solche Anwendungen, die ausreichend oft Daten aus dem Cache wieder verwenden können, eine sehr hohe Anwendungsleistung erzielen. Auf der am LRZ installierten Altix 4700 sind die Speicherbänke im Normalfall mit 4 GByte pro Blade bestückt; auf der zur interaktiven Nutzung vorgesehenen Partition stehen sogar 8 GByte pro Blade zur Verfügung. In Phase 2 wird neben dem Austausch der Itanium2-CPU durch einen Doppelkern-Prozessor (Montecito) auch zusätzlicher Hauptspeicher in jeden Knoten eingebaut, um so auch letzteren in etwa zu verdoppeln.

Ein Ein/Ausgabe-Knoten besteht aus einer Cache-Kohärenzschnittstelle (TIO-Chip) und einem ASIC, der die gängigen IO-Schnittstellen, wie zum Beispiel PCI-X oder PCI-Express, bereitstellt. Die Kohärenzschnittstelle erlaubt es, Daten cache-kohärent direkt von der IO-Schnittstelle (z.B. PCI-X-Karte) über den Numalink4-Interconnect in den verteilten Hauptspeicher auf den Prozessorknoten zu transportieren.