High-Performance Computing (HPC)
High-Performance Computing (HPC) ist die Praxis der parallelen Datenverarbeitung zum Verbessern der Rechenleistung und zum Durchführen komplexer Berechnungen. HPC erreicht diese Ziele durch das Bündeln von Rechenleistung, so dass auch fortgeschrittene Anwendungen effizient, zuverlässig und schnell entsprechend den Bedürfnissen und Erwartungen der Nutzer laufen. Es bietet somit eine viel höhere Leistung und bessere Performance als herkömmliche Computer, Workstations und Server.
Der Bedarf an Hochleistungsrechnern (HPC)
In der modernen Welt können die meisten bahnbrechenden Entdeckungen und Erfindungen nur dank fortschrittlicher Datenverarbeitung gemacht werden. Spitzentechnologien wie künstliche Intelligenz (KI), maschinelles Lernen (ML) und IoT (Internet of Things) erfordern riesige Datenmengen. Diese Anwendungen benötigen Hochleistungsrechner, da HPC-Systeme Quadrillionen von Berechnungen pro Sekunde durchführen können, während normale Laptops oder Desktops höchstens 3 Milliarden Berechnungen pro Sekunde durchführen können (mit einem 3-GHz-Prozessor).
HPC ist vor allem für die folgenden Anwendungen geeignet:
- Es ebnet den Weg für neue Innovationen in Wissenschaft, Technologie, Wirtschaft und Hochschulen.
- Es verbessert die Verarbeitungsgeschwindigkeit, was für viele Arten von Rechenoperationen, Anwendungen und Workloads entscheidend ist.
- Es trägt dazu bei, die Grundlage für eine zuverlässige, schnelle IT-Infrastruktur zu schaffen, die große Datenmengen für verschiedene Anwendungen speichern, verarbeiten und analysieren kann.
Vorteile von HPC
HPC hilft bei der Überwindung zahlreicher rechnerischer Hindernisse, mit denen herkömmliche PCs und Prozessoren normalerweise konfrontiert sind. Die Vorteile von HPC sind vielfältig und umfassen Folgendes.
Hohe Geschwindigkeiten
Bei HPC geht es in erster Linie um blitzschnelle Verarbeitung, das heißt HPC-Systeme können große Mengen an Berechnungen sehr schnell durchführen. Im Vergleich dazu würden normale Prozessoren und Rechensysteme länger brauchen – Tage, Wochen oder sogar Monate – um dieselben Berechnungen durchzuführen.
HPC-Systeme verwenden in der Regel die neuesten CPUs und GPUs sowie Netzwerkstrukturen mit geringer Latenz und Blockspeichergeräte, um die Verarbeitungsgeschwindigkeit und Rechenleistung zu verbessern.
Niedrigere Kosten
Da ein HPC-System schneller rechnen kann, liefern die darauf gehosteten Anwendungen schneller Antworten, was Zeit und Geld spart. Darüber hinaus sind viele dieser Systeme im Pay-as-you-go-Modus erhältlich und können je nach Bedarf auf- oder abgebaut werden, was ihre Kosteneffizienz weiter verbessert.
Geringerer Bedarf an physischen Tests
Viele moderne Anwendungen erfordern umfangreiche physische Tests, bevor sie für die öffentliche oder kommerzielle Nutzung freigegeben werden können. Selbstfahrende Fahrzeuge sind ein Beispiel dafür. Anwendungsforscher, -entwickler und -tester können mit HPC-Systemen leistungsstarke Simulationen erstellen und so den Bedarf an teuren oder wiederholten physischen Tests minimieren oder sogar eliminieren.
Wie HPC funktioniert
Die meisten HPC-Systeme haben drei Hauptkomponenten oder Ressourcen:
- Rechenleistung
- Netzwerk
- Speicherung
In einer HPC-Architektur bilden mehrere Server – in der Regel Hunderte oder Tausende – ein Netzwerk oder ein Cluster. Jeder Server ist ein Knoten, und in jedem Cluster arbeiten die Knoten parallel, um die Verarbeitungsgeschwindigkeit zu erhöhen und HPC zu gewährleisten. Cluster werden in der Cloud oft automatisch erstellt und entfernt, um Zeit zu sparen und die Kosten zu senken.
Mehrere Softwareprogramme und Algorithmen laufen gleichzeitig auf dem Cluster, um mehrere HPC-Anwendungen zu unterstützen. Außerdem ist der Cluster mit den Speicherkomponenten vernetzt, um die Ergebnisse dieser Programme zu erfassen und zu speichern.
Interaktionen zwischen den Komponenten
Es ist wichtig, dass alle Komponenten mit ähnlichen Geschwindigkeiten oder Leistungsniveaus arbeiten. Wenn sie nicht miteinander mithalten können, ist HPC nicht möglich und das gesamte System gerät ins Stocken. So müssen beispielsweise die Server Daten von den Speicherkomponenten effizient aufnehmen und verarbeiten, während diese Komponenten in der Lage sein sollten, Daten schnell an die Server weiterzuleiten, um HPC zu unterstützen. Ebenso sollten die Netzwerkkomponenten einen nahtlosen Hochgeschwindigkeitsdatentransport zwischen den anderen Komponenten unterstützen.
HPC-Systeme führen verschiedene Arten von Workloads aus. Zwei beliebte Arten sind parallele und eng gekoppelte Workloads.
Bei parallelen Workloads werden Berechnungsprobleme in kleine, unabhängige Aufgaben aufgeteilt, die parallel mit sehr hoher Geschwindigkeit durchlaufen. Oft kommunizieren diese Workloads nicht miteinander. Beispiele für solche Workloads sind Risikosimulationen, Logistiksimulationen, kontextbezogene Suche und Molekularmodellierung.
Wenn Workloads in kleinere Aufgaben unterteilt sind und während ihrer Verarbeitung kontinuierlich miteinander kommunizieren, spricht man von einer engen Kopplung. Dies ist in der Regel bei Workloads der Fall, die über verschiedene Knoten in einem Cluster verteilt sind. Einige gängige Beispiele für eng gekoppelte Workloads sind die Emulation von Automobilkollisionen, geospatiale Simulationen, Wettervorhersagemodelle und Verkehrsmanagement.
Beide Arten von Workloads erfordern hohe Verarbeitungsgeschwindigkeiten und genaue Ergebnisse, wofür HPC erforderlich ist.
Anwendungen von HPC
HPC wird in vielen realen Szenarien eingesetzt, um komplexe Probleme in Wissenschaft, Wirtschaft und Technik zu lösen. Auch einige akademische Einrichtungen nutzen HPC-Systeme. Einige Regierungsbehörden, insbesondere das Militär, verlassen sich bei komplexen Anwendungen auf HPC. Da die Nachfrage nach Verarbeitungsleistung und -geschwindigkeit für reale Anwendungen steigt, wird HPC wahrscheinlich für Unternehmen aller Größenordnungen interessant, insbesondere für die Transaktionsverarbeitung und für Data Warehouses.
HPC-Systeme werden auch in vielen anderen Branchen eingesetzt, unter anderem in den folgenden Bereichen:
- Fertigung. Entwickeln, Herstellen und Prüfen von Produkten in Simulationen.
- Gesundheitswesen. Forschung für neue Impfstoffe, Medikamente und Behandlungsmethoden für Krankheiten, Verbessern von Screening-Techniken und Erstellen genauerer Patientendiagnosen.
- Medien und Unterhaltung. Spezialeffekte, Transkodierung von Mediendateien, Unterstützung von Hochgeschwindigkeitsvideos und Live-Event-Streaming sowie Augmented Reality.
- Luft- und Raumfahrt. Für Personalschulungen und zur Erstellung kritischer Simulationen für Flugzeugtests.
- Öl und Gas. Zum Testen von Lagerstättenmodellen, Lokalsiieren von Öl- und Gasvorkommen, Durchführen räumlicher Analysen und Simulieren von Flüssigkeitsströmungen und seismischer Verarbeitung.
- Automobilindustrie. Für die Simulation von Crashtests in der Automobilindustrie, die weniger kostspielig sind als physische Tests.
- Finanzdienstleistungen. Zur Automatisierung des Handels, zur Erkennung von Kreditkartenbetrug und zur Verfolgung von Aktientrends in Echtzeit.
- Meteorologie. Für die Vorhersage und das Nachverfolgen von Stürmen und anderer ungewöhnlicher Wettermuster.
Ein Supercomputer ist eines der bekanntesten Beispiele für HPC, bei dem ein großer Computer aus vielen Computern und Prozessoren besteht, die zusammenarbeiten, um parallele Verarbeitung und hohe Leistung zu erzielen.
Herausforderungen bei HPC-Einsätzen
Obwohl HPC in den letzten Jahrzehnten enorme Fortschritte gemacht hat, gibt es nach wie vor einige Hindernisse, die einer breiten Einführung von HPC entgegenstehen:
- Einrichtungskapital. Die Einrichtung einer HPC-Umgebung ist mit erheblichen Investitionen verbunden, die sich kleine Unternehmen in der Regel nicht leisten können.
- Laufende Kosten. Laufende Verwaltungs- und andere Betriebskosten können ein großes Hindernis darstellen.
- Veraltete Infrastruktur vor Ort. Wenn die Ausrüstung vor Ort altert, kann dies die Leistung von HPC verringern.
- Bedarf an häufigen Upgrades. HPC-Systeme müssen ständig aufgerüstet werden, um ihr Leistungsniveau zu halten. Das Aufschieben dieser Upgrades könnte die Effizienz beeinträchtigen und die Verarbeitungszeiten verlängern.
Viele dieser Hindernisse sind auf den Einsatz von HPC-Systemen vor Ort zurückzuführen. Cloud-Technologien, die speziell für HPC-Workloads konzipiert sind und umfangreiche Kapazitäten sowie eine Pay-as-you-go-Option bieten, könnten eine praktikable Lösung für diese Herausforderungen sein.