In diesem Dokument werden die Konfigurationen in AI Hypercomputer beschrieben, die Sie berücksichtigen sollten, bevor Sie Compute Engine-Instanzen und -Cluster erstellen. Wenn Sie die verfügbaren Konfigurationen prüfen, können Sie die Leistung Ihrer Arbeitslasten optimieren und Ausfallzeiten und Leistungsprobleme minimieren.
Konfigurationsfaktoren für die Erstellung von Compute-Instanzen und -Clustern
Bevor Sie Compute-Instanzen und -Cluster zum Ausführen Ihrer Arbeitslasten erstellen, sollten Sie überlegen, welche Konfiguration Sie verwenden möchten:
Wenn Sie das reservierungsgebundene Bereitstellungsmodell verwenden, müssen Sie auch die folgenden Faktoren berücksichtigen:
Bereitstellungsmodelle
Reservierungsgebunden: Sie können Ressourcen zu einem ermäßigten Preis für ein zukünftiges Datum und eine zukünftige Dauer reservieren. Zu Beginn des Reservierungszeitraums können Sie die reservierten Ressourcen verwenden, um Instanzen oder Cluster zu erstellen. Sie haben während des Reservierungszeitraums exklusiven Zugriff auf die reservierten Ressourcen.
Flex-Start: Sie können ermäßigte Ressourcen für bis zu sieben Tage anfordern. Compute Engine versucht nach besten Kräften, die Bereitstellung der angeforderten Ressourcen zu planen, sobald sie verfügbar sind. Sie haben während des angeforderten Zeitraums exklusiven Zugriff auf die erhaltenen Ressourcen.
Spot: Je nach Verfügbarkeit können Sie sofort stark ermäßigte Ressourcen erhalten. Compute Engine kann Instanzen jedoch jederzeit beenden oder löschen, um Kapazitäten zurückzugewinnen.
Reservierungsgebundenes Bereitstellungsmodell
Das reservierungsgebundene Bereitstellungsmodell verknüpft die von Ihnen erstellten Compute-Instanzen mit der zuvor reservierten Kapazität. Wenn Sie Kapazität reservieren, erstellt Compute Engine eine leere Reservierung. Dann geschieht Folgendes zum Startzeitpunkt der Reservierung:
Compute Engine fügt der Reservierung die von Ihnen reservierte Anzahl von Instanzen hinzu. Sie haben bis zum Ende der Reservierung exklusiven Zugriff auf die reservierte Kapazität.
Google Cloud berechnet Ihnen die reservierte Kapazität bis zum Ende des Reservierungszeitraums, unabhängig davon, ob Sie die Kapazität nutzen oder nicht.
Sie können die reservierten Ressourcen dann ohne zusätzliche Kosten verwenden, um Instanzen zu erstellen. Sie zahlen nur für Ressourcen, die nicht in der Reservierung enthalten sind, z. B. Festplatten oder IP-Adressen.
So geben Sie das reservierungsgebundene Bereitstellungsmodell an, wenn Sie Compute-Instanzen oder verwaltete Instanzgruppen (MIGs) erstellen:
Wählen Sie in der Google Cloud console in der Liste Bereitstellungsmodell die Option Reservierungsgebunden aus.
Fügen Sie in der Google Cloud CLI das Flag
--provisioning-model=RESERVATION_BOUNDin den Befehl ein.Fügen Sie in der Compute Engine API das
"provisioningModel": "RESERVATION_BOUND"Feld in den Anfragetext ein.
Weitere Informationen zum Festlegen dieser Parameter beim Erstellen von Instanzen oder MIGs nach dem Reservieren von Kapazität finden Sie unter Compute-Instanzen und -Cluster erstellen – Übersicht. Wenn Sie Cluster Toolkit zum Bereitstellen Ihrer Cluster verwenden, wird das Bereitstellungsmodell vom Cluster-Blueprint festgelegt.
Flex-Start-Bereitstellungsmodell
Mit dem Flex-Start-Bereitstellungsmodell können Sie eigenständige Flex-Start-VMs erstellen oder Flex-Start-VMs zu einer verwalteten Instanzgruppe (MIG) hinzufügen, wenn die angeforderte Kapazität verfügbar ist. Wenn Sie einer MIG Flex-Start-VMs mithilfe von Anfragen zur Größenanpassung hinzufügen, erstellt die MIG die Instanzen gleichzeitig. So vermeiden Sie unnötige Kosten für Teilkapazitäten, die Compute Engine möglicherweise bereitstellt, während Sie auf die volle Kapazität warten, die zum Starten Ihrer Arbeitslast erforderlich ist. Das Flex-Start-Bereitstellungsmodell stellt Ressourcen aus einem sicheren Kapazitätspool bereit, wodurch sich die Chancen erhöhen, stark nachgefragte Ressourcen wie GPUs zu erhalten.
So geben Sie das Flex-Start-Bereitstellungsmodell an, wenn Sie eine eigenständige Instanz oder eine Instanzvorlage für eine MIG erstellen:
Wählen Sie in der Google Cloud console in der Liste Bereitstellungsmodell die Option Flex-Start aus.
Fügen Sie in der gcloud CLI das Flag
--provisioning-model=FLEX_STARTin den Befehl ein.Fügen Sie in der Compute Engine API das
"provisioningModel": "FLEX_START"Feld in den Anfragetext ein.
Weitere Informationen zum Erstellen von Instanzen oder Clustern, die das Flex-Start-Bereitstellungsmodell verwenden, finden Sie in den folgenden Dokumenten:
Slurm-Cluster erstellen:
GKE-Cluster erstellen:
Spot-Bereitstellungsmodell
Mit dem Spot-Bereitstellungsmodell können Sie je nach Verfügbarkeit stark ermäßigte Compute-Instanzen erstellen. Compute Engine kann die erstellten Instanzen jedoch jederzeit beenden oder löschen, um Kapazitäten zurückzugewinnen. Dieser Vorgang wird als Vorabnutzung bezeichnet.
So geben Sie das Spot-Bereitstellungsmodell an, wenn Sie Instanzen oder MIGs erstellen:
Wählen Sie in der Google Cloud console in der Liste Bereitstellungsmodell die Option Spot aus.
Fügen Sie in der gcloud CLI das Flag
--provisioning-model=SPOTin den Befehl ein.Fügen Sie in der Compute Engine API das
"provisioningModel": "SPOT"Feld in den Anfragetext ein.
Weitere Informationen zum Festlegen dieser Parameter beim Erstellen von Instanzen oder MIGs finden Sie unter Compute-Instanzen und -Cluster erstellen – Übersicht.
Tools zur Clusterbereitstellung
Cluster Toolkit ist ein Open-Source- Bereitstellungstool, das für die Erstellung von GPU-beschleunigten Clustern empfohlen wird. Mit Cluster Toolkit können sowohl Google Kubernetes Engine- (GKE-) als auch Slurm-Cluster bereitgestellt werden.
Alternativ können Sie Ihre Gruppen von Compute-Instanzen mit einer der folgenden Methoden bereitstellen und dann bei Bedarf Ihren eigenen Arbeitslastplaner einbinden:
Bereitstellungstypen für Reservierungsblöcke
Wenn Sie das reservierungsgebundene Bereitstellungsmodell verwenden, um A4X Max-, A4X-, A4-, A3 Ultra-, A3 Mega- und A3 High-Compute-Instanzen (8 GPUs) oder -Cluster zu erstellen, werden die von Ihnen erhaltenen Maschinen automatisch in Blöcken mit dicht zugewiesenen Hosts bereitgestellt. Diese Bereitstellung bietet folgende Vorteile:
Nicht blockierendes Netzwerk für eine konsistente Instanzverbindung mit hoher Bandbreite und niedriger Latenz mithilfe des dynamischen Machine Learning-Netzwerk-Fabrics (ML) von Google.
Zugriff auf die Netzwerktopologie, die eine hierarchische Ansicht der relativen Nähe zwischen Instanzen bietet. Diese Funktion ist nützlich für erweiterte Anwendungsfälle der Jobplanung.
Feingranulare, topologiesensitive Platzierung bei Verwendung von Orchestratoren.
Feingranulare Nutzerkontrolle über Wartungspläne, um die Jobplanung und Verfügbarkeit zu maximieren und Ausfallzeiten zu minimieren.
Betriebsmodus der Reservierung
Wenn Sie das reservierungsgebundene Bereitstellungsmodell verwenden, bestimmt der von Ihnen reservierte Maschinentyp den Betriebsmodus der Reservierung für Ihre reservierte Kapazität. Jeder Modus definiert, wie auf Hostfehler oder fehlerhafte Hostberichte reagiert werden soll, sowie den Grad der Sichtbarkeit und Kontrolle über die Infrastruktur der Reservierung.
Jeder Betriebsmodus der Reservierung definiert Folgendes:
Wer die Wiederherstellung verwaltet: Sie oder Google Cloud.
Welche Kapazität für die Wiederherstellung verwendet wird: nur Ihre reservierte Kapazität oder Kapazität innerhalb oder außerhalb Ihrer Reservierungen.
Grad der Platzierungskontrolle: ob Sie die Wartung vor der geplanten Zeit für bestimmte Reservierungsunterblöcke ansehen und starten können, um eine feingranulare Kontrolle zu erhalten.
Wenn Sie Kapazität reservieren, um Compute-Instanzen oder -Cluster zu erstellen, müssen Sie zwischen einem der folgenden Betriebsmodi der Reservierung wählen: Verwalteter Modus oder Modus für die gesamte Kapazität.
Verwalteter Modus
Im verwalteten Modus Google Cloud verwaltet automatisch die Wartung und Wiederherstellung Ihrer Compute-Instanzen nach Hostfehlern oder fehlerhaften Host Berichten. Dieser Ansatz ist ideal, wenn Ihre Arbeitslast eine hohe Stabilität erfordert und Sie einen automatisierten Prozess bevorzugen, um Ausfallzeiten zu minimieren.
Der verwaltete Modus hat folgende Funktionen:
Nur reservierte Kapazität für die Wiederherstellung verwenden: Compute Engine verwendet nur Ihre reservierte Kapazität, um Instanzen neu zu starten. Wenn in Ihren Reservierungen keine Kapazität verfügbar ist, startet Compute Engine Instanzen erst neu, nachdem Sie mehr Kapazität erhalten haben.
Automatischer Neustart von Instanzen: Google Cloud übernimmt den gesamten Wiederherstellungsprozess für eine Instanz. Wenn eine Hostwartung erforderlich ist, migriert Compute Engine Ihre Instanzen automatisch auf andere verfügbare Maschinen in Ihrer Reservierung und startet die Instanzen neu.
Blockverwaltung und Sichtbarkeit: Sie können die Topologie, den Zustand und den Wartungsstatus einzelner Reservierungen und Reservierungsblöcke ansehen. Sie können auch Wartungsbenachrichtigungen erhalten und optional die Wartung vor der geplanten Wartungszeit für diese Ressourcen starten.
Mögliche API-Ratenbegrenzungen: Aufrufe der API zum Melden fehlerhafter Hosts können pro Reservierung ratenbegrenzt sein.
Modus für die gesamte Kapazität
Im Modus für die gesamte Kapazität sind Sie für die Verwaltung des Wiederherstellungsprozesses einer Compute-Instanz verantwortlich. Sie müssen die Wartung nach Hostfehlern oder fehlerhaften Hostberichten manuell starten. Im Gegensatz zum verwalteten Modus können Sie die Wartung auch für Ihre Reservierungsunterblöcke ansehen und starten. Mit diesen Funktionen haben Sie die vollständige, feingranulare Kontrolle über den Wartungs- und Wiederherstellungsprozess für Ihre Instanzen.
Der Modus für die gesamte Kapazität hat folgende Funktionen:
Reservierte und nicht reservierte Kapazität für die Wiederherstellung verwenden: Sie können Ihre reservierten Ressourcen sowie alle Ressourcen verwenden, die außerhalb Ihrer Reservierung verfügbar sind, um eine Instanz zu migrieren und neu zu starten, wenn der Host ausfällt.
Manueller Neustart von Instanzen: Sie sind für den Wiederherstellungsprozess einer Instanz verantwortlich. Wenn aufgrund eines Hostfehlers oder eines fehlerhaften Hostberichts eine Hostwartung erforderlich ist, beendet Compute Engine Ihre Instanz. Sie können die Instanz erst neu starten, wenn die Wartung abgeschlossen ist.
Block- und Unterblockverwaltung und Sichtbarkeit: Sie können die Topologie, den Zustand und den Wartungsstatus einzelner Reservierungen, Reservierungsblöcke und Reservierungsunterblöcke ansehen. Sie können auch Wartungsbenachrichtigungen erhalten und optional die Wartung vor der geplanten Wartungszeit für diese Ressourcen starten.
Keine API-Ratenbegrenzungen: Bei Aufrufen der API zum Melden fehlerhafter Hosts gibt es keine Ratenbegrenzungen.
Typen der Wartungsplanung
Wenn Sie das reservierungsgebundene Bereitstellungsmodell verwenden, bietet Cluster Director Optionen zum Planen der Hostwartung für die ausgeführten Compute-Instanzen in Ihrem Cluster. Wenn Sie Kapazität reservieren, können Sie angeben, ob Instanzen gruppiert und synchronisiert geplant werden sollen (gruppiert) oder ob die Instanzen lose gekoppelt und unabhängig geplant werden sollen (unabhängig).
Gruppierte Wartungsplanung
Mit der gruppierten Wartungsplanung wird sichergestellt, dass alle Instanzen, auf denen dieselbe Arbeitslast ausgeführt wird, unabhängig davon, wann Compute Engine eine Compute-Instanz bereitstellt, dieselbe geplante Wartungshäufigkeit haben. Mit dieser eng gekoppelten Wartung können Sie die Leistung Ihres Jobs optimieren, da Sie die vollständige Kontrolle über Ihre genutzte und ungenutzte Kapazität haben.
Ein gruppierter Wartungsplanungstyp ist in den folgenden Fällen nützlich:
In Ihrer Umgebung wird ein Jobplaner wie Slurm oder GKE verwendet.
Sie möchten Trainings oder andere stark parallelisierte Arbeitslasten ausführen.
Unabhängige Wartungsplanung
Bei diesem unabhängigen Wartungsplanungstyp haben Instanzen unterschiedliche Wartungspläne. Diese Konfiguration ist ideal, wenn Sie Inferenz oder Training in begrenztem Umfang ausführen möchten, bei denen Arbeitslasten effizienter ausgeführt werden, wenn sie separate Wartungspläne haben.