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


Esta página explica como criar ou atualizar uma instância de máquina virtual (VM) para usar uma plataforma mínima de CPU em vez da plataforma padrão.

Os data centers do Google oferecem diferentes gerações de processadores CPU . Cada plataforma de CPU suporta recursos incrementais como Advanced Vector Extensions — por exemplo, AVX2 e AVX-512. Além disso, alguns recursos fundamentais relacionados ao sistema, como velocidade do clock e tempo de busca de acesso à memória, podem variar entre as plataformas de CPU.

Cada série de máquinas 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 diversas plataformas de CPU disponíveis para uma série de máquinas, você poderá selecionar uma plataforma de CPU mínima ao criar uma VM usando um tipo de máquina dessa série de máquinas. A disponibilidade da família de máquinas, séries, regiões e zonas determinam o que você pode escolher para a plataforma mínima de CPU.

Especificar uma plataforma mínima de CPU é útil se sua 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 onde você pode criar suas VMs.

Antes de começar

  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:

    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

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

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

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Funções e permissões necessárias

Para obter as permissões necessárias para alterar a plataforma mínima de CPU, peça ao administrador para conceder a você as seguintes funções do IAM no projeto:

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

Para obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .

Você também poderá obter as permissões necessárias por meio de funções personalizadas ou outras funções predefinidas .

Quando selecionar uma plataforma mínima de CPU

Muito provavelmente, você não precisa selecionar uma plataforma mínima de CPU. Cada zona do Compute Engine tem uma plataforma de CPU padrão para cada série de máquinas. Ocasionalmente, o Google altera a CPU padrão de uma zona quando novos servidores são adicionados. Se você não especificar uma plataforma mínima de CPU para uma VM, a VM obterá a plataforma de CPU padrão associada ao tipo de máquina e à zona.

O Google recomenda que você selecione uma plataforma de CPU mínima apenas nos seguintes casos:

  • Quando a plataforma mínima de CPU oferece ganhos significativos de desempenho para sua carga de trabalho ou se fornece recursos como AVX2 ou AVX-512 que seu código usa.
  • Ao criar VMs que consomem reservas , você deve especificar a mesma plataforma de CPU da reserva.

A seleção de uma plataforma mínima de CPU para sua VM introduz restrições que afetam sua capacidade de iniciar VMs em zonas onde algumas plataformas de CPU têm fornecimento limitado.

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

O Compute Engine sempre usa a plataforma mínima de CPU quando disponível. Se o Google alterar uma plataforma de CPU em uma zona, sua VM poderá continuar a ser executada em uma plataforma de CPU mais recente que esteja disponível nessa zona se você parar e reiniciar a VM.

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

Limitações

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

Disponibilidade de plataformas de CPU

A disponibilidade de plataformas de CPU varia entre zonas e é baseada no hardware e na série de máquinas disponíveis em cada zona. A lista a seguir mostra as plataformas de CPU mínimas suportadas e a sintaxe válida para cada plataforma:

  • 5ª Geração: Processadores Intel Xeon (Emerald Rapids): "Intel Emerald Rapids"
  • 4ª Geração: Processadores Intel Xeon (Sapphire Rapids): "Intel Sapphire Rapids"
  • 3ª Geração: Processadores Intel Xeon (Ice Lake): "Intel Ice Lake"
  • 2ª Geração: Processadores Intel Xeon (Cascade Lake): "Intel Cascade Lake"
  • 1ª 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"

Veja as plataformas de CPU disponíveis por zona

Somente determinadas regiões e zonas contêm diversas plataformas de CPU para a mesma série de máquinas e estão disponíveis para seleção de plataforma de CPU mínima. Você pode visualizar uma lista de plataformas compatíveis para uma zona específica usando a CLI gcloud ou 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 de nó.

gcloud

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

    gcloud compute zones describe ZONE
    

    Substitua ZONE pelo nome da zona para verificar plataformas de CPU disponíveis — por exemplo, europe-west10-a .

    A seguinte saída deste comando lista 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
    
    ...
    

DESCANSAR

  • 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 plataformas de CPU disponíveis.

    A seguinte saída deste comando lista as plataformas de CPU suportadas 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

Ocasionalmente, o Google altera uma plataforma de CPU ou atualiza a plataforma de CPU padrão. À medida que a capacidade de uma zona aumenta, o Google muda proativamente para uma plataforma de CPU mais recente à medida que a plataforma fica disponível. Ele atualiza a plataforma de CPU padrão para a próxima plataforma mais recente disponível naquela zona.

Quando uma plataforma de CPU padrão para uma zona muda, 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 que a plataforma mínima de CPU especificada. Se o Compute Engine fizer a transição da sua VM para uma plataforma mais recente, o custo da VM não mudará.

Selecione uma plataforma mínima de CPU 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, você pode especificar a plataforma mínima de CPU que deseja que a VM use.

Console

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

    Vá para 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 da VM.

gcloud

  • Para criar uma nova VM que use uma plataforma mínima de CPU, 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 o seguinte:

    • INSTANCE : o nome da instância que você deseja criar
    • ZONE : o nome da zona onde você deseja criar sua instância — por exemplo, europe-west1-b
    • PLATFORM : o nome amigável da plataforma mínima de CPU que você deseja que a instância use — por exemplo, Intel Sandy Bridge

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

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

DESCANSAR

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

    Por exemplo, um corpo de solicitação pode ter esta aparência:

    "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 o seguinte:

    • INSTANCE : o nome da nova VM
    • ZONE : o nome da zona onde você deseja criar sua VM — por exemplo, europe-west1-b
    • MACHINE_TYPE : o tipo de máquina da nova VM
    • PLATFORM : o nome amigável da plataforma mínima de CPU que você deseja que a VM use — por exemplo, Intel Ivy Bridge

      Para 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

Defina uma plataforma mínima de CPU para uma VM existente

Você pode definir uma plataforma mínima de CPU para uma VM existente. Você deve parar a VM antes de definir a plataforma mínima de CPU.

Console

  1. Acesse a página de instâncias de VM .

    Acesse as instâncias de VM

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

  3. Selecione a VM que você deseja alterar.

  4. Clique em Parar .

  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 de CPU , selecione uma opção.

  8. Salve suas 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 para a qual você deseja especificar uma plataforma mínima de CPU.

  2. Para especificar uma plataforma mínima de CPU, 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 amigável da plataforma mínima de CPU que você deseja que a VM use, por exemplo, Intel Cascade Lake .

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

    gcloud compute instances start INSTANCE
    

DESCANSAR

  1. Para parar uma VM, construa 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 o seguinte:

    • PROJECT_ID : o ID do projeto
    • ZONE : a zona onde sua VM está localizada
    • INSTANCE : o nome da VM para a qual você deseja especificar uma plataforma mínima de CPU
  2. Para definir a plataforma mínima de CPU, construa 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 amigável da plataforma mínima de CPU que você deseja que a VM use, por exemplo, Intel Skylake .

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

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

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

Você pode 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, você deverá interrompê-la antes de fazer alterações.

Console

  1. Acesse a página de instâncias de VM .

    Acesse as instâncias de VM

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

  3. Selecione a VM que você deseja alterar.

  4. Clique em Parar .

  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ê deseja alterar.

  2. Para redefinir a plataforma mínima de CPU, 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
    

DESCANSAR

  1. Para parar uma VM, construa 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 o seguinte:

    • PROJECT_ID : o ID do projeto
    • ZONE : a zona onde sua VM está localizada
    • INSTANCE : o nome da VM que você deseja alterar
  2. Para redefinir a plataforma mínima de CPU, construa uma solicitação POST para o método setMinCpuPlatform . No corpo da solicitação, configure 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 reiniciar a VM atualizada, crie uma solicitação POST usando o método instances.start :

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

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

Se você usar grupos de instâncias gerenciadas , poderá especificar uma plataforma mínima de CPU para VMs em 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 .

    Vá para modelos de instância

  2. Se solicitado, selecione seu 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 de 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 o seguinte:

    • TEMPLATE_NAME : o nome do modelo de instância
    • PLATFORM : o nome amigável da plataforma mínima de CPU que você deseja que a instância use — por exemplo, Intel Skylake

DESCANSAR

  • Adicione minCpuPlatform como parte de sua 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 obrigatórios para a criação de 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"
          }
        }
      ]
      }
    }

O que vem a seguir