Als Supercomputer (aus dem Englischen entlehnt, dazu teilweise übersetzt Superrechner und weiter übersetzt „[der] Großrechner“; außerdem auch Hochleistungsrechner[1][2] genannt) werden für ihre Zeit besonders schnelle Computer (Allzweckrechner) bezeichnet. Dabei ist es unerheblich, auf welcher Bauweise der Computer beruht, solange es sich um einen universell einsetzbaren Rechner handelt.
Ein typisches Merkmal eines modernen Supercomputers ist seine besonders große Anzahl an Prozessoren, die auf gemeinsame Peripheriegeräte und einen teilweise gemeinsamen Hauptspeicher zugreifen können. Supercomputer werden häufig für Computersimulationen im Bereich des Hochleistungsrechnens eingesetzt.
In Deutschland sind Supercomputer überwiegend an Universitäten und Forschungseinrichtungen wie etwa den Max-Planck-Instituten zu finden. Wegen ihrer Einsatzmöglichkeiten fallen sie unter deutsche Gesetze zur Waffenexportkontrolle.[3]
Supercomputer spalteten sich in der Geschichte der Computerentwicklung in den 1960er Jahren von den wissenschaftlichen Rechnern und den Großrechnern ab. Während Großrechner eher auf hohe Zuverlässigkeit hin optimiert wurden, wurden Supercomputer in Richtung hoher Rechenleistung optimiert. Der erste offiziell installierte Supercomputer Cray-1 schaffte 1976 130 MegaFLOPS.
Ursprünglich wurde die herausragende Rechenleistung durch maximale Ausnutzung der verfügbaren Technik erzielt, indem Konstruktionen gewählt wurden, die für größere Serienproduktion zu teuer waren (z. B. Flüssigkeitskühlung, exotische Bauelemente und Materialien, kompakter Aufbau für kurze Signalwege), die Zahl der Prozessoren war eher gering. Seit geraumer Zeit etablieren sich vermehrt sogenannte Cluster, bei denen eine große Anzahl von (meist preiswerten) Einzelrechnern zu einem großen Rechner vernetzt werden. Im Vergleich zu einem Vektorrechner besitzen die Knoten in einem Cluster eigene Peripherie und ausschließlich einen eigenen, lokalen Hauptspeicher. Cluster verwenden Standardkomponenten, deshalb bieten sie zunächst Kostenvorteile gegenüber Vektorrechnern. Sie erfordern aber einen weit höheren Programmieraufwand. Es ist abzuwägen, ob die eingesetzten Programme sich dafür eignen, auf viele Prozessoren verteilt zu werden.
Moderne Hochleistungsrechner sind vor allem Parallelrechner. Sie bestehen aus einer großen Anzahl an miteinander vernetzten Computern. Zusätzlich verfügt jeder Computer in der Regel über mehrere Hauptprozessoren (CPUs). Auf einem Supercomputer können nicht unmodifiziert die gleichen Programme wie auf einem gewöhnlichen Computer laufen, sondern speziell abgestimmte Programme, die die einzelnen, parallel arbeitenden Prozessoren beschäftigen. Supercomputer sind (wie auch heutzutage jeder handelsübliche Computer im unteren Preissegment) Vektorrechner. Dominierend sind mittlerweile Standardarchitekturen aus dem Bereich von Personalcomputern und Servern, etwa x86-64 von Intel (Xeon) und AMD (Epyc). Sie unterscheiden sich von gewöhnlicher Personalcomputer-Hardware nur geringfügig. Es gibt aber auch immer noch Spezialhardware wie IBM BlueGene/Q und Sparc64.
Die Verbindungen zwischen Einzelcomputern werden bei Supercomputern mit speziellen Hochleistungsnetzwerken umgesetzt, verbreitet ist dabei unter anderem InfiniBand. Computer werden oft mit Beschleunigerkarten ausgestattet, etwa Grafikkarten oder der Intel Xeon Phi. Grafikkarten eignen sich zum Einsatz im High Performance Computing, weil sie exzellente Vektorrecheneinheiten darstellen und Probleme der Linearen Algebra effizient lösen. Die zugehörige Technik nennt sich General Purpose Computation on Graphics Processing Unit (GPGPU).
Bei Clustern werden die einzelnen Computer oft Knoten (englisch nodes) genannt und mittels Clustermanagament-Werkzeugen zentral konfiguriert und überwacht.
Betriebssystem und Programmierung
Während noch in den 1990er Jahren diverse Unix-Varianten bei Supercomputern verbreitet waren, hat sich in den 2000er Jahren die Freie SoftwareLinux als Betriebssystem durchgesetzt. In der TOP500-Liste der schnellsten Computersysteme (Stand Juni 2012) werden insgesamt 462 ausschließlich unter Linux betriebene Systeme und 11 teilweise (CNK/SLES 9) unter Linux betriebene Systeme aufgelistet. Damit laufen 92,4 % der Systeme vollständig unter Linux. Fast alle anderen Systeme werden unter Unix oder Unix-artigen Systemen betrieben. Der im Desktop-Bereich größte Konkurrent Windows spielt im Bereich der Höchstleistungsrechner kaum eine Rolle (0,4 %).
Verwendete Programmiersprachen zur Programmierung von Programmen sind vor allem Fortran und C bzw. C++. Um möglichst schnellen Code zu generieren, wird meist auf Compiler der Supercomputer-Hersteller (etwa CRAY oder Intel) zurückgegriffen. Programme im High Performance Computing (HPC) werden typischerweise in zwei Kategorien eingeteilt:
Parallelisierung mittels Shared Memory, in der Regel lokal auf einem einzelnen Knoten. Hierzu sind Schnittstellen wie OpenMP oder Threading Building Blocks verbreitet. Ein einzelner Betriebssystemprozess beschäftigt in der Regel alle zur Verfügung stehenden CPU-Kerne bzw. CPUs.
Distributed-Memory-Parallelisierung: Ein Betriebssystemprozess läuft auf einem Kern und muss zur gemeinschaftlichen Problemlösung Nachrichten mit anderen Prozessen austauschen (Message passing). Dies geht knotenintern oder über Knotengrenzen hinweg. Das Message Passing Interface ist der Industriestandard, um diese Art Programme zu programmieren.
In der Praxis findet man oft hybride Verfahren als Kombination beider Parallelisierungstechniken. Sie sind deswegen populär, weil Programme oft nicht gut genug skalieren, um alle Kerne eines Supercomputers mit reinem Message Passing auszulasten.
Wenn Supercomputer mit Beschleunigerkarten (Grafikkarten oder Rechenkarten) ausgestattet sind, zergliedert sich die Programmierung nochmals auf die des Hostcomputers und die der Beschleunigerkarte. OpenCL und CUDA sind dabei gängige Schnittstellen, die die Programmierung derartiger Komponenten ermöglichen.
Hochleistungsrechner werden in der Regel nicht von einem einzigen Benutzer bzw. Programm genutzt. Stattdessen werden Job-Scheduler wie Simple Linux Utility for Resource Management (SLURM) oder IBMs LoadLeveler verwendet, um einer großen Anzahl an Benutzern zu ermöglichen, kurzzeitig Teile des Supercomputers zu verwenden. Die Zuteilung erfolgt dabei exklusiv auf Ebene von Knotenzuordnung oder Prozessorzuordnung. Die verbrauchte Prozessorzeit wird dabei in Einheiten wie CPU-Stunden oder Knoten-Stunden gemessen und ggf. abgerechnet.
Einsatzzweck
Die Herstellungskosten eines Supercomputers aus der TOP10 bewegen sich derzeit in einem hohen zweistelligen, oftmals bereits dreistelligen Euro-Millionenbetrag.
Die heutigen Supercomputer werden überwiegend zu Simulationszwecken eingesetzt. Je realitätsnäher eine Simulation komplexer Zusammenhänge wird, desto mehr Rechenleistung wird in der Regel benötigt. Ein Vorteil der Supercomputer ist, dass sie durch ihre extrem schnelle und damit große Rechenleistung immer mehr Interdependenzen berücksichtigen können. Dies erlaubt das Einbeziehen weiterreichender, oftmals auch unscheinbarer Neben- oder Randbedingungen zur eigentlichen Simulation und gewährleistet dadurch ein immer aussagekräftigeres Gesamtergebnis.
Im militärischen Bereich haben Supercomputer es z. B. ermöglicht, neue Atombombenentwicklungen durch Simulation, ohne Stützdaten durch weitere unterirdische Atombombenversuche, durchzuführen. Die Bereiche kennzeichnen sich dadurch, dass es sich um sehr komplexe Systeme bzw. Teilsysteme handelt, die in weitreichendem Maße miteinander verknüpft sind. So haben Veränderungen in dem einen Teilsystem meist mehr oder minder starke Auswirkungen auf benachbarte oder angeschlossene Systeme. Durch den Einsatz von Supercomputern wird es immer leichter möglich, viele solcher Konsequenzen zu berücksichtigen oder sogar zu prognostizieren, wodurch bereits weit im Vorfeld etwaige Gegenmaßnahmen getroffen werden könnten. Dies gilt z. B. bei Simulationen zum Klimawandel, der Vorhersagen von Erdbeben oder Vulkanausbrüchen sowie in der Medizin bei der Simulation neuer Wirkstoffe auf den Organismus. Solche Simulationen sind logischerweise, ganz unabhängig von der Rechenleistung, nur so genau, wie es die programmierten Parameter bzw. Modelle zur Berechnung zulassen.
Die enormen Investitionssummen in die stetige Steigerung der FLOPS und damit die Entwicklung von immer schnelleren Supercomputern werden vor allem mit den Nutzenvorteilen und dem eventuellen „Wissensvorsprung“ für die Menschheit gerechtfertigt, weniger aus den Aspekten des allgemeinen technischen Fortschritts.
Situation in Deutschland
Das wissenschaftliche Hochleistungsrechnen ist in Deutschland durch das Gauss Centre for Supercomputing (GCS) organisiert, welches Mitglied im europäischen Partnership for Advanced Computing in Europe (PRACE) ist. Der Verbund für Nationales Hochleistungsrechnen (NHR) stellt Hochleistungsrechenressourcen der mittleren Leistungsklasse (Ebene 2) zur Verfügung. Die Mehrzahl der 16 deutschen Bundesländer unterhalten Landeshochrechnerverbände, um die Nutzung ihrer Hochleistungsrechner zu organisieren. In der Wissenschaftswelt wird in der Regel ein Kontingent an CPU-Stunden ausgeschrieben und unter Bewerbern verteilt.
Ausgewählte Superrechner
Aktuelle Superrechner
Die schnellsten Superrechner nach Leistung werden heutzutage halbjährlich in der TOP500-Liste aufgeführt. Als Bewertungsgrundlage dient der LINPACK-Benchmark. Die schnellsten Superrechner nach Energieeffizienz bzw. MFLOPS/W werden seit November 2007 in der Green500-Liste geführt.[6] Den größten Anteil (117) der Top 500 leistungsstärksten Rechner weltweit konnte 2018 Lenovo installieren.[7]
Diese Green500-Liste vom November 2014 weist länderweise gemittelte Effizienzen von 1895 MFLOPS/W (Italien) bis hinunter zu 168 MFLOPS/W (Malaysia) auf.
Ausgewählte aktuelle Superrechner – weltweit
Stand früher als Juni 2017 (2016?). Jedoch Piz Daint, Schweiz, und Levante, Deutschland, nachgetragen.
Atos BullSequana XH2000 mit insgesamt 370.000 Prozessorkernen; CPU-Partition: 2832 Nodes mit je 2 CPUs vom Typ AMD 7763; GPU-Partition: 60 Nodes mit je 2 CPUs vom Typ AMD 7713 und je 4 GPUs vom Typ Nvidia A100
Chemische und physikalische, biologische (z. B. Proteinstrukturanalyse), geologische (z. B. Erdbebenvorhersage), medizinische Berechnungen (z. B. Krebswachstum)
Atos BullSequana XH2000 mit insgesamt 370.000 Prozessorkernen; CPU-Partition: 2832 Nodes mit je 2 CPUs vom Typ AMD 7763; GPU-Partition: 60 Nodes mit je 2 CPUs vom Typ AMD 7713 und je 4 GPUs vom Typ Nvidia A100
Der im Spätsommer 2024 in Betrieb genommene „Alps“ befindet sich auf Rang 6 In der Liste der 500 schnellsten Supercomputer der Welt. Piz Daint nahm darin Rang 43 ein (Stand Juni 2024).
USA, DOE’s Lawrence Livermore National Laboratory (LLNL) - Fertigstellung 2023 angekündigt
Trägt man die FLOPS der schnellsten Computer ihrer Zeit gegen die Zeit auf, erhält man eine exponentielle Kurve, logarithmisch in etwa eine Gerade, wie im folgenden Graph dargestellt.
Mit einer Executive Order hatte US-PräsidentBarack Obama die US-Bundesbehörden angewiesen, die Entwicklung eines ExaFlops-Supercomputers voranzutreiben.[42][43] Im Jahr 2018 sollte Intels Aurora-Supercomputer eine Rechenleistung von 180 PetaFlops erreichen.[44] Im Jahr 2021 wollte das DOE einen ersten Exascale-Supercomputer aufstellen und 9 Monate später in Betrieb nehmen.[45]
China
China wollte bis 2020 einen Supercomputer mit einer Geschwindigkeit im Exaflops-Bereich entwickeln.[46] Der Prototyp von „Tianhe-3“ sollte bis Anfang 2018 fertig sein, berichtete „China Daily“ am 20. Februar 2017.[40]
Im Mai 2018 wurde er vorgestellt.[47]
Europa
2011 starteten in der EU zahlreiche Projekte mit dem Ziel Software für Exascale-Supercomputer zu entwickeln. Das CRESTA-Projekt (Collaborative Research into Exascale Systemware, Tools and Applications),[48] das DEEP-Projekt (Dynamical ExaScale Entry Platform),[49][50] und das Projekt Mont-Blanc.[51] Das MaX (Materials at the Exascale) ist als weiteres wichtiges Projekt zu nennen.[52] Im März 2015 startete das SERT-Projekt unter Beteiligung der Universität von Manchester und der STFC in Cheshire.[53]
In Japan begann 2013 das RIKEN die Planung eines Exascale-Systems für 2020 mit einem elektrischen Leistungsbedarf von weniger als 30 MW.[54] 2014 wurde Fujitsu beauftragt, die nächste Generation des K computer zu entwickeln.[55] 2015 verkündete Fujitsu auf der International Supercomputing Conference, dass dieser Supercomputer Prozessoren der ARMv8-Architektur verwenden werde.[56]
Sonstige Leistungen
Meilensteine
1997: Deep Blue 2 (Hochleistungsrechner von IBM) schlägt als erster Computer einen Schachweltmeister in einem offiziellen Zweikampf.
2007: Intels Desktopprozessor Core 2 Quad Q6600 schafft ca. 38,40 GFLOPS und hat damit Supercomputerniveau der frühen 1990er Jahre.[57]
2014: NVIDIAs GPU-Prozessor Tesla K80 erzielt eine Leistung von ca. 8,7 TeraFLOPS und hat damit das Supercomputerniveau der frühen 2000er Jahre. Er schlägt somit den Supercomputer des Jahres 2000, den IBM ASCI White, welcher damals eine Leistung von 7,226 TeraFLOPS bot.[58]
Die über 380.000 aktiven Rechner des Projektes Folding@home erbrachten im März 2020 eine Rechenleistung von über 1 ExaFLOPS.[62][63] Damit wird das Volunteer-Verteilte System das erste Computing-System das ein ExaFLOPS erreicht.[64][65][66] Das System simulierte Proteinfaltung für Forschungen zu COVID-19 und erreichte am 13. April eine Geschwindigkeit von ca. 2.43 x86-ExaFLOPS − einige Male schneller als der vorherige Rekordhalter, Supercomputer Summit.[67]
Sämtliche Berechnungen aller Computer weltweit von 1960 bis 1970 könnte der Earth Simulator in etwa 35 Minuten durchführen.
Mit seiner Performance könnte der K computer die Meter eines Lichtjahres binnen etwa einer Sekunde „zählen“.
Hans Moravec bezifferte die Rechenleistung des Gehirns auf 100 Teraflops, Raymond Kurzweil auf 10.000 Teraflops. Diese Rechenleistung haben Supercomputer bereits deutlich überschritten. Zum Vergleich liegt eine Grafikkarte für 800 Euro (11/2020) bei einer Leistung von etwa 30 Teraflops.[68] (s. technologische Singularität)
Korrelatoren im Vergleich
Korrelatoren sind spezielle Geräte in der Radiointerferometrie deren Leistung man ebenfalls in Einheiten von FLOPS messen kann. Sie fallen nicht unter die Kategorie der Supercomputer, weil es sich um Spezialcomputer handelt, mit denen sich nicht jede Art von Problemen lösen lässt.
Die Rechenleistung des WIDAR-Korrelator am Expanded Very Large Arrays (EVLA) ist (Juni 2010) mit 40 PetaFLOPS angegeben.[71][72]
Der geplante Korrelator des Square Kilometre Array (SKA) (Bauzeit 2016 bis 2023) soll 4 ExaFLOPS (4000 PetaFLOPS) (Informationsstand Juni 2010) ausführen können.[71]
Literatur
Werner Gans: Supercomputing: Rekorde; Innovation; Perspektive. Hrsg.: Christoph Pöppe (= Spektrum der Wissenschaft / Dossier. Nr.2). Spektrum-der-Wissenschaft-Verl.-Ges., Heidelberg 2007, ISBN 978-3-938639-52-8.
Shlomi Dolev: Optical supercomputing. Springer, Berlin 2008, ISBN 3-540-85672-2.
William J. Kaufmann et al.: Supercomputing and the transformation of science. Scientific American Lib., New York 1993, ISBN 0-7167-5038-4.
Paul B. Schneck: Supercomputer architecture. Kluwer, Boston 1987, ISBN 0-89838-238-6.
Aad J. van der Steen: Evaluating supercomputers – strategies for exploiting, evaluating and benchmarking computers with advanced architectures. Chapman and Hall, London 1990, ISBN 0-412-37860-4.
↑Mario Golling, Michael Kretzschmar: Entwicklung einer Architektur für das Accounting in dynamischen Virtuellen Organisationen. ISBN 978-3-7357-8767-5.
↑Martin Kleppmann: Datenintensive Anwendungen designen: Konzepte für zuverlässige, skalierbare und wartbare Systeme. O’Reilly, ISBN 978-3-96010-183-3.