En savoir plus sur les plates-formes de calcul hautes performances et d'IA à la demande sur OCI

Les entreprises qui exécutent des workloads d'IA, de machine learning, de calcul scientifique, de génomique, de simulation d'ingénierie et d'analyse peuvent utiliser cette architecture de référence pour fournir un accès sécurisé, basé sur un navigateur, à des GPU et à des processeurs colocatifs pour les workloads de recherche, d'IA et de calcul hautes performances sur Oracle Cloud Infrastructure (OCI).

Les principaux thèmes de production sont l'acceptation du navigateur authentifié, le positionnement GPU Lustre, la standardisation des images en or, les exécutions d'applications interactives partagées et l'automatisation de la gouvernance de projet.

Dans ce guide de solution, vous apprendrez à déployer une plate-forme de calcul hautes performances et d'IA à la demande sur OCI à l'aide d'Open OnDemand (OOD), de la gestion des workloads Slurm, du redimensionnement automatique de GPU et d'une architecture de stockage à plusieurs niveaux. Les chercheurs, les data scientists et les ingénieurs peuvent accéder en toute sécurité aux environnements interactifs d'IA et de calcul hautes performances via un navigateur Web. La plate-forme fait évoluer dynamiquement les ressources de GPU et de calcul en fonction de la demande de workloads.

L'architecture combine les fonctionnalités suivantes :

  • Accès par navigateur HPC et IA à l'aide d'Open OnDemand.
  • Intégration SSO sécurisée à l'aide de Microsoft Entra ID et d'OpenID Connect (OIDC).
  • Orchestration de la charge de travail basée sur le slurm pour les traitements interactifs et par lots.
  • Redimensionnement automatique des partitions de CPU et de GPU pour les charges de travail d'IA, de machine learning, de bureau distant et HPC.
  • Stockage hiérarchisé à l'aide d'OCI Object Storage, d'OCI File Storage (FSS), de JuiceFS et de File Storage with Lustre.
  • Gestion centralisée des identités Linux à l'aide de FreeIPA.
  • Surveillance intégrée à l'aide de Prometheus et Grafana.
  • Isolement des projets multi-utilisateurs et gestion des quotas.

Avant de commencer

Passez en revue les domaines de connaissances recommandés avant de déployer cette architecture pour réduire les risques liés à l'implémentation et les délais de dépannage.

L'équipe de livraison doit connaître :

  • Gestionnaire de charge de travail et conception de partition Slurm.
  • Environnements de calcul hautes performances (HPC) Linux et systèmes de fichiers partagés.
  • Formes de réseau OCI, de calcul, d'unité de traitement graphique (GPU) et services de stockage.
  • Ouvrez les applications OnDemand et Batch Connect.
  • Charges de travail d'IA et de machine learning basées sur les GPU.
  • Surveillance des piles telles que Prométhée et Grafana.
  • Gestion du cycle de vie des images Golden pour les noeuds de redimensionnement automatique.

Architecture

Utilisez cette architecture pour fournir un accès par navigateur authentifié, une planification gérée par Slurm et une capacité de processeur et de GPU redimensionnée automatiquement pour les programmes HPC et d'IA colocatifs.

L'architecture suivante combine les services d'infrastructure OCI avec des outils de calcul hautes performances open source éprouvés pour fournir une plate-forme sécurisée et évolutive pour les charges de travail par lots et interactives :



demande-plate-forme-hpc-oci-arch-oracle.zip#GUID-6AF78407-525D-4CF8-A7FD-6AC4A30F0C12

A un niveau élevé, les utilisateurs atteignent OOD via HTTPS et s'authentifient via Microsoft Entra ID. OOD permet au navigateur d'accéder aux fichiers, aux sessions shell, à Job Composer et aux applications interactives. Les planifications Slurm fonctionnent sur des partitions de CPU et de GPU permanentes et de redimensionnement automatique. L'automatisation OCI provisionne la capacité de calcul à la demande, et la logique d'initialisation des noeuds prépare l'identité, l'exécution Slurm, les périphériques GPU, les chemins d'application partagés et les montages de stockage avant le démarrage des charges de travail des utilisateurs.

Cette architecture applique des modèles d'implémentation pratiques à travers OOD 4.2, les noeuds de processeur de redimensionnement automatique Slurm, Remote Desktop/noVNC, la sélection de partition Job Composer, les flux d'initialisation de noeud GPU, le montage de données /odata, les modèles d'accès /lustre et le routage OOD /rnode.

Utilisateurs et couche d'accès

  • L'équilibreur de charge OCI fournit un accès HTTPS à l'adresse OOD.
  • Le pare-feu d'application Web (WAF) facultatif, les groupes de sécurité réseau ou les listes d'autorisation appliquent des contrôles de périmètre.
  • Microsoft Entra ID fournit une authentification OIDC pour les utilisateurs du navigateur.
  • Les chemins SSH de bastion ou restreints fournissent un accès administrateur contrôlé.

Ouvrir le serveur OnDemand

  • Le tableau de bord OOD fournit une entrée de navigateur pour les utilisateurs HPC.
  • Les fichiers et les applications Shell fournissent des opérations de fichier et de shell.
  • Job Composer soumet les travaux Slurm.
  • Les applications Batch Connect fournissent des sessions Bureau à distance, VS Code, JupyterLab et RStudio.
  • /node et /rnode acheminent les services interactifs proxy sur les noeuds de calcul.

Cluster HPC

Slurm 25.11.0 gère l'environnement HPC, qui inclut les noeuds de contrôleur, les noeuds de connexion, les partitions de calcul permanentes, les partitions de processeur de redimensionnement automatique et les partitions de GPU de redimensionnement automatique.

  • Le contrôleur Slurm héberge les scripts d'intégration slurmctld, slurmdbd, de comptabilité et de redimensionnement automatique.
  • Le noeud de connexion fournit une soumission de ligne de commande contrôlée et un accès de dépannage.
  • La partition de calcul permanente héberge les charges globales qui nécessitent une capacité immédiate.
  • Les partitions de processeur de redimensionnement automatique fournissent une capacité de processeur élastique pour les workloads batch et interactifs.
  • Les partitions de GPU de redimensionnement automatique fournissent une capacité de GPU élastique par type de charge globale et voie d'image.

Architecture de stockage à plusieurs niveaux

Chemin Couche de support Objectif principal
/home OCI File Storage Répertoires personnels des utilisateurs et état OOD
/scratch OCI File Storage ou stockage partagé hautes performances Données de travail et sortie de travail temporaire
/apps OCI File Storage Arborescences d'applications et de modules partagées
/odata JuiceFS soutenu par OCI Object Storage Ensembles de données partagés durables et données de projet
/lustre File Storage with Lustre Entraînement d'IA à haut débit, points de reprise et E/S de simulation HPC

Gestion de l'identité

FreeIPA fournit une gestion centralisée des identités et des accès Linux pour la couche HPC. Les groupes de projets sont mappés avec des comptes Slurm pour appliquer des contrôles d'accès mutualisés, des quotas et des modèles de refacturation ou de refacturation.

Surveillance et automatisation

Prometheus et Grafana collectent des signaux opérationnels sur OOD, Slurm, les nœuds de calcul, l'exécution de GPU et le stockage. L'automatisation en arrière-plan maintient les workflows d'initialisation, de synchronisation des hôtes et de nettoyage des noeuds cohérents à mesure que la capacité du cluster évolue.

Recommandations

Appliquez ces recommandations pour améliorer la gouvernance, la sécurité, le contrôle des coûts et la fiabilité des environnements de recherche de GPU et de CPU partagés sur OCI.

Les recommandations suivantes sont basées sur des modèles d'implémentation pratiques pour les environnements OCI HPC et OOD.

Utiliser des compartiments dédiés

Séparez les ressources d'infrastructure en compartiments OCI pour la mise en réseau, l'identité, le stockage, les services partagés, le calcul GPU et la surveillance.

Déployer des pools de GPU par type de charge globale

Créez des partitions Slurm distinctes pour le développement interactif de l'IA, l'entraînement à la production, les charges de travail d'inférence, les travaux HPC par lots et les charges de travail GPU requises par Lustre.

Utiliser le redimensionnement automatique de manière agressive

  • Utilisez des intervalles de suspension courts pour les noeuds GPU coûteux.
  • Utilisez des pools chauds uniquement pour les charges de travail sensibles à la latence.
  • Définissez des stratégies de redimensionnement distinctes par partition et par type de GPU.
  • Utilisez des vérifications de l'état qui vérifient munge, slurmd, l'enregistrement des noms de noeud, les ressources génériques (GRES), les montages et la préparation interactive à l'exécution.

Isoler les charges de travail de stockage

  • Utilisez FSS pour les répertoires personnels, l'état OOD et le développement interactif.
  • Utilisez Object Storage avec JuiceFS pour les jeux de données partagés durables.
  • Utilisez Lustre pour la formation à haut débit, les points de reprise et les résultats de simulation.

Accès interactif sécurisé

  • Utilisez l'intégration SSO basée sur OIDC avec Microsoft Entra ID pour OOD.
  • Utilisez un accès HTTPS uniquement et une administration SSH restreinte.
  • Utilisez des sous-réseaux privés pour les noeuds de calcul.
  • Dans la mesure du possible, préférez les groupes de sécurité réseau aux grandes listes de sécurité.
  • Utilisez les stratégies Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) avec le moins de privilèges.
  • Utilisez des groupes FreeIPA basés sur des projets et des comptes Slurm.
  • Imposer les listes d'autorisation OOD Shell et les contrôles d'expression régulière d'hôte /rnode.

Implémenter l'observabilité des workflows utilisateur

  • Suivre l'état du nœud Slurm et les motifs d'échec du travail.
  • Suivre les journaux de reprise et de réparation de redimensionnement automatique.
  • Suivre l'état du GPU et les sorties nvidia-smi.
  • Suivez l'état des services munge et slurmd.
  • Suivez l'état des montages FSS, JuiceFS et Lustre.
  • Suivre les erreurs PUN OOD Apache, Passenger et par utilisateur.
  • Suivi de l'état du service FreeIPA, DNS, LDAP et Kerberos.

Conserver les personnalisations OOD lors des mises à niveau

Traitez les mises à niveau OOD comme des versions d'application et vérifiez ou réappliquez les widgets personnalisés, la gestion des partitions Job Composer, les applications Batch Connect, les listes d'autorisation Shell et Files et les contrôles d'hôte proxy après chaque mise à niveau.

Points à prendre en compte

Utilisez ces considérations pour équilibrer les performances, la sécurité, la disponibilité, les coûts et les opérations pour les workloads HPC et d'IA colocatifs sur OCI.

Tenez compte des points suivants lors du déploiement de cette architecture de référence.

Performances

Les charges de travail d'IA gourmandes en GPU peuvent générer un trafic réseau et de stockage important.

  • Placez les noeuds GPU, Lustre et les chemins de stockage dans la même région et le même domaine de disponibilité lorsque cela est possible.
  • Utiliser la mise en réseau à bande passante élevée pour les charges de travail GPU et volumineuses au stockage.
  • Réduire les mouvements de données inter-région.
  • Réglez les stratégies de programmation Slurm pour la localité GPU et le comportement spécifique à la partition.
  • Pré-faites des images GPU avec des dépendances d'exécution stables pour réduire le temps de démarrage à froid.

Sécurité

Protégez les workloads sensibles d'IA et de recherche en utilisant des sous-réseaux privés pour les noeuds de calcul, en limitant l'accès SSH, en appliquant les stratégies OCI IAM les moins privilégiées, en chiffrant les niveaux de stockage, en intégrant la gestion centralisée des identités et en activant la journalisation et la surveillance des audits.

Disponibilité

Envisagez une haute disponibilité pour les contrôleurs Slurm, les back-ends Web OOD, les services FreeIPA, les systèmes de stockage partagé et l'infrastructure de surveillance.

Améliorez la résilience en déployant des contrôleurs redondants, en sauvegardant les bases de données de comptabilité Slurm, en validant le démarrage automatique du service FreeIPA et en conservant les sauvegardes d'annulation OOD avant les mises à niveau.

Coût

L'infrastructure de GPU peut représenter la dépense opérationnelle la plus importante.

  • Utilisez des partitions GPU de redimensionnement automatique.
  • Suspendez automatiquement les noeuds GPU inactifs.
  • Séparer les partitions de formation au développement, interactives et de production.
  • Préférez le stockage durable OCI Object Storage pour les ensembles de données inactifs.
  • Utilisez des images golden pour raccourcir le temps de démarrage et réduire les cycles de démarrage à froid ayant échoué.

Opérations

La leçon opérationnelle la plus importante est que la préparation doit être mesurée à partir du workflow utilisateur, et pas seulement à partir de la console cloud.

Pour les travaux interactifs, vérifiez l'état du travail Slurm, l'état du service de noeud, les montages de stockage, les processus d'écoute d'application interactifs, le routage OOD /node et /rnode et le comportement de démarrage du navigateur après l'authentification.

Liste de contrôle de préparation à la production

  • Déploiement OOD sur des back-ends Web redondants.
  • Comportement de routage et de déconnexion OIDC pour Microsoft Entra ID.
  • Sélection de la partition Job Composer dans toutes les partitions Slurm exposées.
  • Lancement du bureau à distance, connectivité noVNC et routage par proxy /rnode.
  • Redimensionnement automatique de l'amorce du noeud de CPU et acceptation interactive de la charge globale.
  • Initialisation du noeud GPU, vérifications d'exécution NVIDIA, enregistrement GRES et état d'intégrité Slurm.
  • Exécutions d'application interactive partagées sous /apps pour le serveur de code et JupyterLab.
  • Compatibilité de l'assistant personnalisé OOD après les mises à niveau de version.

A propos des services et rôles requis

Cette solution requiert les services et rôles suivants.
  • OCI Identity and Access Management / Domaine d'identité
  • Mise en réseau OCI
  • DNS OCI
  • Equilibreur de charge OCI
  • OCI Bastion
  • Calcul OCI
  • Volumes de blocs OCI
  • OCI File Storage
  • File Storage with Lustre
  • OCI Object Storage
  • OCI Registry
  • OCI Vault
  • Surveillance OCI, OCI Logging, OCI Notifications et OCI Audit
  • OCI Web Application Firewall et Oracle Cloud Guard en option
  • Services de plate-forme : identité Open OnDemand, Slurm, FreeIPA, Linux/POSIX et outils d'exécution partagés

Il s'agit des rôles nécessaires pour chaque service.

Nom du service : Rôle Obligatoire pour...
OCI IAM/Domaine d'identité : manage groups, manage dynamic-groups, manage policies Créez et tenez à jour des groupes d'administrateurs UAT, des groupes dynamiques et des stratégies IAM avec le moindre privilège. Restreignez ce rôle aux administrateurs de location ou d'identité.
OCI Networking : manage virtual-network-family Créer et gérer le VCN, les sous-réseaux publics/privés, les tables de routage, la passerelle Internet, la passerelle NAT, la passerelle de service, les groupes de sécurité réseau et les listes de sécurité.
DNS OCI : manage dns Gérer les enregistrements DNS publics ou délégués pour l'adresse OOD et les noms entrants associés.
OCI Load Balancer : manage load-balancers Créez et utilisez le niveau d'entrée HTTPS public pour OOD et acheminez le trafic vers les back-ends OOD privés.
OCI Web Application Firewall (facultatif) : manage waf-family Protégez l'adresse d'application publique à l'aide de stratégies WAF, de règles d'accès et de contrôles d'entrée Web lorsque WAF est activé pour UAT.
OCI Bastion : manage bastion-family Créez des sessions SSH d'administration auditées et limitées dans le temps sur des hôtes de connexion, de contrôleur ou d'administration privés.
OCI Compute : manage instance-family et manage compute-management-family Provisionner et utiliser des hôtes OOD, un noeud de connexion, un contrôleur Slurm, FreeIPA, des processeurs/processeurs GPU, des pools de redimensionnement automatique et des instances de pipeline d'images.
Volumes de blocs OCI : manage volume-family Gérer les volumes d'initialisation et les volumes de blocs associés pour les noeuds de plate-forme, de contrôleur, de connexion et de calcul.
OCI File Storage : manage file-family Gérez les systèmes de fichiers POSIX partagés, les cibles de montage, les ensembles d'exports et les exports pour /home, /scratch et /apps.
File Storage with Lustre : manage lustre-file-family Utilisez le système de fichiers /lustre haut débit pour les E/S de charge globale HPC/AI actives lorsque cette option est activée.
OCI Object Storage : manage object-family ou manage buckets et manage objects ciblés Stockez les données de sauvegarde JuiceFS, les données de projet durables, les sauvegardes, les données de cycle de vie et le contenu facultatif d'import/export Lustre.
OCI Registry : manage repos ou read repos étendu Transmettre ou extraire des images d'exécution et d'application utilisées par le pipeline d'images golden et les exécutions de plate-forme partagée.
OCI Vault/Keys/Secrets : manage vaults, manage keys, manage secret-family ; les noeuds d'exécution doivent utiliser read secret-family uniquement lorsque cela est nécessaire Stockez les informations d'identification, les clés, les jetons et les clés secrètes d'intégration sans les coder en dur sur les instances ou dans des scripts.
OCI Monitoring : read metrics et manage alarms Consulter les mesures de performance/capacité de test d'acceptation par les utilisateurs et configurer des alarmes opérationnelles.
OCI Logging : manage log-groups, read log-content, use unified-configuration Gérez les groupes de journaux, recherchez les journaux et configurez les agents de journalisation ou les paramètres d'agent unifié.
Notifications OCI : manage ons-family Créez des sujets d'alarme et des abonnements pour les notifications opérationnelles.
OCI Audit : read audit-events Consultez l'activité de l'API OCI pour la gouvernance, le dépannage et la revue d'activité.
Cloud Guard (facultatif) : read cloud-guard-family ; manage cloud-guard-family uniquement avec approbation de gouvernance Examinez la posture et les résultats en matière de sécurité. Activez l'administration des répondeurs uniquement lorsqu'elle est explicitement approuvée.
Groupe dynamique pour les instances Compute/OOD/Slurm : read buckets, manage objects, read repos, use metrics, use log-content, facultatif read secret-family Autorisez les instances de plate-forme à accéder aux buckets OCI Object Storage approuvés, à extraire des images, à émettre des télémesures et à extraire des clés secrètes approuvées à l'aide de principaux d'instance.
Groupe dynamique pour le pipeline d'images : manage instance-family, manage volume-family, read object-family, portée manage repos, facultatif read secret-family Créez, validez, promouvez et publiez des images Golden ou des artefacts d'exécution sans utiliser de clés d'API utilisateur de longue durée.
Groupe dynamique pour la synchronisation File Storage with Lustre (si elle est utilisée) : read buckets et manage objects Autoriser l'import/export ou la synchronisation File Storage with Lustre avec des buckets OCI Object Storage approuvés.
Rôle d'application OOD : OOD user / OOD admin Autoriser les utilisateurs à accéder aux fichiers, au shell, au bureau, au serveur de code, à JupyterLab et aux travaux ; autoriser les administrateurs de plate-forme à gérer la configuration OOD et les applications.
Rôle Slurm : user, account/partition admin, or scheduler admin Soumettre des travaux, gérer des comptes/partitions/QOS et exécuter des stratégies de planification CPU/GPU.
Rôle Linux/POSIX : utilisateur/groupe POSIX et sudo contrôlé Contrôlez la connexion au shell, les droits d'accès aux fichiers, l'accès aux groupes de projets et l'administration d'urgence sur les noeuds de plate-forme.
FreeIPA / rôle de service d'identité : identity administrator Gérez l'identité POSIX, les groupes, le HBAC/DNS, le cas échéant, et l'inscription de l'hôte/utilisateur à l'UAT.

Reportez-vous à Produits, solutions et services Oracle pour obtenir ce dont vous avez besoin.