Especificar uma plataforma de CPU mínima para instâncias de VM


Nesta página, você aprenderá a criar ou atualizar uma instância de máquina virtual (VM) para usar uma plataforma de CPU mínima em vez da plataforma padrão.

Os data centers do Google oferecem diferentes gerações de processadores de CPU. Cada plataforma de CPU oferece suporte para recursos incrementais, como Extensões vetoriais avançadas. Por exemplo, AVX2 e AVX-512. Além disso, alguns recursos fundamentais relacionados a sistemas, como a velocidade do clock e o tempo de busca de acesso à memória, podem variar entre as plataformas de CPU.

Cada série de máquina está associada a uma ou mais plataformas de CPU. Por exemplo, as VMs N2 podem ser executadas nas CPUs Ice Lake ou Cascade Lake. Se houver várias plataformas de CPU disponíveis para uma série de máquinas, será possível selecionar uma plataforma mínima de CPU ao criar uma VM usando um tipo de máquina dessa série de máquinas. A disponibilidade da família, série, região e zonas de máquinas determina o que é possível escolher para a plataforma mínima de CPU.

Especificar uma plataforma mínima de CPU será útil se a carga de trabalho exigir os ganhos de desempenho oferecidos pela geração de um processador específico. No entanto, especificar uma plataforma mínima de CPU pode limitar as zonas em que é possível criar as VMs.

Antes de começar

  • 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.

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud, não é necessário configurar a autenticação.

    gcloud

    1. Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init
    2. Defina uma região e uma zona padrão.

    REST

    Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.

      Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init

Papéis e permissões necessárias

Se quiser receber as permissões necessárias para alterar a plataforma mínima de CPU, solicite ao administrador os seguintes papéis do IAM no projeto:

  • administrador de instâncias do Compute(v1) (roles/compute.instanceAdmin.v1)
  • Para se conectar a uma VM que possa ser executada como uma conta de serviço: Usuário da conta de serviço (v1) (papel roles/iam.serviceAccountUser)

Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.

Quando selecionar uma plataforma de CPU mínima

Provavelmente, você não precisará selecionar uma plataforma de CPU mínima. Cada zona do Compute Engine tem uma plataforma de CPU padrão para cada série de máquinas. Às vezes, o Google muda a CPU padrão de uma zona quando novos servidores são adicionados. Se você não especificar uma plataforma de CPU mínima para uma VM, ela vai usar a plataforma de CPU padrão associada ao tipo de máquina e à zona.

O Google recomenda escolher uma plataforma de CPU mínima apenas se ela oferecer ganhos de desempenho significativos para a carga de trabalho ou se fornecer recursos como AVX2 ou AVX-512 que seu código utiliza. A seleção de uma plataforma de CPU mínima para a VM impõe restrições que afetam a capacidade de iniciar VMs em zonas em que algumas plataformas de CPU têm oferta limitada.

Como funciona a seleção de uma plataforma de CPU mínima

O Compute Engine usa essa plataforma sempre que ela está disponível. Se o Google alterar uma plataforma de CPU em uma zona, a VM poderá continuar sendo executada em uma plataforma de CPU mais recente disponível nessa zona caso você pare e reinicie a VM.

Depois que você selecionar uma plataforma de CPU mínima para uma VM, ela usará essa plataforma de CPU, a menos que você interrompa a VM e altere a plataforma de CPU. Durante uma migração em tempo real, sua VM retém a plataforma de CPU selecionada.

Limitações

  • Cada região e zona oferece suporte a várias plataformas de CPU, mas uma delas pode não oferecer todas as plataformas de CPU.
  • Não é possível especificar uma plataforma de CPU mínima para VMs que usam nós de locatário individual.
  • Não é possível selecionar uma plataforma de CPU mínima para VMs E2 predefinidas ou personalizadas.
  • Não é possível selecionar uma plataforma de CPU mínima para as seguintes VMs de núcleo compartilhado de uso geral:
    • e2-micro
    • e2-small
    • e2-medium
    • f1-micro
    • g1-small

Disponibilidade de plataformas de CPU

A disponibilidade de plataformas de CPU varia de acordo com as zonas e é baseada no hardware e na série de máquinas disponível em cada zona. A lista a seguir mostra as plataformas mínimas de CPU compatíveis e a sintaxe válida em cada uma delas:

  • Processadores ARM Ampere Altra: "Ampere Altra"
  • 4ª geração: processadores Intel Xeon (Sapphire Rapids): "Intel Sapphire Rapids"
  • 3a geração: processadores Intel Xeon (Ice Lake): "Intel Ice Lake"
  • 2a geração: processadores Intel Xeon (Cascade Lake): "Intel Cascade Lake"
  • Primeira geração: processadores Intel Xeon (Skylake): "Intel Skylake"
  • Processadores Intel Xeon E5 v4 (Broadwell): "Intel Broadwell"
  • Processadores Intel Xeon E5 v3 (Haswell): "Intel Haswell"
  • Processadores Intel Xeon E5 v2 (Ivy Bridge): "Intel Ivy Bridge"
  • Processadores Intel Xeon E5 (Sandy Bridge): "Intel Sandy Bridge"
  • 4ª geração: processadores AMD EPYC Genoa: "AMD Genoa"
  • 3ª geração: processadores AMD EPYC Milan: "AMD Milan"
  • 2ª geração: processadores AMD EPYC Rome: "AMD Rome"

Consultar as plataformas de CPU disponíveis por zona

Apenas algumas regiões e zonas contêm várias plataformas de CPU para a mesma série de máquinas e estão disponíveis para seleção de plataforma mínima de CPU. É possível exibir uma lista de plataformas compatíveis com uma zona específica usando a gcloud CLI ou a REST.

Se você estiver usando nós de locatário individual, cada nó usará a plataforma de CPU correspondente ao tipo de nó definido no modelo.

gcloud

  • Para ver as plataformas de CPU disponíveis na zona, use o comando gcloud compute zones describe:

    gcloud compute zones describe ZONE
    

    Substitua ZONE pelo nome da zona para verificar se há plataformas de CPU disponíveis. Por exemplo,europe-west10-a.

    A saída a seguir deste comando lista as plataformas de CPU para a zona europe-west10-a:

    gcloud compute zones describe europe-west10-a
    availableCpuPlatforms:
    - Intel Broadwell
    - Intel Cascade Lake
    - Intel Ice Lake
    - AMD Milan
    - AMD Rome
    - Intel Skylake
    
    ...
    

REST

  • Faça uma solicitação GET para a zona que você está considerando:

    GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/ZONE
    

    Substitua ZONE pelo nome da zona para verificar se há plataformas de CPU disponíveis.

    A seguinte saída deste comando lista as plataformas de CPU compatíveis para uma zona:

    {
      "kind": "compute#zone",
      "id": "2210",
      "creationTimestamp": "1969-12-31T09:30:55.189-07:00",
      "name": "europe-west10-a",
      "description": "europe-west10-a",
      "status": "UP",
      "region": "https://www.googleapis.com/compute/v1/projects/myproject/regions/europe-west10-a",
      "selfLink": "https://www.googleapis.com/compute/v1/projects/myproject/zones/europe-west10-a",
      "availableCpuPlatforms": [
       "Intel Broadwell",
       "Intel Cascade Lake",
       "Intel Ice Lake",
       "AMD Milan",
       "AMD Rome",
       "Intel Skylake"
      ],
      "supportsPzs": true
     }

Mudanças padrão em uma plataforma de CPU

De vez em quando, o Google altera uma plataforma de CPU ou atualiza a plataforma de CPU padrão. À medida que a capacidade de uma zona cresce, o Google muda proativamente para uma plataforma de CPU mais recente à medida que a plataforma é disponibilizada. Ele atualiza a plataforma de CPU padrão para a próxima mais recente disponível nessa zona.

Quando uma plataforma de CPU padrão de zona é alterada, o Google notifica os clientes afetados com um cronograma detalhado e instruções específicas para fazer a transição para a plataforma mais recente.

As VMs nunca usam uma plataforma mais antiga do que a plataforma de CPU mínima especificada. Se o Compute Engine fizer a transição da sua VM para uma plataforma mais recente, o custo da VM não será alterado.

Selecionar uma plataforma de CPU mínima para uma nova VM

Ao criar uma VM, você escolhe uma série e um tipo de máquina. A série de máquinas pode ser oferecida em mais de uma plataforma de CPU. Nesse caso, é possível especificar a plataforma de CPU mínima a ser usada pela VM.

Console

  1. No console do Google Cloud, acesse a página Criar uma instância.

    Acesse "Criar uma instância"

  2. Na seção Configuração da máquina, expanda a seção Configurações avançadas.

  3. Na lista Plataforma de CPU, selecione uma plataforma para a CPU da VM.

  4. Continue com o restante do processo de criação do VM.

gcloud

  • Para criar uma nova VM que use uma plataforma de CPU mínima, use o comando gcloud compute instances create e forneça a sinalização --min-cpu-platform:

    gcloud compute instances create INSTANCE \
        --zone=ZONE \
        --min-cpu-platform="PLATFORM"

    Substitua:

    • INSTANCE: o nome da instância que você quer criar.
    • ZONE: o nome da zona em que você quer criar a instância. Por exemplo, europe-west1-b.
    • PLATFORM: o nome fácil da plataforma de CPU mínima que você quer para a instância. Por exemplo, Intel Sandy Bridge.

      Se você quiser limpar a especificação mínima da plataforma de CPU, substitua PLATFORM por AUTOMATIC.

      Use a seção de zonas disponíveis para saber quais plataformas estão disponíveis para cada zona.

REST

  • Use o método instances.insert e inclua a propriedade minCpuPlatform como parte do corpo da solicitação.

    Por exemplo, um corpo da solicitação ficaria assim:

    "name": "INSTANCE",
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "minCpuPlatform": "PLATFORM",
    "networkInterfaces": [{
      "accessConfigs": [{
        "type": "ONE_TO_ONE_NAT",
        "name": "External NAT"
       }],
      "network": "global/networks/default"
    }],
    "disks": [{
       "autoDelete": "true",
       "boot": "true",
       "type": "PERSISTENT",
       "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
       }
     }]

    Substitua:

    • INSTANCE: o nome da nova VM.
    • ZONE: o nome da zona em que você quer criar a VM. Por exemplo, europe-west1-b.
    • MACHINE_TYPE: o tipo de máquina da nova VM.
    • PLATFORM: o nome fácil da plataforma de CPU mínima que você quer para a VM, como Intel Ivy Bridge.

      Se você quiser limpar a especificação mínima da plataforma de CPU, substitua PLATFORM por AUTOMATIC.

    • IMAGE_PROJECT: o projeto de imagem da família de imagens.

    • IMAGE_FAMILY: a família de imagens da imagem a ser usada para criar a VM.

Definir uma plataforma de CPU mínima para uma VM atual

É possível definir uma plataforma de CPU mínima para uma VM atual. É necessário interromper a VM antes de definir a plataforma mínima de CPU.

Console

  1. Acesse a página Instâncias da VM.

    Acessar instâncias de VM

  2. Se solicitado, selecione o projeto e clique em Continuar.

  3. Selecione a VM que você quer alterar.

  4. Clique em Stop.

  5. Para editar a VM, clique em Editar.

  6. Na seção Configuração da máquina, clique em Configurações avançadas.

  7. No menu suspenso Plataforma da CPU, selecione uma opção.

  8. Salve as alterações.

  9. Selecione a VM que você alterou.

  10. Clique em Iniciar / continuar.

gcloud

  1. Para interromper uma VM, use o comando gcloud compute instances stop:

    gcloud compute instances stop INSTANCE
    

    Substitua INSTANCE pelo nome da VM que você quer usar para especificar uma plataforma mínima de CPU.

  2. Para especificar uma plataforma de CPU mínima, use o comando gcloud compute instances update e forneça a sinalização --min-cpu-platform:

    gcloud compute instances update INSTANCE \
        --min-cpu-platform="PLATFORM"

    Substitua PLATFORM pelo nome fácil da plataforma de CPU mínima que você quer para a VM, como Intel Cascade Lake.

  3. Para iniciar a VM atualizada, use o comando gcloud compute instances start:

    gcloud compute instances start INSTANCE
    

REST

  1. Para interromper uma VM, crie uma solicitação POST usando o método instances.stop:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE/stop
    

    Substitua:

    • PROJECT_ID: o ID do projeto
    • ZONE: a zona em que a VM está localizada
    • INSTANCE: o nome da VM que você quer usar para especificar uma plataforma mínima de CPU.
  2. Para definir a plataforma mínima de CPU, crie uma solicitação POST para o método setMinCpuPlatform e defina a propriedade minCpuPlatform no corpo da solicitação:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE/setMinCpuPlatform
    {
      "minCpuPlatform": PLATFORM
    }
    

    Substitua PLATFORM pelo nome fácil da plataforma de CPU mínima que você quer para a VM, como Intel Skylake.

  3. Para reiniciar a VM, crie uma solicitação POST usando o método instances.start:

    POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE/start
    

Remover uma configuração mínima de plataforma de CPU

É possível atualizar uma VM para usar a plataforma de CPU padrão em vez da plataforma de CPU mínima. Se a VM estiver em execução, será preciso interrompê-la antes de fazer alterações.

Console

  1. Acesse a página Instâncias da VM.

    Acessar instâncias de VM

  2. Se solicitado, selecione o projeto e clique em Continuar.

  3. Selecione a VM que você quer alterar.

  4. Clique em Stop.

  5. Para editar a VM, clique em Editar.

  6. Na seção Configuração da máquina, clique em Configurações avançadas.

  7. Altere a opção Plataforma de CPU para Automático.

  8. Selecione a VM que você alterou.

  9. Clique em Iniciar / continuar.

gcloud

  1. Para interromper uma VM, use o comando gcloud compute instances stop:

    gcloud compute instances stop INSTANCE
    

    Substitua INSTANCE pelo nome da VM que você quer alterar.

  2. Para redefinir a plataforma de CPU mínima, use o comando gcloud compute instances update e defina a sinalização --min-cpu-platform como AUTOMATIC:

    gcloud compute instances update INSTANCE \
        --min-cpu-platform="AUTOMATIC"
    
  3. Para iniciar a VM atualizada, use o comando gcloud compute instances start:

    gcloud compute instances start INSTANCE
    

REST

  1. Para interromper uma VM, crie uma solicitação POST usando o método instances.stop:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE/stop
    

    Substitua:

    • PROJECT_ID: o ID do projeto
    • ZONE: a zona em que a VM está localizada
    • INSTANCE: o nome da VM que você quer alterar.
  2. Para redefinir a plataforma de CPU mínima, faça uma solicitação de POST para o método setMinCpuPlatform. No corpo da solicitação, defina o valor da propriedade minCpuPlatform como AUTOMATIC.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE/setMinCpuPlatform
    {
      "minCpuPlatform": AUTOMATIC
    }
    
  3. Para iniciar a VM atualizada, use o comando gcloud compute instances start:

    gcloud compute instances start INSTANCE
    

Especificar uma plataforma de CPU mínima em modelos de instância

Se você usar grupos de instâncias gerenciadas, poderá especificar uma plataforma mínima de CPU para VMs dentro de um grupo de instâncias gerenciadas.

Para especificar uma plataforma mínima de CPU, crie um modelo de instância que inclua a propriedade minCpuPlatform.

Console

  1. Acesse a página Modelos de instância.

    Acesse "Modelos de instância"

  2. Se solicitado, selecione o projeto e clique em Continuar.

  3. Clique em Criar modelo de instância.

  4. Na seção Configuração da máquina, clique em Configurações avançadas.

  5. No menu suspenso Plataforma da CPU, selecione uma opção.

  6. Continue com o processo de criação do modelo de instância.

gcloud

  • Ao criar um modelo de instância usando o comando gcloud compute instance-templates create, forneça a sinalização --min-cpu-platform:

    gcloud compute instance-templates create TEMPLATE_NAME \
        --min-cpu-platform="PLATFORM"

    Substitua:

    • TEMPLATE_NAME: o nome do modelo de instância.
    • PLATFORM: o nome fácil da plataforma de CPU mínima que você quer para a instância. Por exemplo, Intel Skylake.

REST

  • Adicione o minCpuPlatform como parte da solicitação para criar um novo modelo de instância usando o método instanceTemplates.insert.

    Por exemplo, o modelo de instância a seguir contém os campos mínimos necessários para criar um novo modelo com a adição da propriedade minCpuPlatform:

    {
    "name": "example-template",
    "properties": {
      "machineType": "zones/us-central1-a/machineTypes/n2d-standard-2",
      "minCpuPlatform": "AMD Milan",
      "networkInterfaces": [
        {
          "network": "global/networks/default"
        }
      ],
      "disks":
      [
        {
          "type": "PERSISTENT",
          "boot": true,
          "mode": "READ_WRITE",
          "initializeParams":
          {
            "sourceImage": "projects/debian-cloud/global/images/family/debian-11"
          }
        }
      ]
      }
    }

A seguir