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


Ce document explique comment créer ou mettre à jour une instance de machine virtuelle (VM) afin d'utiliser une configuration minimale de référence pour la plate-forme de processeur (minCpuPlatform) lorsqu'elle est disponible.

Les centres de données Google proposent des machines hôtes Intel Xeon contenant les plates-formes de processeur Sandy Bridge, Ivy Bridge, Haswell, Broadwell et Skylake, ainsi que des processeurs AMD EPYC Rome. Chaque plate-forme de processeur est compatible avec des fonctionnalités incrémentielles telles que AVX-2, AVX-512, etc. 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. Plusieurs zones acceptent différentes plates-formes de processeur. Pour vos instances de VM, vous pouvez sélectionner une plate-forme de processeur qui prend en charge les besoins spécifiques de vos charges de travail en utilisant une configuration minimale de plate-forme.

Pour en savoir plus sur les plates-formes de processeur disponibles dans chaque zone, consultez la documentation sur les plates-formes de processeur et sur les régions et zones.

Avant de commencer

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

Vous n'aurez probablement pas à sélectionner une configuration minimale de plate-forme de processeur pour vos VM. Chaque zone Compute Engine possède une plate-forme de processeur par défaut que Google retire ou met à jour de temps à autre. Une VM créée sans configuration minimale de processeur se voit automatiquement attribuer la plate-forme de processeur par défaut.

Google vous recommande de sélectionner une configuration minimale de plate-forme de processeur uniquement lorsque celle-ci apporte des gains de performances significatifs pour votre charge de travail ou propose certaines fonctionnalités utilisées par votre code (par exemple, AVX-2, AVX-512 ou MPX). Lorsque vous sélectionnez une configuration minimum de plate-forme de processeur spécifique pour votre machine virtuelle, des contraintes supplémentaires affectent votre capacité à démarrer des machines virtuelles dans les zones dans lesquelles certaines plates-formes de processeur ne sont disponibles qu'en nombre limité.

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

Lorsque vous spécifiez une configuration minimale de plate-forme de processeur :

  • Compute Engine utilise toujours la configuration minimum de plate-forme de processeur disponible.

  • Si Compute Engine retire une plate-forme de processeur d'une zone, une fois que vous arrêtez puis redémarrez votre VM, celle-ci peut continuer à s'exécuter sur une meilleure plate-forme de processeur disponible dans cette zone. Le retrait des plates-formes de processeur est une situation peu fréquente et vous recevez une notification au préalable.

La sélection d'une configuration minimale de plate-forme de processeur pour une VM entraîne les effets suivants :

  • Votre VM utilise cette plate-forme de processeur, sauf si vous l'arrêtez et modifiez la plate-forme de processeur.
  • Lors de la migration en direct, votre VM conserve la même plate-forme de processeur sélectionnée.

Retirer ou mettre à niveau une plate-forme de processeur par défaut

Google peut parfois retirer une plate-forme de processeur ou mettre à jour la plate-forme de processeur par défaut dans une zone pour les raisons suivantes :

  • La capacité de la zone augmente au fil du temps et passe de manière proactive à une plate-forme de processeur plus récente lorsque celle-ci devient disponible.
  • Tous les 3 à 5 ans, Google remplace les anciennes plates-formes de processeur par des plates-formes plus récentes et met à jour la plate-forme de processeur par défaut vers la plate-forme la plus récente disponible dans cette zone.

Lorsqu'une région ou une zone est créée, elle utilise la plate-forme de processeur la plus récente du moment.

Lorsqu'une zone est retirée ou qu'une plate-forme de processeur par défaut est modifiée dans une zone, Google en informe au préalable 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 antérieure à la configuration minimale de la plate-forme de processeur spécifiée. De même, le coût de la VM ne change pas si Compute Engine la fait passer sur une plate-forme plus récente.

Spécifications

Limites

Les types de machines prédéfinis e2-micro, e2-small, e2-medium, f1-micro et g1-small sont des VM à cœur partagé à usage général. Vous ne disposez pas des options de sélection de la plate-forme de processeur lorsque vous sélectionnez l'un de ces types de machines.

Disponibilité

La disponibilité de plates-formes de processeur spécifiques varie selon les zones, en fonction du matériel disponible dans chaque zone. Voici la liste des configurations minimales de plate-formes de processeur acceptées et la syntaxe valide pour chaque plate-forme :

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

Seules certaines zones contiennent plusieurs plates-formes de processeur et sont disponibles pour une sélection de la configuration minimale de plate-forme de processeur. Si vous utilisez des nœuds à locataire unique, chaque nœud utilise la plate-forme de processeur correspondant au type de nœud défini dans le modèle de nœud. Par conséquent, vous ne pouvez pas spécifier de plate-forme de processeur minimale pour les VM utilisant des nœuds à locataire unique.

Vous pouvez afficher la liste des plates-formes acceptées dans une zone spécifique à l'aide de la commande gcloud compute zones describe ou en envoyant une requête à l'API.

gcloud

Pour voir les plateformes de processeur dans votre zone, effectuez la commande suivante :

gcloud compute zones describe ZONE

Par exemple, le résultat de cette commande répertorie les plates-formes de processeur de la zone us-west1-a :

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

API

Dans l'API, envoyez une requête GET à la zone concernée :

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

La réponse contient la liste de plates-formes de processeur compatibles pour cette zone. Exemple :

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

Sélectionner une configuration minimum de plate-forme de processeur pour une nouvelle machine virtuelle

Vous pouvez spécifier une configuration minimale de plate-forme de processeur lors de la création d'une instance.

Console

  1. Dans Google Cloud Console, 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. Cliquez sur le bouton Créer une instance.

  4. Dans la section Configuration de la machine, cliquez sur Plate-forme du processeur et GPU.

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

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

gcloud

Pour créer une VM avec une configuration minimale de plate-forme de processeur, indiquez l'option --min-cpu-platform. Lorsque vous spécifiez la plate-forme de processeur, attribuez-lui un nom convivial, tel que Intel Broadwell ou Intel Haswell. Consultez la section sur les zones disponibles pour identifier les plates-formes disponibles dans chaque zone.

Par exemple, pour spécifier une configuration minimale de plate-forme de processeur pour Intel Haswell :

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

Si vous souhaitez effacer la spécification minimale de la plate-forme de processeur, définissez --min-cpu-platform sur AUTOMATIC.

API

Dans l'API Compute Engine, incluez la propriété minCpuPlatform dans le corps de la requête. La valeur de minCpuPlatform doit être le nom convivial de la plate-forme, tel que Intel Haswell, Intel Broadwell ou Intel Sandy Bridge.

Voici un exemple de corps de demande :

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

Si vous souhaitez effacer la configuration minimale de la plate-forme de processeur, définissez minCpuPlatform sur AUTOMATIC.

Définir une configuration minimale de plate-forme de processeur pour une VM arrêtée

Vous pouvez définir une configuration minimum de plate-forme de processeur pour une instance existante. Au préalable, vous devez arrêter l'instance.

Après avoir arrêté l'instance, suivez les instructions ci-dessous pour définir une configuration minimale de plate-forme de processeur.

Console

  1. Dans Google Cloud Console, 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 l'instance arrêtée que vous souhaitez modifier.

  4. Cliquez sur Modifier pour modifier l'instance.

  5. Dans la section Configuration de la machine, cliquez sur Plate-forme du processeur et GPU.

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

  7. Enregistrez les modifications.

  8. Redémarrez l'instance.

gcloud

  1. Exécutez la sous-commande update, suivie de l'option --min-cpu-platform. Indiquez le nom convivial des plates-formes, tel que Intel Haswell, Intel Broadwell ou Intel Sandy Bridge. Exemple :

    gcloud compute instances update INSTANCE_NAME \
       --min-cpu-platform="Intel Haswell"
  2. Redémarrez l'instance.

API

  1. Pour définir la configuration minimale de la plate-forme de processeur dans l'API, envoyez une requête POST à la méthode setMinCpuPlatform et définissez la propriété minCpuPlatform dans l'objet de la requête. La valeur de la propriété est le nom convivial de la plate-forme de processeur, tel que Intel Haswell, Intel Broadwell ou Intel Sandy Bridge. Exemple :

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

    Le résultat est le suivant :

    {
      "minCpuPlatform": "Intel Haswell"
    }
    1. Redémarrez l'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 instances de 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. Dans Google Cloud Console, accédez à la page Modèles d'instances.

    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 Plate-forme du processeur et GPU.

  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

Spécifiez l'option --min-cpu-platform lors de la création d'un modèle d'instance. Exemple :

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

API

Dans l'API, ajoutez minCpuPlatform dans votre requête pour créer un modèle d'instance dans l'API Compute Engine.

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/n1-standard-2",
  "minCpuPlatform": "Intel Haswell",
  "networkInterfaces": [
    {
      "network": "global/networks/default",
      "accessConfigs":
      [
        {
          "type": "PERSISTENT",
          "boot": true,
          "mode": "READ_WRITE",
          "initializeParams":
          {
            "sourceImage": "projects/debian-cloud/global/images/family/debian-9"
          }
        }
      ]
    }
  ],
  "disks":
  [
    {
      "type": "PERSISTENT",
      "boot": true,
      "mode": "READ_WRITE",
      "initializeParams":
      {
        "sourceImage": "projects/debian-cloud/global/images/family/debian-8"
      }
    }
  ]
  }
}

Étapes suivantes