Google Kubernetes Engine (GKE) fournit une plate-forme évolutive et hautes performances pour les charges de travail de calcul hautes performances (HPC). Pour obtenir des performances élevées et une efficacité opérationnelle, vous pouvez utiliser une infrastructure optimisée pour les charges de travail, telle que les familles de VM spécifiques au HPC, fournies par GKE. Ce document présente les bonnes pratiques pour gérer votre infrastructure et vos charges de travail afin d'optimiser l'exécution de vos applications HPC sur GKE.
Pour obtenir une vue d'ensemble de toutes les bonnes pratiques GKE, consultez Bonnes pratiques pour GKE.Configuration de l'infrastructure et des nœuds
Cette section décrit les bonnes pratiques pour configurer votre infrastructure sous-jacente et vos nœuds GKE pour les charges de travail HPC.
Choisir des VM H4D pour les charges de travail gourmandes en ressources de calcul
Sélectionnez le matériel approprié pour votre application. Les VM H4D sont conçues pour maximiser le débit des applications HPC gourmandes en ressources de calcul. Les VM H4D offrent des performances élevées, un faible coût et une évolutivité pour les charges de travail multinœuds. H4D fait partie de la famille de machines optimisées pour le calcul, qui propose des instances optimisées pour le calcul idéales pour les charges de travail gourmandes en ressources de calcul et HPC.
Pour en savoir plus sur la série de machines H4D, consultez Famille de machines optimisées pour le calcul : série de machines H4D.
Pour obtenir des instructions sur la création de clusters GKE optimisés pour le HPC, consultez Exécuter des charges de travail de calcul hautes performances avec H4D.
Tenir compte des ressources pouvant être allouées aux nœuds
Comprenez la différence entre la capacité totale des ressources d'un nœud et les ressources pouvant être allouées à vos charges de travail. Les nœuds GKE exécutent des composants système, tels que kubelet et l'environnement d'exécution de conteneurs, qui nécessitent des ressources pour fonctionner. GKE réserve une quantité prédéfinie de ressources pour les fonctionnalités système et la fiabilité des nœuds. Comprendre la quantité d'allocation de ressources réelle dont vous disposez pour votre charge de travail (la taille de la VM moins la capacité réservée par GKE) peut vous aider à dimensionner correctement les demandes de ressources pour vos charges de travail HPC.
Pour en savoir plus, consultez les ressources suivantes :
- Documentation GKE sur la planification de la taille des nœuds : Vérifier les ressources pouvant être allouées sur un nœud.
- Documentation Kubernetes sur la réservation de ressources de calcul pour les daemons système.
Réserver des cœurs pour atténuer les préemptions
Si une charge de travail utilise tous les cœurs physiques disponibles sur un nœud, elle peut entrer en conflit avec les daemons système sensibles à la latence. Ce conflit peut entraîner des préemptions fréquentes, où le planificateur de l'OS interrompt la charge de travail HPC pour effectuer des tâches système, ce qui peut dégrader les performances.
Pour maintenir les performances, évitez d'allouer tous les processeurs disponibles à votre charge de travail. Les processus système essentiels nécessitent une petite surcharge de processeur pour fonctionner correctement. L'allocation de 100% de la capacité de calcul à votre charge de travail crée un conflit de ressources avec ces composants système, ce qui peut dégrader les performances. Par exemple, pour les types de machines H4D, pour maintenir les performances, configurez votre charge de travail de sorte qu'elle utilise moins de 192 processeurs.
Configuration des clusters et des charges de travail
Cette section décrit les bonnes pratiques pour configurer vos clusters GKE et déployer vos charges de travail HPC.
Utiliser Cluster Toolkit pour créer des clusters
Utilisez Cluster Toolkit pour simplifier le déploiement et la gestion des charges de travail HPC sur GKE. Le kit d'outils fournit des plans de conception de référence qui intègrent les bonnes pratiques pour configurer les ressources de calcul, de stockage et de mise en réseau dans un environnement hautes performances.
Pour obtenir des instructions sur l'utilisation de Cluster Toolkit afin de créer un cluster H4D, consultez Exécuter des charges de travail de calcul hautes performances avec H4D.
Utiliser le démarrage flexible pour la gestion de la capacité
Pour les charges de travail HPC intensives (dynamiques) ou non sensibles au temps, utilisez le démarrage flexible pour améliorer la gestion de la capacité lorsque la capacité à la demande ou réservée H4D n'est pas disponible. Le démarrage flexible gère le cycle de vie des nœuds H4D et permet de répondre aux besoins en ressources intensifs ou sensibles au temps.
Pour en savoir plus, consultez Créer un cluster H4D avec le démarrage flexible.
Utiliser une stratégie d'emplacement compact pour les charges de travail à couplage fort
Implémentez une stratégie d'emplacement compact pour les charges de travail HPC à couplage fort et sensibles à la latence. Cette stratégie permet de s'assurer que tous les pods sont provisionnés à proximité les uns des autres sur les machines hôtes. Cette configuration minimise la latence réseau entre les nœuds, ce qui est essentiel pour les applications qui reposent sur la communication entre les nœuds.
Si vous créez un cluster H4D à l'aide de la gcloud CLI, comme décrit dans Exécuter des charges de travail de calcul hautes performances avec H4D, GKE configure automatiquement une stratégie d'emplacement compact. Si vous utilisez Cluster Toolkit, cette stratégie est également configurée automatiquement. Si vous souhaitez configurer manuellement un emplacement compact pour d'autres types de nœuds, consultez Définir un emplacement compact pour les nœuds GKE.
Définir des demandes de ressources appropriées
Inspectez le processeur réellement allouable sur vos nœuds avant de dimensionner vos tâches HPC.
Utilisez la commande kubectl get node pour afficher les ressources pouvant être allouées. Assurez-vous que les exigences de votre tâche en termes de processeur ne dépassent pas ce que GKE a de disponible après les réservations système GKE.
GKE dispose de plusieurs fonctionnalités pour vous aider à analyser et à ajuster automatiquement vos demandes de ressources. Pour en savoir plus, commencez par Identifier les charges de travail sous-provisionnées et surprovisionnées.
Dédier des nœuds entiers à des charges de travail uniques
Configurez vos tâches MPI pour qu'elles occupent un nœud H4D entier. Les instances H4D sont provisionnées en tant que VM hôtes entières. Cette stratégie réserve la grande majorité de la capacité du nœud, ce qui garantit l'isolement de votre charge de travail. Utilisez des demandes de ressources de conteneur ou l'anti-affinité de pod pour vous assurer que les répliques ne se trouvent pas sur le même nœud physique.
Activer Cloud RDMA pour la mise en réseau à haut débit avec les VM H4D
Si vous utilisez des VM H4D, configurez votre fichier manifeste de déploiement pour activer Cloud RDMA pour vos pods. Cette configuration permet de s'assurer que les interfaces réseau RDMA à haut débit sont correctement exposées à votre charge de travail conteneurisée. Pour obtenir des instructions, consultez Configurer des fichiers manifestes pour RDMA.
Récapitulatif des bonnes pratiques
Le tableau suivant récapitule les bonnes pratiques recommandées dans ce document :
| Sujet | Tâche |
|---|---|
| Configuration de l'infrastructure et des nœuds | Choisir des VM H4D pour les charges de travail gourmandes en ressources de calcul |
| Configuration de l'infrastructure et des nœuds | Tenir compte des ressources pouvant être allouées aux nœuds |
| Configuration de l'infrastructure et des nœuds | Réserver des cœurs pour atténuer les préemptions |
| Configuration des clusters et des charges de travail | Utiliser Cluster Toolkit pour créer des clusters |
| Configuration des clusters et des charges de travail | Utiliser le démarrage flexible pour la gestion de la capacité |
| Configuration des clusters et des charges de travail | Utiliser une stratégie d'emplacement compact pour les charges de travail à couplage fort |
| Configuration des clusters et des charges de travail | Définir des demandes de ressources appropriées |
| Configuration des clusters et des charges de travail | Dédier des nœuds entiers à des charges de travail uniques |
| Configuration des clusters et des charges de travail | Activer Cloud RDMA pour la mise en réseau à haut débit avec les VM H4D |
Étape suivante
- Exécuter des charges de travail de calcul hautes performances (HPC) avec H4D.
- Découvrez comment planifier le dimensionnement des nœuds GKE.