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

Este documento explica como criar ou atualizar uma instância de máquina virtual para usar uma plataforma mínima de CPU de linha de base (minCpuPlatform) sempre que disponível.

Os data centers do Google oferecem máquinas host com Intel Xeon que contêm as plataformas de CPU Sandy Bridge, Ivy Bridge, Haswell, Broadwell e Skylake. Cada plataforma de CPU aceita recursos incrementais como AVX-2, AVX-512 etc. Alguns recursos fundamentais relacionados a sistemas, como a velocidade do relógio e o tempo de busca de acesso à memória, podem variar entre as plataformas de CPU. As diferentes zonas aceitam diversas plataformas de CPU. Você pode selecionar uma plataforma de CPU para suas instâncias de VM que atenda às necessidades específicas das suas cargas de trabalho usando a seleção mínima de plataforma.

Para saber mais sobre as plataformas de CPU disponíveis para cada zona, leia as documentações Plataformas de CPU e Regiões e zonas.

Antes de começar

Quando selecionar uma plataforma de CPU mínima

Provavelmente você não precisará selecionar um mínimo de plataformas de CPU para suas VMs. Cada zona do Compute Engine tem uma plataforma de CPU padrão, listada na documentação Regiões e zonas. Qualquer VM recém-criada com uma especificação de CPU mínima receberá automaticamente a plataforma de CPU padrão.

O Google recomenda que você selecione uma plataforma de CPU mínima apenas quando isso acarretar ganhos de desempenho significativos para sua carga de trabalho ou fornecer determinados recursos (AVX2, AVX512 ou MPX) utilizados pelo seu código. A seleção de uma plataforma de CPU mínima específica para sua VM apresenta restrições adicionais que afetam a capacidade de iniciar VMs em zonas que estejam com oferta limitada para algumas plataformas de CPU.

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

Quando você especifica uma plataforma de CPU mínima:

  1. O Compute Engine usa essa plataforma sempre que ela está disponível.
  2. Se o Compute Engine suspender o uso de uma plataforma de CPU em uma zona, a VM poderá continuar sendo executada em uma plataforma de CPU melhor que esteja disponível nessa zona depois que você interromper e reiniciar a VM. A suspensão de uso de plataformas de CPU é uma situação rara e costuma ser notificada com antecedência.

Depois que você selecionar uma plataforma de CPU mínima para uma VM:

  • Sua VM usará essa plataforma de CPU, a menos que você interrompa a VM e altere a plataforma de CPU selecionada para outra opção.
  • Após a migração em tempo real, sua VM manterá a mesma plataforma de CPU selecionada.
  • De vez em quando, o Google poderá atualizar a plataforma de CPU padrão de uma zona. Para mais informações, leia Como suspender o uso ou fazer upgrade de uma plataforma de CPU padrão.

Como suspender o uso ou fazer upgrade de uma plataforma de CPU padrão

De vez em quando, o Google suspende o uso de uma CPU mais antiga ou atualiza a plataforma de CPU padrão em uma determinada zona porque:

  • uma zona cresce em capacidade ao longo do tempo e muda proativamente para uma plataforma de CPU mais nova quando ela é disponibilizada;
  • a cada três a cinco anos, o Google substitui plataformas antigas de CPU por plataformas mais recentes e atualiza a plataforma de CPU padrão para a próxima plataforma mais recente disponível nessa zona.

Quando uma nova região ou zona for criada, será usada a plataforma de CPU mais recente na época.

Quando uma zona tiver seu uso suspenso ou mudar a plataforma de CPU padrão de uma zona, o Google avisará com antecedência aos clientes afetados fornecendo um cronograma detalhado e instruções específicas para fazer a transição para a plataforma mais nova.

Caso o Compute Engine faça a transição da sua VM para uma plataforma mais recente, as VMs nunca usarão uma plataforma mais antiga que a plataforma mínima de CPU especificada e o custo da VM não será alterado.

Especificações

Limitações

  • Os tipos de máquina predefinidos f1-small e g1-small são VMs de núcleo compartilhado para uso geral. Eles não terão as opções de seleção de plataforma de CPU.

Disponibilidade

A disponibilidade de plataformas de CPU específicas varia de uma zona para outra, conforme o hardware disponível em cada zona. Veja a seguir uma lista de plataformas mínimas de CPU compatíveis e a sintaxe válida para cada uma delas:

  • Processadores Intel Xeon E5 (Sandy Bridge): "Intel Sandy Bridge"
  • Processadores Intel Xeon E5 v2 (Ivy Bridge): "Intel Ivy Bridge"
  • Processadores Intel Xeon E5 v3 (Haswell): "Intel Haswell"
  • Processadores Intel Xeon E5 v4 (Broadwell): "Intel Broadwell"
  • Processadores Intel Xeon (Skylake): "Intel Skylake"

Somente determinadas zonas contêm várias plataformas de CPU e estão disponíveis para a seleção de plataforma mínima de CPU. Para ver uma lista completa, consulte a página Regiões e zonas.

Sempre é possível visualizar uma lista de plataformas compatíveis com uma zona específica usando o comando gcloud compute zones describe ou fazendo uma solicitação para a API.

gcloud

Para ver as plataformas de CPU na sua zona:

gcloud compute zones describe [ZONE]

Por exemplo, a saída desse comando lista as plataformas de CPU para a zona us-west1-a:

$ gcloud compute zones describe us-west1-a
availableCpuPlatforms:
- Intel Skylake
- Intel Broadwell
...

API

Na API, faça uma solicitação GET à zona em questão:

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

A resposta contém uma lista de plataformas de CPU compatíveis com essa zona. Por exemplo:

{
 "kind": "compute#zone",
 "id": "2210",
 "creationTimestamp": "2016-06-10T09:30:55.189-07:00",
 "name": "us-west1-a",
 "description": "us-west1-a",
 "status": "UP",
 "region": "https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-west1",
 "selfLink": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-west1-a",
 "availableCpuPlatforms": [
  "Intel Broadwell",
  "Intel Haswell"
 ]
}

Como selecionar uma plataforma de CPU mínima para uma nova VM

É possível especificar esse tipo de plataforma durante a criação da instância.

Console

  1. Acesse a página "Instâncias de VM".

    Acessar a página "Instâncias de VM"

  2. Se solicitado, selecione o projeto e clique em Continuar.
  3. Clique no botão Criar instância.
  4. Na seção Configuração da máquina, clique em Plataforma de CPU e GPU.
  5. Selecione uma opção no menu suspenso Plataforma de CPU.
  6. Continue com o resto do processo de criação da instância.

gcloud

Para criar uma nova VM com uma plataforma de CPU mínima usando a ferramenta de linha de comando gcloud, forneça a nova sinalização --min-cpu-platform. Ao especificar a plataforma de CPU, forneça a plataforma usando o nome amigável, como Intel Broadwell e Intel Haswell. Use a seção de zonas disponíveis para determinar quais plataformas estão disponíveis para cada zona.

Por exemplo, para especificar uma plataforma de CPU mínima de Intel Haswell:

gcloud compute instances create example-instance \
    --zone europe-west1-b \
    --min-cpu-platform "Intel Haswell"

API

Na API de Compute Engine, inclua a propriedade minCpuPlatform como parte do corpo da solicitação. O valor de minCpuPlatform precisa ser o nome amigável da plataforma, como Intel Haswell, Intel Broadwell e Intel Sandy Bridge.

Por exemplo, um corpo de solicitação ficaria da seguinte maneira:

"name": "[INSTANCE_NAME]",
"machineType": "zones/[ZONE]/machineTypes/[MACHINE_TYPE]",
"minCpuPlatform": "Intel Haswell",
"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]"
   }
 }]

Como configurar uma plataforma de CPU mínima para uma VM interrompida

Para definir uma plataforma mínima de CPU para uma instância existente, primeiro pare a instância.

Depois de parar a instância, siga as instruções abaixo para definir uma plataforma mínima de CPU e, em seguida, certifique-se de reiniciar a instância.

Console

  1. Acesse a página "Instâncias de VM".

    Acessar a página "Instâncias de VM"

  2. Se solicitado, selecione o projeto e clique em Continuar.
  3. Selecione a instância interrompida a ser alterada.
  4. Clique em Editar para editar a instância.
  5. Na seção Configuração da máquina, clique em Plataforma de CPU e GPU.
  6. Selecione uma opção no menu suspenso Plataforma de CPU.
  7. Salve as alterações.
  8. Reinicie a instância.

gcloud

Use o subcomando update, seguido pela sinalização --min-cpu-platform. Especifique o nome amigável das plataformas, como Intel Haswell, Intel Broadwell e Intel Sandy Bridge. Por exemplo:

gcloud compute instances update [INSTANCE_NAME] \
    --min-cpu-platform "Intel Haswell"

API

Para definir a plataforma de CPU mínima na API, faça uma solicitação de POST para o método setMinCpuPlatform e defina a propriedade minCpuPlatform no corpo da solicitação. O valor da propriedade é o nome amigável da plataforma de CPU, como Intel Haswell, Intel Broadwell e Intel Sandy Bridge. Por exemplo:

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE]/setMinCpuPlatform

{
  "minCpuPlatform": "Intel Haswell"
}

Como 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 instâncias de VM 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 a página "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 Plataforma de CPU e GPU.
  5. Selecione uma opção no menu suspenso Plataforma de CPU.
  6. Continue com o processo de criação do modelo de instância.

gcloud

Usando a ferramenta gcloud, forneça a sinalização --min-cpu-platform ao criar um modelo de instância. Por exemplo:

gcloud compute instance-templates create example-template \
    --min-cpu-platform "Intel Haswell"

API

Na API, adicione minCpuPlatform como parte da solicitação para criar um novo modelo de instância na API.

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/n1-standard-4",
  "minCpuPlatform": "Intel Haswell",
  "networkInterfaces": [
    {
      "network": "global/networks/default",
      "accessConfigs":
      [
        {
          "name": "external-IP",
          "type": "ONE_TO_ONE_NAT"
        }
      ]
    }
  ],
  "disks":
  [
    {
      "type": "PERSISTENT",
      "boot": true,
      "mode": "READ_WRITE",
      "initializeParams":
      {
        "sourceImage": "projects/debian-cloud/global/images/family/debian-8"
      }
    }
  ]
  }
}

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine