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 una plataforma de CPU mínima como modelo de referencia (minCpuPlatform) cuando esté disponible.

Los centros de datos de Google ofrecen máquinas host 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 y así sucesivamente. Algunas funciones fundamentales relacionadas con los sistemas, como la frecuencia de reloj y el tiempo de búsqueda de acceso a la memoria pueden variar entre plataformas de CPU. Las diferentes zonas admiten múltiples plataformas de CPU y puedes seleccionar una plataforma de CPU para tus instancias de VM que, con 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 la documentación sobre 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 las VM. Cada zona de Compute Engine tiene una plataforma de CPU predeterminada, que se encuentra en la lista de la documentación sobre Regiones y zonas. Todas las VM creadas 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 cuando supone ventajas de rendimiento significativas para tu carga de trabajo o si proporciona ciertas funciones como AVX2, AVX512 o MPX usadas por el código. La selección de una plataforma de CPU mínima específica para la VM agrega restricciones adicionales que afectan tu 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 tu zona, la VM puede continuar ejecutándose en una plataforma de CPU mejor disponible en esa zona luego de que detengas y reinicies 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, excepto que la detengas 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 para obtener más información.

Retira o actualiza una plataforma de CPU predeterminada

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

  • Una zona aumenta su capacidad en el tiempo y cambia a una plataforma de CPU nueva cuando esta está disponible.
  • Cada 3 a 5 años, Google reemplaza las plataformas de CPU anteriores con versiones nuevas y actualiza la plataforma de CPU predeterminada a la siguiente plataforma nueva disponible en esa zona.

En cualquier momento, cuando se compila una región o una zona nueva, usará la plataforma de CPU más nueva en ese momento.

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

Las VM jamás usarán una plataforma anterior a la plataforma de CPU mínima que especificas y el costo de la VM no cambiara si Compute Engine transiciona tu VM a una plataforma más reciente.

Especificaciones

Limitaciones

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

Disponibilidad

La disponibilidad de plataformas de CPU específicas varía por zona en función del hardware disponible en cada una. La siguiente es una lista de las plataformas de CPU mínimas compatibles 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 múltiples plataformas de CPU y están disponibles para la selección de plataforma de CPU mínima. Para obtener una lista completa, consulta la página de Regiones y zonas.

Siempre puedes obtener una lista de las plataformas admitidas en una zona específica con el comando de gcloud compute zones describe o una solicitud a la API.

gcloud

Para ver las plataformas de CPU en tu zona, usa el siguiente comando:

gcloud compute zones describe [ZONE]

Por ejemplo, el resultado de este comando muestra una lista de las plataformas de CPU para 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://www.googleapis.com/compute/v1/projects/myproject/zones/[ZONE]

La respuesta contiene una lista de las plataformas de CPU admitidas en esa zona. Como en el siguiente 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://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"
 ]
}

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 nueva con una plataforma de CPU mínima con la herramienta de línea de comandos de gcloud, proporciona la marca --min-cpu-platform nueva. Cuando especificas la plataforma de CPU, proporciona la plataforma mediante un nombre descriptivo, como Intel Broadwell y, además, Intel Haswell. Usa la sección de zonas disponibles para determinar las plataformas disponibles en cada zona.

Por ejemplo, para especificar una plataforma de CPU mínima de Intel Haswell:

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, además, 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.

Luego de detener la instancia, sigue las instrucciones a continuación para establecer una plataforma de CPU mínima y 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 los nombres descriptivos de las plataformas, como Intel Haswell, Intel Broadwell y, además, Intel Sandy Bridge. Como en el siguiente 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 para la propiedad es el nombre descriptivo de la plataforma de CPU, como Intel Haswell, Intel Broadwell y, además, Intel Sandy Bridge. Como en el siguiente ejemplo:

POST https://www.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 dentro de un grupo de instancias administrado.

Para 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 creas una plantilla de instancias. Como en el siguiente 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 plantilla de instancias nueva en la API.

Por ejemplo, la siguiente plantilla de instancias contiene los campos obligatorios mínimos para crear una plantilla nueva con la adición de la propiedad 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"
      }
    }
  ]
  }
}

Pasos siguientes

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

Documentación de Compute Engine