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

Neste documento, há informações sobre 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

É muito provável que você não precise selecionar uma plataforma de CPU mínima 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 mínima de CPU:

  1. O Compute Engine usa essa plataforma mínima 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 usar o comando gcloud compute zones describe ou fazer uma solicitação à API para ver uma lista de plataformas compatíveis com uma zona específica.

gcloud

Por exemplo, o comando a seguir lista as plataformas de CPU para a zona us-west1-a:

gcloud compute zones describe us-west1-a

availableCpuPlatforms:
- Intel Broadwell
- Intel Haswell
...

API

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

GET https://www.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://www.googleapis.com/compute/v1/projects/myproject/regions/us-west1",
 "selfLink": "https://www.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

Você pode especificar uma plataforma mínima de CPU durante a criação da instância.

Console

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

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

  2. Se solicitado, selecione o projeto e clique em Continuar.
  3. Clique no botão Criar instância.
  4. Na seção Tipo de máquina, clique em Personalizar.
  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 mínima de CPU usando a ferramenta de linha de comando gcloud, forneça a nova sinalização --min-cpu-platform. Ao especificar a plataforma de CPU, informe o nome amigável dela, 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 a plataforma mínima de CPU de Intel Haswell:

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

API

Na Compute Engine API, 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 da solicitação ficaria assim:

"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 interrompa 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 VMs".

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

  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 Tipo de máquina, clique em Personalizar.
  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 configurar a plataforma de CPU mínima na API, faça uma solicitação POST ao 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://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE]/setMinCpuPlatform

{
  "minCpuPlatform": "Intel Haswell"
}

Como especificar 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 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".

    Acessar 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 Tipo de máquina, clique em Personalizar.
  5. Selecione uma opção no menu suspenso Plataforma de CPU.
  6. Continue com o processo de criação de 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"
      }
    }
  ]
  }
}

Próximas etapas

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

Enviar comentários sobre…

Documentação do Compute Engine