管理 TPU Spot 虚拟机
Spot 虚拟机可以大幅折扣的价格提供未使用的容量。Spot 虚拟机可随时被抢占(关闭),但与抢占式 TPU 不同,其运行时长没有限制。您无法重启 TPU Spot 虚拟机,并且必须在抢占后重新创建这些虚拟机。如需详细了解 Spot 虚拟机的一般信息,请参阅 Compute Engine 文档中的 Spot 虚拟机部分。
创建 TPU Spot 虚拟机
您可以使用已排队的资源创建 TPU Spot 虚拟机,这会将您的创建请求添加到队列中,并在容量可用时让您接收容量。将 TPU 创建为队列化资源是最佳实践。如需了解详情,请参阅队列化资源用户指南。
将 TPU Spot 虚拟机作为队列化资源创建,方法是将 --spot
标志添加到队列化资源创建命令:
gcloud
gcloud compute tpus queued-resources create QUEUED_RESOURCE_ID \ --node-id=NODE_ID \ --zone=europe-west4-a \ --accelerator-type=v3-8 \ --runtime-version=tpu-vm-tf-2.18.0-pod-pjrt \ --spot
curl
curl -X POST https://tpu.googleapis.com/v2alpha1/projects/PROJECT_ID/locations/europe-west4-a/queuedResources?queued_resource_id=QUEUED_RESOURCE_ID \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ tpu: { node_spec: { parent: "projects/PROJECT_ID/locations/europe-west4-a", node_id: "NODE_ID", node: { accelerator_type: "v3-8", runtime_version: "tpu-vm-tf-2.18.0-pod-pjrt" } } }, spot: {} }'
您还可以通过向创建命令添加 --spot
标志,在不使用队列资源的情况下创建 TPU Spot 虚拟机:
gcloud
gcloud compute tpus tpu-vm create TPU_NAME \ --zone=europe-west4-a \ --accelerator-type=v3-8 \ --version=tpu-vm-tf-2.18.0-pod-pjrt \ --spot
curl
curl -X POST https://tpu.googleapis.com/v2/projects/PROJECT_ID/locations/europe-west4-a/nodes?node_id=TPU_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ accelerator_type: "v3-8", runtime_version: "tpu-vm-tf-2.18.0-pod-pjrt", network_config: {enable_external_ips: true}, scheduling_config: {spot: true} }'
检查 TPU 虚拟机是否为 Spot 虚拟机
如需确认您的 TPU 虚拟机是否为 Spot 虚拟机,请使用 describe 命令:
gcloud compute tpus tpu-vm describe TPU_NAME --zone=europe-west4-a
如果 TPU 虚拟机是 Spot 虚拟机,则输出将包含设置为 true
的 spot
字段,如下所示:
...
schedulingConfig:
spot: true
...
价格和配额
TPU Spot 虚拟机的价格远低于按需 TPU 和预留 TPU 的价格。如需详细了解价格,请参阅 Cloud TPU 价格。
您需要抢占式配额才能使用 TPU Spot 虚拟机。如需了解详情,请参阅配额。