In diesem Dokument wird beschrieben, wie Sie eine verwaltete Instanzgruppe (MIG) erstellen, die einen TPU-Slice mit mehreren Hosts bildet.
Hinweis
- Lesen Sie die Einschränkungen für das Erstellen von MIGs mit TPU-Instanzen.
-
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:
-
Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:
gcloud initWenn 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.
-
Vorbereitung
Bevor Sie ein TPU-Slice mit mehreren Hosts erstellen, müssen Sie Folgendes tun:
TPU-Version auswählen: Wählen Sie die TPU-Version aus, die für Ihre Arbeitslast geeignet ist. Eine Liste der TPU-Versionen nach Arbeitslasttyp finden Sie unter Empfohlene TPU-Versionen nach Arbeitslasttyp.
TPU-Verfügbarkeit an Ihrem bevorzugten Standort prüfen: TPUs sind in bestimmten Google Cloud Regionen verfügbar. Wenn Sie eine TPU-Version verwenden möchten, muss sie in Ihrer bevorzugten Region verfügbar sein. Eine Liste der TPU-Standorte finden Sie unter TPU-Verfügbarkeit.
Prüfen Sie, ob Ihr Projekt ein ausreichendes TPU-Kontingent hat: Wenn Sie einen TPU-Slice mit mehreren Hosts mit On-Demand- oder Spot-VMs erstellen, muss in der Region, die Sie verwenden möchten, ein ausreichendes TPU-Kontingent verfügbar sein. Für das Erstellen eines TPU-Slice mit mehreren Hosts, der eine TPU-Reservierung nutzt, ist kein TPU-Kontingent erforderlich, da das Kontingent beim Erstellen der Reservierung verwendet wurde. Eine Liste der TPU-Kontingentnamen finden Sie unter TPU-Kontingent. Eine Anleitung zum Aufrufen des Kontingents finden Sie unter Kontingente ansehen und verwalten.
TPU-Nutzungsoption auswählen: Wählen Sie eine Nutzungsoption aus, die am besten zu Ihrer Arbeitslast, ihrer Dauer und Ihren Kostenanforderungen passt. Eine Liste der Verfügbarkeit von Nutzungsoptionen nach TPU-Versionen finden Sie unter Cloud TPU-Nutzungsoptionen.
Topologie auswählen: Wählen Sie eine Topologie aus, die für die ausgewählte TPU-Version unterstützt wird. Eine Liste der für die einzelnen TPU-Versionen verfügbaren Topologien finden Sie unter TPU-Topologie.
MIG mit TPU-Slices mit mehreren Hosts erstellen
- Erstellen Sie eine Instanzvorlage.
- Erstellen Sie eine Arbeitslastrichtlinie.
- Erstellen Sie die MIG.
Instanzvorlage erstellen
Der Befehl zum Erstellen einer Instanzvorlage hängt von der verwendeten Verbrauchsoption ab: On-Demand, Spot, reservierungsgebunden oder Flex-Start. Weitere Informationen zu Nutzungsoptionen finden Sie unter VM-Bereitstellungsmodelle.
Instanzvorlage für eine On-Demand-TPU-VM erstellen
Mit dem folgenden Befehl wird eine Instanzvorlage mit der Option für die On-Demand-Nutzung erstellt:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
Ersetzen Sie die folgenden Platzhalter:
INSTANCE_TEMPLATE_NAME: Der Name Ihrer Instanzvorlage.MACHINE_TYPE: Der Maschinentyp für die TPU-VM, z. B.ct6e-standard-8t.IMAGE_FAMILY: Die Betriebssystem-Image-Familie für die TPU-VM. Wenn Sie eine bestimmte Betriebssystemversion installieren möchten, verwenden Sie das Flag--image. Weitere Informationen zu Betriebssystem-Images finden Sie unter Betriebssystem-Images.IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image enthält. Bei TPU-Images ist diesubuntu-os-accelerator-images.
Instanzvorlage für eine TPU-Spot-VM erstellen
Mit dem folgenden Befehl wird eine Instanzvorlage mit der Option für die Spot-Nutzung erstellt:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--instance-termination-action=STOP \
--provisioning-model=SPOT \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
Ersetzen Sie die folgenden Platzhalter:
INSTANCE_TEMPLATE_NAME: Der Name Ihrer Instanzvorlage.MACHINE_TYPE: Der Maschinentyp für die TPU-VM, z. B.ct6e-standard-8t.IMAGE_FAMILY: Die Betriebssystem-Image-Familie für die TPU-VM. Wenn Sie eine bestimmte Betriebssystemversion installieren möchten, verwenden Sie das Flag--image. Weitere Informationen zu Betriebssystem-Images finden Sie unter Betriebssystem-Images.IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image enthält. Bei TPU-Images ist diesubuntu-os-accelerator-images.
Instanzvorlage für eine TPU-VM mit Reservierung erstellen
Mit dem folgenden Befehl wird eine Instanzvorlage mit der Option „Reservierungsgebundener Verbrauch“ erstellt:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--instance-termination-action=DELETE \
--reservation-affinity=specific \
--provisioning-model=reservation-bound \
--reservation=RESERVATION_NAME \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
Ersetzen Sie die folgenden Platzhalter:
INSTANCE_TEMPLATE_NAME: Der Name Ihrer Instanzvorlage.MACHINE_TYPE: Der Maschinentyp für die TPU-VM, z. B.ct6e-standard-8t.RESERVATION_NAME: Der Name der spezifischen Reservierung, die genutzt werden soll.IMAGE_FAMILY: Die Betriebssystem-Image-Familie für die TPU-VM. Wenn Sie eine bestimmte Betriebssystemversion installieren möchten, verwenden Sie das Flag--image. Weitere Informationen zu Betriebssystem-Images finden Sie unter Betriebssystem-Images.IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image enthält. Bei TPU-Images ist diesubuntu-os-accelerator-images.
Instanzvorlage für eine TPU Flex-Start-VM erstellen
Mit dem folgenden Befehl wird eine Instanzvorlage mit der Verbrauchsoption „flex-start“ erstellt:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--instance-termination-action=DELETE \
--provisioning-model=FLEX_START \
--max-run-duration=DURATION \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT
Ersetzen Sie die folgenden Platzhalter:
INSTANCE_TEMPLATE_NAME: Der Name Ihrer Instanzvorlage.MACHINE_TYPE: Der Maschinentyp für die TPU-VM, z. B.ct6e-standard-8t.DURATION: Die maximale Dauer, für die die TPU-VM ausgeführt werden kann.IMAGE_FAMILY: Die Betriebssystem-Image-Familie für die TPU-VM. Wenn Sie eine bestimmte Betriebssystemversion installieren möchten, verwenden Sie das Flag--image. Weitere Informationen zu Betriebssystem-Images finden Sie unter Betriebssystem-Images.IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image enthält. Bei TPU-Images ist diesubuntu-os-accelerator-images.
Arbeitslastrichtlinie erstellen
Sie müssen eine Arbeitslastrichtlinie mit dem Parameter accelerator-topology erstellen, z. B. 4x4, 8x8 oder 4x4x4. Mit der Beschleunigertopologie wird die MIG so konfiguriert, dass die Instanzen als ein einzelner, miteinander verbundener Slice behandelt werden.
Mit dem folgenden Befehl wird eine Arbeitslastrichtlinie erstellt:
gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
--type=high-throughput \
--accelerator-topology=TOPOLOGY \
--region=REGION
Ersetzen Sie die folgenden Platzhalter:
WORKLOAD_POLICY_NAME: Der Name Ihrer Arbeitslastrichtlinie.TOPOLOGY: Die Topologie der TPU-VMs, z. B.4x4x8. Weitere Informationen zur Topologie für die einzelnen TPU-Versionen finden Sie unter TPU-Topologie.REGION: Die Region für Ihre Arbeitslastrichtlinie.
Eine MIG erstellen.
Erstellen Sie eine zonale oder regionale MIG mit dem Befehl gcloud compute instance-groups managed create:
Verwenden Sie den folgenden Befehl, um eine zonale MIG mit einem Multi-Host-TPU-Slice zu erstellen:
gcloud compute instance-groups managed create MIG_NAME \ --size=MIG_SIZE \ --target-size-policy-mode=bulk \ --template=INSTANCE_TEMPLATE_URL \ --zone=ZONE \ --default-action-on-vm-failure=do-nothing \ --workload-policy=WORKLOAD_POLICY_URLVerwenden Sie den folgenden Befehl, um eine regionale MIG mit einem Multi-Host-TPU-Slice zu erstellen:
gcloud compute instance-groups managed create MIG_NAME \ --size=MIG_SIZE \ --target-size-policy-mode=bulk \ --template=INSTANCE_TEMPLATE_URL \ --region=REGION \ --default-action-on-vm-failure=do-nothing \ --workload-policy=WORKLOAD_POLICY_URL \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none
Ersetzen Sie die folgenden Platzhalter:
MIG_NAME: Name der MIG.MIG_SIZE: Die Anzahl der VMs in der MIG.INSTANCE_TEMPLATE_URL: Die URL der Instanzvorlage, die Sie zum Erstellen von Instanzen in der MIG verwenden möchten. Die URL kann entweder die ID oder den Namen der Instanzvorlage enthalten. Geben Sie einen der folgenden Werte an:- Für eine regionale Instanzvorlage:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Für eine globale Instanzvorlage:
INSTANCE_TEMPLATE_ID
- Für eine regionale Instanzvorlage:
ZONE: Die Zone für Ihre MIG.REGION: Die Region für Ihre MIG.WORKLOAD_POLICY_URL: Die URL der Arbeitslastrichtlinie, die Sie zum Erstellen von Instanzen in der MIG verwenden möchten. Beispiel:projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME.
VMs mit benutzerdefinierten Namen in einer MIG erstellen
Sie können VMs in einer MIG erstellen, indem Sie für jede VM benutzerdefinierte Namen angeben. Dies ist nützlich für das Debugging und um sicherzustellen, dass Instanzen in einer bestimmten Reihenfolge erstellt werden.
Für MIGs, die einen TPU-Slice mit mehreren Hosts enthalten, wird der Bulk-Modus der Richtlinie für die Zielgröße verwendet. Beim Erstellen von VMs mit benutzerdefinierten Namen in einer solchen MIG gilt Folgendes:
Sie müssen zuerst bestätigen, dass die MIG keine VMs enthält. Wenn die MIG VMs enthält, müssen Sie entweder die Größe der MIG auf die Zielgröße
0ändern oder eine andere MIG mit der Zielgröße0erstellen.Sie können die REST API nur zum Erstellen von VMs mit benutzerdefinierten Namen verwenden.
Sie können VMs mit benutzerdefinierten Namen mit einer der folgenden REST API-Methoden erstellen:
Verwenden Sie für eine zonale MIG die
instanceGroupManagers.createInstances.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/createInstances { "instances": [ { "name": "INSTANCE_NAME_1" }, { "name": "INSTANCE_NAME_2" }, ... ] }Verwenden Sie für eine regionale MIG die
regionInstanceGroupManagers.createInstances.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/createInstances { "instances": [ { "name": "INSTANCE_NAME_1" }, { "name": "INSTANCE_NAME_2" }, ... ] }
Ersetzen Sie die folgenden Platzhalter:
PROJECT_ID: Die ID des Projekts, in dem die MIG vorhanden ist.ZONE: Die Zone der MIG.REGION: Die Region der MIG.INSTANCE_NAME_1,2,..: Die Namen der VMs, die der angegebenen MIG hinzugefügt werden sollen.
Nächste Schritte
- Verbindung zu einer TPU-Instanz herstellen
- Attribute einer MIG aufrufen
- Status eines TPU-Slice ansehen
- MIG löschen