HPC-fähige VM-Instanz erstellen

Bei eng gekoppelten Hochleistungs-Computing-Arbeitslasten (HPC) wird oft über die Message Passing Interface (MPI) zwischen Prozessen und Compute Engine-Instanzen kommuniziert. Wenn Sie jedoch ein eigenes Betriebssystem-Image erstellen, das für eine optimale MPI-Leistung optimiert ist, sind Systemkenntnisse, Google Cloud Kenntnisse und zusätzliche Wartungsarbeiten erforderlich. Wenn Sie schnell eine optimierte Umgebung für Ihre HPC-Arbeitslasten einrichten möchten, verwenden Sie ein HPC-VM-Image.

Ein HPC-VM-Image basiert auf Rocky Linux 8 oder Rocky Linux 9 und ist für eng gekoppelte HPC-Arbeitslasten optimiert. Sie enthält vorkonfigurierte Kernel- und Netzwerkabstimmungsparameter, die zum Erstellen von Compute-Instanzen erforderlich sind, mit denen eine optimale MPI-Leistung in Google Clouderreicht wird.

Die besten Ergebnisse erzielen Sie, wenn Sie das HPC-VM-Image auf einem Maschinentyp aus der Computing-optimierten Maschinenserie bereitstellen. Diese Maschinentypen sind für eng gekoppelte HPC-Anwendungen konzipiert. Wenn Sie Cloud RDMA mit H4D verwenden möchten, müssen Sie Version 20250917 oder höher des HPC-VM-Images für Rocky 8 verwenden.

Sie können eine HPC-VM-Instanz mit einer der Methoden erstellen, die zum Erstellen einer Compute-Instanz verfügbar sind. Sie können auch den Slurm-Arbeitslastmanager von SchedMD verwenden, um einen HPC-Cluster bereitzustellen. Slurm-Unterstützung ist noch nicht für HPC-VM-Images verfügbar, die auf Rocky Linux 9 basieren.

Hinweis

  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren:

    Wählen Sie den Tab aus, der Ihrer geplanten Verwendung der Beispiele auf dieser Seite entspricht:

    Console

    Wenn Sie über die Google Cloud Console auf Google Cloud Dienste und APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

    gcloud

    1. Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:

      gcloud init

      Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  • Legen Sie eine Standardregion und -zone fest.

Vorteile

Das HPC-VM-Image bietet folgende Vorteile:

  1. Compute-Instanzen, die sofort für HPC-Arbeitslasten einsatzbereit sind. Sie müssen die Leistung nicht manuell abstimmen, keine Neustarts von Compute-Instanzen verwalten oder mit den neuesten Google Cloud Updates für eng gekoppelte HPC-Arbeitslasten auf dem Laufenden bleiben.
  2. Netzwerkoptimierungen für eng gekoppelte Arbeitslasten. Optimierungen, durch die die Latenz für kleine Nachrichten reduziert wird, sind enthalten. Dadurch profitieren Anwendungen, die stark von der Point-to-Point- und kollektiven Kommunikation abhängen. Wenn Sie die H4D-Maschinenserie verwenden, enthält das HPC VM Rocky 8-Image die erforderlichen Cloud RDMA-Treiber.
  3. Computing-Optimierungen für HPC-Arbeitslasten. Optimierungen, die den Systemjitter reduzieren, sind nun verfügbar, wodurch die Leistung eines einzelnen Knotens vorhersehbarer wird.
  4. Konsistente, reproduzierbare Leistung: Die Standardisierung von Betriebssystem-Images ermöglicht eine konsistente, reproduzierbare Leistung auf Anwendungsebene.
  5. Verbesserte Anwendungskompatibilität. Die Ausrichtung auf die Anforderungen auf Knotenebene der Intel HPC-Plattformspezifikation ermöglicht ein hohes Maß an Interoperabilität zwischen Systemen.

Funktionen von HPC-VM-Images

Das HPC-VM-Image bietet mehrere Funktionen, die die Leistung für HPC-Arbeitslasten (High Performance Computing, Hochleistungs-Computing) optimieren sollen:

  • Automatische Updates deaktiviert
  • Kollektive MPI-Abstimmungen
  • Vorinstallierte RPMs

Automatische Updates deaktiviert

Automatische Updates können sich negativ auf die Leistung von HPC-Arbeitslasten auswirken. Automatische Updates können bei Verwendung von HPC-VM-Images deaktiviert werden, indem Sie beim Erstellen einer Compute-Instanz den Metadateneintrag google_disable_automatic_updates auf TRUE festlegen. Wie dieser Metadateneintrag beim Erstellen einer Instanz festgelegt wird, hängt vom Tool ab, mit dem Sie die Instanz erstellen.

Wenn Sie beispielsweise den Befehl gcloud compute instances create verwenden, um eine Compute-Instanz zu erstellen, geben Sie das Argument --metadata an. Weitere Informationen finden Sie unter Informationen zu VM-Metadaten.

Der Metadateneintrag google_disable_automatic_updates ist so verfügbar:

  • HPC-VM-Images für Rocky 9: alle Versionen.
  • HPC-VM-Images für Rocky 8: nur in Images, die am oder nach dem 12. Juli 2024 erstellt wurden. Das Build-Datum (formatiert als YYYYMMDD) wird als Versionsnummer am Ende der Image-Namen verwendet. Ein HPC-VM-Image für Rocky 8, das am 21. Juli 2025 erstellt wurde, hat beispielsweise den Namen hpc-rocky-linux-8-v20250721.

Wenn Sie automatische Updates für Ihre H4D-Instanzen deaktivieren, sollten Sie regelmäßig den Befehl dnf update auf der Instanz ausführen, um den Cloud RDMA-Treiber auf dem neuesten Stand zu halten.

Intel MPI Library

Google empfiehlt, die MPI-Bibliothek (Message Passing Interface) mit dem google_install_intelmpi-Script zu installieren, bevor Sie MPI-Jobs aufGoogle Cloudausführen. Weitere Informationen finden Sie unter Intel MPI 2021 verwenden.

Vorinstallierte RPMs

Im HPC-VM-Image sind die folgenden RPM-Pakete vorinstalliert:

  • daos-client
  • gcc-gfortran
  • gcc-toolset-12
  • Lmod
  • dkms
  • htop
  • hwloc
  • hwloc-devel
  • infiniband-diags
  • kernel-devel
  • kmod-idpf-irdma
  • libfabric
  • librdmacm-utils
  • libibverbs-utils
  • libXt
  • ltrace
  • nfs-utils
  • numactl
  • numactl-devel
  • papi
  • pciutils
  • pdsh
  • perf
  • perftest
  • rdma-core
  • redhat-lsb-core (nur HPC-VM Rocky 8)
  • redhat-lsb-cxx (nur HPC-VM Rocky 8)
  • rsh
  • screen
  • strace
  • wget
  • zsh
  • Paketgruppe „Entwicklungstools“

Kurzanleitungen

In diesen Anleitungen wird beschrieben, wie Sie eine für HPC optimierte VM-Instanz einrichten. In den Anleitungen wird Folgendes beschrieben:

  • HPC-VM-Instanz erstellen (ohne Cloud RDMA zu konfigurieren)
  • Richtlinie für kompakte Platzierung beim Erstellen von HPC-VM-Instanzen angeben
  • HPC-VM-Instanz erstellen, die Cloud RDMA verwendet

Sie können einer vorhandenen HPC-VM-Instanz kein Cloud RDMA hinzufügen. Folgen Sie daher beim Erstellen der Instanz der entsprechenden Anleitung.

Hinweis

  1. Damit Sie die Google Cloud CLI für diese Kurzanleitung verwenden können, müssen Sie zuerst die Google Cloud CLI installieren und initialisieren:
  2. Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl ein Projekt vonGoogle Cloud aus oder erstellen Sie eines.

Erstellen Sie eine HPC-VM-Instanz.

Wir empfehlen dringend, das HPC-VM-Image für Ihre HPC-Arbeitslasten mit den folgenden Maschinenserien zu verwenden:

Maschinenserie HPC-VM mit Rocky Linux 8 HPC-VM – Rocky Linux 9
H4D Ja Nein
H3 Ja Ja
C2D Ja Ja
C2 Ja Ja

Die Maschinentypen in diesen Serien haben eine feste Zuordnung von virtuellen zu physischen Kernen und stellen dem Gastbetriebssystem die NUMA-Zellarchitektur bereit. Beide sind entscheidend für die Leistung eng gekoppelter HPC-Anwendungen.

Wenn Sie mehrere miteinander verbundene HPC-VM-Instanzen erstellen, folgen Sie der Anleitung unter HPC-VM-Instanzen mit kompakten Platzierungsrichtlinien erstellen, um eine niedrige Netzwerklatenz zu erzielen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.

    Zu „Instanz erstellen“ wechseln

    Wenn Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken auf Weiter. Die Seite Instanz erstellen wird angezeigt und enthält den Bereich Maschinenkonfiguration.

  2. Führen Sie im Bereich Maschinenkonfiguration die folgenden Schritte aus:

    1. Geben Sie im Feld Name einen Namen für die Compute-Instanz an. Weitere Informationen finden Sie unter Namenskonvention für Ressourcen.
    2. Optional: Wählen Sie eine Region und eine Zone für die Instanz aus.

      Die Standardauswahl für Zone ist Beliebig. Wenn Sie diese Standardauswahl nicht ändern, wählt Google automatisch eine Zone für Sie aus, die auf dem Maschinentyp und der Verfügbarkeit basiert.

    3. Klicken Sie auf den Tab Computing-optimiert. In der Google Cloud Console werden dann die Maschinenreihen angezeigt, die für die ausgewählte Maschinenfamilie verfügbar sind.

    4. Wählen Sie in der Spalte Serie die Maschinenserie für Ihre VM aus, z. B. C2.

    5. Wählen Sie im Abschnitt Maschinentyp den Maschinentyp für Ihre VM aus, z. B. c2-standard-60.

  3. Klicken Sie im Navigationsmenü auf der linken Seite auf Betriebssystem und Speicher. In

  4. Konfigurieren Sie im Bereich Betriebssystem und Speicher das Bootlaufwerk mithilfe der folgenden Schritte:

    1. Klicken Sie auf Ändern. Der Bereich Bootlaufwerk wird angezeigt und enthält den Tab Öffentliche Images.
    2. Wählen Sie in der Liste Betriebssystem die Option HPC-VM-Image aus.
    3. Wählen Sie in der Liste Version die Version des Betriebssystems aus.
    4. Optional: Wählen Sie in der Liste Bootlaufwerktyp den Typ des Bootlaufwerks aus.
    5. Optional: Geben Sie im Feld Größe (GB) die Größe des Bootlaufwerks an.
    6. Optional: Geben Sie für Hyperdisk Balanced-Bootlaufwerke Werte für die Felder Bereitgestellte IOPS und Bereitgestellter Durchsatz an.
    7. Optional: Erweitern Sie für erweiterte Konfigurationsoptionen den Abschnitt Erweiterte Konfigurationen einblenden.
    8. Klicken Sie auf Auswählen, um die Bootlaufwerksoptionen zu bestätigen und zum Bereich Betriebssystem und Speicher zurückzukehren.
  5. Klicken Sie im Navigationsmenü auf Netzwerk. Führen Sie im angezeigten Bereich Netzwerk die folgenden Schritte aus:

    1. Rufen Sie den Abschnitt Firewall auf.
    2. Wählen Sie dann HTTP-Traffic zulassen oder HTTPS-Traffic zulassen aus, damit die VM HTTP- oder HTTPS-Traffic empfangen kann.

      In der Compute Engine wird der VM ein Netzwerk-Tag hinzugefügt und es werden entsprechende Firewallregeln für eingehenden Traffic erstellt, die den gesamten eingehenden Traffic über tcp:80 (HTTP) oder tcp:443 (HTTPS) zulassen. Das Netzwerk-Tag ordnet die Firewallregel der VM zu. Weitere Informationen finden Sie unter Übersicht zu Firewallregeln in der Dokumentation zur Cloud Next Generation Firewall.

  6. Wenn Sie ein Betriebssystem-Image ausgewählt haben, das Shielded VM-Funktionen unterstützt, können Sie optional die Shielded VM-Einstellungen ändern.

    Klicken Sie dazu im Navigationsmenü auf Sicherheit. Im angezeigten Bereich Sicherheit können Sie Folgendes konfigurieren:

  7. Optional: Geben Sie weitere Konfigurationsoptionen an. Weitere Informationen finden Sie unter Konfigurationsoptionen beim Erstellen von Instanzen.

  8. Optional: Wenn Sie die Compute-Instanz mit reservierten Ressourcen erstellen möchten, klicken Sie im Navigationsmenü auf Erweitert. Wählen Sie im Bereich Reservierungen die Option Automatische Auswahl verwenden aus. Damit die Reservierung genutzt werden kann, müssen die Attribute der Compute-Instanz mit den in der Reservierung angegebenen Attributen übereinstimmen.

  9. Klicken Sie zum Erstellen und Starten der HPC-VM-Instanz auf Erstellen.

gcloud

Erstellen Sie eine HPC-VM-Instanz mit dem Befehl instances create.

Verwenden Sie einen Befehl wie den folgenden, um eine HPC-VM-Instanz ohne Platzierungsrichtlinie zu erstellen:

gcloud compute instances create INSTANCE_NAME \
        --zone=ZONE \
        --image-family=IMAGE_FAMILY \
        --image-project=cloud-hpc-image-public \
        --maintenance-policy=TERMINATE \
        --machine-type=MACHINE_TYPE

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: Ein Name für die HPC-VM-Instanz.
  • ZONE: Die Zone, in der die Instanz erstellt werden soll.
  • IMAGE_FAMILY: Die Image-Familie des Images, das beim Erstellen der VM-Instanzen verwendet werden soll. Verwenden Sie hpc-rocky-linux-8 für die neueste Image-Version, die auf Rocky Linux 8 basiert, oder hpc-rocky-linux-9 für die neueste Image-Version, die auf Rocky Linux 9 basiert.
  • MACHINE_TYPE: der Maschinentyp, der beim Erstellen der VM-Instanz verwendet werden soll.

Nach einiger Zeit ist das Erstellen der VM-Instanz abgeschlossen. Führen Sie den folgenden Befehl aus, um die Instanzkonfiguration zu prüfen und ihren Status zu sehen:

gcloud compute instances describe INSTANCE_NAME

REST

Erstellen Sie mit der Methode instances.insert eine Compute-Instanz, die ein HPC-VM-Betriebssystem-Image verwendet:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
   "machineType":"zones/ZONE/machineTypes/MACHINE_TYPE",
   "name":"VM_NAME",
   "disks":[
      {
         "initializeParams":{
            "sourceImage":"projects/cloud-hpc-image-public/global/images/IMAGE"
         },
         "boot":true
      }
   ],
   "networkInterfaces":[
      {
         "network":"global/networks/NETWORK_NAME"
      }
   ]
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: ID des Projekts, in dem die Compute-Instanz erstellt werden soll.
  • ZONE: Zone, in der die Compute-Instanz erstellt werden soll.
  • MACHINE_TYPE: vordefinierter oder benutzerdefinierter Maschinentyp für die neue Compute-Instanz
  • INSTANCE_NAME: Name der neuen Compute-Instanz
  • IMAGE: Wählen Sie eine der folgenden Optionen aus:
    • IMAGE: eine bestimmte Version eines HPC-VM-Images, z. B. hpc-rocky-linux-9-v20260326
    • IMAGE_FAMILY: Die Image-Familie, entweder hpc-rocky-linux-9 oder hpc-rocky-linux-8. Bei dieser Methode wird die Compute-Instanz mit dem neuesten nicht verworfenen HPC-VM-Image in der angegebenen Familie erstellt.
  • NETWORK_NAME: Das VPC-Netzwerk, das Sie für die Compute-Instanz verwenden möchten. Sie können default angeben, um Ihr Standardnetzwerk zu verwenden.

HPC-VM-Instanzen mit kompakten Platzierungsrichtlinien erstellen

Sie können die Latenz zwischen Compute-Instanzen reduzieren, indem Sie eine Richtlinie für kompakte Platzierung erstellen. Mit einer Richtlinie für kompakte Platzierung wird sichergestellt, dass sich Instanzen in derselben Verfügbarkeitszone nah beieinander befinden.

Wenn Sie mehr Compute-Instanzen benötigen, als in eine einzelne Richtlinie für kompakte Platzierung passen, teilen Sie Ihre Instanzen in mehrere Platzierungsrichtlinien auf. Verwenden Sie die Mindestanzahl von Platzierungsrichtlinien, die für alle Ihre Instanzen ausreicht.

So erstellen Sie HPC-VM-Instanzen, die eine Richtlinie für kompakte Platzierung angeben:

  1. Kompakte Platzierungsrichtlinie erstellen

  2. Führen Sie einen der folgenden Schritte aus:

HPC-VM-Instanz erstellen, die Cloud RDMA verwendet

Wenn Sie eine HPC-VM-Instanz erstellen möchten, die Cloud RDMA verwendet, müssen Sie zuerst mindestens ein reguläres VPC-Netzwerk (Virtual Private Cloud) und ein Falcon-VPC-Netzwerk erstellen. Das Falcon-VPC-Netzwerk verwendet ein RDMA-Netzwerkprofil, das RDMA-Traffic zwischen Compute-Instanzen ermöglicht. Dieses Netzwerk ist vom regulären VPC-Netzwerk getrennt, über das Nicht-RDMA-Traffic an andereGoogle Cloud -Dienste oder das Internet weitergeleitet wird.

So erstellen Sie eine HPC-VM-Instanz, die Cloud RDMA verwendet:

  1. Mindestens zwei VPC-Netzwerke identifizieren oder erstellen:

    • Ein reguläres VPC-Netzwerk für den Traffic, der über die gVNIC-Netzwerkschnittstelle geleitet wird
    • Ein Falcon-VPC-Netzwerk für den RDMA-Netzwerkverkehr
  2. Erstellen Sie eine HPC-VM-Instanz.

    1. Verwenden Sie für das Quell-Image ein HPC-VM-Image. Dieses Image enthält die für Cloud RDMA erforderlichen Treiber.
    2. Konfigurieren Sie während der Instanzerstellung mindestens zwei Netzwerkschnittstellen: eine mit dem gVNIC-Treiber und eine mit dem IRDMA-Treiber.

      Eine ausführlichere Erklärung finden Sie unter Instanz erstellen, die Cloud RDMA verwendet.

  3. Wenn Sie MPI-Anwendungen auf den HPC-VM-Instanzen ausführen möchten, die Cloud RDMA verwenden, folgen Sie der MPI-Konfigurationsanleitung unter MPI-Anwendungen auf H4D-VMs mit Cloud RDMA einrichten und skalieren.

Auf die HPC-VM-Instanz zugreifen

Nachdem Sie die HPC-VM-Instanz erstellt haben, wird sie automatisch gestartet. So greifen Sie auf die Instanz zu:

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. Klicken Sie auf den Namen Ihrer Compute-Instanz.

  3. Klicken Sie im Abschnitt Remotezugriff auf die erste Drop-down-Liste und wählen Sie aus, wie Sie auf die Instanz zugreifen möchten.

Compute Engine leitet Ihre SSH-Schlüssel weiter und erstellt Ihren Nutzer. Weitere Informationen finden Sie unter Mit Linux-VMs verbinden.

gcloud

Verwenden Sie den Befehl gcloud compute ssh, um mithilfe von SSH auf die Instanz zuzugreifen:

gcloud compute ssh INSTANCE_NAME --zone ZONE

Compute Engine leitet Ihre SSH-Schlüssel weiter und erstellt Ihren Nutzer. Weitere Informationen finden Sie unter Verbindung zu Linux-VMs herstellen.

Bereinigen

Damit Ihrem Google Cloud -Konto die in diesen Kurzanleitungen verwendeten Ressourcen nicht in Rechnung gestellt werden, müssen Sie alle von Ihnen erstellten HPC-VM-Instanzen und alle angehängten Ressourcen löschen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. Wählen Sie die Instanzen aus, die Sie löschen möchten.

  3. Klicken Sie auf  Löschen.

  4. Gehen Sie im Dialogfeld so vor:

    1. Optional: Wenn Sie die Instanzen löschen möchten, ohne sie ordnungsgemäß herunterzufahren, oder ein laufendes ordnungsgemäßes Herunterfahren beenden möchten, wählen Sie das Kästchen Ordnungsgemäßes Herunterfahren überspringen (falls zutreffend) aus.

    2. Klicken Sie zur Bestätigung auf Löschen.

  5. Wenn Sie die von den gelöschten Instanzen verwendeten Laufwerke löschen möchten, rufen Sie die Seite Laufwerke auf und führen Sie die folgenden Schritte aus:

    Zur Seite „Laufwerke“

    1. Wählen Sie die Laufwerke aus, die Sie löschen möchten. Die ausgewählten Festplatten dürfen in der Spalte Wird verwendet von keinen Wert haben.

    2. Klicken Sie auf  Löschen.

    3. Klicken Sie zur Bestätigung auf Löschen.

gcloud

Wenn Sie eine oder mehrere Instanzen in derselben Zone löschen möchten, verwenden Sie den Befehl gcloud compute instances delete. Wenn Sie das Löschen der Laufwerke erzwingen möchten, die an eine oder mehrere Instanzen angehängt sind, fügen Sie das Flag --delete-disks ein:

gcloud compute instances delete INSTANCE_NAMES \
        --delete-disks=DELETE_DISK_TYPE \
        --zone=ZONE

Ersetzen Sie Folgendes:

  • INSTANCE_NAMES: Eine durch Leerzeichen getrennte Liste von Instanznamen, z. B. instance-01 instance-02 instance-03.

  • ZONE: die Zone, in der sich die Instanzen befinden.

  • DELETE_DISK_TYPE: Geben Sie einen der folgenden Werte an:

    • So löschen Sie angehängten nichtflüchtigen Speicher mit und ohne Startfunktion: all
    • So löschen Sie nur angehängten nichtflüchtigen Speicher für den Bootvorgang: boot
    • So löschen Sie nur nichtflüchtigen Speicher ohne Startfunktion: data

REST

  1. Senden Sie zum Löschen einer Instanz eine DELETE-Anfrage an die Methode instances.delete:

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts, in dem sich die Instanz befindet.
    • ZONE ist die Zone der Instanz.
    • INSTANCE_NAME: der Name der Instanz.
  2. Wenn Sie ein von der Instanz verwendetes Laufwerk löschen möchten, senden Sie eine DELETE-Anfrage an die disks.delete-Methode:

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts, in dem sich das Laufwerk befindet.
    • ZONE ist die Zone, in der sich das Laufwerk befindet.
    • DISK_NAME: der Name des Laufwerks.
  3. Wiederholen Sie die vorherigen Schritte für zusätzliche Instanzen oder Laufwerke.

HPC-VM-Instanz gemäß Best Practices konfigurieren

Wir empfehlen die folgenden Best Practices, um eine bessere und vorhersagbare Leistung Ihrer HPC-VM-Instanz zu erzielen.

Gleichzeitiges Multithreading deaktivieren

Das HPC-VM-Image ermöglicht standardmäßig das gleichzeitige Multithreading (SMT), auch als Hyper-Threading auf Intel-Prozessoren bezeichnet. Die Deaktivierung von SMT kann die Leistung vorhersehbarer machen und die Jobzeiten verringern.

Mit den folgenden Methoden können Sie SMT deaktivieren:

  • Wenn Sie SMT beim Erstellen einer neuen HPC-VM-Instanz deaktivieren möchten, führen Sie die Schritte zum Erstellen einer HPC-VM-Instanz aus und fügen Sie das Flag
    --threads-per-core=1 hinzu.

  • Stellen Sie eine Verbindung zur Instanz her und führen Sie den folgenden Befehl vom Gastbetriebssystem aus, um SMT auf einer vorhandenen HPC-VM-Instanz zu deaktivieren:

    sudo google_mpi_tuning --nosmt
    

Weitere Informationen finden Sie unter Anzahl der Threads pro Kern festlegen.

gVNIC als Netzwerkschnittstellentyp für C2- und C2D-Instanzen konfigurieren

Das HPC-VM-Image unterstützt sowohl Virtio-net als auch Google Virtual NIC (gVNIC) als virtuelle Netzwerkschnittstellen. Die Verwendung von gVNIC anstelle von Virtio-net kann die Skalierbarkeit von MPI-Anwendungen verbessern, da sie eine bessere Kommunikationsleistung und einen höheren Durchsatz bietet. Darüber hinaus ist gVNIC eine Voraussetzung für die Netzwerkleistung pro VM-Tier_1, die eine höhere Bandbreite bietet und einen höheren Durchsatz ermöglicht.

Wenn Sie eine neue C2- oder C2D-Instanz erstellen, wird standardmäßig Virtio-net für die virtuelle Netzwerkschnittstelle verwendet. Wenn Sie gVNIC verwenden möchten, folgen Sie den Schritten zum Erstellen einer HPC-VM-Instanz und führen Sie einen der folgenden Schritte aus:

Console

Wenn Sie gVNIC als Netzwerkschnittstelle festlegen möchten, klicken Sie beim Erstellen der Instanz im Navigationsmenü auf Netzwerk. Führen Sie im angezeigten Bereich „Netzwerk“ die folgenden Schritte aus:

  1. Gehen Sie zum Abschnitt Netzwerkschnittstellen.
  2. Wählen Sie für Netzwerkkarte die Option gVNIC aus.

gcloud

Fügen Sie das Flag --network-interface=nic-type=GVNIC in den gcloud compute instances create-Befehl ein.

REST

Fügen Sie in der POST-Anfrage an die Methode instances.insert "nicType": "GVNIC" in das Attribut networkInterfaces ein.

Das HPC-VM-Image enthält den gVNIC-Treiber als Dynamic Kernel Module Support (DKMS). Weitere Informationen finden Sie unter Google Virtual NIC verwenden.

Risikominderungen von Meltdown und Spectre deaktivieren

Das HPC-VM-Image aktiviert die Meltdown- und Spectre-Risikominderungen standardmäßig. In einigen Fällen können diese Risikominderungen zu arbeitslastspezifischen Leistungseinbußen führen. Um diese Abschwächungen zu deaktivieren und die damit verbundenen Sicherheitsrisiken in Kauf zu nehmen, gehen Sie so vor:

  1. Führen Sie auf Ihrer HPC-Instanz den folgenden Befehl aus:

    sudo google_mpi_tuning --nomitigation
    
  2. Starten Sie die Instanz neu.

Netzwerkleistung verbessern

Richten Sie zur Verbesserung der Netzwerkleistung Ihrer Instanz eine oder mehrere der folgenden Konfigurationen ein:

  • Konfigurieren Sie eine höhere Bandbreite. Verwenden Sie zum Konfigurieren der Tier_1-Netzwerkfunktionen für C2- oder C2D-Compute-Instanzen den Befehl gcloud compute instances create, um die Instanz zu erstellen. Geben Sie das Flag --network-performance-configs an, wenn Sie die Instanz erstellen. Weitere Informationen finden Sie unter VMs und Container erstellen, die Tier_1-Netzwerke verwenden.

  • Jumbo Frames verwenden Zur Minimierung des Verarbeitungsaufwands für Netzwerkpakete empfehlen wir die Verwendung einer größeren Paketgröße. Sie müssen größere Paketgrößen für die Besonderheiten Ihrer Anwendung validieren. Informationen zur Verwendung von Jumbo Frames und Paketgrößen finden Sie in der Anleitung für die maximale Übertragungseinheit.

  • Erhöhen Sie die TCP-Speicherlimits. Eine höhere Bandbreite erfordert einen größeren TCP-Arbeitsspeicher. Folgen Sie der Anleitung, um die Einstellungen für tcp_*mem zu erhöhen.

  • Netzwerklatenzprofil verwenden Prüfen Sie die Latenz der Anwendung und aktivieren Sie Busy Polling, um die Latenz im Netzwerkempfangspfad zu reduzieren. Passen Sie die Einstellungen für net.core.busy_poll und net.core.busy_read in /etc/sysctl.conf an oder verwenden Sie tuned-adm.

Intel MPI 2021 verwenden

Google empfiehlt zum Ausführen von MPI-Jobs aufGoogle Clouddie Intel MPI 2021-Bibliothek.

MPI-Implementierungen haben viele interne Konfigurationsparameter, die sich auf die Kommunikationsleistung auswirken können. Diese Parameter sind besonders für die MPI Collective-Kommunikation relevant, für die Sie Algorithmen und Konfigurationsparameter angeben können, die in der Google Cloud-Umgebung sehr unterschiedliche Leistung erzielen können.

Das HPC-VM-Image enthält das Dienstprogramm google-hpc-compute, mit dem die empfohlenen MPI-Bibliotheken installiert und Google Cloud -gebundene Libfabric-Anbieter über den TCP-Transport verwendet werden.

Beschränkungen

Die Vorteile der Abstimmung sind von Anwendung zu Anwendung unterschiedlich. In manchen Fällen wirkt sich eine bestimmte Abstimmung möglicherweise negativ auf die Leistung aus. Prüfen Sie Ihre Anwendungen, um die optimale oder kostengünstige Konfiguration zu finden.

Dienstprogramm google-hpc-compute für Unterstützung von Intel MPI 2021 verwenden

Das Skript google_install_intelmpi ist das MPI-bezogene Tool im Dienstprogramm google-hpc-compute. Es unterstützt die Installation und Konfiguration von Intel MPI.

Das Dienstprogramm google-hpc-compute ist im HPC-VM-Image enthalten.

Intel MPI 2021 installieren

Wenn Sie die Intel MPI-Bibliothek beim Erstellen einer neuen HPC-VM-Instanz installieren möchten, folgen Sie der Anleitung zum Erstellen einer HPC-VM-Instanz und fügen Sie beim Erstellen der Compute-Instanz Folgendes hinzu:

--metadata=google_install_intelmpi="--impi_2021"

Führen Sie den folgenden Befehl auf dieser Compute-Instanz aus, um die Bibliothek auf einer vorhandenen HPC-VM-Instanz zu installieren:

sudo google_install_intelmpi --impi_2021 --install_dir=PATH_INSTALL_MPI

Der Standardspeicherort für install_dir ist auf /opt/intel festgelegt.

Intel MPI-Bibliothek und kollektive MPI-Abstimmungen

Das HPC-VM-Image enthält generische Optimierungen, mit denen Hyper-Threading deaktiviert, der Arbeitsspeicher optimiert, Systemressourcenlimits geändert und benutzerdefinierte optimierte Profile angewendet werden. Das Skript google_hpc_firstrun ist so konzipiert, dass es beim ersten Start einer HPC-VM-Instanz automatisch ausgeführt wird.

Als Teil des Dienstprogramms google-hpc-firstrun wird das Skript mpi-tuning ausgeführt, um die Leistung und Latenz der HPC-VM-Instanz zu verbessern. Sie können das mpi-tuning.sh-Skript ausführen, um Anpassungen auf einzelne Compute-Instanzen anzuwenden.

Usage:
  Verify tuning steps: $ mpi_tuning OPTIONS --dryrun
  Apply tunings: $ mpi_tuning OPTIONS

Options:
  --hpcprofile       Install and apply google-hpc-compute tuned profile
                     Also applies: --tcpmem, --limits
  --hpcthroughput    Install and apply google-hpc-compute-throughput profile
                     Also applies: --tcpmem, --limits
  --tcpmem           Increase memory for TCP
  --limits           Change the system ulimits
  --nosmt            Disable simultaneous multi threading
  --nofirewalld      Disable firewalld
  --noselinux        Disable SE Linux (reboot required)
  --nomitigation     Disable CPU vulnerabilities mitigations (reboot required)
  --reboot           Reboot system after tunings if required
  --dryrun           Do not execute commands
  --verbose          Print verbose messages
  --help             Show help message

Benutzerdefiniertes Image mit dem HPC-VM-Image erstellen

Um die Best Practices im großen Maßstab zu implementieren, erstellen Sie ein benutzerdefiniertes Betriebssystem-Image, das Sie mit Ihren HPC-VM-Instanzen verwenden können. Führen Sie die folgenden Aufgaben aus, um ein benutzerdefiniertes Image zu erstellen, das Sie beim Erstellen von HPC-VM-Instanzen verwenden können:

  1. Compute-Instanz erstellen, die das HPC-VM-Image verwendet

  2. Compute-Instanz mit MPI-Abstimmungen anpassen.

  3. Erstellen Sie ein benutzerdefiniertes Image mit dem Bootlaufwerk Ihres HPC-VM-Images als Quelllaufwerk. Verwenden Sie dazu die Google Cloud -Konsole oder die Google Cloud CLI.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Images auf.

    Zur Seite „Images“

  2. Klicken Sie auf Image erstellen.

  3. Geben Sie unter Name einen Namen für Ihr Image an.

  4. Wählen Sie unter Quelllaufwerk den Namen des Bootlaufwerks auf Ihrer HPC-VM-Instanz aus.

  5. Legen Sie weitere Attribute für das Image fest.

  6. Klicken Sie auf Erstellen.

gcloud

Erstellen Sie das benutzerdefinierte Image mit dem Befehl images create.

gcloud compute images create IMAGE_NAME \
         --source-disk=INSTANCE_NAME \
         --source-disk-zone=ZONE \
         --family=IMAGE_FAMILY \
         --storage-location=LOCATION

Ersetzen Sie Folgendes:

  • IMAGE_NAME ist der Name für das benutzerdefinierte Image.
  • INSTANCE_NAME ist der Name Ihrer HPC-VM-Instanz.
  • ZONE ist die Zone, in der sich die HPC-VM-Instanz befindet.
  • IMAGE_FAMILY: optional. Die Image-Familie, zu der das neue Image gehört.
  • LOCATION: Optional. Region, in der das benutzerdefinierte Image gespeichert werden soll. Der Standardspeicherort ist der multiregionale Speicherort, der dem Speicherort des Quelllaufwerks am nächsten ist.

Preise

Das HPC-VM-Image ist ohne zusätzliche Kosten verfügbar. Da das HPC-VM-Image auf Compute Engine ausgeführt wird, können Kosten für Compute Engine-Ressourcen wie vCPUs, Laufwerke und Speicher anfallen.

Weitere Informationen finden Sie unter Preise für Compute Engine.

Nächste Schritte