Meminta Spot VM TPU

Spot VM menawarkan kapasitas yang tidak digunakan dengan tarif yang didiskon secara signifikan. Meskipun Spot VM dapat di-preempt kapan saja, Spot VM tidak memiliki durasi runtime maksimum, tidak seperti TPU preemptible. Untuk memulai ulang instance Spot VM atau MIG, Anda harus menghapusnya, lalu membuatnya kembali.

Untuk mengetahui informasi selengkapnya tentang Spot VM, lihat dokumentasi Compute Engine tentang Spot VM.

Membuat Spot VM TPU

Anda dapat membuat Spot VM TPU sebagai instance individual atau sebagai bagian dari grup instance terkelola (MIG).

Untuk membuat Spot VM TPU dengan MIG, tentukan model penyediaan Spot di template instance Anda.

  1. Buat template instance:

    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"
    

    Ganti placeholder berikut:

    • PROJECT_ID: ID proyek Anda. Google Cloud
    • INSTANCE_TEMPLATE_NAME: Nama template instance Anda.
    • MACHINE_TYPE: Jenis mesin untuk VM TPU, misalnya, ct6e-standard-8t.
    • IMAGE_FAMILY: Kelompok image OS untuk VM TPU. Jika Anda ingin menginstal versi OS tertentu, gunakan flag --image. Untuk mengetahui informasi selengkapnya tentang image OS, lihat Image OS.
    • IMAGE_PROJECT: Project yang berisi image OS. Untuk image TPU, project ini adalah ubuntu-os-accelerator-images.
  2. Buat kebijakan workload

    Perintah berikut akan membuat kebijakan workload. Kebijakan ini bersifat opsional untuk slice host tunggal.

    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"
    

    Ganti placeholder berikut:

    • PROJECT_ID: ID proyek Anda. Google Cloud
    • WORKLOAD_POLICY_NAME: Nama kebijakan workload Anda.
    • TOPOLOGY: Topologi VM TPU, misalnya, 4x4x8. Untuk mengetahui informasi selengkapnya tentang topologi untuk setiap versi TPU, lihat Versi TPU.
    • REGION: Region untuk kebijakan workload Anda.
  3. Buat 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_URL
    

    REST

    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"
    

    Ganti placeholder berikut:

    • PROJECT_ID: ID proyek Anda. Google Cloud
    • MIG_NAME: Nama MIG Anda.
    • MIG_SIZE: Ukuran MIG.
    • INSTANCE_TEMPLATE_URL: URL template instance yang ingin Anda gunakan untuk membuat instance di MIG. URL dapat berisi ID atau nama template instance. Tentukan salah satu nilai berikut:
      • Untuk template instance regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
      • Untuk template instance global: INSTANCE_TEMPLATE_ID
    • ZONE: Zona untuk MIG Anda.
    • WORKLOAD_POLICY_URL: URL kebijakan workload yang ingin Anda gunakan untuk membuat instance di MIG. Misalnya: projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME.

Menggunakan VM TPU tunggal

Anda juga dapat membuat Spot VM TPU tunggal.

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"

Ganti placeholder berikut:

  • PROJECT_ID: ID proyek Anda. Google Cloud
  • TPU_NAME: Nama untuk VM TPU Anda.
  • MACHINE_TYPE: Jenis mesin untuk VM TPU (misalnya ct6e-standard-8t).
  • IMAGE_FAMILY: Kelompok image OS untuk VM TPU. Jika Anda ingin menginstal versi OS tertentu, gunakan flag --image. Untuk mengetahui informasi selengkapnya tentang image OS, lihat Image OS.
  • IMAGE_PROJECT: Project yang berisi image OS. Untuk image TPU, project ini adalah ubuntu-os-accelerator-images.
  • ZONE: Zona untuk VM TPU (misalnya us-central1-b).

Untuk mengetahui informasi selengkapnya tentang Spot VM di Compute Engine, lihat Spot VM.

Harga dan kuota

Harga untuk Spot VM TPU jauh lebih rendah daripada harga untuk TPU sesuai permintaan dan yang dicadangkan. Untuk mengetahui informasi selengkapnya tentang harga, lihat Harga Cloud TPU.

Anda memerlukan kuota preemptible untuk menggunakan Spot VM TPU. Untuk mengetahui informasi selengkapnya, lihat Kuota.

Langkah berikutnya