Préparation au déploiement de plates-formes de calcul hautes performances et d'IA à la demande sur OCI

Utilisez ces conseils de préparation pour concevoir des bases d'accès, de calcul, de stockage, d'identité et d'opérations avant de déployer la plate-forme.

Passez en revue les domaines de préparation pour une plate-forme de calcul hautes performances et d'IA à la demande sur OCI.

Accès utilisateur et services OOD

Préparez le chemin d'accès utilisateur et la conception du service OOD afin que les workflows basés sur un navigateur restent sécurisés, cohérents et pris en charge.

Les utilisateurs accèdent à la plate-forme via HTTPS via OOD, tandis que les administrateurs approuvés utilisent des chemins SSH contrôlés pour la prise en charge et les opérations d'accès d'urgence.

  • Utilisez OCI Load Balancer pour l'entrée HTTPS, avec des listes d'autorisation IP ou des groupes de sécurité réseau facultatifs OCI Web Application Firewall.
  • Utilisez Microsoft Entra ID et OIDC pour l'authentification unique sur le portail OOD.
  • Considérez OOD comme une plate-forme d'application, pas seulement une installation de package, et des personnalisations de contrôle de version.
  • Validez le routage Apache, les applications OOD et le comportement du proxy /node et /rnode dans le cadre des vérifications de préparation.
  • Confirmer les chemins de lancement d'application interactifs pour Remote Desktop, VS Code, JupyterLab, RStudio et MATLAB.

Déplacement, provisionnement, surveillance et automatisation des données

Préparez la gestion partagée des données, le provisionnement des projets, l'observabilité et l'automatisation afin que les événements de mise à l'échelle restent fiables pour les workflows destinés aux utilisateurs.

Concevez la plate-forme opérationnelle afin que les flux de travail de déplacement de données, de provisionnement des identités, de surveillance et de maintenance récurrente soient cohérents sur les noeuds statiques et redimensionnés automatiquement.

  • Définissez les chemins de déplacement de données entre OCI Object Storage, les systèmes de fichiers partagés, les espaces de travail de projet, les chemins de travail et Lustre.
  • Définissez le provisionnement juste à temps (JIT) pour les répertoires personnels, les répertoires de projet, les autorisations et l'alignement des comptes Slurm.
  • Utilisez Prometheus et Grafana pour surveiller les services Slurm, la préparation des noeuds, les montages de stockage, l'exécution de GPU et l'état des applications OOD.
  • Exécutez les tâches idempotentes cron et d'automatisation pour la synchronisation de l'hôte, les workflows de nettoyage, les vérifications de quotas, la réparation du bootstrap et l'application de patches OOD après la mise à niveau.

Topologie de cluster HPC et partitions Slurm

Préparez la topologie de plan de contrôle et la stratégie de partition Slurm afin que la capacité de CPU et de GPU évolue de manière prévisible entre les types de charge globale.

Utilisez une conception de cluster qui sépare les rôles de contrôleur, de connexion, de calcul permanent, de redimensionnement automatique de CPU et de GPU de redimensionnement automatique pour plus de clarté opérationnelle.

  • Concevez des services de contrôleur Slurm pour la planification, la comptabilité, la gestion de l'état des noeuds et l'intégration du redimensionnement automatique.
  • Gardez les nœuds de connexion concentrés sur la soumission et les diagnostics, et non sur l'exécution de charges de travail lourdes.
  • Utilisez des partitions de calcul permanentes pour les charges globales à faible latence et le dépannage de base.
  • Utilisez des partitions de processeur de redimensionnement automatique pour les charges globales interactives et par lots volumineuses.
  • Séparez les partitions GPU par type de charge globale et par ligne d'image pour gérer les dépendances d'exécution, de pilote et de stockage.
  • Validez la préparation du planificateur avec MUNGE, slurmd, l'identité de noeud, les ressources génériques (GRES) et les montages de stockage avant de marquer les noeuds comme prêts.

Conception de stockage à plusieurs niveaux

Préparez les niveaux de stockage par comportement de charge globale afin que l'état des utilisateurs, les jeux de données partagés et les E/S à haut débit utilisent les services et les chemins de montage appropriés.

Utilisez une conception de stockage hiérarchisé pour séparer l'état persistant des utilisateurs, les jeux de données de projet partagés et les chemins d'E/S de charge globale hautes performances.

  • Utilisez OCI File Storage (FSS) pour les chemins d'utilisateur et d'exécution partagés tels que /home, /scratch et /apps.
  • Utilisez OCI Object Storage avec JuiceFS pour les ensembles de données partagés durables et les données de projet, généralement montés sur /odata.
  • Utilisez File Storage with Lustre pour l'entraînement, les points de reprise et les E/S de simulation d'IA à haut débit, généralement montés sur /lustre.
  • Validez chaque montage indépendamment sur chaque classe de noeud utilisée pour les workflows batch et interactifs.

Gestion des identités

Préparez une identité Linux centralisée et une autorisation de projet afin que les contrôles d'accès, de quotas et de planification restent cohérents sur l'ensemble de la plate-forme.

Utilisez la gestion centralisée des identités pour aligner les comptes Linux, les groupes, les contrôles d'accès à l'hôte et l'autorisation du planificateur sur les charges globales colocatives.

  • Utilisez FreeIPA pour les utilisateurs LDAP, les groupes POSIX, l'authentification Kerberos et le contrôle d'accès basé sur l'hôte.
  • Mapper des groupes de projets et d'ateliers avec des comptes Slurm pour appliquer l'isolement, la propriété des quotas et le reporting de rétrofacturation ou de rétrofacturation.
  • Validez le comportement de redémarrage du service d'identité afin que SSH, la propriété du répertoire personnel et le démarrage de Slurm restent stables après les événements de maintenance.
  • Planifiez l'intégration entre les sources de groupe Microsoft Entra ID et les workflows de gouvernance des identités Linux lorsque l'autorisation de projet est requise.