Hardwareluxx Inside: GPU-Cluster in Bielefeld

Veröffentlicht am: von

nvidiaDie Leistung der Supercomputer richtet sich seit Jahren nach dem Moorschen-Gesetz. Alle 18 Monate verdoppelt sich die Anzahl der Transistoren pro Quadratmillimeter und somit steigt auch die Performance. Doch einen großen Sprung bei der Effizienz machten die Supercomputer erst mit dem Einsatz von GPUs, die auf paralleles Computing optimiert worden sind. Passend zum Start des neuen GPU-Clusters am Standort Bielefeld, bei dem wir mit dabei sein konnten, wollen wir einen Einblick auf die neue Technik bieten.

Zunächst aber ein Blick auf die bisherigen Systeme, die seit 1993 eingesetzt wurden:

1993 - 25 GFlops
1999 - 144 GFlops
2005 - 4000 GFlops
2012 - 518 TFlops

Doch welches Einsatzgebiet hat ein solcher Supercomputer? 

Entstehung der Daten:

Prof. Peter Braun-Munzinger untersucht das Verhalten des Quark-Gluon-Plasmas am LHC durch die Kollision von Blei-Atomen bei 99,9 Prozent Lichtgeschwindigkeit. Das QGP ist vermutlich ein Zustand des Universums kurz nach dem Urknall (10µS) bei einer Temperatur von mehreren Millionen Grad Celsius. Quarks und Gluonen sind auch heute noch Bestandteil der Materie. Genauer gesagt sind Gluonen sogar dafür verantwortlich, dass Neutrinos und Protonen, die wiederum aus Quarks bestehen, zusammenhalten. Wer sich näher mit Quarks und Gluonen beschäftigen möchte, findet in der Wikipedia die nötigen Informationen. Ebenfalls untersucht wird Antimaterie, in diesem Fall Helium4, also ein Helium, das aus zwei Anti-Neutronen und zwei Anti-Protonen besteht.

lhc-alice

Die am neuen Cluster in Bielefeld verarbeiteten Daten stammen zum Beispiel aus dem LHC (Large Hadron Collider) am CERN. Genauer gesagt aus dem ALICE-Experiment dessen Detektor die Größe eines mehrstöckigen Gebäudes hat. Dort ist mehr Eisen in der Konstruktion und dem Detektor selbst verbaut, als für den Eiffelturm aufgewendet werden musste.

Die enormen Datenmengen, die hier anfallen, werden durch die vielen zum Einsatz kommenden Sensoren bedingt. 560 Millionen Pixel, also einzelne Messpunkte, sind im ALICE-Detektor vorhanden. Pro Sekunde können mehrere tausend Messintervalle durchgeführt werden - sozusagen mehrere tausend Bilder pro Sekunde mit 560 Millionen Pixeln gemacht werden. In Stößen mit einem Abstand von 50 ns werden die Atome aufeinander geschossen. Bei diesen Kollisionen entstehen mehr als 10.000 geladenen Partikel, die allesamt detektiert werden müssen. Hier entstehen die Datenmengen, die erst gespeichert und dann später verarbeitet werden müssen. Am Standort Bielefeld werden diese Daten allerdings nicht verarbeitet, sondern mit eigenen Rechenmodellen und deren Ergebnisse verglichen.


Nachdem die Daten nun sozusagen erzeugt worden sind, müssen sie verarbeitet werden. Richard C. Brower von der Universität Boston richtet seine Arbeit genau in diese Richtung. Es geht darum die Daten entsprechend aufzuarbeiten, die richtigen Algorithmen zu finden und diesen dann möglichst effizient auf der Hardware anzuwenden. GPUs öffnen einen Flaschenhals für parallele Berechnungen, bereits bestehende Algorithmen können recht einfach darauf angepasst werden. Erkannt wurde dies 2005-2006 durch eine Forschergruppe, NVIDIA erkannte das Potenzial ebenfalls recht schnell und setze die CUDA-Schnittstelle auf.

Doch nicht nur die Anzahl der Kerne ist ein wichtiger Punkt für die Rechenleistung von GPUs, sondern auch die Anbindung von Speicher und Cache. Das Verhältnis zwischen Speicher und Rechenleistung ist ebenfalls entscheidend. Ein Xeon X5680 erreicht eine Rechenleistung von 160 GFlops bei einer Speicherbandbreite von 32 GB/Sek. Bereits die GeForce GTX 480 erreicht 1345 GFlops bei einer Speicherbandbreite von 177,4 GB/Sek.

gpu-cluster-bielefeld-9-rs

Auf Software-Seite geschehen ebenfalls Optimierungen bzw. eine Aufarbeitung der Daten. Über spezielle Algorithmen wird bei der Multiplikation von komplexen Zahlen in Matrizen das Datenaufkommen optimiert und damit die Effizient gesteigert. Bei modernen GPUs wird immer die theoretischen Rechenleistung von Single- und Double-Precision angegeben. Doch nicht immer wird eine doppelte Genauigkeit während der Berechnung benötigt, das Ergebnis aber sollte wieder so genau wie möglich sein. Auch hier werden die Daten im Vorfeld bearbeitet und im sogenannten „Double-Half-“Mode verarbeitet.

GPU-Computing: Heute und in der Zukunft

Derzeit arbeiten in drei der Top fünf Supercomputer NVIDIA GPUs. Der Tianhe-1A kommt auf 2,5 PFlops beim Einsatz von 7168 Tesla-GPUs und liegt damit auf Platz zwei. Auf Platz vier befindet sich der Nebulae mit 1,2 PFlops mit 4650 Tesla-GPUs. Direkt darauf folgt Tsumbame 2.0 auf Platz fünf mit 1,194 PFlops und 4224 Telsa-GPUs. Für 2013 plant man den Titan in Oak Ridge fertig zu stellen. Er soll auf eine Rechenleistung von 20 PFlops kommen. 18.000 Tesla-GPUs der nächsten Generation sollen dort zum Einsatz kommen.

gpu-cluster-bielefeld-10-rs

Die Herausforderungen sind groß. Nach heutiger Technik würde ein Exaflop-Supercomputer eine Energie von 100 MW verbrauchen, was dem Verbrauch einer Großstadt entsprechen würde. Performance/Watt ist also die große Herausforderung für die Zukunft und damit auch der Maßstab für die zukünftige Entwicklung. Es geht dabei aber nicht nur um die reine Rechenleistung über mehr und mehr Kerne, sondern es muss an anderer Stelle angegriffen werden. Das Stichwort heißt hier Preemtion- und Virtual-Memory-Funktionen. NVIDIA spricht von frei konfigurierbarem Speicher. Dabei entscheidet der Anwender oder Programmierer, wie sich der Speicher aufteilen soll. In der Fermi-Architektur hat man bereits die Wahl entweder 16 kB L1-Cache und 48 kB shared-Memory oder 48 kB L1-Cache und 48 kB shared-Memory zu verwendet. Diese harte Grenzen sollen zukünftig aufgeweicht werden - ob schon in der nächsten Generation lies NVIDIA offen.

gpu-cluster-bielefeld-11-rs

Wie eine zukünftige Cache- und Speicher-Anordnung und Hierarchie aussehen könnte, zeigte NVIDIA auch gleich. An einem Rechenbeispiel soll deutlich werden, warum eine effektive Datenverarbeitung und weniger das Computing selbst immer wichtiger wird. Die Berechnung eines 64 Bit Fließkomma Multiplikation (893500, 288914668 x 43,90230564772498) ist um den Faktor 4,7 weniger aufwendig als das Verschieben von drei 64 Bit Zahlen über eine Strecke von 20 mm auf einem Die. Dies wohlgemerkt in der 40-nm-Fertigung. In 10 nm wäre es sogar der Faktor 17. Damit nimmt NVIDIA auch schon die Bedeutung dieses Umstandes in der 28-nm-Fertigung vorweg.

PCI-Express 2.0 ist eine aktuelle Limitierung der GPU-Compute-Systeme. Das ist natürlich auch NVIDIA bewusst und so will man in der kommenden Generation auch auf den schnelleren Standard PCI-Express 3.0 wechseln. Dies ist allerdings keine Überraschung, AMD hat den Wechsel mit "Southern Island" schon vollzogen und für NVIDIA wurde dieser Schritt ohnehin erwartet.


{jphoto image=20045}

Der neue Supercomputer in Bielefeld besteht nicht nur aus einem Server, sondern aus einem Cluster mehreren Server, die sich wie folgt zusammensetzen:

Hybrid GPU - High Performance Cluster

104 Tesla-Knoten:

Ein paar Daten zur Tesla M2075:

48 GeForce-GTX-580-Knoten:

Ein paar Daten zur GeForce GTX 580:

2 Head-Nodes:

7 Storage-Server:

Das GPU-Cluster in Bielefeld hat nicht den Anspruch ein neuer Supercomputer der Top-Liste zu sein. Das wird alleine schon daran deutlich, dass hier "nur" 400 Grafikkarten zum Einsatz kommen, während der Tianhe-1A auf über 7000 Karten kommt.

Wie zu sehen ist, sind nicht alle GPUs auch direkt dem professionellen Umfeld zuzuordnen. In Bielefeld werden 192 GeForce GTX 580 eingesetzt, um Simulationen durchzuführen. Die GeForce GTX 580 eignet sich nicht nur durch die enorme Rechenleistung, sondern gerade durch ihren recht günstigen Preis. Das Fehlen der ECC-Fehlerkorrektur ist hier nicht ganz so wichtig, dafür kommen aber auch die Modelle mit 3 GB Grafikspeicher zum Einsatz.

Auf die verlässlichen Ergebnisse möchte man allerdings nur vertrauen, wenn sie durch die Tesla-GPUs gelaufen sind. Die 304 CPUs des Systems sind nicht nur dazu da, um die GPUs zu verwalten und mit Daten zu versorgen, sondern auch um ebenfalls Berechnungen durchzuführen. Sicher haben wir bislang nur davon gesprochen, dass GPUs die ideale Compute-Plattform sind, doch auch CPUs haben ihre Daseinsberechtigung. Zukünftig wird man auch auf den Intel-Xeon-Prozessoren bestimmte Berechnungen durchführen und die Effizienz des Supercomputers weiter steigern. Werden sowohl die GPUs als auch die CPUs belastet, kommt das Cluster auf einen Verbrauch von etwa 140 kW.

 Auch eine Erweiterung des GPU-Clusters in Bielefeld ist denkbar. Weitere Knoten können aus Platzgründen allerdings nicht installiert werden und so wäre nur ein Hardware-Upgrade denkbar. Mit den Tesla-GPUs der nächsten Generation dürfe auch die Rechenleistung steigen. Dann allerdings müssten die kompletten Knoten getauscht werden, sonst könnte die PCI-Express-2.0-Schnittstelle zum Flaschenhals werden. Denkbar ist vieles, was machbar sein wird, wird sich zeigen müssen, denn letztendlich ist dies vorrangig eine Geldfrage.

GPU-Computing ist und bleibt für NVIDIA ein wichtiges Thema. Am 15. Februar 2007 präsentierte man erstmals das CUDA-SDK. Offenbar traf man gleichzeitig auch den Nerv der (Compute)-Zeit. Ein entsprechender Support von Hard- und Software-Herstellern hat dazu geführt, dass eigentlich nur NVIDIA im Zusammenhang mit dem GPU-Computing genannt wird. Vom 14. bis 17. Mai wird in San Jose die GTC 2012 stattfinden. Dort werden wieder einmal zahlreiche Vorträge zum GPU-Computing und CUDA geboten und vielleicht werden auch wir wieder vor Ort sein.