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 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 prend en charge 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 prennent en charge plusieurs plates-formes de processeur. Pour vos instances de machine virtuelle, 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 minimum de plate-forme.

Pour en savoir plus sur les plates-formes de processeur disponibles pour chaque zone, consultez la documentation relative aux plates-formes de processeur et aux 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 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 relative aux régions et zones. Une machine virtuelle 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 minimum 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 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 minimale 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 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 arrêtez la VM 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 ;
  • parfois, Google peut mettre à jour la plate-forme de processeur par défaut d'une zone. Pour en savoir plus, consultez Retrait ou mise à niveau d'une plate-forme de processeur par défaut.

Retrait ou mise à niveau d'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 nouvelle région ou 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 machines virtuelles n'utilisent jamais de plate-forme antérieure à la configuration minimum de plate-forme de processeur spécifiée. De même, le coût de la machine virtuelle ne change pas si Compute Engine fait passer votre machine virtuelle sur une plate-forme plus récente.

Caractéristiques

Limites

  • Les types de machines prédéfinis f1-small et g1-small sont des VM à cœur partagé à usage général. Ils ne disposent pas des options de sélection de la plate-forme de processeur.

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 minimum de plate-forme de processeur prises en charge et la syntaxe valide pour chaque plate-forme :

  • Processeurs Intel Xeon (Skylake) : "Intel Skylake"
  • 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"

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 compatibles pour 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 une liste de plates-formes de processeur de support 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. 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, entrez le nouvel indicateur --min-cpu-platform. Lorsque vous spécifiez la plate-forme de processeur, entrez la plate-forme en utilisant le nom descriptif, tel que Intel Broadwell et Intel Haswell. Utilisez 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"

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

Si vous souhaitez effacer la spécification 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 minimum 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'indicateur --min-cpu-platform. Indiquez le nom descriptif 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 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 descriptif 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ées, vous pouvez spécifier une configuration minimum de plate-forme de processeur pour les instances de machine virtuelle au sein d'un groupe d'instances gérées.

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'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, fournissez l'indicateur --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.

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":
      [
        {
          "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