Einführung eines HPC-optimierten VM-Images (High Performance Computing)

Bild



Wir freuen uns, die Veröffentlichung einer öffentlichen Vorschau eines CentOS 7-basierten VM-Images (Virtual Machine) bekannt zu geben, das für High Performance Computing (HPC) optimiert ist. Es wurde hauptsächlich für eng gekoppelte MPI-Workloads (Message Passing Interface) entwickelt. Dieser Artikel beschreibt das HPC-spezifische VM-Image und seine Vorteile. Lesen Sie die Dokumentation und den Schnellstart, um direkt Instanzen aus diesem Image zu  erstellen.



Im Jahr 2020 haben wir  über eine Reihe von Funktionen und Einstellungen  zur Optimierung der MPI-Oberfläche auf der Google Cloud-Plattform gesprochen. Sie reduzieren die  Verzögerung beim Messaging auf einige Mikrosekunden. und liefern kleine MPI-Nachrichten in 10 Mikrosekunden oder weniger. Die MPI-Optimierung verbessert die Anwendungsskalierung und erhöht die Anzahl der Aufgaben, die auf der Google Cloud-Plattform ausgeführt werden können. Um jedoch ein VM-Image unter Berücksichtigung dieser Techniken zu erstellen, müssen Sie die Systeme und Plattformen von Google Cloud genau kennen. Daher ist es logischer, mit einem Bild zu arbeiten, das ursprünglich für Hochleistungsrechnungen berechnet und vorbereitet wurde. Sie können auf einfache Weise eine VM-Instanz bereitstellen, die für eine optimale CPU- und Netzwerkleistung in Google Cloud optimiert ist. Das HPC VM-Image ist ohne zusätzliche Kosten auf dem Google Cloud Marketplace verfügbar 



Vorteile von HPC VM-Images gegenüber herkömmlichen VM-Images



Wenn Sie ein HPC VM-Image auswählen, erhalten Sie eine sofort einsatzbereite Konfiguration und regelmäßige Wartung sowie die folgenden HPC-Vorteile in der Google Cloud:



  1. Erstellen Sie ganz einfach virtuelle Maschinen, die auf eng gekoppelte Workloads zugeschnitten sind  . Erstellen Sie ganz einfach eine HPC-VM und aktualisieren Sie ihre Konfiguration regelmäßig mit den neuesten Einstellungen.

  2. Optimierung von Netzwerken für eng gekoppelte Systeme.  Reduzieren Sie die Latenz für kleine Nachrichten und beschleunigen Sie Anwendungen, die Punkt-zu-Punkt- oder gemeinsame Kommunikation erfordern.

  3. Effizienteres Rechnen.  Verbessern Sie die Leistung einzelner Knoten, indem Sie Systemvibrationen reduzieren.

  4. Stabile und reproduzierbare Leistung mehrerer Knoten.  Wenden Sie Einstellungen an, die sich bei einer Vielzahl von HPC-Aufgaben als wirksam erwiesen haben.



Das HPC VM-Image ersetzt problemlos das Standard-CentOS 7-basierte Image.



Beispiel aus der Praxis: Skalieren des SDPB-Gleichungsprogramms mit CloudyCluster und HPC VM Image



Walter Londry von der Caltech  Particle Theory Group  entwickelt Forschungssoftware für das internationale Bootstrap Collaboration- Projekt  . Das Projekt verwendet ein  semi-definiertes Programm zum Lösen von Gleichungen (SDPB) . Mit ihrer Hilfe werden Quantenfeldtheorien in Bezug auf eine Vielzahl von Problemen in der theoretischen Physik untersucht, wie die Expansion des frühen Universums, Supraleiter, den Quanten-Hall-Effekt und Phasenübergänge.

Um die Rechenleistung des Projekts zu erweitern, hat Londri beschlossen, das SDPB-Programm auf der Google Cloud-Plattform zu skalieren. Verwenden von  Omnibond CloudyCluster Mit einem VM-Image für HPC konnte er das Projekt auf ein Leistungs- und Skalierbarkeitsniveau bringen, das mit einem lokalen Cluster in Yale vergleichbar ist, das auf Computern mit Intel Xeon Gold 6240-Prozessoren und Infiniband FDR-Technologie basiert.



1.jpg



Instanz C2-Standard-60 für Google Cloud verwendet skalierbare Intel Xeon-Prozessoren der 2. Generation. C2-Instanzen unterstützen Platzierungsregeln, die die Kommunikationslatenz zwischen Knoten verringern, sodass sie sich hervorragend für eng gekoppelte MPI-Workloads eignen. CloudyCluster enthält nativ das HPC VM-Image und die Platzierungsregeln für die C2-Familie, sodass Forscher keine zusätzlichen Maßnahmen ergreifen müssen. Tests haben gezeigt, dass Google Cloud Workloads mit geringer Latenz über mehrere Instanzen hinweg skalieren kann.

Wenn Sie sich selbst davon überzeugen möchten,  besuchen Sie den Google Cloud MarketplaceEine aktualisierte Version von Omnibonds CloudyCluster ist mit einem HPC VM-Image verfügbar. Diese Version enthält auch die Open OnDemand- Anwendung  ,  die vom Ohio State Supercomputing Center vertrieben und von NSF finanziert wird. Systemadministratoren können auf einfache Weise Webzugriff auf HPC-Ressourcen bereitstellen.



Hochleistungs-Computing-VM-Image-Funktionen 



Einstellungen und Optimierung. Das aktuelle HPC VM-Image konzentriert sich auf die Optimierung eng gekoppelter Workloads und verwendet die folgenden MPI-Leistungsverbesserungen:



  • Intel Hyper-Threading. Intel Hyper-Threading . .

  • MPI. MPI MPI. MPI Intel, MPI.

  • tcp_*mem. C2 32 / TCP Linux.

  • busy polling. busy polling , , .

  • . , () , , , .

  • Deaktivieren Sie Linux-Firewalls  und die SELinux-Technologie. Die SELinux-Engine und die Firewall, die standardmäßig für CentOS Linux-Images in Google Cloud aktiviert sind, werden im HPC VM-Image nicht verwendet. Dies verbessert die Leistung von MPI.

  • Deaktivieren Sie das Dienstprogramm CPUIdle. Virtuelle C2-Maschinen behalten einen CPU-Leerlaufstatus bei und können in einen Energiesparmodus wechseln. Durch Deaktivieren des Dienstprogramms CPUIdle können Sie die Latenz auf ein konstant niedriges Niveau bringen.



Die Wirksamkeit dieser Einstellungen hängt von der jeweiligen Anwendung ab. Wir empfehlen, dass Sie sie in der Praxis testen, um die leistungsstärkste und wirtschaftlichste Konfiguration zu finden.



Vergleichende Analyse der Wirksamkeit von Bildern



Wir haben die Leistung eines HPC VM-Images und eines CentOS 7-Standardimages mithilfe von Intel MPI-Benchmarks und realen Finite-Elemente-Analysen (ANSYS LS-DYNA), Fluiddynamik- (ANSYS Fluent) und Wetteranwendungen (WRF) verglichen. 



In diesem Abschnitt wurden die folgenden Versionen des HPC VM-Images und des CentOS-Images zum Vergleich herangezogen:



  • HPC VM-Image : hpc-centos-7-v20210119 (--nomitigation- und mpitune-Einstellungen werden wie in der Dokumentation empfohlen angewendet  )

  • CentOS-Image : centos-7-v20200811



Intel MPI Benchmark (IMB) Ping-Pong  - wird verwendet, um die Latenz einer Nachricht mit fester Größe zwischen zwei Rängen auf einem Paar virtueller Maschinen zu messen. Es stellte sich heraus, dass bei Verwendung eines VM-Images für HPC die Latenz im Vergleich zum Standard-CentOS 7-Image im Durchschnitt 50% geringer ist.



Testkonfiguration:



  • 2 VM C2-Standard-60 mit kompakten Platzierungsregeln

  • MPI-Bibliothek : Intel MPI Library 2018 Update 4

  • Launch - Befehl: mpirun -genv I_MPI_PIN = 1 -genv I_MPI_PIN_PROCESSOR_LIST = 0 -hostfile <Hostfile> -np 2 -ppn 1 IMB-MPI1 Pingpong -iter 50000



Ergebnisse



2.jpg



Der Intel MPI Benchmark (IMB) AllReduce-Test wird verwendet, um die kollektive Latenz beim Übertragen von Daten zwischen mehreren Rängen über eine VM zu messen. Mit der Operation MPI_SUM wird ein Vektor fester Länge verkleinert. Die Ergebnisse werden für eine PPN (Prozess pro Knoten) angezeigt, bei der 1 MPI-Rang pro Knoten und 30 Threads pro Rang vorhanden sind, und die Ergebnisse für 30 PPNs, wenn 30 MPI-Ränge pro Knoten und 1 Thread pro Rang vorhanden sind. Im Vergleich zum Standard-CentOS 7-Image wurde festgestellt, dass das HPC VM-Image die AllReduce-Latenz für 240 MPI-Ränge auf 8 Knoten (30 Prozesse pro Knoten) um bis zu 40% reduziert.



Testkonfiguration:



  • 8 VM C2-Standard-60 mit kompakten Platzierungsregeln

  • MPI-Bibliothek : Intel MPI Library 2018 Update 4

  • a : mpirun -tune -genv I_MPI_PIN=1 -genv I_MPI_FABRICS ‘shm:tcp’ -hostfile <hostfile> -np <#vm*ppn> -ppn <ppn> IMB-MPI1 AllReduce -iter 50000 -npmin <#vm*ppn>



Ergebnisse



3.jpg



4.jpg



Tests HPC-Anwendungen: LS-DYNA, Fluent und WRF. Bei Verwendung eines HPC-VM-Images auf der Anwendungsebene wurden bei der ANSYS LS-DYNA-Analyse (unter Verwendung von 240 MPI-Rängen in 8 C2-Instanzen auf Basis von Intel Xeon-Prozessoren) Leistungssteigerungen von bis zu 25% gegenüber der Kollisionssimulation mit drei Fahrzeugen beobachtet ... Im Rahmen der ANSYS Fluent- und WRF-Analyse konnte das HPC VM-Image eine Leistungsverbesserung von 6% gegenüber dem Standard-CentOS-Image erzielen.



Testkonfiguration:



  • ANSYS LS-DYNA (Modell „3 Autos“) : 8 VM C2-Standard-60 mit kompakten Platzierungsregeln unter Verwendung des mit AVX-2 kompilierten LS-DYNA MPP-Binärcodes 

  • ANSYS Fluent ( “aircraft_wing_14m”): 12  C2-standard-60

  • WRF V3 Parallel Benchmark (12 KM CONUS): 16  C2-standard-60

  • MPI: Intel MPI Library 2018 ( 4)







5.jpg



? SchedMD Slurm Linux



Wir werden die Liste der Partnerlösungen erweitern, die das Standard-HPC-VM-Image verwenden. Ab nächsten Monat können alle Slurm-Kunden Cluster mit dem Standard-HPC-VM-Image ausführen (Vorschau hier verfügbar ).



Gute Nachrichten für alle, die eine Enterprise-Version von Linux für High Performance Computing suchen! SUSE arbeitet mit Google zusammen, um ein für die Google Cloud optimiertes SUSE Enterprise HPC VM-Image zu entwickeln. Wenn Sie weitere Informationen wünschen oder andere Integrationen und Linux-Distributionen anfordern möchten,  kontaktieren Sie uns bitte...



Fangen Sie noch heute an!



Eine Vorschau des HPC VM-Images steht jetzt allen Nutzern im  Google Cloud Marketplace zur Verfügung  . Informationen zum Instanziieren mit einem HPC VM-Image finden Sie in der  Dokumentation und im Schnellstart.   Wir erinnern Sie auch daran, dass Ihnen bei der ersten Registrierung bei Google Cloud Boni im Wert von 300 US-Dollar zur Verfügung stehen und immer mehr als 20 kostenlose Produkte verfügbar sind. Sie können GCP unter dem entsprechenden Link ausprobieren .




Besonderer Dank geht an die Kollegen Jiu Xiao Liu, Tanner Love, Yang Jian, Hong Bo Lu und Pallawi Feng für ihre Hilfe bei der Vorbereitung des Materials.



All Articles