Créer une instance de VM compatible avec HPC


Présentation

Les charges de travail de calcul hautes performances étroitement couplée utilisent souvent l'interface de transmission de messages (MPI, Message Passing Interface) pour communiquer entre les processus et les instances de machines virtuelles (VM). Toutefois, la création de votre propre image de VM adaptée aux performances MPI optimales nécessite une expertise système, une connaissance de Google Cloud et un temps de maintenance supplémentaire. Pour créer rapidement des instances de VM pour vos charges de travail HPC, vous pouvez utiliser l'image de VM HPC. Vous pouvez également créer des VM à l'aide de la série de machines H3.

L'image de VM HPC est une image de VM basée sur CentOS 7.9 ou Rocky Linux 8 qui est optimisée pour les charges de travail HPC à couplage fort. Elle inclut le noyau préconfiguré et les paramètres de réglages réseau nécessaires pour créer des instances de VM qui atteignent des performances MPI optimales sur Google Cloud.

Vous pouvez créer une VM compatible avec le HPC à l'aide des options suivantes :

Avantages

L'image de VM HPC offre les avantages suivants :

  1. VM compatibles avec HPC prêtes à l'emploi. Vous n'avez pas besoin de régler manuellement les performances, de gérer les redémarrages des VM ni de vous tenir informé des dernières mises à jour Google Cloud concernant les charges de travail HPC à couplage fort.
  2. Optimisations de la mise en réseau pour les charges de travail à couplage fort. Optimisations permettant de réduire la latence des petits messages, ce qui profite aux applications fortement dépendantes des communications de type point à point et collectives.
  3. Optimisations du calcul pour les charges de travail HPC. Optimisations permettant de réduire la gigue du système, ce qui rend les hautes performances plus prévisibles sur un nœud unique.
  4. Performances cohérentes et reproductibles. La standardisation des images de VM offre des performances cohérentes et reproductibles au niveau de l'application.
  5. Compatibilité des applications améliorée L'alignement avec les exigences au niveau du nœud de la spécification de la plate-forme HPC Intel permet un haut degré d'interopérabilité entre les systèmes.

Fonctionnalités

Réglages collectifs Intel MPI

L'image de VM HPC inclut les réglages collectifs Intel MPI effectués sur les instances c2-standard-60 et c2d-standard-112 à l'aide de stratégies de concentration.

RPM préinstallés

Les packages RPM suivants sont préinstallés sur l'image de la VM HPC:

  • Lmod
  • dkms
  • htop
  • hwloc
  • hwloc-devel
  • kernel-devel
  • ltrace
  • libXt
  • nfs-utils
  • numactl
  • numactl-devel
  • papi
  • pciutils
  • pdsh
  • perf
  • redhat-lsb-core
  • redhat-lsb-cxx
  • rsh
  • screen
  • strace
  • wget
  • zsh
  • Groupe de packages "Outils pour les développeurs"

Guides de démarrage rapide

Avant de commencer

  1. Pour utiliser Google Cloud CLI dans le cadre de ce guide de démarrage rapide, vous devez d'abord installer et initialiser Google Cloud CLI :
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

Créer une instance de VM HPC

Créez la VM.

Console

  1. Dans la console Google Cloud, accédez à la page de Cloud Marketplace sur les VM HPC. Accéder à la page "HPC VM" (VM HPC) de Cloud Marketplace

  2. Cliquez sur Launch (Lancer).

  3. Sur la page de déploiement de la VM HPC, saisissez le nom du déploiement. Ce nom devient la racine du nom de la VM. Compute Engine ajoute -vm à ce nom lorsque vous nommez votre instance.

  4. Choisissez une zone et un type de machine. Dans ce guide de démarrage rapide, vous pouvez laisser tous les paramètres tels quels ou les modifier. Nous vous recommandons vivement de choisir un type de machine optimisé pour le calcul, tel que C2 ou C2D. Pour en connaître la raison, consultez la section Utiliser des instances optimisées pour le calcul.

  5. Laissez les valeurs par défaut dans les champs Boot disk type (Type de disque de démarrage), Boot disk size (Taille du disque de démarrage) et Network interface (Interface réseau).

  6. Cliquez sur Déployer.

Une fois la création de l'instance de VM terminée, Cloud Deployment Manager s'ouvre afin que vous puissiez gérer votre VM HPC et vos autres déploiements.

gcloud

Créez une VM HPC à l'aide de la commande instances create. Nous vous recommandons vivement de créer des VM HPC à l'aide des règles de concentration afin d'atteindre une faible latence du réseau.

gcloud compute instances create VM_NAME \
        --zone=ZONE \
        --image-family=IMAGE_FAMILY \
        --image-project=cloud-hpc-image-public \
        --maintenance-policy=TERMINATE \
        --machine-type=MACHINE_TYPE

Remplacez l'élément suivant :

  • VM_NAME : nom de la VM HPC à créer.
  • ZONE : zone dans laquelle la VM sera créée.
  • IMAGE_FAMILY: famille d'images de l'image avec laquelle créer des instances de VM. Utilisez hpc-centos-7 pour une image basée sur CentOS ou hpc-rocky-linux-8 pour une image basée sur Rocky Linux 8.
  • MACHINE_TYPE : type de machine pour la nouvelle VM. Nous vous recommandons vivement de choisir un type de machine C2 ou C2D, tel que c2-standard-60 ou c2d-standard-112. Pour en connaître la raison, consultez la section Utiliser des instances optimisées pour le calcul.

Après un certain temps, la création de l'instance de VM se termine. Pour vérifier la VM et afficher son état, exécutez la commande suivante :

gcloud compute instances describe VM_NAME

Accéder à la VM

Console

Une fois que vous avez créé votre instance de VM HPC, elle démarre automatiquement. Pour y accéder, procédez comme suit:

  1. Dans Google Cloud Console, accédez à la page Instances de VM.

    Accéder à la page "Instances de VM"

  2. Cliquez sur le nom de votre instance de VM.

  3. Dans la section Accès à distance, cliquez sur la première liste déroulante et choisissez le mode d'accès à l'instance souhaité.

Compute Engine propage vos clés SSH et crée votre utilisateur. Pour en savoir plus, consultez la page Se connecter à des VM Linux.

gcloud

Une fois que vous avez créé votre instance de VM HPC, elle démarre automatiquement. Pour y accéder via SSH, exécutez la commande compute ssh :

gcloud compute ssh VM_NAME

Compute Engine propage vos clés SSH et crée votre utilisateur. Pour en savoir plus, consultez la page Se connecter à des instances.

Nettoyer

Pour éviter que les ressources utilisées dans ce guide de démarrage rapide soient facturées sur votre compte Google Cloud, supprimez l'instance de VM HPC que vous avez créée.

Console

  1. Dans la console Google Cloud, accédez à la page Déploiements.

    Accéder à la page "Déploiements"

  2. Cochez la case en regard du déploiement de la VM HPC.

  3. Cliquez sur Supprimer.

gcloud

Exécutez la commande instances delete :

gcloud compute instances delete VM_NAME

Créer des VM HPC avec des règles de concentration

Vous pouvez réduire la latence entre les VM en créant une règle de concentration. Une règle de concentration garantit que les VM situées dans la même zone de disponibilité sont proches les unes des autres.

Pour créer des VM HPC qui spécifient une règle de concentration, procédez comme suit :

  1. Créer une règle de concentration

  2. Effectuez l'une des opérations suivantes :

Configurer votre VM HPC selon les bonnes pratiques

Pour optimiser les performances de votre VM HPC et les rendre plus prévisibles, nous vous recommandons de suivre les bonnes pratiques suivantes.

Désactiver le multithreading simultané

L'image de VM HPC permet d'utiliser le multithreading simultané (SMT), également appelé Hyper-Threading sur les processeurs Intel, par défaut. La désactivation du SMT peut améliorer les performances de vos tâches et réduire les temps de tâche. Pour plus d'informations, consultez les bonnes pratiques de désactivation du SMT.

Vous pouvez utiliser les méthodes suivantes pour désactiver SMT :

  • Pour désactiver SMT lors de la création d'une VM HPC, suivez les étapes permettant de créer une VM HPC et ajoutez l'option --threads-per-core=1.

  • Pour désactiver SMT sur une VM HPC existante, connectez-vous à la VM et exécutez la commande suivante à partir de la VM :

    sudo google_mpi_tuning --nosmt
    

Pour en savoir plus, consultez la section Configurer SMT.

Utiliser gVNIC comme interface de réseau virtuel

L'image de VM HPC est compatible avec Virtio-net et la carte d'interface réseau virtuelle Google (gVNIC) en tant qu'interfaces réseau virtuel. L'utilisation de gVNIC au lieu de Virtio-net peut améliorer l'évolutivité des applications MPI en offrant de meilleures performances de communication et un débit plus élevé. De plus, gVNIC est une condition préalable à la mise en réseau avancée, qui fournit une bande passante plus élevée et permet un débit plus élevé.

Lorsque vous créez une VM, Virtio-net est utilisé par défaut comme interface de réseau virtuel. Pour utiliser gVNIC, suivez les étapes permettant de créer une VM HPC et incluez l'option --network-interface=nic-type=GVNIC. L'image de VM HPC inclut le pilote gVNIC en tant que DKMS (Dynamic Kernel Module Support). Pour en savoir plus, consultez la section Utiliser la carte d'interface réseau virtuelle Google.

Désactiver les mesures d'atténuation pour Meltdown et de Spectre

Par défaut, l'image de VM HPC active les mesures d'atténuation des risques liés à Spectre et Meltdown. Dans certains cas, ces mesures d'atténuation peuvent entraîner une dégradation des performances spécifiques à la charge de travail. Pour désactiver ces mesures d'atténuation et limiter les risques de sécurité associés, procédez comme suit :

  1. Exécutez la commande suivante sur votre VM HPC:

    sudo google_mpi_tuning --nomitigation
    
  2. Redémarrez la VM.

Améliorer les performances réseau

Pour améliorer les performances réseau de votre VM, définissez une ou plusieurs des configurations suivantes :

Utiliser Intel MPI 2021

Google recommande d'utiliser la bibliothèque Intel MPI 2021 pour exécuter des jobs MPI sur Google Cloud.

Les mises en œuvre MPI comportent de nombreux paramètres de configuration internes qui peuvent affecter les performances de communication. Ces paramètres sont particulièrement pertinents pour la communication MPI collective qui vous permet de spécifier des algorithmes et des paramètres de configuration pouvant varier considérablement dans l'environnement Google Cloud.

L'image de VM HPC inclut un utilitaire, Google-hpc-compute, pour installer facilement les bibliothèques MPI recommandées et utiliser des fournisseurs libfabric adaptés à Google Cloud via le transport TCP.

Utiliser l'utilitaire google-hpc-compute pour la compatibilité avec Intel MPI 2021

Le script google_install_intelmpi est l'outil associé MPI de l'utilitaire Google-hpc-compute. Il permet d'installer et de configurer IntelMPI 2021.11.

L'utilitaire Google-hpc-compute est inclus dans l'image de VM HPC.

Installer Intel MPI 2021

Pour installer la bibliothèque IntelMPI lors de la création d'une VM HPC, suivez les étapes permettant de créer une VM HPC et incluez les éléments suivants lors de la création de l'instance de VM :

--metadata=google_install_intelmpi="--impi_2021"

Pour installer la bibliothèque sur une VM HPC existante, exécutez la commande suivante sur cette VM:

sudo google_install_intelmpi --impi_2021 --install_dir=PATH_INSTALL_MPI

L'emplacement par défaut de install_dir est défini sur /opt/intel.

Image Intel MPI 2018 dans l'image HPC CentOS 7

L'assistance Intel MPI 2018 est disponible dans l'image HPC CentOS 7 sur Google Cloud. Pour plus d'informations, consultez le guide de l'utilitaire google_install_mpi.

Pour les cas d'utilisation supplémentaires liés à Intel MPI 2018, tels que l'exécution d'applications MPI développées avec Intel Parallel Studio XE, utilisez l'environnement d'exécution Intel Parallel Studio XE (PSXE) complet en remplaçant intel_mpi par intel_psxe_runtime dans les commandes ci-dessus. L'environnement d'exécution PSXE comprend plusieurs bibliothèques importantes pour l'exécution d'applications MPI, telles que la bibliothèque Intel Math Kernel (MKL).

Créer une image personnalisée à l'aide de l'image de VM HPC

  1. Créez une VM personnalisée qui utilise l'image de VM HPC.

  2. Personnaliser la VM avec les réglages de MPI.

  3. Créez une image personnalisée en utilisant le disque de démarrage de votre image de VM HPC comme disque source. Pour ce faire, utilisez la console Google Cloud ou Google Cloud CLI.

Console

  1. Dans la console Google Cloud, accédez à la page Images.

    Accéder à la page "Images"

  2. Cliquez sur Create image (Créer une image).

  3. Indiquez un Nom pour votre image.

  4. Sous Disque source, sélectionnez le nom du disque de démarrage sur votre VM HPC.

  5. Sélectionnez les autres propriétés restantes pour votre image.

  6. Cliquez sur Create (Créer).

gcloud

Créez l'image personnalisée à l'aide de la commande images create.

gcloud compute images create IMAGE_NAME \
         --source-disk=VM_NAME \
         --source-disk-zone=VM_ZONE \
         --family=IMAGE_FAMILY \
         --storage-location=LOCATION

Remplacez l'élément suivant :

  • IMAGE_NAME: nom de l'image personnalisée.
  • VM_NAME: nom de votre VM HPC.
  • INSTANCE_ZONE: zone où se trouve votre VM HPC.
  • IMAGE_FAMILY : Facultatif. famille d'images à laquelle cette nouvelle image appartient.
  • LOCATION : Facultatif. Région dans laquelle l'image personnalisée est stockée. L'emplacement par défaut est l'emplacement multirégional le plus proche de l'emplacement du disque source.

Tarifs

L'image de VM HPC est disponible sans frais supplémentaires. Étant donné que l'image de VM HPC s'exécute sur Compute Engine, des frais peuvent vous être facturés pour les ressources Compute Engine, telles que les processeurs virtuels et la mémoire C2. Pour en savoir plus, consultez la page Tarifs de Compute Engine.

Limites

Les avantages du réglage varient d'une application à l'autre. Dans certains cas, un réglage particulier peut avoir un impact négatif sur les performances. Pensez à analyser vos applications pour trouver la configuration la plus efficace ou la plus rentable.

Étape suivante