Neste documento, descrevemos como criar um grupo gerenciado de instâncias (MIG) com VMs de GPU. Você verá como adicionar VMs de GPU de uma só vez no grupo usando solicitações de redimensionamento.
O uso de uma solicitação de redimensionamento melhora a capacidade de acesso de VMs de GPU em um MIG. Na solicitação, especifique o número de VMs de GPU e a duração da execução dessas VMs. O Dynamic Workload Scheduler (DWS), o mecanismo de programador subjacente, programa solicitações de redimensionamento criadas no Compute Engine com base nas durações solicitadas e na disponibilidade dos recursos. Quando os recursos ficam disponíveis, o MIG cria as VMs automaticamente.
Se o job em execução nessas VMs for concluído antes da duração solicitada, será possível excluí-las. Caso contrário, o MIG excluirá as VMs automaticamente quando a duração terminar.
Você também pode ler sobre outros cenários básicos para criar um MIG.
Antes de começar
- Para garantir que haja cota de GPU suficiente para os recursos solicitados, verifique sua cota de GPU.
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine da seguinte maneira.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
Crie um modelo de instância, que é necessário para criar um MIG. O MIG cria cada VM no grupo com base no modelo de instância. No modelo, especifique a configuração das VMs de GPU e as outras configurações necessárias para usar solicitações de redimensionamento.
Para mais informações sobre modelos de instância, consulte este link.
Crie um MIG e uma solicitação de redimensionamento para adicionar VMs de GPU de uma só vez.
Acesse a página Modelos de instância.
Clique em Criar modelo de instância.
No campo Nome, insira um nome para o modelo de instância.
Na seção Configuração da máquina, faça o seguinte:
- Clique na guia GPUs.
- Na lista Tipo de GPU, selecione o tipo de GPU.
- Na lista Número de GPUs, selecione o número de GPUs.
- Na lista Tipo de máquina, selecione um tipo de máquina.
Opcional: para alterar o valor padrão do tipo ou da imagem do disco de inicialização, na seção Disco de inicialização, clique em Alterar. Depois, siga as instruções para alterar o disco de inicialização.
Expanda a seção Opções avançadas e depois faça o seguinte:
- Expanda a seção Gerenciamento.
- Na lista Reservas, selecione Não usar.
Clique em Criar.
INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância.MACHINE_TYPE
: um tipo de máquina que dá suporte a GPUs. Se você especificar um tipo de máquina N1, inclua a flag--accelerator
para especificar o número e o tipo de GPUs a serem anexadas às VMs.PROJECT_ID
: o ID do projeto em que você quer criar o MIG.INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância.MACHINE_TYPE
: um tipo de máquina que dá suporte a GPUs. Se você especificar um tipo de máquina N1, inclua a flagguestAccelerators
para especificar o número e o tipo de GPUs a serem anexadas às VMs.Acesse a página Grupos de instâncias.
Clique em Criar grupo de instâncias.
Preencha os seguintes campos:
- Nome: digite um nome para o grupo.
- Modelo de instância: selecione o modelo de instância que você configurou na seção anterior
- Na seção Local:
- Selecione Única zona.
- Nas listas Região e Zona, selecione o local em que você quer criar o grupo.
O campo Número de instâncias será ativado para edição depois que você excluir a configuração de escalonamento automático e desativar os reparos nas próximas etapas.
Exclua a configuração de escalonamento automático da seguinte maneira:
- Na seção Escalonamento automático, clique na lista Modo de escalonamento automático e depois em Excluir configuração de escalonamento automático.
- Na caixa de diálogo Excluir configuração de escalonamento automático?, clique em Excluir.
Desative os reparos no MIG da seguinte maneira:
Na seção Ciclo de vida da instância de VM, defina o campo Ação padrão em caso de falha como Nenhuma ação.
Especifique o número de VMs de GPU e a duração da execução para criar uma solicitação de redimensionamento:
No campo Número de instâncias, insira o número de VMs da GPU que você quer criar de uma só vez.
Marque a caixa de seleção Usar solicitação de redimensionamento para criar VMs de uma só vez. Os campos para inserir a duração da execução são exibidos.
No campo Duração da execução solicitada e na lista Unidade, especifique a duração das VMs da GPU. A duração precisa ser de 1 hora a 7 dias.
Clique em Criar.
Crie um MIG zonal usando o comando
instance-groups managed create
.gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template=INSTANCE_TEMPLATE_NAME \ --size=0 \ --zone=ZONE \ --default-action-on-vm-failure=do_nothing
No MIG, crie uma solicitação de redimensionamento usando o comando Beta
instance-groups managed resize-requests create
. Especifique o número de VMs de GPU que você quer e a duração da execução dessas VMs.gcloud beta compute instance-groups managed resize-requests create INSTANCE_GROUP_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --requested-run-duration=RUN_DURATION\ --zone=ZONE
INSTANCE_GROUP_NAME
: o nome do MIG;INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância para VMs de GPU.ZONE
: uma das zonas disponíveis para o Compute Engine.RESIZE_REQUEST_NAME
: o nome da solicitação de redimensionamento.COUNT
: o número de VMs a serem adicionadas de uma só vez no grupo.RUN_DURATION
: a duração da execução das VMs solicitadas. O valor precisa ser formatado com o número de dias, horas, minutos ou segundos, seguido pord
,h
,m
es
, respectivamente. Por exemplo, especifique30m
para 30 minutos ou1d2h3m4s
para um dia, duas horas, três minutos e quatro segundos. O valor precisa estar entre 10 minutos e sete dias.Crie um MIG zonal fazendo uma solicitação
POST
para o métodoinstanceGroupManagers.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME" } ], "name": "INSTANCE_GROUP_NAME", "targetSize": 0, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" } }
No MIG, crie uma solicitação de redimensionamento fazendo uma solicitação
POST
ao método BetainstanceGroupManagerResizeRequests.insert
. No corpo da solicitação, especifique o número de VMs de GPU que você quer criar de uma só vez e a duração da execução dessas VMs.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT, "requestedRunDuration": { "seconds": "RUN_DURATION" } }
PROJECT_ID
: o ID do projeto em que você quer criar o MIG.INSTANCE_GROUP_NAME
: o nome do MIG;INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância para VMs de GPU.ZONE
: uma das zonas disponíveis para o Compute Engine.RESIZE_REQUEST_NAME
: o nome da solicitação de redimensionamento.COUNT
: o número de VMs a serem adicionadas de uma só vez no grupo.RUN_DURATION
: a duração, em segundos, da execução das VMs solicitadas antes que o MIG as exclua automaticamente. O valor precisa estar entre600
, que representa 600 segundos (10 minutos), e604800
, que é 604.800 segundos (sete dias).- Saiba como as solicitações de redimensionamento funcionam em um MIG.
- Saiba como ver, cancelar ou excluir solicitações de redimensionamento em um MIG.
- Saiba como ver informações sobre MIGs e VMs gerenciadas.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Limitações
Analise as limitações para criar uma solicitação de redimensionamento em um MIG.
Criar um MIG e adicionar VMs de GPU de uma só vez
Para criar um MIG e adicionar VMs de GPU de uma só vez no grupo, faça isto:
Criar um modelo de instância
Crie um modelo de instância conforme descrito nesta seção e use-o para criar um MIG.
Console
gcloud
Crie um modelo de instância usando o comando
instance-templates create
.O comando a seguir cria um modelo de instância global com base em uma imagem de VM de aprendizado profundo.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=MACHINE_TYPE \ --image-project=deeplearning-platform-release \ --image-family=common-cu121 \ --maintenance-policy=TERMINATE \ --reservation-affinity=none
Substitua:
REST
Crie um modelo de instância fazendo uma solicitação
POST
ao métodoinstanceTemplates.insert
.A solicitação a seguir cria um modelo de instância global com base em uma imagem de VM de aprendizado profundo.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "mode": "READ_WRITE", "type": "PERSISTENT", "initializeParams": { "sourceImage": "projects/deeplearning-platform-release/global/images/family/common-cu121" } } ], "networkInterfaces": [ { "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ], "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" }, "scheduling": { "onHostMaintenance": "TERMINATE" } } }
Substitua:
Criar um MIG e adicionar VMs de GPU de uma só vez
Crie um MIG conforme descrito nesta seção. Para usar uma solicitação de redimensionamento no MIG, não configure o escalonamento automático e desative os reparos.
Console
gcloud
Substitua:
REST
Substitua:
A solicitação de redimensionamento criada permanece no estado
ACCEPTED
até que o MIG crie todas as VMs de GPU solicitadas. Depois que todas as VMs de GPU forem criadas no grupo, o estado da solicitação mudará paraSUCCEEDED
.A seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-09-24 UTC.
-