iX 7/2018
S. 92
Report
High-Performance Computing
Aufmacherbild

CAE-Anwendungen in der Cloud

Wolkeningenieur

Computer-aided Engineering findet in der Regel auf speziellen HPC-Clustern statt. In bestimmten Fällen lassen sich dafür inzwischen Standardinstanzen aus der Cloud nutzen.

Computer-aided Engineering (CAE) geschieht meist mit Software, die auf einem High-Performance-Computing-Cluster läuft. Das bedeutet optimierte und oft teure Hardware. Auf der anderen Seite ist Cloud-Computing auf dem Vormarsch und bietet mit einem hohen Grad an Virtualisierung und dem Einsatz günstiger Commodity-Hardware High-Performance Computing die Stirn. Deswegen stellt sich die Frage: Kann man Applikationen, die bislang auf einem HPC-Cluster liefen, in die Cloud bringen?

Grundlegend verschiedene Szenarien

High-Performance Computing stellt hohe Anforderungen an die Rechenleistung. Häufig ist das die Simulation komplexer Systeme wie Crashtest-Simulation, Strömungssimulation oder die Wettervorhersage. HPC-Cluster sind für diesen Fall spezialisierte Systeme, die aus vielen miteinander vernetzten Rechnern bestehen – ausgerichtet auf das parallele Verarbeiten von Aufgaben. Die Berechnung wird über die Rechner des Clusters verteilt. Eine wichtige Rolle spielt in diesem Zusammenhang ein hoch-performantes Netzwerk, etwa auf Basis von InfiniBand, mit hoher Bandbreite und niedriger Latenz. Hardwarenähe – der Verzicht auf Virtualisierung und die Verwendung von Programmiersprachen wie C/C++ oder Fortran – ist ein entscheidender Faktor.

Cloud-Computing auf der anderen Seite stellt beliebige IT-Infrastruktur wie Rechenleistung, Speicherplatz oder Software bereit. Das verteilte System kommt häufig ohne zentralen Storage aus – ein großer Unterschied zum HPC. Die Daten werden redundant auf den einzelnen Knoten gehalten. Das beugt einem Datenverlust vor, sollte einer davon ausfallen. Außerdem lassen sich so schnell und einfach Rollbacks ausführen. Fällt ein Knoten aus, übernimmt getreu dem Motto „cattle not pets“ ein anderer seine Aufgaben. Vor diesem Hintergrund ist ein detailliertes Hardware-Monitoring der Cloud-Infrastruktur (für die Anwender) nicht notwendig. Ein weiterer Unterschied zum HPC ist der hohe Grad an Virtualisierung. Diese kann allerdings zu einer niedrigeren Hardwareauslastung führen.

Mehr Kerne oder mehr Instanzen

Auch bei der Skalierung einer Anwendung gibt es Unterschiede zwischen Cloud-Computing und HPC: Anwendungen in HPC-Umgebungen erhalten zur Performancesteigerung zusätzliche Kerne auf anderen Rechnern. Es läuft aber nach wie vor nur eine Instanz des Programms.

In der Cloud hingegen starten zum Steigern der Leistung neue Instanzen der Anwendung auf zusätzlichen Knoten. Sie arbeiten unabhängig voneinander auf ihren eigenen lokalen Datensätzen und fügen sie gegebenenfalls am Ende zu einem großen Ganzen zusammen. Das Stichwort an dieser Stelle ist „Skalierung durch Verteilung“.