Konfigurationen von Compute-Instanzen und Clustern prüfen

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:

  1. Das Bereitstellungsmodell

  2. Die Tools für die Clusterbereitstellung

  3. Wenn Sie das reservierungsgebundene Bereitstellungsmodell verwenden, müssen Sie auch die folgenden Faktoren berücksichtigen:

Bereitstellungsmodelle

Je nach der Verbrauchsoption, die Sie zum Erstellen von Compute-Instanzen oder ‑Clustern auswählen, können Sie eines der folgenden Bereitstellungsmodelle verwenden, um die erforderlichen Ressourcen zum Erstellen von Instanzen zu erhalten:

  • Reservierungsgebunden: Sie können Ressourcen zu einem ermäßigten Preis für ein zukünftiges Datum und einen zukünftigen Zeitraum reservieren. Zu Beginn Ihres Reservierungszeitraums können Sie die reservierten Ressourcen verwenden, um Instanzen oder Cluster zu erstellen. Sie haben während der gesamten Reservierungsdauer exklusiven Zugriff auf die entsprechenden Ressourcen.

  • Flex-Start: Sie können Ressourcen mit Rabatt für bis zu sieben Tage anfordern. Compute Engine versucht nach Best-Effort-Prinzip, die Bereitstellung der angeforderten Ressourcen zu planen, sobald sie verfügbar sind. Sie haben für den angeforderten Zeitraum exklusiven Zugriff auf die erhaltenen Ressourcen.

  • Spot: Je nach Verfügbarkeit können Sie sofort stark rabattierte Ressourcen erhalten. Compute Engine kann Instanzen jedoch jederzeit beenden oder löschen, um Kapazitäten zurückzugewinnen.

Reservierungsgebundenes Bereitstellungsmodell

Beim reservierungsgebundenen Bereitstellungsmodell werden die von Ihnen erstellten Compute-Instanzen mit der Kapazität verknüpft, die Sie zuvor reserviert haben. Wenn Sie Kapazität reservieren, erstellt Compute Engine eine leere Reservierung. Bei der Reservierungsstartzeit passiert dann Folgendes:

  • Compute Engine fügt der Reservierung die 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.

Anschließend können Sie die reservierten Ressourcen verwenden, um Instanzen ohne zusätzliche Gebühren 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 an die Reservierung gebundene Bereitstellungsmodell an, wenn Sie Compute-Instanzen oder MIGs erstellen:

  • Wählen Sie in der Google Cloud -Konsole in der Liste Bereitstellungsmodell die Option Reservierungsgebunden aus.

  • Fügen Sie in der Google Cloud CLI das Flag --provisioning-model=RESERVATION_BOUND in den Befehl ein.

  • Fügen Sie in der Compute Engine API das Feld "provisioningModel": "RESERVATION_BOUND" in den Anfragetext ein.

Weitere Informationen zum Festlegen dieser Parameter beim Erstellen von Instanzen oder verwalteten Instanzgruppen 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 durch den Cluster-Blueprint festgelegt.

Bereitstellungsmodell „Flex-Start“

Mit dem Bereitstellungsmodell „Flex-Start“ können Sie eigenständige Flex-Start-VMs erstellen oder Flex-Start-VMs einer verwalteten Instanzgruppe (MIG) hinzufügen, wenn die angeforderte Kapazität verfügbar ist. Wenn Sie einer MIG Flex-Start-VMs über Anfragen zur Größenanpassung hinzufügen, erstellt die MIG die Instanzen auf einmal. So vermeiden Sie unnötige Gebühren für die Teilkapazität, die Compute Engine möglicherweise bereitstellt, während Sie auf die volle Kapazität warten, die zum Starten Ihrer Arbeitslast erforderlich ist. Beim Flex-Start-Bereitstellungsmodell werden Ressourcen aus einem sicheren Kapazitätspool bereitgestellt. Dadurch erhöhen sich Ihre Chancen, stark nachgefragte Ressourcen wie GPUs zu erhalten.

So geben Sie das Bereitstellungsmodell „Flex-Start“ 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_START in den Befehl ein.

  • Fügen Sie in der Compute Engine API das Feld "provisioningModel": "FLEX_START" in den Anfragetext ein.

Weitere Informationen zum Erstellen von Instanzen oder Clustern, die das Flex-Start-Bereitstellungsmodell verwenden, finden Sie in den folgenden Dokumenten:

Spot-Bereitstellungsmodell

Mit dem Spot-Bereitstellungsmodell können Sie Compute-Instanzen mit hohen Rabatten erstellen, die von der Verfügbarkeit abhängen. Compute Engine kann die erstellten Instanzen jedoch jederzeit beenden oder löschen, um Kapazitäten zurückzugewinnen. Dieser Vorgang wird als Unterbrechung bezeichnet.

So geben Sie das Spot-Bereitstellungsmodell beim Erstellen von Instanzen oder MIGs an:

  • Wählen Sie in der Google Cloud -Konsole in der Liste Bereitstellungsmodell die Option Spot aus.

  • Fügen Sie in der gcloud CLI das Flag --provisioning-model=SPOT in den Befehl ein.

  • Fügen Sie in der Compute Engine API das Feld "provisioningModel": "SPOT" 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

Das Cluster Toolkit ist ein Open-Source-Bereitstellungstool, das für die Erstellung von GPU-beschleunigten Clustern empfohlen wird. Mit dem 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 Workload-Scheduler einbinden:

Bereitstellungstypen für Reservierungsblöcke

Wenn Sie beim Erstellen von A4X Max-, A4X-, A4-, A3 Ultra-, A3 Mega- und A3 High-Compute-Instanzen (8 GPUs) oder -Clustern das reservierungsgebundene Bereitstellungsmodell verwenden, werden die bereitgestellten Maschinen automatisch in Blöcken von Hosts mit hoher Dichte bereitgestellt. Diese Bereitstellung bietet folgende Vorteile:

  • Nicht blockierende Netzwerkfunktionen für eine konsistente Bandbreite und Instanzverbindungen mit niedriger Latenz durch Verwendung eines dynamischen Netzwerks für maschinelles Lernen (ML) von Google.

  • Zugriff auf die Netzwerktopologie, die eine hierarchische Ansicht der relativen Nähe zwischen Instanzen bietet. Diese Funktion ist für erweiterte Anwendungsfälle zur Jobplanung nützlich.

  • Feingranulare, topologiesensitive Platzierung bei Verwendung von Orchestratoren.

  • Detaillierte Nutzersteuerung von Wartungszeitplänen, um die Jobplanung und Verfügbarkeit zu maximieren und Ausfallzeiten zu minimieren.

Betriebsmodus für Reservierungen

Wenn Sie das reservierungsgebundene Bereitstellungsmodell verwenden, bestimmt der von Ihnen reservierte Maschinentyp den Reservierungsbetriebsmodus für Ihre reservierte Kapazität. In jedem Modus wird definiert, wie auf Hostfehler oder fehlerhafte Hostberichte reagiert wird und wie viel Sichtbarkeit und Kontrolle Sie über die Infrastruktur der Reservierung haben.

Für jeden Betriebsmodus für Reservierungen wird Folgendes definiert:

  • Wer verwaltet die Wiederherstellung?: Sie oder Google Cloud.

  • Welche Kapazität Sie für die Wiederherstellung verwenden: nur Ihre reservierte Kapazität oder Kapazität innerhalb oder außerhalb Ihrer Reservierungen.

  • Ihr Grad der Platzierungskontrolle: Sie können die Wartung für bestimmte Reservierungsunterblöcke vor dem geplanten Zeitpunkt ansehen und starten, um eine detaillierte Kontrolle zu erhalten.

Wenn Sie Kapazität zum Erstellen von Compute-Instanzen oder Clustern reservieren, müssen Sie zwischen einem der folgenden Betriebsmodi für Reservierungen wählen: verwalteter Modus oder Modus „Alle Kapazitäten“.

Verwalteter Modus

Im verwalteten Modus verwaltet Google Cloud automatisch die Wartung und den Wiederherstellungsprozess Ihrer Compute-Instanzen nach Hostfehlern oder fehlerhaften Hostberichten. 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 die folgenden Funktionen:

  • Reservierte Kapazität nur für die Wiederherstellung verwenden: Compute Engine verwendet Ihre reservierte Kapazität nur zum Neustarten von Instanzen. Wenn in Ihren Reservierungen keine Kapazität verfügbar ist, startet Compute Engine Instanzen erst neu, wenn Sie mehr Kapazität erhalten.

  • Automatisierte Instanzneustarts: 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 für diese Ressourcen erhalten und die Wartung optional vor dem geplanten Wartungszeitpunkt starten.

  • Mögliche API-Ratenbegrenzungen: Aufrufe der API zum Melden fehlerhafter Unterkünfte können pro Reservierung ratenbegrenzt werden.

Modus „Gesamte Kapazität“

In allen Kapazitätsmodi sind Sie für die Verwaltung des Wiederherstellungsprozesses für eine Compute-Instanz verantwortlich. Sie müssen die Wartung nach Hostfehlern oder fehlerhaften Hostberichten manuell starten. Im Gegensatz zum verwalteten Modus können Sie auch die Wartung für Ihre Reservierungsunterblöcke ansehen und starten. Mit diesen Funktionen haben Sie die vollständige, detaillierte Kontrolle über den Wartungs- und Wiederherstellungsprozess für Ihre Instanzen.

Der Modus „Alle Kapazitäten“ bietet die folgenden Funktionen:

  • Reservierte und nicht reservierte Kapazität für die Wiederherstellung verwenden: Sie können Ihre reservierten Ressourcen sowie alle Ressourcen, die außerhalb Ihrer Reservierung verfügbar sind, verwenden, um eine Instanz zu migrieren und neu zu starten, wenn ihr Host ausfällt.

  • Manuelle Instanzneustarts: 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 nach Abschluss der Wartung neu starten.

  • 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 für diese Ressourcen erhalten und die Wartung optional vor dem geplanten Wartungszeitpunkt starten.

  • Keine API-Ratenbegrenzungen: Für Aufrufe der API zum Melden fehlerhafter Hosts gelten keine Ratenbegrenzungen.

Arten 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 Wartungsarbeiten synchronisiert geplant werden sollen (grouped) oder ob die Instanzen lose gekoppelt und Wartungsarbeiten unabhängig geplant werden sollen (independent).

Gruppierte Wartungsplanung

Der gruppierte Wartungsplanungstyp sorgt dafür, dass alle Instanzen, auf denen dieselbe Arbeitslast ausgeführt wird, dieselbe geplante Wartungshäufigkeit haben, unabhängig davon, wann Compute Engine eine Compute-Instanz bereitstellt. Durch diese eng gekoppelte Wartung können Sie die Leistung Ihres Jobs optimieren, da Sie die vollständige Kontrolle über Ihre genutzte und ungenutzte Kapazität haben.

Ein Gruppenwartungsplan ist in den folgenden Fällen nützlich:

  • In Ihrer Umgebung wird ein Job-Scheduler wie Slurm oder GKE verwendet.

  • Sie möchten Training oder andere hochgradig parallelisierte Computing-Arbeitslasten ausführen.

Unabhängige Wartungsplanung

Bei diesem unabhängigen Wartungsplanungstyp haben Instanzen unterschiedliche Wartungszeitpläne. Diese Konfiguration ist ideal, wenn Sie Inferenz oder Training in begrenztem Umfang ausführen möchten und Arbeitslasten effizienter ausgeführt werden, wenn sie separate Wartungszeitpläne haben.

Nächste Schritte