Google Kubernetes Engine (GKE) fournit une plate-forme évolutive et hautes performances pour les charges de travail de calcul hautes performances (HPC). Pour atteindre des performances élevées et une efficacité opérationnelle, vous pouvez utiliser l'infrastructure optimisée pour les charges de travail, telle que les familles de VM spécifiques au HPC, fournies par GKE. Ce document décrit 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 un aperçu complet 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 à suivre 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 nécessitant beaucoup de 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. La famille 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 exigeantes en calcul et le 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 savoir comment créer des clusters GKE optimisés pour le HPC, consultez Exécuter des charges de travail de calcul hautes performances avec H4D.
Prendre en compte les ressources pouvant être allouées aux nœuds
Comprendre 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 conteneur, 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é de ressources allouées à votre charge de travail (la taille de la VM moins la capacité réservée par GKE) peut vous aider à dimensionner correctement les requêtes de ressources pour vos charges de travail HPC.
Pour en savoir plus, consultez les ressources suivantes :
- Documentation GKE sur la planification des tailles de 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 limiter les préemptions
Si une charge de travail utilise tous les cœurs physiques disponibles sur un nœud, elle peut entrer en concurrence avec les daemons système sensibles à la latence. Cette contention 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 quantité de ressources 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, afin de maintenir les performances, configurez votre charge de travail pour qu'elle utilise moins de 192 processeurs.
Configuration du cluster et de la charge de travail
Cette section décrit les bonnes pratiques à suivre 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 fournit des plans de conception de référence qui intègrent les bonnes pratiques de configuration des ressources de calcul, de stockage et de mise en réseau dans un environnement hautes performances.
Pour savoir comment utiliser 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é H4D à la demande ou réservée 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 ponctuels ou urgents.
Pour en savoir plus, consultez Créer un cluster H4D avec démarrage flexible.
Utiliser une stratégie d'emplacement compact pour les charges de travail à couplage fort
Mettez en œuvre une stratégie d'emplacement compact pour les charges de travail HPC à couplage fort et sensibles à la latence. Cette règle 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 s'appuient sur la communication entre les nœuds.
Si vous créez un cluster H4D à l'aide de gcloud CLI, comme décrit dans Exécuter des charges de travail de calcul hautes performances avec H4D, GKE configure automatiquement une stratégie de placement compact. Si vous utilisez Cluster Toolkit, cette règle 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 allouable réel sur vos nœuds avant de dimensionner vos jobs HPC.
Utilisez la commande kubectl get node pour afficher les ressources pouvant être allouées. Assurez-vous que les exigences de processeur de votre job ne dépassent pas ce dont GKE dispose après les réservations du système GKE.
GKE propose plusieurs fonctionnalités pour vous aider à analyser et à ajuster automatiquement vos requêtes 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 jobs MPI pour qu'ils 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'isolation de votre charge de travail. Utilisez des requêtes de ressources de conteneur ou l'anti-affinité de pod pour vous assurer que les instances répliquées ne se retrouvent pas sur le même nœud physique.
Activer Cloud RDMA pour une mise en réseau à haut débit avec des 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 les 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 nécessitant beaucoup de 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 limiter les préemptions |
| Configuration du cluster et de la charge de travail | Utiliser Cluster Toolkit pour créer des clusters |
| Configuration du cluster et de la charge de travail | Utiliser le démarrage flexible pour la gestion de la capacité |
| Configuration du cluster et de la charge de travail | Utiliser une stratégie d'emplacement compact pour les charges de travail à couplage fort |
| Configuration du cluster et de la charge de travail | Définir des demandes de ressources appropriées |
| Configuration du cluster et de la charge de travail | Dédier des nœuds entiers à des charges de travail uniques |
| Configuration du cluster et de la charge de travail | Activer Cloud RDMA pour une mise en réseau à haut débit avec des VM H4D |
Étapes suivantes
- Exécuter des charges de travail de calcul hautes performances (HPC) avec H4D
- Découvrez comment planifier le dimensionnement des nœuds GKE.