Configurer la pile de clusters HPC à partir d'Oracle Cloud Marketplace

La pile de cluster HPC utilise Terraform pour déployer les ressources Oracle Cloud Infrastructure. La pile crée des noeuds GPU, du stockage, des fonctions de réseau standard et des fonctions de réseau de cluster hautes performances, ainsi qu'un bastion/noeud principal pour l'accès au cluster et sa gestion.

Déployer le cluster GPU

Votre compte Oracle Cloud doit appartenir à un groupe autorisé à déployer et à gérer ces ressources. Reportez-vous à la section Usage Instructions du cluster HPC pour plus d'informations sur les exigences de stratégie.

Vous pouvez déployer la pile vers un compartiment existant, mais il peut être plus propre si vous créez un compartiment spécifique pour le cluster.

Remarques :

Bien que l'utilisation de la pile Marketplace pour provisionner un environnement n'entraîne aucun coût, les ressources provisionnées lors du lancement de la pile vous seront facturées.
  1. Créez un compartiment pour votre location et votre région et vérifiez que des stratégies sont disponibles.
    1. Connectez-vous à la console OCI en tant qu'utilisateur Oracle Cloud pour la location et la région dans lesquelles vous souhaitez travailler.
    2. Créez un compartiment pour les ressources de cluster.
    3. Assurez-vous que des stratégies OCI sont en place pour vous permettre de créer le cluster.
      Cela peut nécessiter l'aide de votre administrateur réseau ou de sécurité. Voici un exemple de stratégie : "autorisez le groupe myGroup à gérer all-resources dans le compartiment compartment".
  2. Utilisez la pile de cluster HPC pour déployer le cluster GPU.
    1. Accédez à Marketplace, puis cliquez sur Toutes les applications.
    2. Dans la zone Rechercher des offres, entrez Cluster HPC.

      Remarques :

      Si la pile de cluster HPC n'est pas disponible dans OCI Marketplace dans votre location, vous pouvez cloner la pile à partir de GitHub (clone Git https://github.com/oracle-quickstart/oci-hpc.git) et l'importer dans OCI Resource Manager. Cela fournit la même fonctionnalité, mais nécessite que vous ayez accès à une "image de système d'exploitation personnalisée" appropriée pour les noeuds GPU.
    3. Cliquez sur Cluster HPC.
    4. Sélectionnez une version.
      Nous avons utilisé la version par défaut v2.10.4.1.
    5. Sélectionner le compartiment dans lequel créer le cluster
    6. Cliquez sur Lancer la pile.

Configuration du cluster

Lorsque la pile est lancée, renseignez les pages Informations sur la pile et Configuration pour commencer à configurer le cluster.

  1. Renseignez la page Informations sur la pile :
    1. Saisissez le nom du cluster.
    2. (Facultatif) Ajoutez une brève description.
    3. Cliquez sur Suivant.

    La page Variables de configuration apparaît.

  2. Configurez le cluster.
    La page Variables de configuration offre de nombreuses possibilités de personnaliser le cluster en fonction de vos besoins. Nous ne couvrons pas chaque option en détail. Nous fournissons plutôt des conseils lorsque des paramètres autres que ceux par défaut sont nécessaires pour créer un cluster GPU prenant en charge le logiciel de cluster NVIDIA.
    1. Dans Clé SSH publique, ajoutez une clé publique qui vous permettra de vous connecter au cluster.
    2. Cochez la case Utiliser un nom de cluster personnalisé, puis entrez un nom d'hôte de base.
      Il est utilisé comme préfixe pour les noms d'hôte de bastion et de noeud de connexion.
  3. Utilisez les options de noeud d'en-tête pour personnaliser le bastion.
    Cette instance sert de noeud de connexion principal, le contrôleur Slurm, et peut également être utilisée pour certains builds et autres activités de prise en charge du cluster. Ici, vous pouvez ajuster la capacité de l'UC, de la mémoire et du volume d'initialisation en fonction de vos besoins.
  4. Utilisez les options de noeud de calcul pour sélectionner le type et la quantité de noeuds de processus actif dans le cluster. Vous pouvez déployer ces noeuds avec une image de système d'exploitation à partir du Marketplace ou fournir une image personnalisée avec votre build de système d'exploitation préféré.
    • Domaine de disponibilité : si vous travaillez dans une région comportant plusieurs domaines de disponibilité, sélectionnez le domaine de disponibilité avec la meilleure disponibilité de ressources de GPU.
    • Sélectionnez Utiliser le réseau de cluster.
    • Forme des noeuds de calcul : sélectionnez la forme de GPU Bare Metal que vous utilisez dans ce cluster. Par exemple, BM.GPU4.8.
    • Taille initiale du cluster : entrez le nombre de noeuds Bare Metal à provisionner.
    • Pour créer une image de système d'exploitation préconfigurée à partir de Marketplace, sélectionnez Utiliser l'image de marketplace. Ensuite, sous Version de l'image, sélectionnez l'une des images GPU pour un système d'exploitation préconfiguré avec des pilotes pour les GPU et la mise en réseau RDMA.
    • Utiliser l'image Marketplace : si vous créez le cluster avec une image personnalisée, désélectionnez cette case et sélectionnez Utiliser une image non prise en charge. Sous OCID d'image, indiquez l'OCID de l'image personnalisée que vous avez déjà téléchargée vers la location.
    • Utiliser l'agent de calcul : cette option peut être requise pour les images Marketplace.
  5. (Facultatif) Noeud de connexion supplémentaire fournit un second hôte permettant aux utilisateurs du cluster d'interagir avec le cluster. La forme, l'ocpus et la mémoire peuvent être personnalisés pour répondre à vos besoins.
  6. Les options de stockage avancées permettent de préconfigurer le stockage partagé qui sera disponible dans le cluster. Cliquez sur Afficher les options de stockage avancées pour développer les sélections.
    • Le répertoire de base du bastion est NFS partagé sur tous les noeuds du cluster. Cela fait partie du volume d'initialisation du noeud de tête, que vous pouvez personnaliser dans les options de noeud de tête.
    • Pour plus de stockage partagé, sélectionnez Volume de blocs supplémentaire pour l'espace partagé et entrez la capacité. Ce volume est attaché au bastion et partagé dans le cluster en tant que /nfs/cluster.
    • L'espace de travail NFS partagé à partir de NVME ou du volume de blocs partage la capacité NVMe du premier noeud de calcul dans le cluster en tant que /nfs/scratch. Cela fournit un stockage plus performant que les volumes de noeud principal, mais peut fournir moins de capacité et de disponibilité.
    • Mount Localdisk crée un système de fichiers à partir de NVMe sur chaque noeud de calcul et le monte localement sur ce noeud.
    • Un volume logique utilise LVM pour créer un volume plus grand à partir de plusieurs périphériques NVMe.
    • La redondance augmente la fiabilité (mais réduit de moitié la capacité utilisable) du stockage NVMe en mettant en miroir les périphériques.
  7. Utilisez les options réseau pour sélectionner le VCN.
    • Utiliser le VCN existant : désélectionné par défaut. Si cette option est désélectionnée, un nouveau VCN est provisionné. Cochez cette case pour provisionner le cluster dans un VCN et des sous-réseaux existants. Cela peut faciliter l'intégration de ce cluster et d'autres ressources de location.
  8. Utilisez Logiciel pour sélectionner le logiciel à installer.
    • Sélectionnez Install SLURM pour fournir la planification et la gestion des travaux SLURM.
    • (Facultatif) Sélectionnez Installer les outils de surveillance de cluster HPC pour obtenir des informations plus détaillées sur l'activité et l'utilisation du cluster.
    • Sélectionnez Install NVIDIA Enroot for containerized GPU workloads. Cela prépare l'environnement à exécuter des charges de travail dans NVIDIA PyTorch, la plate-forme NVIDIA NeMo et d'autres conteneurs.

      Remarques :

      Il est important que vous sélectionniez cette option.
    • Sélectionnez Install NVIDIA Pyxis plugin for Slurm.
    • Sélectionnez Activer PAM pour limiter l'accès de connexion aux noeuds de calcul.
  9. Débogage : assurez-vous que l'option Configurer le système est sélectionnée (il s'agit de la valeur par défaut).
  10. Cliquez sur Suivant pour vérifier les paramètres de configuration.

    En revue, la section Cluster Configuration affiche toutes vos sélections autres que celles par défaut. Vous pouvez revenir à la page Précédent pour apporter des modifications et revoir tous les paramètres.

  11. Sélectionnez Exécuter l'application, puis cliquez sur Créer pour lancer la pile dans votre location et créer le cluster.
    La pile est créée dans OCI Resource Manager et lancée avec vos spécifications pour commencer le provisionnement immédiatement.

    Ce processus prend plusieurs minutes. Le provisionnement des noeuds ne prend que quelques minutes par noeud de calcul, mais l'installation de logiciels supplémentaires sur les noeuds augmente le temps de création. Vous pouvez surveiller la progression du build dans la console OCI. Accédez à Resource Manager, puis à Jobs pour consulter le journal de travaux le plus récent à la recherche d'activités et d'erreurs possibles. Lorsque le statut du travail Resource Manager indique Succès, le déploiement est terminé.

    Si le statut final échoue, consultez le journal des travaux pour plus de détails. Pour les problèmes liés aux instances de calcul et aux réseaux de cluster, des informations supplémentaires peuvent être disponibles sous Demandes de travail sur le réseau de cluster. Pour accéder à la page, accédez à Compute, Réseaux de cluster, Détails du réseau de cluster, puis Demandes de travail de réseau de cluster. Sélectionnez la demande de travail la plus récente pour afficher les détails.

  12. Pour les builds réussis, l'adresse IP du bastion est signalée à la fin du journal de travail. Si vous avez configuré un noeud de connexion supplémentaire, l'adresse IP du noeud de connexion est également affichée. Exemple :
    Apply complete! Resources: 23 added, 0 changed, 0 destroyed.
    
    Outputs:
    RDMA_NIC_metrics_url = "https://objectstorage.us-gov-phoenix-1.oraclecloud.com
    backup = "No Slurm Backup Defined"
    bastion = 139.87.214.247
    login = "No Login Node Defined"
    private_ips = 172.16.6.4 172.16.7.109"
  13. Notez l'adresse IP publique du bastion, car elle est nécessaire pour se connecter au cluster.
    Vous pouvez également localiser les adresses IP dans la console OCI sous Compute, puis Instances.