211service.com
Supercomputer Visuals ohne Grafikchips
Bevor es spezialisierte Grafikprozessoren gab, nutzten Pioniere der Visualisierung Multicore-Supercomputer, um Daten in drei Dimensionen zu realisieren. Heute jedoch übertrifft die Geschwindigkeit, mit der Supercomputer Daten verarbeiten können, die Geschwindigkeit, mit der sie diese Daten ein- und ausgeben können, schnell. Grafikprozessorcluster werden obsolet.

Kernkollaps : Dieses Bild – Schritt 1492 einer Simulation einer Kernkollaps-Supernova – wurde auf dem Supercomputer Intrepid des Argonne National Laboratory ohne die Verwendung eines Grafikclusters erzeugt.
Forscher des Argonne National Laboratory und anderswo arbeiten an einer Lösung. Anstatt riesige Datensätze zum Rendern in einen spezialisierten Grafikverarbeitungs-Cluster zu verschieben, wie es heute üblich ist, schreiben sie Software, die es Tausenden von Prozessoren in einem Supercomputer ermöglicht, die Visualisierung selbst durchzuführen.
Tom Peterka und Rob Ross, Informatiker am Argonne National Laboratory, und Hongfeng Yu und Kwan-Liu Ma von der University of California in Davis haben Software für Intrepid geschrieben, einen IBM Blue Gene/P-Supercomputer, der den Grafikverarbeitungscluster umgeht ganz. Es ermöglicht uns, [Experimente] an einem Ort zu visualisieren, der näher am Ort der Daten liegt – auf derselben Maschine, sagt Peterka. Die Lösung seines Teams macht den zeitaufwändigen Schritt des Verschiebens der Daten vom Ort ihrer Erzeugung auf einen sekundären Computercluster überflüssig.
Peterkas Testdaten, erhalten von John Blondin von der North Carolina State University und Anthony Mezzacappa vom Oak Ridge National Laboratory repräsentieren 30 aufeinanderfolgende Schritte beim simulierten explosiven Tod eines Sterns und sind typisch für die Art von Informationen, die ein Supercomputer wie der von Argonne verarbeiten könnte. Peterkas größter Test mit maximal ausgereizten Daten bei einer dreidimensionalen Auflösung von 89 Milliarden Voxeln (dreidimensionale Pixel) und ergab zweidimensionale Bilder mit 4.096 Pixeln auf einer Seite. Die Verarbeitung der Daten erforderte 32.768 der 163.840 Kerne von Intrepid. Zweidimensionale Bilder wurden mit einem parallelen Volume-Rendering-Algorithmus erzeugt, einem klassischen Ansatz zur Erstellung einer zweidimensionalen Momentaufnahme eines dreidimensionalen Datensatzes.
Normalerweise erfordert die Visualisierung und Nachbearbeitung der von Intrepid, dem mit 557 Teraflops der siebtschnellsten Supercomputer der Welt, generierten Daten eine separate Grafikverarbeitungseinheit namens Eureka. (Ein Teraflop entspricht einer Billion Berechnungen pro Sekunde.) Eureka basiert auf NVIDIA Quadro Plex S4-GPUs (Grafikprozessoren) und läuft mit 111 Teraflops. Leistungsstärkere Supercomputer im Petaflop-Bereich stellen noch größere Herausforderungen.
Je größer wir werden, desto mehr ist das Problem durch [Eingabe-/Ausgabegeschwindigkeiten] begrenzt, sagt Peterka. Das bloße Schreiben der Datenmenge, die von einem Simulationslauf auf einem Petaflop-Supercomputer erzeugt wurde, auf die Festplatte zu schreiben, könnte eine unangemessene Zeit in Anspruch nehmen. Der Grund ist einfach: Von einer Supercomputergeneration zur nächsten steigen Speicherkapazität und Speicherbandbreite nicht so schnell wie die Verarbeitungsgeschwindigkeit.
Diese Diskrepanz bedeutet, dass sich zukünftige Supercomputing-Zentren möglicherweise keine separaten Grafikprozessoren leisten können. Bei Petascale sind [separate Grafikverarbeitungseinheiten] weniger kosteneffektiv, sagt Hank Kinder , ein Computersystemingenieur und Visualisierungsexperte am Lawrence Berkeley National Laboratory. Childs weist darauf hin, dass ein dedizierter Visualisierungscluster wie der für Argonnes Intrepid-Supercomputer oft etwa eine Million US-Dollar kostet, aber in Zukunft könnten sich diese Kosten um den Faktor 20 erhöhen.
Pat McCormick, der an der Visualisierung auf dem schnellsten Supercomputer der Welt, dem AMD Opteron und dem IBM Cell-powered Roadrunner im Los Alamos National Laboratory, arbeitet, sagt, dass Peterkas Arbeit an der direkten Visualisierung von Daten von entscheidender Bedeutung ist, da diese Maschinen so groß werden, dass Sie es wirklich tun habe keine Wahl. Bestehende, GPU-basierte Visualisierungsmethoden seien weiterhin nur für bestimmte Arten von Simulationen geeignet, sagt McCormick.
Wenn Sie einen ganzen Supercomputer mit Berechnungen verbrauchen, haben Sie meiner Meinung nach keine andere Wahl, sagt McCormick. Wenn Sie in dieser Größenordnung arbeiten, müssen Sie die Arbeit vor Ort erledigen, da es ewig dauern würde, sie auszulagern, und wo sonst können Sie so viele Daten verarbeiten?
Peterka, McCormick und Childs stellen sich eine Zukunft vor, in der Supercomputer eine sogenannte In-Situ-Verarbeitung durchführen, in der Simulationen während des Ablaufs visualisiert werden und nicht erst nachträglich.
Die Idee hinter der In-Situ-Verarbeitung besteht darin, I/O vollständig zu umgehen, sagt Childs. Sie schreiben nie etwas auf die Festplatte. Sie nehmen Visualisierungsroutinen und verknüpfen sie direkt mit Simulationscode und geben ein Bild aus, während es passiert.
Dieser Ansatz ist jedoch nicht ohne Tücken. Zum einen würde es eine ganze Sekunde oder länger dauern, jedes Bild zu rendern, was die Möglichkeit einer natürlichen Interaktion mit dreidimensionalen Modellen ausschließt. Ein weiterer Fallstrick ist die Tatsache, dass eine solche Interaktion mit Daten Zyklen auf den teuersten Mainframes der Welt verbrennt.
Supercomputer sind unglaublich wertvolle Ressourcen, bemerkt Childs. Dass jemand eine Simulation durchführt und dann eine Stunde lang mit den Daten interagiert – das ist eine sehr teure Ressource, um eine Stunde lang Geiseln zu halten.
Da Desktop-Computer Supercomputern und GPUs in die Welt mit mehreren Kernen und massiv paralleler Verarbeitung folgen, spekuliert Peterka, dass es einen Trend weg von Prozessoren geben könnte, die auf bestimmte Funktionen spezialisiert sind. AMD bietet bereits die OpenCL-Codebibliothek an, die es ermöglicht, Code, der für eine GPU entwickelt wurde, auf jedem x86-Chip auszuführen – und umgekehrt.
Xavier Cavin, Gründer und CEO von Scalable Graphics, einem Unternehmen, das Software für die größten von Unternehmen verwendeten Grafikverarbeitungseinheiten entwickelt, weist darauf hin, dass der allererste parallele Volume-Rendering-Algorithmus auf den CPUs eines Supercomputers lief. Danach begannen die Leute, GPUs und GPU-Cluster zu verwenden, um dasselbe zu tun, sagt Cavin. Und jetzt kommt es zurück zu CPUs. Der Kreis schließt sich.