Richiedi VM spot TPU
Le VM spot offrono capacità inutilizzata a tariffe scontate in modo significativo. Sebbene le VM spot siano prerilasciabili in qualsiasi momento, non hanno una durata massima di esecuzione, a differenza delle TPU prerilasciabili. Per riavviare un'istanza o un MIG di VM spot, devi eliminarlo e poi ricrearlo.
Per ulteriori informazioni sulle VM spot, consulta la documentazione di Compute Engine sulle VM spot.
Crea VM spot TPU
Puoi creare VM spot TPU come singole istanze o come parte di un gruppo di istanze gestite (MIG).
Utilizzo di MIG per slice multi-host (consigliato)
Per creare VM spot TPU con un MIG, specifica il modello di provisioning spot nel modello di istanza.
Crea un template di istanza:
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"Sostituisci i seguenti segnaposto:
- PROJECT_ID: l'ID del tuo Google Cloud progetto.
- INSTANCE_TEMPLATE_NAME: il nome del modello di istanza.
- MACHINE_TYPE: il tipo di macchina
per la VM TPU, ad esempio
ct6e-standard-8t. - IMAGE_FAMILY: la famiglia di immagini del sistema operativo
per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag
--image. Per ulteriori informazioni sulle immagini del sistema operativo, consulta Immagini del sistema operativo. - IMAGE_PROJECT: il progetto che contiene l'immagine del sistema operativo.
Per le immagini TPU, questo è
ubuntu-os-accelerator-images.
Crea una policy del workload
Il seguente comando crea una policy del workload. Questo passaggio è facoltativo per le slice a host singolo.
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"Sostituisci i seguenti segnaposto:
PROJECT_ID: l'ID del tuo Google Cloud progetto.WORKLOAD_POLICY_NAME: il nome della policy del workload.TOPOLOGY: la topologia delle VM TPU, ad esempio4x4x8. Per ulteriori informazioni sulla topologia per ogni versione di TPU, consulta Versioni di TPU.REGION: la regione per la policy del workload.
Crea il MIG:
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"Sostituisci i seguenti segnaposto:
PROJECT_ID: l'ID del tuo Google Cloud progetto.MIG_NAME: il nome del MIG.MIG_SIZE: la dimensione del MIG.INSTANCE_TEMPLATE_URL: l'URL del modello di istanza che vuoi utilizzare per creare istanze nel MIG. L'URL può contenere l' ID o il nome del modello di istanza. Specifica uno dei seguenti valori:- Per un modello di istanza regionale:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Per un modello di istanza globale:
INSTANCE_TEMPLATE_ID
- Per un modello di istanza regionale:
ZONE: la zona per il MIG.WORKLOAD_POLICY_URL: l'URL della policy del workload che vuoi utilizzare per creare istanze nel MIG. Ad esempio:projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME.
Utilizzo di singole VM TPU
Puoi anche creare singole VM spot TPU.
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"
Sostituisci i seguenti segnaposto:
- PROJECT_ID: l'ID del tuo Google Cloud progetto.
- TPU_NAME: un nome per la VM TPU.
- MACHINE_TYPE: il tipo di macchina
per la VM TPU (ad esempio
ct6e-standard-8t). - IMAGE_FAMILY: la famiglia di immagini del sistema operativo
per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il
--imageflag. Per ulteriori informazioni sulle immagini del sistema operativo, consulta Immagini del sistema operativo. - IMAGE_PROJECT: il progetto che contiene l'immagine del sistema operativo.
Per le immagini TPU, questo è
ubuntu-os-accelerator-images. - ZONE: la zona
per la VM TPU (ad esempio
us-central1-b).
Per ulteriori informazioni sulle VM spot in Compute Engine, consulta VM spot.
Prezzi e quote
I prezzi delle VM spot TPU sono notevolmente inferiori rispetto a quelli delle TPU on demand e riservate. Per ulteriori informazioni sui prezzi, consulta Prezzi di Cloud TPU.
Per utilizzare le VM spot TPU, devi avere una quota prerilasciabile. Per scoprire di più, consulta Quote.
Passaggi successivi
- Scopri come gestire le TPU