Consumir uma reserva

Se você tiver uma reserva de TPU, use os recursos reservados para criar TPUs que correspondam às propriedades da reserva. Essa ação é conhecida como consumir uma reserva. Para saber como consumir uma reserva de TPU usando o Google Kubernetes Engine (GKE), consulte Reserva de TPU na documentação do GKE.

A forma de consumir uma reserva depende de como você cria as VMs de TPU. É possível criar instâncias de VM de TPU ou um MIG com TPUs.

Consumir uma reserva ao criar uma VM de TPU

Ao criar uma instância de VM de TPU, especifique a reserva a ser consumida usando os parâmetros --reservation-affinity e --reservation:

  gcloud compute instances create TPU_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --reservation-affinity=specific \
    --reservation=projects/PROJECT_ID/reservations/RESERVATION_NAME \
    --provisioning-model=reservation-bound \
    --maintenance-policy=TERMINATE

Substitua os seguintes marcadores de posição:

  • TPU_NAME: o nome da VM de TPU.
  • MACHINE_TYPE: o tipo de máquina da VM de TPU (por exemplo, ct6e-standard-8t).
  • IMAGE_FAMILY: a família de imagens do SO para a VM da TPU. Se você quiser instalar uma versão específica do SO, use a flag --image. Para mais informações sobre imagens do SO, consulte Imagens do SO.
  • IMAGE_PROJECT: o projeto que contém a imagem do SO. Para imagens de TPU, é ubuntu-os-accelerator-images.
  • ZONE: a zona da VM de TPU (por exemplo, us-central1-b).
  • PROJECT_ID: o ID do projeto para o qual a reserva foi feita.
  • RESERVATION_NAME: o nome da reserva formatado como projects/OWNER_PROJECT_ID/reservations/RESERVATION_NAME.

Efetivar uma reserva ao criar um MIG

Há dois tipos de MIGs que podem ser criados com VMs de TPU:

  • MIGs com frações de host único.
  • MIGs com uma fatia de vários hosts.

Consumir uma reserva ao criar um MIG com intervalos de host único

Para consumir uma reserva ao criar um MIG com intervalos de host único, especifique a reserva como parte do modelo de instância.

Para criar um MIG com frações de host único:

  1. Criar modelo de instância
  2. Opcional: criar uma política de carga de trabalho
  3. Criar MIG

Criar um modelo de instância que consome uma reserva

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
     --machine-type=MACHINE_TYPE \
     --maintenance-policy=TERMINATE \
     --instance-termination-action=DELETE \
     --reservation-affinity=specific \
     --provisioning-model=reservation-bound \
     --reservation=RESERVATION_NAME \
     --image-family=IMAGE_FAMILY \
     --image-project=IMAGE_PROJECT

Substitua os seguintes marcadores de posição:

  • INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.
  • MACHINE_TYPE: o tipo de máquina da VM da TPU (por exemplo, ct6e-standard-8t).
  • RESERVATION_NAME: o nome da reserva formatado como projects/OWNER_PROJECT_ID/reservations/RESERVATION_NAME.
  • IMAGE_FAMILY: a família de imagens do SO para a VM da TPU. Se você quiser instalar uma versão específica do SO, use a flag --image. Para mais informações sobre imagens do SO, consulte Imagens do SO.
  • IMAGE_PROJECT: o projeto que contém a imagem do SO. Para imagens de TPU, é ubuntu-os-accelerator-images.

Criar o MIG

É possível criar um MIG zonal ou um MIG regional.

Criar um MIG zonal
gcloud compute instance-groups managed create MIG_NAME \
    --size=SIZE \
    --template=INSTANCE_TEMPLATE_NAME \
    --zone=ZONE

Substitua os seguintes marcadores de posição:

  • MIG_NAME: o nome do MIG.
  • SIZE: o número de VMs de TPU no MIG.
  • INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.
  • ZONE: a zona em que você quer provisionar o MIG.
Criar um MIG regional
gcloud compute instance-groups managed create MIG_NAME \
    --size=SIZE \
    --template=INSTANCE_TEMPLATE_NAME\
    --region=REGION \
    --target-distribution-shape=any

Substitua os seguintes marcadores de posição:

  • MIG_NAME: o nome do MIG.
  • SIZE: o número de VMs de TPU no MIG.
  • INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.
  • REGION: a zona em que você quer provisionar o MIG.

Para mais informações sobre a flag --target-distribution-shape, consulte Definir um formato de distribuição de destino para VMs em um MIG regional.

Consumir uma reserva ao criar um MIG com uma fração de vários hosts

Para consumir uma reserva ao criar um MIG com uma fração de vários hosts, especifique a reserva como parte do modelo de instância.

Criar um modelo de instância que consome uma reserva

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
     --machine-type=MACHINE_TYPE \
     --maintenance-policy=TERMINATE \
     --instance-termination-action=DELETE \
     --reservation-affinity=specific \
     --provisioning-model=reservation-bound \
     --reservation=RESERVATION_NAME \
     --image-family=IMAGE_FAMILY \
     --image-project=IMAGE_PROJECT

Substitua os seguintes marcadores de posição:

  • INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.
  • MACHINE_TYPE: o tipo de máquina da VM da TPU (por exemplo, ct6e-standard-8t).
  • RESERVATION_NAME: o nome da reserva formatado como projects/OWNER_PROJECT_ID/reservations/RESERVATION_NAME.
  • IMAGE_FAMILY: a família de imagens do SO para a VM da TPU. Se você quiser instalar uma versão específica do SO, use a flag --image. Para mais informações sobre imagens do SO, consulte Imagens do SO.
  • IMAGE_PROJECT: o projeto que contém a imagem do SO. Para imagens de TPU, é ubuntu-os-accelerator-images.

Criar uma política de carga de trabalho

É possível especificar uma política de carga de trabalho para seus MIGs. Para mais informações, consulte Política de carga de trabalho para MIGs.

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

Substitua os seguintes marcadores de posição:

  • WORKLOAD_POLICY_NAME: um nome para a política de carga de trabalho.
  • TOPOLOGY: a topologia das VMs de TPU, por exemplo, 4x4x8. Para mais informações sobre a topologia de cada versão de TPU, consulte Versões de TPU.

Criar o MIG

É possível criar um MIG zonal ou regional.

Criar um MIG zonal
gcloud compute instance-groups managed create MIG_NAME \
    --size=SIZE \
    --target-size-policy-mode=bulk \
    --default-action-on-vm-failure=do-nothing \
    --template=INSTANCE_TEMPLATE_URL \
    --zone=ZONE \
    --workload-policy=WORKLOAD_POLICY_URL

Substitua os seguintes marcadores de posição:

  • MIG_NAME: o nome do MIG.
  • SIZE: o número de VMs de TPU no MIG.
  • INSTANCE_TEMPLATE_URL: o URL do modelo de instância que você quer usar para criar instâncias no MIG. O URL pode conter o ID ou o nome do modelo de instância. Especifique um dos seguintes valores:
    • Para um modelo de instância regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID.
    • Para um modelo de instância global: INSTANCE_TEMPLATE_ID
  • ZONE: a zona em que você quer provisionar o MIG.
  • WORKLOAD_POLICY_URL: o URL da política de carga de trabalho que você quer usar para criar instâncias no MIG. Por exemplo: projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME
Criar um MIG regional
gcloud compute instance-groups managed create MIG_NAME \
    --size=SIZE \
    --target-size-policy-mode=bulk \
    --default-action-on-vm-failure=do-nothing \
    --template=INSTANCE_TEMPLATE_URL \
    --zone=ZONE \
    --target-distribution-shape=any-single-zone \
    --instance-redistribution-type=none \
    --workload-policy=WORKLOAD_POLICY_URL

Substitua os seguintes marcadores de posição:

  • MIG_NAME: o nome do MIG.
  • SIZE: o número de VMs de TPU no MIG.
  • INSTANCE_TEMPLATE_URL: o URL do modelo de instância que você quer usar para criar instâncias no MIG. O URL pode conter o ID ou o nome do modelo de instância. Especifique um dos seguintes valores:
    • Para um modelo de instância regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID.
    • Para um modelo de instância global: INSTANCE_TEMPLATE_ID
  • ZONE: a zona em que você quer provisionar o MIG.
  • WORKLOAD_POLICY_URL: o URL da política de carga de trabalho que você quer usar para criar instâncias no MIG. Por exemplo: projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME

Verificar o uso da reserva

Só é possível verificar o uso de uma reserva compartilhada no projeto do proprietário. Se você estiver em um projeto de consumidor, mude para o projeto do proprietário para verificar o uso da reserva.

Para saber quanto da reserva está em uso, utilize o comando gcloud compute reservations describe:

gcloud compute reservations describe RESERVATION_NAME \
    --project=PROJECT_ID --zone=ZONE

Substitua as seguintes variáveis de marcador de posição:

  • RESERVATION_NAME: o nome da reserva.
  • PROJECT_ID: o ID do projeto que contém a reserva.
  • ZONE: a zona em que a reserva existe.

Para listar todas as reservas em um projeto, use o comando gcloud compute reservations list:

gcloud compute reservations list --project=PROJECT_ID

Substitua a seguinte variável de marcador de posição:

  • PROJECT_ID: o ID do projeto.

A seguir