Criar políticas de carga de trabalho para MIGs

Neste documento, explicamos como criar políticas de carga de trabalho para grupos gerenciados de instâncias (MIGs) que têm instâncias do Compute Engine A4X Max, A4X, A4, A3 Ultra, A3 Mega, A3 High (8 GPUs) ou H4D. Para criar uma política de carga de trabalho para frações de TPU de vários hosts, consulte Criar um MIG com fração de TPU de vários hosts.

Uma política de carga de trabalho permite especificar o posicionamento ou a topologia das instâncias do Compute Engine no MIG. Por exemplo, é possível usar políticas de carga de trabalho para colocar instâncias de computação mais próximas umas das outras, minimizando a latência de rede para cargas de trabalho de inteligência artificial (IA), machine learning (ML) ou computação de alto desempenho (HPC). Para saber mais sobre os requisitos e as limitações que se aplicam ao criar políticas de cargas de trabalho, consulte Sobre as políticas de cargas de trabalho.

Antes de começar

Funções exigidas

Para receber as permissões necessárias para criar e aplicar políticas de carga de trabalho a MIGs, peça ao administrador para conceder a você o papel do IAM de Administrador da instância do Compute (v1) (roles/compute.instanceAdmin.v1) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém as permissões necessárias para criar e aplicar políticas de carga de trabalho a MIGs. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para criar e aplicar políticas de carga de trabalho a MIGs:

  • Para criar uma política de carga de trabalho: compute.resourcePolicies.create no projeto

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Criar uma política de carga de trabalho

Para criar uma política de carga de trabalho, use um dos seguintes métodos com base na série de máquinas que as instâncias de computação no MIG usam:

Criar uma política de carga de trabalho para instâncias A4X Max ou A4X

Se você aplicar uma política de carga de trabalho a instâncias A4X Max ou A4X em um MIG, será necessário especificar um valor de topologia do acelerador ao criar a política. Essa ação ajuda as cargas de trabalho a alcançar um desempenho de rede em grande escala e sem bloqueios.

Para criar uma política de carga de trabalho para instâncias A4X Max ou A4X, selecione uma das seguintes opções:

gcloud

Para criar uma política de carga de trabalho para instâncias A4X Max ou A4X, use o comando gcloud compute resource-policies create workload-policy com a flag --accelerator-topology=1x72:

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

Substitua:

  • WORKLOAD_POLICY_NAME: o nome da política de carga de trabalho.

  • REGION: a região em que a política de carga de trabalho será criada. Especifique uma região em que você quer criar o MIG e onde o tipo de máquina que você quer usar está disponível. Para conferir as regiões em que os tipos de máquina A4X Max ou A4X estão disponíveis, consulte Regiões e zonas disponíveis.

REST

Para criar uma política de carga de trabalho para instâncias A4X Max ou A4X, faça uma solicitação POST ao método resourcePolicies.insert. No corpo da solicitação, inclua o campo acceleratorTopology definido como 1x72:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies

{
  "name": "WORKLOAD_POLICY_NAME",
  "workloadPolicy": {
    "acceleratorTopology": "1x72",
    "type": "HIGH_THROUGHPUT"
  }
}

Substitua:

  • PROJECT_ID: o ID do projeto em que a política de carga de trabalho será criada.

  • REGION: a região em que a política de carga de trabalho será criada. Especifique uma região em que você quer criar o MIG e onde o tipo de máquina que você quer usar está disponível. Para conferir as regiões em que os tipos de máquina A4X Max ou A4X estão disponíveis, consulte Regiões e zonas disponíveis.

  • WORKLOAD_POLICY_NAME: o nome da política de carga de trabalho.

Criar uma política de carga de trabalho para instâncias A4, A3 Ultra, A3 Mega, A3 High (8 GPUs) ou H4D

Se você quiser aplicar uma política de carga de trabalho a instâncias A4, A3 Ultra, A3 Mega, A3 High (8 GPUs) ou H4D em um MIG, especifique um valor máximo de distância de topologia ao criar a política.

Ao decidir se você quer especificar uma distância máxima de topologia, considere a relação entre a colocalização física estrita e a obtenção de instâncias de computação e a garantia de capacidade:

  • Distância não especificada: você prioriza a obtenção de instâncias de computação e a garantia de capacidade em vez da colocalização estrita. No entanto, se a capacidade for limitada, o Compute Engine poderá colocar instâncias de computação mais distantes do que o aplicativo pode tolerar.

  • Distância especificada: você precisa de uma colocation física mais próxima para reduzir a latência da rede, o que reduz diretamente a capacidade de obtenção da instância de computação e a garantia de capacidade. Se os requisitos de posicionamento forem muito rígidos para a capacidade disponível em uma zona, talvez você encontre erros de disponibilidade de recursos. Para resolver esses erros, use uma política de carga de trabalho com um valor de distância de topologia máxima menos rigoroso, como CLUSTER em vez de SUBBLOCK, ou deixe o valor não especificado.

Para criar uma política de carga de trabalho para instâncias A4, A3 Ultra, A3 Mega, A3 High (8 GPUs) ou H4D, selecione uma das seguintes opções:

gcloud

Para criar uma política de carga de trabalho, use o comando gcloud compute resource-policies create workload-policy. Com base na proximidade que você quer colocar as instâncias de computação em um MIG, inclua as seguintes flags no comando:

  • Para colocar as instâncias de computação o mais próximo possível umas das outras, inclua a flag --type=high-throughput:

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --region=REGION
    
  • Para controlar ainda mais o posicionamento das instâncias de computação, inclua as flags --max-topology-distance e --type=high-throughput:

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --max-topology-distance=TOPOLOGY_DISTANCE \
        --type=high-throughput \
        --region=REGION
    

Substitua:

  • WORKLOAD_POLICY_NAME: o nome da política de carga de trabalho.

  • REGION: a região em que a política de carga de trabalho será criada. Especifique uma região em que você quer criar o MIG e onde o tipo de máquina que você quer usar está disponível. Para conferir as regiões em que os tipos de máquina de GPU estão disponíveis, consulte Regiões e zonas disponíveis.

  • TOPOLOGY_DISTANCE: a distância máxima da topologia. Especifique um dos seguintes valores:

    • Para colocar instâncias A4 ou H4D no mesmo cluster: CLUSTER

    • Para colocar instâncias A4, A3 Ultra, A3 Mega, A3 High (8 GPUs) ou H4D no mesmo bloco: BLOCK

    • Para colocar instâncias A4, A3 Ultra ou H4D no mesmo sub-bloco: SUBBLOCK

REST

Para criar uma política de carga de trabalho, faça uma solicitação POST ao método resourcePolicies.insert. Com base na proximidade que você quer colocar as instâncias de computação em um MIG, inclua os seguintes campos no corpo da solicitação:

  • Para colocar as instâncias de computação o mais próximo possível umas das outras, inclua o campo type no corpo da solicitação:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
    
    {
      "name": "WORKLOAD_POLICY_NAME",
      "workloadPolicy": {
        "type": "HIGH_THROUGHPUT"
      }
    }
    
  • Para controlar ainda mais o posicionamento das instâncias de computação, inclua os campos maxTopologyDistance e type no corpo da solicitação:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
    
    {
      "name": "WORKLOAD_POLICY_NAME",
      "workloadPolicy": {
        "maxTopologyDistance": "TOPOLOGY_DISTANCE",
        "type": "HIGH_THROUGHPUT"
      }
    }
    

Substitua:

  • PROJECT_ID: o ID do projeto em que a política de carga de trabalho será criada.

  • REGION: a região em que a política de carga de trabalho será criada. Especifique uma região em que você quer criar o MIG e onde o tipo de máquina que você quer usar está disponível. Para conferir as regiões em que os tipos de máquina de GPU estão disponíveis, consulte Regiões e zonas disponíveis.

  • WORKLOAD_POLICY_NAME: o nome da política de carga de trabalho.

  • TOPOLOGY_DISTANCE: a distância máxima da topologia. Especifique um dos seguintes valores:

    • Para colocar instâncias A4 ou H4D no mesmo cluster: CLUSTER

    • Para colocar instâncias A4, A3 Ultra, A3 Mega, A3 High (8 GPUs) ou H4D no mesmo bloco: BLOCK

    • Para colocar instâncias A4, A3 Ultra ou H4D no mesmo sub-bloco: SUBBLOCK

A seguir