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

En el caso de los tipos de máquinas que pueden ejecutarse en diferentes plataformas de CPU, en esta página se explica cómo crear o actualizar una instancia de Compute Engine para usar un nivel de compatibilidad de CPU especificado en lugar del predeterminado.

Los centros de datos de Google ofrecen diferentes generaciones de procesadores de CPU. Estos procesadores admiten funciones incrementales, como las extensiones vectoriales avanzadas, por ejemplo, AVX2 y AVX-512. Además, algunas funciones fundamentales, como la velocidad de reloj, las divisiones de NUMA y el tiempo de búsqueda de acceso a la memoria pueden variar entre los procesadores de CPU. El término plataforma de CPU hace referencia a esta configuración basada en la CPU.

Cada serie de máquinas funciona con uno o más procesadores de CPU. Por ejemplo, las instancias C4 pueden ejecutarse en CPU Intel Emerald Rapids o Granite Rapids. Si una serie de máquinas admite varias CPU, puedes elegir una plataforma de CPU mínima cuando crees una instancia. El valor que puedes establecer para la CPU mínima depende del tipo de máquina, y la región y la zona que elijas para tus instancias de procesamiento.

Elegir una CPU específica es útil si tu carga de trabajo es sensible a las características específicas de la CPU, como los conjuntos de instrucciones (AVX2 en lugar de AVX-512), los tamaños de caché o las velocidades de reloj, que pueden variar entre las plataformas de CPU.

  • Puedes establecer la CPU mínima en un procesador más reciente para aprovechar una frecuencia de reloj más alta.
  • Puedes establecer la CPU mínima en un procesador más antiguo para garantizar la compatibilidad con tus aplicaciones.

Sin embargo, usar el parámetro de configuración de CPU mínima puede limitar las zonas en las que se pueden ejecutar tus instancias de procesamiento.

Antes de comenzar

  • Si aún no lo hiciste, configura la autenticación. La autenticación verifica tu identidad para acceder a los servicios y las APIs de Cloud de Confiance by S3NS . Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Selecciona la pestaña que corresponda a la forma en que planeas usar las muestras de esta página:

    Console

    Cuando usas la consola de Cloud de Confiance para acceder a los servicios y las APIs de Cloud de Confiance by S3NS , no necesitas configurar la autenticación.

    gcloud

    1. Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada. Después de acceder, inicializa Google Cloud CLI con el siguiente comando:

      gcloud init
  • Configura una región y una zona predeterminadas.
  • REST

    Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.

      Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.

    Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Cloud de Confiance .

Roles y permisos requeridos

Para obtener los permisos que necesitas para cambiar la plataforma de CPU mínima, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto:

  • Administrador de instancias de Compute (v1) (roles/compute.instanceAdmin.v1)
  • Para conectarte a una instancia de procesamiento que puede ejecutarse como una cuenta de servicio: Usuario de cuenta de servicio (v1) (rol roles/iam.serviceAccountUser)

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Cuándo seleccionar una plataforma de CPU mínima

Cada zona de Compute Engine tiene una CPU predeterminada para cada serie de máquinas. Si no especificas un valor para la CPU mínima de tu instancia, la instancia de procesamiento usará la CPU predeterminada asignada al tipo de máquina y la zona.

Google recomienda elegir un nivel de compatibilidad de la plataforma de CPU solo en los siguientes casos:

  • Rendimiento: Si un procesador específico le da a tu carga de trabajo un aumento de velocidad significativo o tiene funciones como AVX-512 que tu código necesita
  • Compatibilidad: Si tu instancia de procesamiento requiere un sistema operativo, un conjunto de instrucciones o bibliotecas determinados que no son compatibles con una plataforma de CPU más reciente
  • Reservas: Si usas reservas, tu instancia de procesamiento debe usar la misma plataforma de CPU que la reserva.

Usa la plataforma de CPU predeterminada

Si no especificas una CPU mínima para tu instancia, se establecerá en AUTOMATIC. Esto significa que la instancia usa la plataforma de CPU predeterminada para el tipo de máquina.

En ocasiones, Google actualiza una plataforma de CPU para un tipo de máquina y una zona.

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

Cuando especificas un valor para la CPU mínima, Compute Engine proporciona esa plataforma de CPU para que la use tu instancia. Tu instancia de procesamiento seguirá usando esa plataforma de CPU, a menos que la cambies.

Tu instancia de procesamiento usa la plataforma de CPU especificada incluso después de la migración en vivo durante una operación de mantenimiento.

Limitaciones

  • Cada región y zona admite varias plataformas de CPU, pero una región o zona podría no ofrecer todas las plataformas de CPU.
  • No puedes especificar una plataforma de CPU mínima para las instancias de procesamiento que se ejecutan en nodos de usuario único.
  • No puedes seleccionar una plataforma de CPU mínima para ninguna instancia de máquina virtual (VM) de E2.
  • No puedes especificar una plataforma de CPU mínima para las instancias de VM que se crearon con tipos de máquina de uso general y con núcleo compartido.

Disponibilidad de las plataformas de CPU

La disponibilidad de las plataformas de CPU varía entre zonas y se basa en el hardware y la serie de máquinas que está disponible en cada zona. En la siguiente lista, se muestran las plataformas de CPU mínimas compatibles y la sintaxis válida para cada una:

  • 6ª generación: procesadores Intel Xeon (Granite Rapids): "Intel Granite Rapids"
  • 5ª generación: procesadores Intel Xeon (Emerald Rapids): "Intel Emerald Rapids"
  • Cuarta generación: Procesadores Intel Xeon (Sapphire Rapids): "Intel Sapphire Rapids"
  • Tercera generación: Procesadores Intel Xeon (Ice Lake): "Intel Ice Lake"
  • Segunda generación: procesadores Intel Xeon (Cascade Lake): "Intel Cascade Lake"
  • Primera generación: procesadores Intel Xeon (Skylake): "Intel Skylake"
  • Procesadores Intel Xeon E5 v4 (Broadwell): "Intel Broadwell"
  • Procesadores Intel Xeon E5 v3 (Haswell): "Intel Haswell"
  • Procesadores Intel Xeon E5 v2 (Ivy Bridge): "Intel Ivy Bridge"
  • Procesadores Intel Xeon E5 (Sandy Bridge): "Intel Sandy Bridge"
  • Quinta generación: Procesadores AMD EPYC Turin: "AMD Turin"
  • Cuarta generación: Procesadores AMD EPYC Genoa: "AMD Genoa"
  • Tercera generación: Procesadores AMD EPYC Milan: "AMD Milan"

Visualiza las CPUs disponibles por zona

Algunas regiones y zonas admiten varias plataformas de CPU para la misma serie de máquinas. Puedes verificar qué CPU están disponibles en una zona con gcloud CLI o REST.

Si usas nodos de usuario único, cada nodo usa la plataforma de CPU correspondiente al tipo de nodo que definiste en la plantilla de nodo.

gcloud

  • Para ver las plataformas de CPU que están disponibles en tu zona, usa el comando gcloud compute zones describe:

    gcloud compute zones describe ZONE
    

    Reemplaza ZONE por el nombre de la zona a fin de verificar las plataformas de CPU disponibles, por ejemplo, europe-west10-a.

    En el siguiente resultado de este comando, se muestran las plataformas de CPU para la zona europe-west10-a:

    gcloud compute zones describe europe-west10-a
    availableCpuPlatforms:
    - Intel Broadwell
    - Intel Cascade Lake
    - Intel Ice Lake
    - AMD Milan
    - Intel Skylake
    
    ...
    

REST

  • Realiza una GETsolicitud a la zona que consideras:

    GET https://compute.s3nsapis.fr/compute/v1/projects/myproject/zones/ZONE
    

    Reemplaza ZONE por el nombre de la zona a fin de verificar las plataformas de CPU disponibles.

    En el siguiente resultado de este comando, se muestran las plataformas de CPU compatibles para una 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.s3nsapis.fr/compute/v1/projects/myproject/regions/europe-west10-a",
      "selfLink": "https://www.s3nsapis.fr/compute/v1/projects/myproject/zones/europe-west10-a",
      "availableCpuPlatforms": [
       "Intel Broadwell",
       "Intel Cascade Lake",
       "Intel Ice Lake",
       "AMD Milan",
       "Intel Skylake"
      ],
      "supportsPzs": true
     }

Cambios en las plataformas de CPU predeterminadas

En ocasiones, Google actualiza la plataforma de CPU predeterminada para una serie de máquinas en una zona. Cuando esto sucede, Google te notifica con un cronograma y las instrucciones para migrar a la nueva plataforma.

Si especificaste una plataforma de CPU mínima para tu instancia de procesamiento, el cambio a la plataforma de CPU predeterminada no tendrá ningún impacto en tu instancia. Compute Engine nunca proporciona una plataforma de CPU que sea más antigua que la especificada por la propiedad de CPU mínima para una instancia. Sin embargo, si no especificas un valor para la CPU mínima, la instancia puede ejecutarse en una plataforma de CPU más reciente si la plataforma de CPU predeterminada no está disponible en la zona en la que se encuentra la instancia.

Si Compute Engine mueve tu instancia de procesamiento a una plataforma de CPU más reciente, el costo de la instancia de procesamiento no cambia.

Si cambia la plataforma de CPU predeterminada para una serie de máquinas, puedes hacer lo siguiente:

  • Establece la propiedad de CPU mínima para tu instancia si deseas mantener el nivel de compatibilidad de la plataforma de CPU predeterminada anterior.
  • Deja la propiedad de CPU mínima establecida en AUTOMATIC y permite que tu instancia de procesamiento use la plataforma de CPU más reciente deteniendo y reiniciando la instancia.

Elige una plataforma de CPU para una instancia nueva

Cuando creas una instancia de procesamiento, si la serie de máquinas admite más de una plataforma de CPU, puedes usar la propiedad de CPU mínima para especificar la plataforma de CPU que deseas que use la instancia.

Console

  1. En la consola de Cloud de Confiance , ve a la página Crear una instancia.

    Ir a Crear una instancia

  2. En la sección Configuración de la máquina, expande la sección Configuración avanzada.

  3. En la lista Plataforma de CPU, selecciona una plataforma para la CPU de las instancias.

  4. Continúa con el resto del proceso de creación de la instancia.

gcloud

  • Para crear una instancia de procesamiento nueva que use una plataforma de CPU mínima, usa el comando gcloud compute instances create y proporciona la marca --min-cpu-platform:

    gcloud compute instances create INSTANCE_NAME \
        --zone=ZONE \
        --min-cpu-platform="PLATFORM"

    Reemplaza lo siguiente:

    • INSTANCE_NAME: es el nombre de la instancia que deseas crear.
    • ZONE: es el nombre de la zona en la que deseas crear tu instancia, por ejemplo, europe-west1-b.
    • PLATFORM: es el nombre descriptivo de la plataforma de CPU mínima que deseas que use la instancia, por ejemplo, Intel Sandy Bridge.

      Si quieres borrar la especificación de plataforma de CPU mínima, reemplaza PLATFORM por AUTOMATIC.

      Para verificar qué plataformas de CPU están disponibles en una zona, consulta Cómo ver las plataformas de CPU disponibles por zona.

REST

  • Usa el instances.insertmétodo y asegúrate de incluir la propiedad minCpuPlatform como parte del cuerpo de la solicitud.

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

    "name": "INSTANCE_NAME",
    "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"
       }
     }]

    Reemplaza lo siguiente:

    • INSTANCE_NAME: Es el nombre de la nueva instancia de procesamiento.
    • ZONE: Es el nombre de la zona en la que deseas crear tu instancia de procesamiento, por ejemplo, europe-west1-b.
    • MACHINE_TYPE: Es el tipo de máquina de la instancia de procesamiento nueva.
    • PLATFORM: es el nombre descriptivo de la plataforma de CPU mínima que deseas que use la instancia, por ejemplo, Intel Ivy Bridge.

      Para borrar la especificación de plataforma de CPU mínima, reemplaza PLATFORM por AUTOMATIC.

      Para verificar qué plataformas de CPU están disponibles en una zona, consulta Cómo ver las plataformas de CPU disponibles por zona.

    • IMAGE_PROJECT: es el proyecto de imagen de la familia de imágenes

    • IMAGE_FAMILY: Es la familia de imágenes de la imagen que se usará para crear la instancia de procesamiento.

Cómo cambiar la CPU de una instancia existente

Para cambiar la CPU de una instancia de procesamiento existente, primero debes detener la instancia.

Console

  1. Ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. Si se te solicita, selecciona el proyecto y haz clic en Continuar.

  3. Selecciona la instancia de procesamiento que deseas cambiar.

  4. Haz clic en Detener para detener la instancia de procesamiento. Si no hay una opción de Detener, haz clic en Más acciones > Detener.

  5. Haz clic en Editar.

  6. En la sección Configuración de máquina, haz clic en Configuraciones avanzadas.

  7. En el menú desplegable Plataforma de CPU, selecciona una opción.

  8. Guarda los cambios.

  9. Selecciona la instancia de procesamiento que cambiaste.

  10. Haz clic en Iniciar/Reanudar.

gcloud

  1. Para detener una instancia de procesamiento, usa el comando gcloud compute instances stop:

    gcloud compute instances stop INSTANCE_NAME
        --zone=ZONE
    

    Reemplaza lo siguiente:

    • INSTANCE_NAME: Es el nombre de la instancia de procesamiento para la que deseas especificar una plataforma de CPU mínima.
    • ZONE: Es el nombre de la zona en la que creaste tu instancia de procesamiento, por ejemplo, europe-west1-b.
  2. Para especificar una plataforma de CPU mínima, usa el gcloud compute instances update comando y proporciona la marca --min-cpu-platform:

    gcloud compute instances update INSTANCE_NAME \
        --zone=ZONE \
        --min-cpu-platform="PLATFORM"

    Reemplaza lo siguiente:

    • INSTANCE_NAME: Es el nombre de la instancia de procesamiento que se actualizará.
    • ZONE: Es el nombre de la zona en la que creaste tu instancia de procesamiento.
    • PLATFORM: Es el nombre descriptivo de la plataforma de CPU que deseas que use la instancia de procesamiento, por ejemplo, Intel Granite Rapids.
  3. Para iniciar la instancia de procesamiento actualizada, usa el comando gcloud compute instances start:

    gcloud compute instances start INSTANCE_NAME
        --zone=ZONE
    

REST

  1. Para detener una instancia de procesamiento, crea una solicitud POST con el método instances.stop:

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/stop
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID del proyecto
    • ZONE: Es la zona en la que se encuentra tu instancia de procesamiento.
    • INSTANCE_NAME: Es el nombre de la instancia de procesamiento para la que deseas especificar una plataforma de CPU mínima.
  2. Para establecer la plataforma de CPU mínima, crea una solicitud POST para el setMinCpuPlatform método y configura la propiedad minCpuPlatform en el cuerpo de la solicitud:

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setMinCpuPlatform
    {
      "minCpuPlatform": "PLATFORM"
    }
    

    Reemplaza PLATFORM por el nombre descriptivo de la plataforma de CPU mínima que deseas que use la instancia de procesamiento, por ejemplo, Intel Skylake.

  3. Para reiniciar la instancia de procesamiento, crea una solicitud POST con el método instances.start:

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/start
    

Cómo restablecer la CPU predeterminada

Para volver a usar la CPU predeterminada, debes detener la instancia de procesamiento si está en ejecución.

Console

  1. Ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. Si se te solicita, selecciona el proyecto y haz clic en Continuar.

  3. Selecciona la instancia que deseas cambiar.

  4. Haz clic en Detener.

  5. Para editar la instancia, haz clic en Editar.

  6. En la sección Configuración de máquina, haz clic en Configuraciones avanzadas.

  7. Cambia la opción Platform de CPU a Automático.

  8. Selecciona la instancia que cambiaste.

  9. Haz clic en Iniciar/Reanudar.

gcloud

  1. Para detener una instancia de procesamiento, usa el comando gcloud compute instances stop:

    gcloud compute instances stop INSTANCE_NAME
    

    Reemplaza INSTANCE_NAME por el nombre de la instancia de procesamiento que deseas cambiar.

  2. Para restablecer la plataforma de CPU mínima, usa el comando gcloud compute instances update y establece la marca --min-cpu-platform en AUTOMATIC:

    gcloud compute instances update INSTANCE_NAME \
        --min-cpu-platform="AUTOMATIC"
    
  3. Para iniciar la instancia de procesamiento actualizada, usa el comando gcloud compute instances start:

    gcloud compute instances start INSTANCE_NAME
    

REST

  1. Para detener una instancia de procesamiento, crea una solicitud POST con el método instances.stop:

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/stop
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID del proyecto
    • ZONE: La zona en la que se encuentra tu instancia de procesamiento
    • INSTANCE_NAME: Es el nombre de la instancia de procesamiento que deseas cambiar.
  2. Para restablecer la plataforma de CPU mínima, realiza unaPOST solicitud al setMinCpuPlatform método. En el cuerpo de la solicitud, establece el valor de la propiedad minCpuPlatform en AUTOMATIC.

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setMinCpuPlatform
    {
      "minCpuPlatform": "AUTOMATIC"
    }
    
  3. Para reiniciar la instancia actualizada, crea una solicitud POST con el método instances.start:

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/start
    

Usa un nivel de compatibilidad de la plataforma de CPU en plantillas de instancias

Si usas grupos de instancias administrados, puedes establecer un nivel de compatibilidad de la plataforma de CPU para todas las instancias de procesamiento del grupo.

Para ello, crea una plantilla de instancias y configura la propiedad minCpuPlatform.

Console

  1. Ve a la página Plantillas de instancias.

    Ir a Plantillas de instancia

  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 máquina, haz clic en Configuraciones avanzadas.

  5. En el menú desplegable Plataforma de CPU, selecciona una opción.

  6. Continúa con el proceso de creación de plantillas de instancias.

gcloud

  • Cuando crees una plantilla de instancias mediante el comando gcloud compute instance-templates create, proporciona la marca --min-cpu-platform:

    gcloud compute instance-templates create TEMPLATE_NAME \
        --min-cpu-platform="PLATFORM"

    Reemplaza lo siguiente:

    • TEMPLATE_NAME: es el nombre de la plantilla de instancias.
    • PLATFORM: es el nombre descriptivo de la plataforma de CPU mínima que deseas que use la instancia, por ejemplo, Intel Skylake.

REST

  • Agrega minCpuPlatform como parte de tu solicitud para crear una nueva plantilla de instancias mediante el instanceTemplates.insert método.

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

¿Qué sigue?