TPU-Spot-VMs anfragen
Spot-VMs bieten ungenutzte Kapazität zu deutlich ermäßigten Preisen. Spot-VMs können jederzeit vorzeitig beendet werden. Im Gegensatz zu TPUs auf Abruf gibt es jedoch keine Beschränkung der Laufzeit. Wenn Sie eine Spot-VM-Instanz oder eine MIG neu starten möchten, müssen Sie sie löschen und dann neu erstellen.
Weitere Informationen zu Spot-VMs finden Sie in der Compute Engine-Dokumentation unter Spot-VMs.
TPU-Spot-VMs erstellen
Sie können TPU-Spot-VMs als einzelne Instanzen oder als Teil einer verwalteten Instanzgruppe (Managed Instance Group, MIG) erstellen.
MIGs für Multi-Host-Slices verwenden (empfohlen)
Wenn Sie TPU-Spot-VMs mit einer MIG erstellen möchten, geben Sie das Spot-Bereitstellungsmodell in Ihrer Instanzvorlage an.
Instanzvorlage erstellen:
gcloud
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --project=PROJECT_ID \ --machine-type=MACHINE_TYPE \ --maintenance-policy=TERMINATE \ --instance-termination-action=STOP \ --provisioning-model=SPOT \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECTREST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } } ], "scheduling": { "onHostMaintenance": "TERMINATE", "provisioningModel": "SPOT", "instanceTerminationAction": "STOP" }, "networkInterfaces": [ { "network": "global/networks/default" } ] } }' \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates"Ersetzen Sie die folgenden Platzhalter:
- PROJECT_ID: Die ID Ihres Projekts. Google Cloud
- 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 dies
ubuntu-os-accelerator-images.
Arbeitslastrichtlinie erstellen
Mit dem folgenden Befehl wird eine Arbeitslastrichtlinie erstellt. Dies ist für Single-Host-Slices optional.
gcloud
gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=high-throughput \ --accelerator-topology=TOPOLOGY \ --region=REGIONREST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "name": "WORKLOAD_POLICY_NAME", "workloadPolicy": { "type": "HIGH_THROUGHPUT", "acceleratorTopology": "TOPOLOGY" } }' \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies"Ersetzen Sie die folgenden Platzhalter:
PROJECT_ID: Die ID Ihres Google Cloud Projekts.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-Versionen.REGION: Die Region für Ihre Arbeitslastrichtlinie.
MIG erstellen:
gcloud
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_URLREST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "name": "MIG_NAME", "targetSize": MIG_SIZE, "targetSizePolicy": { "mode": "BULK" }, "instanceTemplate": "INSTANCE_TEMPLATE_URL", "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" }, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } }' \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers"Ersetzen Sie die folgenden Platzhalter:
PROJECT_ID: Die ID Ihres Google Cloud Projekts.MIG_NAME: Der Name Ihrer MIG.MIG_SIZE: Die Größe 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.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.
Einzelne TPU-VMs verwenden
Sie können auch einzelne TPU-Spot-VMs erstellen.
gcloud
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--provisioning-model=SPOT \
--instance-termination-action=DELETE \
--maintenance-policy=TERMINATE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "TPU_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE",
"provisioningModel": "SPOT",
"instanceTerminationAction": "DELETE"
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"
Ersetzen Sie die folgenden Platzhalter:
- PROJECT_ID: Die ID Ihres Projekts. Google Cloud
- TPU_NAME: Ein Name für Ihre TPU-VM.
- 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
--imageFlag. Weitere Informationen zu Betriebssystem-Images finden Sie unter Betriebssystem-Images. - IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image enthält.
Bei TPU-Images ist dies
ubuntu-os-accelerator-images. - ZONE: Die Zone
für die TPU-VM (z. B.
us-central1-b).
Weitere Informationen zu Spot-VMs in Compute Engine finden Sie unter Spot-VMs.
Preise und Kontingente
Die Preise für TPU-Spot-VMs sind deutlich niedriger als für On-Demand- und reservierte TPUs. Weitere Informationen zu Preisen finden Sie unter Cloud TPU Preisen.
Sie benötigen ein Kontingent auf Abruf, um TPU-Spot-VMs zu verwenden. Weitere Informationen finden Sie unter Kontingente.
Nächste Schritte
- Erfahren Sie, wie Sie TPUs verwalten