Présentation de la création de clusters HPC


Pour créer l'infrastructure d'applications étroitement couplées qui évoluent sur plusieurs nœuds, vous pouvez créer un cluster d'instances de machines virtuelles (VM). Ce guide fournit un aperçu général des principales considérations et étapes à suivre pour configurer un cluster d'instances de machines virtuelles (VM) pour les charges de travail de calcul hautes performances (HPC) à l'aide d'une allocation de ressources dense.

Compute Engine propose différentes méthodes pour créer une multitude d'instances de VM connectées au même réseau, mais qui ne nécessitent pas d'allocation de ressources dense. Par exemple, vous pouvez utiliser l'une des méthodes suivantes, qui sont abordées ailleurs dans la documentation Compute Engine :

Vous pouvez également créer un script qui inclut les commandes permettant de créer des instances individuelles et d'associer des règles de placement compact aux instances pour réduire la latence.

Avec H4D (aperçu), Compute Engine permet d'exécuter des charges de travail HPC massives en traitant un cluster entier d'instances de VM comme un seul ordinateur. L'emplacement des VM tenant compte de la topologie vous permet d'accéder à de nombreuses instances au sein d'un même superbloc réseau et de minimiser la latence réseau. Vous pouvez également configurer Cloud RDMA sur ces instances pour maximiser les performances de communication entre les nœuds, ce qui est essentiel pour les charges de travail HPC à couplage fort.

Vous créez ces clusters de VM HPC avec H4D en réservant des blocs de capacité plutôt que des ressources individuelles. L'utilisation de blocs de capacité pour votre cluster offre les fonctionnalités supplémentaires suivantes pour le déploiement et la gestion de ces environnements à grande échelle :

  • Placement des instances de VM tenant compte de la topologie
  • Systèmes de réservation avancés pour sécuriser et gérer la capacité
  • Groupes d'instances gérés (MIG) améliorés conçus pour les ensembles volumineux et interdépendants d'instances de VM.
  • Planification et contrôles de maintenance avancés qui offrent un meilleur contrôle sur le moment et la manière dont la maintenance est effectuée sur les instances de VM, ce qui est essentiel pour les charges de travail de longue durée et sensibles aux interruptions. Cela inclut des fonctionnalités telles que la maintenance déclenchée par le client et la maintenance groupée pour des blocs de ressources.

Terminologie des clusters

Lorsque vous travaillez avec des blocs de capacité, les termes suivants sont utilisés :

Blocs
 Plusieurs sous-blocs sont interconnectés avec une structure non bloquante, ce qui fournit une interconnexion à bande passante élevée. Tous les processeurs du bloc sont accessibles en deux sauts réseau maximum. Le système expose les métadonnées des blocs et des sous-blocs aux orchestrateurs pour permettre un placement optimal des tâches.
Clusters
Plusieurs blocs s'interconnectent pour former un cluster qui peut évoluer jusqu'à des milliers de processeurs pour exécuter des charges de travail HPC à grande échelle. Chaque cluster est unique au niveau mondial. La communication entre différents blocs n'ajoute qu'un seul saut supplémentaire, ce qui permet de maintenir des performances et une prévisibilité élevées, même à grande échelle. Les métadonnées au niveau du cluster sont également disponibles pour les orchestrateurs afin de permettre un placement intelligent des jobs à grande échelle.
Déploiement dense
Une demande de ressources qui alloue vos ressources d'accélérateur physiquement proches les unes des autres pour minimiser les sauts de réseau et optimiser la latence la plus faible.
Maillage réseau
Un réseau fournit une connectivité à haut débit et à faible latence entre tous les blocs et services Google Cloud d'un cluster. Jupiter est l'architecture de réseau de centres de données de Google. Elle s'appuie sur la mise en réseau définie par logiciel et les commutateurs de circuits optiques pour faire évoluer le réseau et optimiser ses performances.
Nœud ou hôte
Une seule machine serveur physique dans le centre de données. Chaque hôte est associé à des ressources de calcul (processeurs, mémoire et interfaces réseau). Le nombre et la configuration de ces ressources de calcul dépendent de la famille de machines. Les instances de VM sont provisionnées sur un hôte physique.
Orchestrator
Un orchestrateur automatise la gestion de vos clusters. Avec un orchestrateur, vous n'avez pas besoin de gérer chaque instance de VM dans le cluster. Un orchestrateur, tel que Slurm ou Google Kubernetes Engine (GKE), gère des tâches telles que la mise en file d'attente des jobs, l'allocation des ressources, l'autoscaling (avec GKE) et d'autres tâches de gestion quotidienne des clusters.
Sous-blocs
 Il s'agit d'unités de base dans lesquelles un groupe d'hôtes est physiquement colocalisé sur un même rack. Un commutateur Top-of-Rack (ToR) connecte ces hôtes, ce qui permet une communication extrêmement efficace et à un seul saut entre deux processeurs du sous-bloc. Cloud RDMA facilite cette communication directe.

Présentation du processus de création de clusters avec des VM H4D

Pour créer des clusters HPC sur des blocs de capacité réservés, vous devez procéder comme suit :

  1. Choisir une option de consommation et obtenir une capacité
  2. Choisir une option de déploiement et un orchestrateur
  3. Choisir l'image du système d'exploitation ou du cluster
  4. Créer votre cluster

Choisir une option de consommation et obtenir la capacité

Les options de consommation déterminent la manière dont les ressources sont obtenues pour votre cluster. Pour créer un cluster avec des fonctionnalités de gestion améliorées, vous devez demander des blocs de capacité pour un déploiement dense.

Le tableau suivant récapitule les principales différences entre les options de consommation pour les blocs de capacité :

Option de consommation Réservations futures pour les blocs de capacité Démarrage flexible (aperçu)
Caractéristiques de la charge de travail Charges de travail distribuées à grande échelle et de longue durée nécessitant des ressources allouées de manière dense Charges de travail de courte durée nécessitant des ressources allouées de manière dense
Durée de vie N'importe quand Jusqu'à 7 jours
Préemptif Non Non
Quota Vérifiez que vous disposez d'un quota suffisant avant de créer des instances. Le quota préemptif est facturé.
Tarifs
Allocation des ressources Dense Dense
Modèle de provisionnement Liée à la réservation Démarrage flexible (aperçu)
Méthode de création Pour créer des clusters et des VM HPC, vous devez effectuer les opérations suivantes :
  1. Réservez de la capacité en contactant l'équipe chargée de votre compte.
  2. À la date et à l'heure de votre choix, vous pouvez utiliser la capacité réservée pour créer des clusters HPC. Consultez Choisir une option de déploiement.
Pour créer des VM, sélectionnez l'une des options suivantes :

Lorsque la capacité demandée devient disponible, Compute Engine la provisionne.

Choisir une option de déploiement

En fonction du niveau de contrôle dont vous avez besoin sur le déploiement de votre cluster, choisissez entre un déploiement hautement géré ou un déploiement moins géré qui vous donne plus de contrôle sur votre infrastructure. Parmi les options de déploiement disponibles, on trouve l'installation et la configuration d'un orchestrateur pour une gestion améliorée du cluster HPC.

Hautement géré

Si vous souhaitez que Google déploie et configure votre infrastructure, utilisez Cluster Toolkit ou Google Kubernetes Engine (GKE).

  • Cluster Toolkit : outil Open Source proposé par Google qui simplifie la configuration et le déploiement des clusters utilisant Slurm ou GKE. Vous utilisez des plans prédéfinis pour créer un dossier de déploiement basé sur le plan. Vous pouvez modifier les plans ou le dossier de déploiement pour personnaliser les déploiements et votre pile logicielle. Vous utilisez ensuite Terraform ou Packer pour exécuter les commandes générées par Cluster Toolkit afin de déployer le cluster.

    Pour consulter un tutoriel sur cette méthode de déploiement, consultez Créer un cluster Slurm HPC compatible avec RDMA.

  • GKE : service Kubernetes géré et plate-forme d'orchestration de conteneurs Open Source. GKE propose des fonctionnalités telles que l'autoscaling et la haute disponibilité. Ces fonctionnalités font de GKE une solution idéale pour déployer et gérer des charges de travail HPC, y compris sa capacité à orchestrer des applications conteneurisées, sa compatibilité avec du matériel spécialisé et son intégration à l'écosystème Google Cloud. Vous pouvez déployer des clusters GKE directement ou à l'aide de Cluster Toolkit. Vous pouvez choisir entre Google Kubernetes Engine (GKE) Standard ou Autopilot.

    Pour en savoir plus sur cette méthode de déploiement, consultez Exécuter des charges de travail HPC avec H4D.

Moins de gestion, plus de contrôle

Pour contrôler plus précisément vos clusters et les logiciels qui y sont installés, créez un cluster Compute Engine à l'aide de l'une des méthodes suivantes :

Vous pouvez utiliser ces méthodes si vous souhaitez utiliser un orchestrateur autre que Slurm ou GKE. Une fois les VM créées, vous installez manuellement les logiciels clés dont votre charge de travail HPC a besoin sur les VM. Vous pouvez également utiliser un script de démarrage pour vérifier automatiquement l'installation du logiciel et l'installer si nécessaire au démarrage de la VM.

Choisir l'image du système d'exploitation

L'image du système d'exploitation (OS) que vous choisissez dépend du service que vous utilisez pour déployer votre cluster.

  • Pour les clusters sur GKE : utilisez une image de nœud GKE, telle que Container-Optimized OS. Si vous utilisez Cluster Toolkit pour déployer votre cluster GKE, une image Container-Optimized OS est utilisée par défaut. Pour en savoir plus sur les images de nœuds, consultez Images de nœuds dans la documentation GKE.

  • Pour les clusters sur Compute Engine : vous pouvez utiliser l'une des images suivantes :

  • Pour les clusters Slurm : Cluster Toolkit déploie le cluster Slurm avec une image de VM HPC basée sur Rocky Linux 8, optimisée pour les charges de travail HPC à couplage fort.

Créer votre cluster HPC

Après avoir examiné le processus de création de cluster et pris des décisions préliminaires pour votre charge de travail, créez votre cluster à l'aide de l'une des options suivantes :

Étapes suivantes