Especifica una plataforma de CPU mínima para instancias de VM

En este documento, se explica cómo crear o actualizar una instancia de máquina virtual para usar un modelo de referencia de plataforma de CPU mínima de (minCpuPlatform) siempre que esté disponible.

Los centros de datos de Google ofrecen máquinas anfitrionas con Intel Xeon que contienen plataformas de CPU Sandy Bridge, Ivy Bridge, Haswell, Broadwell y Skylake. Cada plataforma de CPU es compatible con funciones nuevas como AVX-2, AVX-512, etcétera. Algunas funciones principales relacionadas con los sistemas, como la velocidad del reloj y el tiempo de búsqueda de acceso a la memoria, pueden variar entre las distintas plataformas de CPU. Las diferentes zonas admiten varias plataformas de CPU, y puedes seleccionar una plataforma de CPU para las instancias de VM que, mediante una selección de plataforma mínima, sean compatibles con las necesidades específicas de tus cargas de trabajo.

Para obtener más información sobre las plataformas de CPU disponibles en cada zona, consulta Plataformas de CPU y Regiones y zonas.

Antes de comenzar

Cuándo seleccionar una plataforma de CPU mínima

Es probable que no tengas que seleccionar plataformas de CPU mínima para tus VM. Cada zona de Compute Engine tiene una plataforma de CPU predeterminada que se incluye en Regiones y zonas. Todas las VM que se creen sin una especificación de CPU mínima obtendrán la plataforma de CPU predeterminada de forma automática.

Google recomienda que solo selecciones una plataforma de CPU mínima si esta supone ventajas de rendimiento significativas para la carga de trabajo o proporciona ciertas funciones que usa el código, como AVX2, AVX512 o MPX. Cuando se selecciona una plataforma de CPU mínima específica para la VM, se agregan restricciones adicionales que afectan la capacidad de iniciar VM en ciertas zonas en las que hay disponibilidad limitada de algunas plataformas de CPU.

Cómo funciona la selección de una plataforma de CPU mínima

Cuando especificas una plataforma de CPU mínima, sucede lo siguiente:

  1. Compute Engine siempre usa la plataforma de CPU mínima cuando está disponible.
  2. Si Compute Engine retira una plataforma de CPU de una zona, la VM puede continuar con su ejecución en una plataforma de CPU mejor que esté disponible en esa zona, para lo que debes detener y reiniciar la VM. El retiro de plataformas de CPU es poco frecuente, y se te notificará con anticipación.

Una vez que elijas una plataforma de CPU mínima para una VM, sucederá lo siguiente:

  • La VM usará esta plataforma de CPU, a menos que la detengas y cambies la plataforma de CPU a otra.
  • Durante una migración en vivo, la VM mantiene la misma plataforma de CPU seleccionada.
  • En ocasiones, Google puede actualizar la plataforma de CPU predeterminada para una zona. Consulta Retira o actualiza una plataforma de CPU predeterminada a fin de obtener más información.

Retira o actualiza una plataforma de CPU predeterminada

En ocasiones, Google retira una plataforma de CPU anterior o actualiza la plataforma de CPU predeterminada en una zona en particular por los siguientes motivos:

  • Una zona aumenta su capacidad con el tiempo y cambia a una plataforma de CPU nueva de forma proactiva cuando esta está disponible.
  • Luego de un período de entre 3 y 5 años, Google reemplaza las plataformas de CPU más antiguas por versiones nuevas y actualiza la plataforma de CPU predeterminada a la plataforma más reciente que esté disponible en esa zona.

En cualquier momento, las regiones o zonas nuevas que se compilen usarán la plataforma de CPU más reciente en ese momento.

Cuando se retira una zona o se cambia la plataforma de CPU predeterminada de una zona, Google notificará con anterioridad a los clientes afectados y proporcionará un cronograma detallado, además de instrucciones específicas para realizar la transición a la plataforma nueva.

Las VM nunca usan una plataforma anterior a la plataforma de CPU mínima que especificas, y el costo de la VM no cambiará si Compute Engine reemplaza la plataforma de la VM por una más reciente.

Especificaciones

Limitaciones

  • Los tipos predefinidos de máquinas f1-small y g1-small son VM de uso general con núcleo compartido. Estas no cuentan con opciones de selección de plataforma de CPU.

Disponibilidad

La disponibilidad de plataformas de CPU específicas varía según la zona en función del hardware disponible en cada una. A continuación, se incluye una lista de las plataformas de CPU mínimas admitidas y la sintaxis válida para cada una:

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

Solo ciertas zonas contienen varias plataformas de CPU y están disponibles para la selección de plataforma de CPU mínima. Si deseas obtener una lista completa, consulta la página Regiones y zonas.

Siempre puedes acceder a una lista de las plataformas que se admiten en una zona específica mediante el comando gcloud compute zones describe o una solicitud a la API.

gcloud

Para ver las plataformas de CPU que están disponibles en tu zona, usa el siguiente comando:

gcloud compute zones describe [ZONE]
    

Por ejemplo, el resultado de este comando muestra las plataformas de CPU de la zona us-west1-a:

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

API

En la API, realiza una solicitud GET a la zona en cuestión:

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

La respuesta contiene una lista de las plataformas de CPU admitidas en esa zona. Por ejemplo:

{
     "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"
     ]
    }
    

Selecciona una plataforma de CPU mínima para una VM nueva

Puedes especificar una plataforma de CPU mínima durante la creación de una instancia.

Console

  1. Ve a la página Instancias de VM

    Ir a la página Instancias de VM

  2. Si se te solicita, selecciona el proyecto y haz clic en Continuar.
  3. Haz clic en el botón Crear instancia.
  4. En la sección Configuración de la máquina, haz clic en Plataforma de CPU y GPU.
  5. Selecciona una opción del menú desplegable Plataforma de CPU.
  6. Continúa con el resto del proceso de creación de la instancia.

gcloud

Para crear una VM con una plataforma de CPU mínima mediante la herramienta de línea de comandos de gcloud, proporciona la marca nueva --min-cpu-platform. Cuando especifiques la plataforma de CPU, proporciona un nombre descriptivo para ella, como Intel Broadwell y Intel Haswell. Usa la sección zonas disponibles para determinar qué plataformas están disponibles en cada zona.

Por ejemplo, para especificar una plataforma de CPU mínima que se llame Intel Haswell, sigue estos pasos:

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

API

En la API de Compute Engine, incluye la propiedad minCpuPlatform como parte del cuerpo de la solicitud. El valor de minCpuPlatform debe ser el nombre descriptivo de la plataforma, como Intel Haswell, Intel Broadwell y Intel Sandy Bridge.

Por ejemplo, el cuerpo de una solicitud puede verse de la siguiente manera:

"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]"
       }
     }]
    

Configura una plataforma de CPU mínima para una VM detenida

Puedes establecer una plataforma de CPU mínima para una instancia existente si primero detienes la instancia.

Una vez que la instancia esté detenida, sigue las instrucciones que se encuentran a continuación para establecer una plataforma de CPU mínima y, luego, asegúrate de reiniciar la instancia.

Console

  1. Ve a la página Instancias de VM

    Ir a la página Instancias de VM

  2. Si se te solicita, selecciona el proyecto y haz clic en Continuar.
  3. Selecciona la instancia detenida que deseas cambiar.
  4. Haz clic en Editar para editar la instancia.
  5. En la sección Configuración de la máquina, haz clic en Plataforma de CPU y GPU.
  6. Selecciona una opción del menú desplegable Plataforma de CPU.
  7. Guarda los cambios.
  8. Reinicia la instancia.

gcloud

Usa el subcomando update, seguido de la marca --min-cpu-platform. Especifica el nombre descriptivo de la plataforma, como Intel Haswell, Intel Broadwell y Intel Sandy Bridge. Por ejemplo:

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

API

Para establecer la plataforma de CPU mínima en la API, realiza una solicitud POST al método setMinCpuPlatform y configura la propiedad minCpuPlatform en el cuerpo de la solicitud. El valor de la propiedad es el nombre descriptivo de la plataforma de CPU, como Intel Haswell, Intel Broadwell y Intel Sandy Bridge. Por ejemplo:

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

    {
      "minCpuPlatform": "Intel Haswell"
    }
    

Especifica una plataforma de CPU mínima en plantillas de instancias

Si usas grupos de instancias administrados, puedes especificar una plataforma de CPU mínima para instancias de VM que se encuentren dentro de uno de esos grupos.

Si deseas especificar una plataforma de CPU mínima, crea una plantilla de instancias que incluya la propiedad minCpuPlatform.

Console

  1. Dirígete a la página Plantillas de instancias.

    Ir a la página Plantillas de instancias

  2. Si se te solicita, selecciona el proyecto y haz clic en Continuar.
  3. Haz clic en Crear plantilla de instancias.
  4. En la sección Configuración de la máquina, haz clic en Plataforma de CPU y GPU.
  5. Selecciona una opción del menú desplegable Plataforma de CPU.
  6. Continúa con el proceso de creación de plantillas de instancias.

gcloud

Con la herramienta de gcloud, proporciona la marca --min-cpu-platform cuando crees una plantilla de instancias. Por ejemplo:

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

API

En la API, agrega minCpuPlatform como parte de la solicitud para crear una nueva plantilla de instancias en la API.

Por ejemplo, la siguiente plantilla de instancias contiene los campos obligatorios mínimos para crear una plantilla nueva con la propiedad minCpuPlatform agregada:

{
    "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óximos pasos