Spécifier une configuration minimum de la plate-forme du processeur pour les instances de VM


Cette page explique comment créer ou mettre à jour une instance de machine virtuelle (VM) afin d'utiliser une plateforme de processeur minimale au lieu de la plateforme par défaut.

Les centres de données Google proposent différentes générations de processeurs. Chaque plate-forme de processeur prend en charge des fonctionnalités incrémentielles telles que les extensions vectorielles avancées (par exemple, AVX2 et AVX-512). Certaines fonctionnalités fondamentales liées aux systèmes, telles que la vitesse d'horloge et le temps de recherche d'accès à la mémoire, peuvent varier selon les plates-formes de processeur.

Chaque série de machines est associée à une ou plusieurs plates-formes de processeur. Par exemple, les VM N2 peuvent s'exécuter sur les processeurs Ice Lake ou Cascade Lake. Si plusieurs plates-formes de processeurs sont disponibles pour une série de machines, vous pouvez sélectionner une configuration minimale de plate-forme de processeur lors de la création d'une VM à l'aide d'un type de machine de cette série. La disponibilité de la famille de machines, de la série, de la région et des zones détermine ce que vous pouvez choisir pour la plate-forme de processeur minimale.

Spécifier une plate-forme de processeur minimale est utile si votre charge de travail nécessite les gains de performances offerts par la génération d'un processeur spécifique. Toutefois, la spécification d'une configuration minimale de plate-forme de processeur peut limiter les zones dans lesquelles vous pouvez créer vos VM.

Avant de commencer

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud. Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    Console

    Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Définissez une région et une zone par défaut.

    REST

    Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.

      Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

Rôles et autorisations requis

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 se connecter à une VM 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 la section Gérer les accès.

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

Vous n'aurez probablement pas à sélectionner de plate-forme de processeur minimale. Chaque zone Compute Engine possède une plate-forme de processeur par défaut pour chaque série de machines. Google modifie parfois le processeur par défaut d'une zone lorsque de nouveaux serveurs sont ajoutés. Si vous ne spécifiez pas de configuration minimale de plate-forme de processeur pour une VM, celle-ci obtient la plate-forme de processeur par défaut associée à son type de machine et à sa zone.

Nous vous recommandons de ne sélectionner une configuration minimale de plate-forme de processeur que dans les cas suivants :

  • Lorsque la plate-forme de processeur minimale offre des gains de performances significatifs pour votre charge de travail ou si elle offre des fonctionnalités utilisées par votre code telles que AVX2 ou AVX-512.
  • Lorsque vous créez des VM qui consomment des réservations, vous devez spécifier la même plate-forme de processeur que la réservation.

Le fait de sélectionner une configuration minimale de plate-forme de processeur pour votre VM implique des contraintes qui affectent votre capacité à démarrer des VM dans les zones où certaines plate-formes de processeur ne sont disponibles qu'en nombre limité.

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

Compute Engine utilise toujours la configuration minimum de plate-forme de processeur disponible. Si Google modifie une plate-forme de processeur dans une zone, votre VM peut continuer de s'exécuter sur la plate-forme de processeur plus récente disponible dans cette zone si vous arrêtez et redémarrez la VM.

Une fois que vous avez sélectionné une configuration minimale de plate-forme de processeur pour une VM, votre VM utilise cette plate-forme de processeur, sauf si vous arrêtez la VM et modifiez la plate-forme de processeur. Lors d'une migration en direct, votre VM conserve la plate-forme de processeur sélectionnée.

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 VM utilisant des nœuds à locataire unique.
  • Vous ne pouvez pas sélectionner de configuration minimale de plate-forme de processeur pour les VM E2 prédéfinies ou personnalisées.
  • Vous ne pouvez pas sélectionner une configuration minimale de plate-forme de processeur pour les VM à cœur partagé à usage général suivantes :
    • e2-micro
    • e2-small
    • e2-medium
    • f1-micro
    • g1-small

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. Voici la liste des configurations minimales de plate-forme de processeur acceptées et la syntaxe valide pour chaque plate-forme :

  • 3e génération : processeurs Intel Xeon (Ice Lake): "Intel Ice Lake"
  • 2e génération : processeurs Intel Xeon (Cascade Lake) : "Intel Cascade Lake"
  • 1re génération : processeurs Intel Xeon (Skylake) : "Intel Skylake"
  • Processeurs Intel Xeon E5 v4 (Broadwell) : "Intel Broadwell"
  • Processeurs Intel Xeon E5 v3 (Haswell) : "Intel Haswell"
  • Processeurs Intel Xeon E5 v2 (Ivy Bridge) : "Intel Ivy Bridge"
  • Processeurs Intel Xeon E5 (Sandy Bridge) : "Intel Sandy Bridge"
  • 4e génération : processeurs AMD EPYC Genoa : "AMD Genoa"
  • 3e génération : processeurs AMD EPYC Milan : "AMD Milan"
  • 2e génération : processeurs AMD EPYC Rome : "AMD Rome"

Afficher les plates-formes de processeur disponibles par zone

Seules certaines régions et zones contiennent plusieurs plates-formes de processeur pour la même série de machines et sont disponibles pour une sélection de la configuration minimale de plate-forme de processeur. Vous pouvez afficher la liste des plates-formes compatibles pour une zone spécifique à l'aide de la CLI gcloud 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
    - AMD Rome
    - 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",
       "AMD Rome",
       "Intel Skylake"
      ],
      "supportsPzs": true
     }

Modifications par défaut d'une plate-forme de processeur

Google modifie parfois une plate-forme de processeur ou met à jour la plate-forme de processeur par défaut. À mesure que la capacité augmente, Google passe de manière proactive à une plate-forme de processeur plus récente lorsque celle-ci devient disponible. Il met à jour la plate-forme de processeur par défaut vers la version la plus récente disponible dans cette zone.

Lorsqu'une plate-forme de processeur par défaut est modifiée pour une zone, Google informe les clients concernés selon un calendrier détaillé et fournit des instructions spécifiques pour la transition vers la nouvelle plate-forme.

Les VM n'utilisent jamais une plate-forme plus ancienne que la plate-forme de processeur minimum spécifiée. Si Compute Engine fait passer votre VM vers une plate-forme plus récente, le coût de la VM ne change pas.

Sélectionner une configuration minimale de plate-forme de processeur pour une nouvelle VM

Lorsque vous créez une VM, vous choisissez une série de machines et un type de machine. La série de machines peut être proposée sur plusieurs plates-formes de processeur. Dans ce cas, vous pouvez spécifier la configuration minimale de la plate-forme du processeur que la VM doit utiliser.

Console

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

    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 de la VM.

  4. Terminez le processus de création de la VM.

gcloud

  • Pour créer une VM 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 \
        --zone=ZONE \
        --min-cpu-platform="PLATFORM"

    Remplacez les éléments suivants :

    • INSTANCE : 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.

      Utilisez la section des zones disponibles pour déterminer quelles plate-formes sont disponibles pour chaque 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",
    "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 : nom de la nouvelle VM
    • ZONE : nom de la zone dans laquelle vous souhaitez créer votre VM, par exemple europe-west1-b.
    • MACHINE_TYPE : type de machine de la nouvelle VM.
    • PLATFORM : nom convivial de la plate-forme de processeur minimale que la VM doit utiliser, par exemple Intel Ivy Bridge.

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

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

    • IMAGE_FAMILY : famille d'images de l'image à utiliser pour créer la VM.

Définir une plate-forme de processeur minimale pour une VM existante

Vous pouvez définir une configuration minimale de plate-forme de processeur pour une VM existante. Vous devez arrêter la VM avant de définir la plate-forme de processeur minimale.

Console

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

    Accéder à la page Instances de VM

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

  3. Sélectionnez les VM que vous souhaitez modifier.

  4. Cliquez sur Arrêter.

  5. Pour modifier la VM, 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 la VM que vous avez modifiée.

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

gcloud

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

    gcloud compute instances stop INSTANCE
    

    Remplacez INSTANCE par le nom de la VM pour laquelle vous souhaitez spécifier une configuration minimale de plate-forme de processeur.

  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 \
        --min-cpu-platform="PLATFORM"

    Remplacez PLATFORM par le nom convivial de la plate-forme de processeur minimale que vous souhaitez que la VM utilise, par exemple Intel Cascade Lake.

  3. Pour démarrer la VM mise à jour, utilisez la commande gcloud compute instances start :

    gcloud compute instances start INSTANCE
    

REST

  1. Pour arrêter une VM, 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/stop
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet
    • ZONE : zone où se trouve votre VM.
    • INSTANCE: nom de la VM 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/setMinCpuPlatform
    {
      "minCpuPlatform": PLATFORM
    }
    

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

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

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

Supprimer un paramètre de configuration minimale de plate-forme de processeur

Vous pouvez mettre à jour une VM pour utiliser la plate-forme de processeur par défaut au lieu de la plate-forme de processeur minimale. Si la VM est en cours d'exécution, vous devez l'arrêter avant d'effectuer des modifications.

Console

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

    Accéder à la page Instances de VM

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

  3. Sélectionnez les VM que vous souhaitez modifier.

  4. Cliquez sur Arrêter.

  5. Pour modifier la VM, 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 la VM que vous avez modifiée.

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

gcloud

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

    gcloud compute instances stop INSTANCE
    

    Remplacez INSTANCE par le nom de la VM 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 \
        --min-cpu-platform="AUTOMATIC"
    
  3. Pour démarrer la VM mise à jour, utilisez la commande gcloud compute instances start :

    gcloud compute instances start INSTANCE
    

REST

  1. Pour arrêter une VM, 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/stop
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet
    • ZONE : zone où se trouve votre VM.
    • INSTANCE: nom de la VM 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/setMinCpuPlatform
    {
      "minCpuPlatform": AUTOMATIC
    }
    
  3. Pour démarrer la VM mise à jour, utilisez la commande gcloud compute instances start :

    gcloud compute instances start INSTANCE
    

Spécifier une configuration minimum de plate-forme de processeur dans des modèles d'instance

Si vous utilisez des groupes d'instances gérés, vous pouvez spécifier une configuration minimale de plate-forme de processeur pour les VM au sein d'un groupe d'instances géré.

Pour spécifier configuration minimale de plate-forme de processeur, créez un modèle d'instance incluant 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