Spécifier une configuration minimale 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 afin d'utiliser une configuration minimale de référence de 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. 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. Diverses zones sont compatibles avec plusieurs plates-formes de processeur. Pour vos instances de VM, vous pouvez sélectionner une plate-forme de processeur compatible avec 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 pour chaque zone, consultez la documentation consacrée aux plates-formes de processeur et aux régions et zones.

Avant de commencer

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

Vous n'aurez probablement pas à sélectionner de configuration minimale de plates-formes de processeur pour vos VM. Chaque zone Compute Engine possède une plate-forme de processeur par défaut, répertoriée dans la documentation consacrée aux régions et zones. 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, AVX2, AVX512 ou MPX). Lorsque vous sélectionnez une configuration minimale de plate-forme de processeur spécifique pour votre VM, des contraintes supplémentaires affectent votre capacité à démarrer des VM 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 minimale de plate-forme de processeur ?

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

  1. Compute Engine utilise toujours la configuration minimale de plate-forme de processeur disponible.
  2. 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 de plates-formes de processeur est une situation peu fréquente et vous recevez une notification au préalable.

Une fois que vous sélectionnez une configuration minimale de plate-forme de processeur pour une VM :

  • Votre VM utilise cette plate-forme de processeur, sauf si vous l'arrêtez et que vous remplacez la plate-forme de processeur sélectionnée par une autre option.
  • Lors de la migration en direct, votre VM conserve la même plate-forme de processeur sélectionnée.
  • Parfois, Google peut mettre à jour la plate-forme de processeur par défaut d'une zone. Pour en savoir plus, consultez la section Retirer ou mettre à niveau une plate-forme de processeur par défaut.

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

Google peut parfois retirer une plate-forme de processeur plus ancienne 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 pour 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 de plate-forme antérieure à la configuration minimale de 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 f1-small et g1-small sont des VM polyvalentes à cœur partagé pour lesquelles les options de sélection de plate-forme de processeur ne sont pas disponibles.

Disponibilité

La disponibilité des plates-formes de processeur spécifiques varie selon les zones, en fonction du matériel disponible dans chaque zone. Voici une liste de configurations minimales de plate-forme de processeur compatibles 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 (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. Pour obtenir la liste complète, consultez la page Régions et zones.

Vous pouvez toujours afficher la liste des plates-formes compatibles avec 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 demande GET à la zone en question :

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://compute.googleapis.com/compute/v1/projects/myproject/regions/us-west1",
     "selfLink": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-west1-a",
     "availableCpuPlatforms": [
      "Intel Broadwell",
      "Intel Haswell"
     ]
    }
    

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

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

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. 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. Sélectionnez une option dans le menu déroulant Plate-forme du processeur.
  6. Terminez le processus de création d'instance.

gcloud

Pour créer une VM avec une configuration minimale de plate-forme de processeur à l'aide de l'outil de ligne de commande gcloud, spécifiez la nouvelle option --min-cpu-platform. Lorsque vous spécifiez la plate-forme de processeur, spécifiez la plate-forme en utilisant le nom convivial, tel que Intel Broadwell et Intel Haswell. Consultez la section des zones disponibles pour déterminer quelles plates-formes sont disponibles pour 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"
    

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 et Intel Sandy Bridge.

Voici un exemple de corps de demande :

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

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

Vous pouvez définir une configuration minimale 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, puis veillez à redémarrer 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 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. Sélectionnez une option dans le menu déroulant Plate-forme du processeur.
  7. Enregistrez les modifications.
  8. Redémarrez l'instance.

gcloud

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

gcloud compute instances update [INSTANCE_NAME] \
        --min-cpu-platform "Intel Haswell"
    

API

Pour définir la configuration minimale 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 du processeur, tel que Intel Haswell, Intel Broadwell et Intel Sandy Bridge. Exemple :

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

    {
      "minCpuPlatform": "Intel Haswell"
    }
    

Spécifier une configuration minimale 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 la 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'instance"

  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. Sélectionnez une option dans le menu déroulant Plate-forme du processeur.
  6. Terminez le processus de création de modèles d'instance.

gcloud

À l'aide de l'outil 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

À partir de l'API, ajoutez minCpuPlatform dans votre requête pour créer un modèle d'instance dans l'API.

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

Étapes suivantes