请求 TPU Spot 虚拟机

Spot 虚拟机以极低的折扣费率提供未使用的容量。虽然 Spot 虚拟机随时可能被抢占,但与抢占式 TPU 不同,Spot 虚拟机的运行时长没有限制。如需重启 Spot 虚拟机实例或 MIG,您必须先将其删除,然后再重新创建。

如需详细了解 Spot 虚拟机,请参阅 Compute Engine 文档中的 Spot 虚拟机

创建 TPU Spot 虚拟机

您可以创建 TPU Spot 虚拟机,将其作为单个实例或作为代管式实例组 (MIG) 的一部分。

如需使用 MIG 创建 TPU Spot 虚拟机,请在实例模板中指定 Spot 预配模型。

  1. 创建实例模板

    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_PROJECT
    

    REST

    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"
    

    替换以下占位符:

    • PROJECT_ID:您的 Google Cloud 项目的 ID。
    • INSTANCE_TEMPLATE_NAME:实例模板的名称。
    • MACHINE_TYPE:TPU 虚拟机的机器类型,例如 ct6e-standard-8t
    • IMAGE_FAMILY:TPU 虚拟机的操作系统映像系列。如果您想安装特定版本的操作系统,请使用 --image 标志。如需详细了解操作系统映像,请参阅操作系统映像
    • IMAGE_PROJECT:包含操作系统映像的项目。 对于 TPU 映像,此值为 ubuntu-os-accelerator-images
  2. 创建工作负载政策

    以下命令会创建工作负载政策。对于单主机 slice,此属性是可选的。

    gcloud

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
    --type=high-throughput \
    --accelerator-topology=TOPOLOGY \
    --region=REGION
    

    REST

    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"
    

    替换以下占位符:

    • PROJECT_ID:您的 Google Cloud 项目的 ID。
    • WORKLOAD_POLICY_NAME:工作负载政策的名称。
    • TOPOLOGY:TPU 虚拟机的拓扑,例如 4x4x8。如需详细了解每个 TPU 版本的拓扑,请参阅 TPU 版本
    • REGION:工作负载政策的区域
  3. 创建 MIG

    gcloud

    gcloud compute instance-groups managed create MIG_NAME \
    --size=MIG_SIZE \
    --target-size-policy-mode=bulk \
    --template=INSTANCE_TEMPLATE_URL \
    --zone=ZONE