Spécifier une configuration minimum de plate-forme de processeur pour les instances de calcul

Pour les types de machines pouvant s'exécuter sur différentes plates-formes de processeur, cette page explique comment créer ou mettre à jour une instance Compute Engine afin d'utiliser un niveau de compatibilité de processeur spécifique au lieu de celui par défaut.

Les centres de donnéesGoogle Cloud proposent différentes générations de processeurs. Ces processeurs prennent en charge des fonctionnalités incrémentielles telles que les extensions vectorielles avancées (par exemple, AVX2 et AVX-512). De plus, certaines fonctionnalités fondamentales, telles que la vitesse d'horloge, les fractionnements NUMA et le temps de recherche d'accès à la mémoire, peuvent varier selon les processeurs. Le terme plate-forme de processeur fait référence à cette configuration basée sur le processeur.

Chaque série de machines fonctionne avec un ou plusieurs processeurs. Par exemple, les instances C4 peuvent s'exécuter sur des processeurs Intel Emerald Rapids ou Granite Rapids. Si une série de machines est compatible avec plusieurs processeurs, vous pouvez choisir une configuration minimale de plate-forme de processeur lorsque vous créez une instance. La valeur que vous pouvez définir pour le processeur minimal dépend du type de machine, ainsi que de la région et de la zone que vous choisissez pour vos instances de calcul.

Choisir un processeur spécifique est utile si votre charge de travail est sensible aux fonctionnalités spécifiques au processeur, comme les ensembles d'instructions (AVX2 au lieu d'AVX-512), les tailles de cache ou les fréquences d'horloge, qui peuvent varier entre les plates-formes de processeur.

  • Vous pouvez définir le processeur minimal sur un processeur plus récent pour profiter d'une fréquence d'horloge plus élevée.
  • Vous pouvez définir le processeur minimal sur un processeur plus ancien pour assurer la compatibilité de vos applications.

Toutefois, l'utilisation du paramètre de configuration minimale du processeur peut limiter les zones dans lesquelles vos instances de calcul peuvent s'exécuter.

Avant de commencer

Rôles et autorisations nécessaires

Pour obtenir les autorisations nécessaires pour modifier la configuration minimale de la plate-forme du processeur, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :

  • Administrateur d'instances Compute (v1) (roles/compute.instanceAdmin.v1)
  • Pour vous connecter à une instance de calcul pouvant être exécutée en tant que compte de service : Utilisateur du compte de service (v1) (rôle roles/iam.serviceAccountUser)

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Quand sélectionner une configuration minimum de plate-forme de processeur

Chaque zone Compute Engine possède un processeur par défaut pour chaque série de machines. Si vous ne spécifiez pas de valeur pour le nombre minimal de processeurs de votre instance, celle-ci utilise le processeur par défaut attribué au type de machine et à la zone.

Nous vous recommandons de choisir un niveau de compatibilité de plate-forme de processeur uniquement dans les cas suivants :

  • Performances : si un processeur spécifique offre un gain de vitesse important à votre charge de travail ou s'il dispose de fonctionnalités telles qu'AVX-512 dont votre code a besoin
  • Compatibilité : si votre instance de calcul nécessite un système d'exploitation, un ensemble d'instructions ou des bibliothèques spécifiques qui ne sont pas compatibles avec une plate-forme de processeur plus récente
  • Réservations : si vous utilisez des réservations, votre instance de calcul doit utiliser la même plate-forme de processeur que la réservation.

Utiliser la plate-forme de processeur par défaut

Si vous ne spécifiez pas de configuration minimale de processeur pour votre instance, elle est définie sur AUTOMATIC. Cela signifie que l'instance utilise la plate-forme de processeur par défaut pour le type de machine.

Dans de rares cas, Google Cloud met à jour une plate-forme de processeur pour un type de machine et une zone.

Comment fonctionne la sélection d'une configuration minimum de plate-forme de processeur ?

Lorsque vous spécifiez une valeur pour le processeur minimal, Compute Engine fournit cette plate-forme de processeur pour que votre instance l'utilise. Votre instance de calcul continue d'utiliser cette plate-forme de processeur, sauf si vous la modifiez.

Votre instance de calcul utilise la plate-forme de processeur spécifiée, même après la migration à chaud lors d'une opération de maintenance.

Limites

  • Chaque région et zone accepte plusieurs plates-formes de processeur, mais il est possible qu'une région ou une zone ne propose pas toutes les plates-formes de processeur.
  • Vous ne pouvez pas spécifier de configuration minimale de plate-forme de processeur pour les instances de calcul qui s'exécutent sur des nœuds à locataire unique.
  • Vous ne pouvez pas sélectionner de configuration minimale de plate-forme de processeur pour les instances de machine virtuelle (VM) E2.
  • Vous ne pouvez pas spécifier de configuration minimale de plate-forme de processeur pour les instances de VM créées avec des types de machines à cœur partagé à usage général.

Disponibilité des plate-formes de processeur

La disponibilité des plates-formes de processeur varie selon les zones et dépend du matériel et des familles de machines disponibles dans chaque zone. Pour savoir quelles plates-formes de processeur sont disponibles dans Google Cloud et quelles séries de machines sont associées à chaque plate-forme de processeur, consultez Plates-formes de processeur.

Voici la liste des configurations minimales de plate-forme de processeur acceptées et la syntaxe valide pour chaque plate-forme :

Processeur Syntaxe
Processeur Intel Xeon de 6e génération (Granite Rapids) Intel Granite Rapids
Intel Xeon de 5e génération (Emerald Rapids) Intel Emerald Rapids
Intel Xeon de 4e génération (Sapphire Rapids) Intel Sapphire Rapids
Intel Xeon de 3e génération (Ice Lake) Intel Ice Lake
Processeur Intel Xeon de 2e génération (Cascade Lake) Intel Cascade Lake
Processeur Intel Xeon (Skylake) de 1re génération Intel Skylake
Intel Xeon E7 ou E5 v4 (Broadwell) Intel Broadwell
Intel Xeon E5 v3 (Haswell) Intel Haswell
Intel Xeon E5 v2 (Ivy Bridge) Intel Ivy Bridge
Intel Xeon E5 (Sandy Bridge) Intel Sandy Bridge
AMD EPYC Turin de 5e génération AMD Turin
AMD EPYC Genoa de 4e génération AMD Genoa
AMD EPYC Milan de 3e génération AMD Milan
NVIDIA Grace (Arm Neoverse V2) NVIDIA Grace
Google Axion (Neoverse V2 Armv9) Google Axion
Google Axion (Neoverse N3 Armv9.2) Google Axion
Ampere Altra (Arm Neoverse N1) Ampere Altra

Afficher les processeurs disponibles par zone

Certaines régions et zones sont compatibles avec plusieurs plates-formes de processeur pour la même série de machines. Vous pouvez vérifier les processeurs disponibles dans une zone à l'aide de Google Cloud CLI ou de REST.

Si vous utilisez des nœuds à locataire unique, chaque nœud utilise la plate-forme de processeur correspondant au type de nœud que vous avez défini dans le modèle de nœud.

gcloud

  • Pour afficher les plate-formes de processeur disponibles dans votre zone, utilisez la commande gcloud compute zones describe :

    gcloud compute zones describe ZONE
    

    Remplacez ZONE par le nom de la zone pour vérifier les plate-formes de processeur disponibles (par exemple, europe-west10-a).

    La sortie suivante de cette commande répertorie les plate-formes de processeur de la zone europe-west10-a :

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

REST

  • Envoyez une requête GET à la zone que vous envisagez:

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

    Remplacez ZONE par le nom de la zone pour vérifier les plate-formes de processeur disponibles.

    La sortie suivante de cette commande répertorie les plate-formes de processeur compatibles pour une zone :

    {
      "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.googleapis.com/compute/v1/projects/myproject/regions/europe-west10-a",
      "selfLink": "https://www.googleapis.com/compute/v1/projects/myproject/zones/europe-west10-a",
      "availableCpuPlatforms": [
       "Intel Broadwell",
       "Intel Cascade Lake",
       "Intel Ice Lake",
       "AMD Milan",
       "Intel Skylake"
      ],
      "supportsPzs": true
     }

Modifications apportées aux plates-formes de processeur par défaut

Dans de rares cas, Google Cloud met à jour la plate-forme de processeur par défaut pour une série de machines dans une zone. Dans ce cas, Google Cloud vous en informe en vous fournissant un calendrier et des instructions pour passer à la nouvelle plate-forme.

  • Si vous avez spécifié une configuration minimale de plate-forme de processeur pour votre instance de calcul : la modification de la plate-forme de processeur par défaut n'a aucun impact sur votre instance. Compute Engine ne fournit jamais de plate-forme de processeur antérieure à celle spécifiée par la propriété de configuration minimale de processeur pour une instance.
  • Si vous n'avez pas spécifié de valeur pour la configuration minimale de processeur : l'instance peut s'exécuter sur une plate-forme de processeur plus récente. Si l'instance utilisait l'ancienne plate-forme de processeur par défaut pour une zone, il est possible que cette plate-forme de processeur ne soit plus disponible après queGoogle Cloud a modifié la plate-forme de processeur par défaut pour cette zone.

Si Compute Engine exécute votre instance de calcul sur une plate-forme de processeur plus récente, le coût de votre instance de calcul ne change pas.

Si la plate-forme de processeur par défaut d'une série de machines change, vous pouvez :

  • Définissez la propriété de configuration minimale de processeur pour votre instance si vous souhaitez conserver le niveau de compatibilité de la plate-forme de processeur par défaut précédente.
  • Laissez la propriété de configuration minimale de processeur définie sur AUTOMATIC et laissez votre instance de calcul utiliser la plate-forme de processeur la plus récente en arrêtant et en redémarrant l'instance.

Choisir une plate-forme de processeur pour une nouvelle instance

Lorsque vous créez une instance de calcul, si la série de machines est compatible avec plusieurs plates-formes de processeur, vous pouvez utiliser la propriété de configuration minimale de processeur pour spécifier la plate-forme de processeur que vous souhaitez que l'instance utilise.

Console

  1. Accédez à la page Créer une instance dans la console Google Cloud .

    Accéder à la page Créer une instance

  2. Dans la section Configuration de la machine, développez la section Configurations avancées.

  3. Dans la liste Plate-forme de processeur, sélectionnez une plate-forme pour le processeur des instances.

  4. Terminez le processus de création d'instance.

gcloud

  • Pour créer une instance de calcul utilisant une plate-forme de processeur minimale, utilisez la commande gcloud compute instances create et spécifiez l'option --min-cpu-platform :

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

    Remplacez les éléments suivants :

    • INSTANCE_NAME : nom de l'instance que vous souhaitez créer.
    • ZONE : nom de la zone dans laquelle vous souhaitez créer votre instance, par exemple europe-west1-b.
    • PLATFORM : nom convivial de la plate-forme de processeur minimale que l'instance doit utiliser (par exemple, Intel Sandy Bridge).

      Si vous souhaitez effacer la spécification minimale de plate-forme de processeur, remplacez PLATFORM par AUTOMATIC.

      Pour vérifier les plates-formes de processeur disponibles dans une zone, consultez Afficher les plates-formes de processeur disponibles par zone.

REST

  • Utilisez la méthode instances.insert et incluez la propriété minCpuPlatform dans le corps de la requête.

    Voici un exemple de corps de demande :

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

    Remplacez les éléments suivants :

    • INSTANCE_NAME : nom de la nouvelle instance de calcul
    • ZONE : nom de la zone dans laquelle vous souhaitez créer votre instance de calcul, par exemple europe-west1-b.
    • MACHINE_TYPE : type de machine de la nouvelle instance de calcul
    • PLATFORM : nom convivial de la plate-forme de processeur minimale que l'instance doit utiliser, par exemple Intel Ivy Bridge.

      Pour effacer la spécification minimale de la plate-forme de processeur, remplacez PLATFORM par AUTOMATIC.

      Pour vérifier les plates-formes de processeur disponibles dans une zone, consultez Afficher les plates-formes de processeur disponibles par zone.

    • IMAGE_PROJECT : projet d'image de la famille d'images.

    • IMAGE_FAMILY : famille d'images de l'image à utiliser pour créer l'instance de calcul

Modifier le processeur d'une instance existante

Pour modifier le processeur d'une instance de calcul existante, vous devez d'abord arrêter l'instance.

Console

  1. Accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  2. Si vous y êtes invité, sélectionnez votre projet et cliquez sur Continuer.

  3. Sélectionnez l'instance de calcul que vous souhaitez modifier.

  4. Cliquez sur Arrêter pour arrêter l'instance de calcul. Si l'option Arrêter n'est pas disponible, cliquez sur Autres actions >  Arrêter.

  5. Cliquez sur Modifier.

  6. Dans la section Configuration de la machine, cliquez sur Configurations avancées.

  7. Dans le menu déroulant Plate-forme du processeur, sélectionnez une option.

  8. Enregistrez les modifications.

  9. Sélectionnez l'instance de calcul que vous avez modifiée.

  10. Cliquez sur Démarrer/Réactiver.

gcloud

  1. Pour arrêter une instance de calcul, utilisez la commande gcloud compute instances stop :

    gcloud compute instances stop INSTANCE_NAME
        --zone=ZONE
    

    Remplacez les éléments suivants :

    • INSTANCE_NAME : nom de l'instance de calcul pour laquelle vous souhaitez spécifier une configuration minimale de plate-forme de processeur
    • ZONE : nom de la zone dans laquelle vous avez créé votre instance de calcul, par exemple europe-west1-b.
  2. Pour spécifier la configuration minimale de plate-forme de processeur, utilisez la commande gcloud compute instances update et spécifiez l'option --min-cpu-platform :

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

    Remplacez les éléments suivants :

    • INSTANCE_NAME : nom de l'instance de calcul à mettre à jour
    • ZONE : nom de la zone dans laquelle vous avez créé votre instance de calcul
    • PLATFORM : nom convivial de la plate-forme de processeur que l'instance de calcul doit utiliser, par exemple Intel Granite Rapids.
  3. Pour démarrer l'instance de calcul mise à jour, utilisez la commande gcloud compute instances start :

    gcloud compute instances start INSTANCE_NAME
        --zone=ZONE
    

REST

  1. Pour arrêter une instance de calcul, envoyez une requête POST à l'aide de la méthode instances.stop :

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/stop
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet
    • ZONE : zone où se trouve votre instance de calcul
    • INSTANCE_NAME : nom de l'instance de calcul pour laquelle vous souhaitez spécifier une configuration minimale de plate-forme de processeur
  2. Pour définir la configuration minimale de la plate-forme du processeur, envoyez une requête POST à la méthode setMinCpuPlatform et définissez la propriété minCpuPlatform dans le corps de la requête:

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

    Remplacez PLATFORM par le nom convivial de la plate-forme de processeur minimale que vous souhaitez que l'instance de calcul utilise, par exemple Intel Skylake.

  3. Pour redémarrer l'instance de calcul, créez une requête POST à l'aide de la méthode instances.start :

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/start
    

Rétablir le processeur par défaut

Pour revenir à l'utilisation du processeur par défaut, vous devez arrêter l'instance de calcul si elle est en cours d'exécution.

Console

  1. Accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  2. Si vous y êtes invité, sélectionnez votre projet et cliquez sur Continuer.

  3. Sélectionnez l'instance à modifier.

  4. Cliquez sur Arrêter.

  5. Pour modifier l'instance, cliquez sur Modifier.

  6. Dans la section Configuration de la machine, cliquez sur Configurations avancées.

  7. Définissez l'option Plate-forme du processeur sur Automatique.

  8. Sélectionnez l'instance que vous avez modifiée.

  9. Cliquez sur Démarrer/Réactiver.

gcloud

  1. Pour arrêter une instance de calcul, utilisez la commande gcloud compute instances stop :

    gcloud compute instances stop INSTANCE_NAME
    

    Remplacez INSTANCE_NAME par le nom de l'instance de calcul que vous souhaitez modifier.

  2. Pour réinitialiser la configuration minimale de plate-forme de processeur, utilisez la commande gcloud compute instances update et définissez l'option --min-cpu-platform sur AUTOMATIC :

    gcloud compute instances update INSTANCE_NAME \
        --min-cpu-platform="AUTOMATIC"
    
  3. Pour démarrer l'instance de calcul mise à jour, utilisez la commande gcloud compute instances start :

    gcloud compute instances start INSTANCE_NAME
    

REST

  1. Pour arrêter une instance de calcul, envoyez une requête POST à l'aide de la méthode instances.stop :

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/stop
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet
    • ZONE : zone où se trouve votre instance de calcul
    • INSTANCE_NAME : nom de l'instance de calcul que vous souhaitez modifier
  2. Pour réinitialiser la plate-forme de processeur minimale, envoyez une requête POST à la méthode setMinCpuPlatform. Dans le corps de la requête, définissez la valeur de la propriété minCpuPlatform sur AUTOMATIC.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setMinCpuPlatform
    {
      "minCpuPlatform": "AUTOMATIC"
    }
    
  3. Pour redémarrer l'instance mise à jour, créez une requête POST à l'aide de la méthode instances.start :

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/start
    

Utiliser un niveau de compatibilité de plate-forme de processeur dans des modèles d'instance

Si vous utilisez des groupes d'instances gérés, vous pouvez définir un niveau de compatibilité de plate-forme de processeur pour toutes les instances de calcul du groupe.

Pour ce faire, créez un modèle d'instance et définissez la propriété minCpuPlatform.

Console

  1. Accédez à la page Modèles d'instance.

    Accéder à la page Modèles d'instances

  2. Si vous y êtes invité(e), sélectionnez votre projet et cliquez sur Continuer.

  3. Cliquez sur Créer un modèle d'instance.

  4. Dans la section Configuration de la machine, cliquez sur Configurations avancées.

  5. Dans le menu déroulant Plate-forme du processeur, sélectionnez une option.

  6. Terminez le processus de création de modèles d'instance.

gcloud

  • Lorsque vous créez un modèle d'instance à l'aide de la commande gcloud compute instance-templates create, spécifiez l'option --min-cpu-platform :

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

    Remplacez les éléments suivants :

    • TEMPLATE_NAME : nom du modèle d'instance.
    • PLATFORM : nom convivial de la plate-forme de processeur minimale que l'instance doit utiliser, par exemple Intel Skylake.

REST

  • Ajoutez minCpuPlatform dans votre requête pour créer un modèle d'instance à l'aide de la méthode instanceTemplates.insert.

    Par exemple, le modèle d'instance suivant contient les champs obligatoires minimum requis pour créer un modèle incluant la propriété 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"
          }
        }
      ]
      }
    }

Étape suivante