Scopri di più sulle piattaforme HPC e AI on-demand su OCI

Le organizzazioni che eseguono carichi di lavoro AI, ML, scientific computing, genomica, simulazione ingegneristica e analytics possono utilizzare questa architettura di riferimento per fornire accesso sicuro, basato su browser, GPU multi-tenant e CPU per carichi di lavoro di ricerca, AI e HPC (High-Performance Computing) su Oracle Cloud Infrastructure (OCI).

I temi di produzione principali sono l'accettazione autenticata del browser, il posizionamento di GPU Lustre, la standardizzazione delle immagini d'oro, i runtime delle applicazioni interattive condivise e l'automazione della governance dei progetti.

In questo playbook di soluzioni, scopri come distribuire una piattaforma HPC e AI su richiesta su OCI utilizzando Open OnDemand (OOD), gestione dei carichi di lavoro Slurm, scalabilità automatica GPU e un'architettura di storage multilivello. Ricercatori, data scientist e ingegneri possono accedere in modo sicuro agli ambienti interattivi di intelligenza artificiale e HPC tramite un browser Web. La piattaforma ridimensiona dinamicamente le risorse GPU e di computazione in base alla domanda del carico di lavoro.

L'architettura combina le seguenti funzionalità:

  • Accesso HPC e AI basato su browser mediante Open OnDemand.
  • Integrazione sicura Single Sign-On (SSO) mediante Microsoft Entra ID e OpenID Connect (OIDC).
  • Orchestrazione dei carichi di lavoro basata su slurm per processi interattivi e batch.
  • Ridimensionamento automatico delle partizioni CPU e GPU per carichi di lavoro AI, ML, desktop remoto e HPC.
  • Storage a più livelli mediante OCI Object Storage, OCI File Storage (FSS), JuiceFS e File Storage con Lustre.
  • Gestione centralizzata delle identità Linux con FreeIPA.
  • Monitoraggio integrato con Prometheus e Grafana.
  • Isolamento dei progetti multiutente e gestione delle quote.

Operazioni preliminari

Esamina le aree informative consigliate prima di implementare questa architettura per ridurre i rischi di implementazione e i ritardi nella risoluzione dei problemi.

Il team di consegna dovrebbe avere familiarità con:

  • Gestione del carico di lavoro slurm e progettazione delle partizioni.
  • Ambienti HPC (High-Performance Computing) Linux e file system condivisi.
  • Forme di rete, computazione, unità di elaborazione grafica (GPU) OCI e servizi di storage.
  • Aprire le applicazioni OnDemand e Batch Connect.
  • Carichi di lavoro AI e ML basati su GPU.
  • Monitoraggio di stack come Prometheus e Grafana.
  • Golden Image lifecycle management per i nodi di scala automatica.

Architettura

Utilizza questa architettura per offrire accesso autenticato al browser, pianificazione gestita da Slurm e capacità CPU e GPU a scala automatica per i programmi HPC e AI multi-tenant.

La seguente architettura combina i servizi dell'infrastruttura OCI con strumenti HPC open source collaudati per fornire una piattaforma sicura e scalabile per carichi di lavoro batch e interattivi:



domanda-piattaforma-hpc-oci-arch-oracle.zip#GUID-6AF78407-525D-4CF8-A7FD-6AC4A30F0C12

A livello avanzato, gli utenti raggiungono OOD tramite HTTPS e eseguono l'autenticazione tramite Microsoft Entra ID. OOD fornisce l'accesso browser a file, sessioni shell, Job Composer e applicazioni interattive. Le pianificazioni Slurm funzionano su partizioni CPU e GPU permanenti e di ridimensionamento automatico. L'automazione OCI fornisce capacità di computazione su richiesta e la logica di bootstrap dei nodi prepara identità, runtime di slot, dispositivi GPU, percorsi delle applicazioni condivise e accessi di storage prima dell'avvio dei carichi di lavoro degli utenti.

Questa architettura applica pattern di implementazione pratici su OOD 4.2, nodi CPU a scala automatica Slurm, Desktop remoto/noVNC, selezione delle partizioni di Job Composer, flussi di bootstrap dei nodi GPU, installazione dei dati /odata, pattern di accesso /lustre e instradamento OOD /rnode.

Utenti e livello di accesso

  • OCI Load Balancer fornisce l'accesso HTTPS all'endpoint OOD.
  • Web Application Firewall (WAF), NSG o liste di inclusione facoltativi applicano controlli perimetrali.
  • Microsoft Entra ID fornisce l'autenticazione OIDC per gli utenti del browser.
  • I percorsi SSH bastion o limitati forniscono l'accesso controllato all'amministratore.

Apri server OnDemand

  • Il dashboard OOD fornisce la voce del browser per gli utenti HPC.
  • Le applicazioni File e Shell forniscono operazioni su file e shell.
  • Job Composer sottomette i job Slurm.
  • Le applicazioni Batch Connect offrono sessioni Remote Desktop, VS Code, JupyterLab e RStudio.
  • /node e /rnode instrada i servizi interattivi proxy sui nodi di calcolo.

Cluster HPC

Slurm 25.11.0 gestisce l'ambiente HPC, che include nodi controller, nodi di login, partizioni di calcolo permanenti, partizioni CPU di ridimensionamento automatico e partizioni GPU di ridimensionamento automatico.

  • Il controller Slurm ospita gli script di integrazione slurmctld, slurmdbd, dati contabili e scala automatica.
  • Il nodo di login fornisce accesso controllato alla riga di comando per l'invio e la risoluzione dei problemi.
  • La partizione di computazione permanente ospita carichi di lavoro che richiedono capacità immediata.
  • La scala automatica delle partizioni della CPU fornisce capacità elastica della CPU per carichi di lavoro batch e interattivi.
  • Le partizioni GPU di scala automatica offrono capacità GPU elastica in base al tipo di carico di lavoro e alla corsia delle immagini.

Architettura di storage su più livelli

Percorso Livello di supporto Scopo principale
/home OCI File Storage Directory home utente e stato OOD
/scratch Storage di file OCI o storage condiviso ad alte prestazioni Dati di lavoro e output job temporaneo
/apps OCI File Storage Alberi di applicazioni e moduli condivisi
/odata JuiceFS supportato da OCI Object Storage Data set condivisi e dati di progetto durevoli
/lustre Storage di file con Lustre Formazione AI ad alto throughput, checkpoint e simulazione I/O HPC

Identity Management

FreeIPA fornisce la gestione centralizzata delle identità e degli accessi Linux per il livello HPC. I gruppi di progetti eseguono il mapping ai conti Slurm per applicare controlli di accesso multi-tenant, quote e modelli di chargeback o showback.

Monitoraggio e automazione

Prometheus e Grafana raccolgono segnali operativi su OOD, Slurm, nodi di calcolo, runtime GPU e storage. L'automazione in background mantiene il bootstrap dei nodi, la sincronizzazione degli host e i flussi di lavoro di cleanup coerenti con la scalabilità della capacità del cluster.

Suggerimenti

Applicare questi suggerimenti per migliorare governance, sicurezza, controllo dei costi e affidabilità per ambienti di ricerca GPU e CPU condivisi su OCI.

I suggerimenti riportati di seguito si basano su modelli di implementazione pratici per gli ambienti HPC e OOD OCI.

Usa compartimenti dedicati

Separa le risorse dell'infrastruttura in compartimenti OCI per networking, identità, storage, servizi condivisi, computazione GPU e monitoraggio.

Distribuisci pool GPU per tipo di carico di lavoro

Crea partizioni Slurm separate per lo sviluppo interattivo dell'intelligenza artificiale, la formazione alla produzione, i carichi di lavoro di inferenza, i processi HPC in batch e i carichi di lavoro GPU richiesti da Lustre.

Usa scala automatica in modo aggressivo

  • Utilizzare intervalli di sospensione brevi per i costosi nodi GPU.
  • Utilizza pool caldi solo per carichi di lavoro sensibili alla latenza.
  • Imposta criteri di scala separati per partizione e tipo GPU.
  • Utilizzare i controlli dello stato che verificano munge , slurmd , la registrazione dei nomi dei nodi, le risorse generiche (GRES), gli accessi e la disponibilità interattiva del runtime.

Isola carichi di lavoro di storage

  • Utilizzare FSS per directory home, stato OOD e sviluppo interattivo.
  • Utilizzare lo storage degli oggetti con JuiceFS per i data set condivisi permanenti.
  • Utilizza Lustre per l'allenamento ad alto rendimento, il checkpoint e l'output di simulazione.

Accesso interattivo sicuro

  • Utilizzare l'integrazione SSO basata su OIDC con Microsoft Entra ID per OOD.
  • Utilizzare l'accesso solo HTTPS e l'amministrazione SSH con limitazioni.
  • Usa subnet private per i nodi di calcolo.
  • Preferire i gruppi NSG rispetto ad ampie liste di sicurezza, ove possibile.
  • Utilizza i criteri di Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) con privilegi minimi.
  • Utilizza gruppi FreeIPA e account Slurm basati su progetti.
  • Applica gli elenchi di inclusione della shell OOD e i controlli delle espressioni regolari host /rnode.

Implementare l'osservabilità per i flussi di lavoro degli utenti

  • Tenere traccia dello stato del nodo Slurm e dei motivi del job non riusciti.
  • Traccia i registri di ripresa e riparazione della scala automatica.
  • Monitora lo stato della GPU e gli output nvidia-smi.
  • Tenere traccia dello stato del servizio munge e slurmd.
  • Monitora lo stato di FSS, JuiceFS e Lustre.
  • Tieni traccia degli errori OOD Apache, Passenger e PUN per utente.
  • Tenere traccia dello stato dei servizi FreeIPA, DNS, LDAP e Kerberos.

Mantieni personalizzazioni OOD durante gli aggiornamenti

Considera gli aggiornamenti OOD come release delle applicazioni e verifica o riapplica widget personalizzati, gestione delle partizioni di Job Composer, applicazioni Batch Connect, liste di inclusione Shell e file e controlli host proxy dopo ogni aggiornamento.

Considerazioni

Usa queste considerazioni per bilanciare prestazioni, sicurezza, disponibilità, costi e operazioni per carichi di lavoro HPC e AI multi-tenant su OCI.

Quando si distribuisce questa architettura di riferimento, considerare i punti riportati di seguito.

Prestazioni

I carichi di lavoro AI a uso intensivo di GPU possono generare un traffico di rete e storage significativo.

  • Posiziona nodi GPU, Lustre e percorsi di storage nella stessa area e nello stesso dominio di disponibilità, ove possibile.
  • Utilizza la rete a larghezza di banda elevata per carichi di lavoro GPU e storage-heavy.
  • Riduci lo spostamento dei dati tra più aree.
  • Ottimizza i criteri di pianificazione dello slurm per la località della GPU e il comportamento specifico della partizione.
  • Pre-esecuzione di immagini GPU con dipendenze di runtime stabili per ridurre i tempi di avvio a freddo.

Sicurezza

Proteggi i carichi di lavoro sensibili di intelligenza artificiale e ricerca utilizzando subnet private per i nodi di calcolo, limitando l'accesso SSH, applicando criteri IAM OCI con meno privilegi, cifrando i livelli di storage, integrando la gestione centralizzata delle identità e abilitando la registrazione e il monitoraggio dell'audit.

Disponibilità

Considera l'alta disponibilità per i controller Slurm, i backend Web OOD, i servizi FreeIPA, i sistemi di storage condiviso e l'infrastruttura di monitoraggio.

Migliora la resilienza implementando controller ridondanti, eseguendo il backup dei database di contabilità Slurm, convalidando l'avvio automatico del servizio FreeIPA e mantenendo i backup di rollback OOD prima degli aggiornamenti.

Costo

L'infrastruttura GPU può rappresentare la spesa operativa più grande.

  • Usa partizioni GPU di ridimensionamento automatico.
  • Sospendi automaticamente i nodi GPU inattivi.
  • Separa le partizioni di sviluppo, di formazione interattiva e di produzione.
  • Preferisci lo storage degli oggetti OCI duraturo per i set di dati inattivi.
  • Utilizza immagini dorate per abbreviare l'ora di inizio e ridurre i cicli di avviamento a freddo non riusciti.

Operazioni

La lezione operativa più importante è che la disponibilità deve essere misurata dal flusso di lavoro dell'utente, non solo dalla console cloud.

Per i job interattivi, verificare lo stato del job Slurm, lo stato del servizio nodo, gli accessi di storage, i listener delle applicazioni interattivi, l'instradamento OOD /node e /rnode e il comportamento di avvio del browser dopo l'autenticazione.

Lista di controllo disponibilità produzione

  • Distribuzione OOD tra backend Web ridondanti.
  • Comportamento di instradamento e logout di Microsoft Entra ID OIDC.
  • Selezione delle partizioni di Job Composer in tutte le partizioni Slurm esposte.
  • Avvio del desktop remoto, connettività noVNC e instradamento del proxy /rnode.
  • Bootstrap del nodo CPU di scala automatica e accettazione del carico di lavoro interattivo.
  • Bootstrap dei nodi GPU, controlli runtime NVIDIA, registrazione GRES e stato di Slurm.
  • Runtime delle applicazioni interattive condivise in /apps per Code Server e JupyterLab.
  • Compatibilità dell'applicazione di supporto personalizzata OOD dopo gli aggiornamenti della versione.

Informazioni sui servizi e i ruoli richiesti

Questa soluzione richiede i seguenti servizi e ruoli.
  • OCI Identity and Access Management/Dominio di Identity
  • Rete OCI
  • DNS OCI
  • Load balancer OCI
  • OCI Bastion
  • Computazione OCI
  • Volumi a blocchi OCI
  • OCI File Storage
  • Storage di file con Lustre
  • Memorizzazione degli oggetti OCI
  • OCI Registry
  • OCI Vault
  • Monitoraggio OCI, Log OCI, Notifiche OCI e audit OCI
  • OCI Web Application Firewall e Oracle Cloud Guard opzionali
  • Servizi di piattaforma: identità Open OnDemand, Slurm, FreeIPA, Linux/POSIX e strumenti runtime condivisi

Questi sono i ruoli necessari per ogni servizio.

Nome servizio: ruolo Obbligatorio per...
Dominio IAM/Identity OCI: manage groups, manage dynamic-groups, manage policies Crea e gestisce i gruppi di amministratori UAT, i gruppi dinamici e i criteri IAM con meno privilegi. Limitare questo ruolo alla tenancy o agli amministratori di identità.
Networking OCI: manage virtual-network-family Crea e gestisce VCN, subnet pubbliche/private, tabelle di instradamento, gateway Internet, gateway NAT, gateway di servizi, NSG e liste di sicurezza.
DNS OCI: manage dns Gestisce i record DNS pubblici o delegati per l'endpoint OOD e i nomi di entrata correlati.
OCI Load Balancer: manage load-balancers Crea e gestisce il livello di entrata HTTPS pubblico per OOD e instrada il traffico ai backend OOD privati.
Web Application Firewall OCI (opzionale): manage waf-family Proteggi l'endpoint dell'applicazione pubblica con criteri WAF, regole di accesso e controlli di entrata Web quando WAF è abilitato per UAT.
Base OCI: manage bastion-family Creare sessioni SSH amministrative controllate e associate in termini di tempo per gli host di login privati, controller o amministrazione.
Computazione OCI: manage instance-family e manage compute-management-family Provisioning e gestione di host OOD, nodo di login, controller Slurm, operatori FreeIPA, CPU/GPU, pool di ridimensionamento automatico e istanze della pipeline di immagini.
Volumi a blocchi OCI: manage volume-family Gestire i volumi di avvio e i volumi a blocchi collegati per piattaforma, controller, login e nodi di calcolo.
Storage di file OCI: manage file-family Gestisce file system POSIX condivisi, destinazioni di installazione, set di esportazione ed esportazioni per /home, /scratch e /apps.
Storage di file con Lustre: manage lustre-file-family Gestire il file system /lustre ad alto throughput per l'I/O del carico di lavoro HPC/AI attivo quando abilitato.
Storage degli oggetti OCI: manage object-family o manage buckets e manage objects con ambito Memorizza i dati di backup JuiceFS, i dati duraturi del progetto, i backup, i dati del ciclo di vita e i contenuti opzionali di importazione/esportazione Lustre.
Registro OCI: manage repos o read repos con ambito Esecuzione push o pull e immagini delle applicazioni utilizzate dalla pipeline di immagini d'oro e dai runtime della piattaforma condivisa.
OCI Vault/Keys/Secrets: manage vaults, manage keys e manage secret-family; i nodi runtime devono utilizzare read secret-family solo quando necessario Memorizza credenziali, chiavi, token e segreti di integrazione senza hardcoding sulle istanze o negli script.
Monitoraggio OCI: read metrics e manage alarms Visualizzare le metriche di capacità/prestazioni UAT e configurare gli allarmi operativi.
Log OCI: manage log-groups, read log-content, use unified-configuration Gestire i gruppi di log, cercare i log e configurare gli agenti di log o le impostazioni degli agenti unificati.
Notifiche OCI: manage ons-family Creare argomenti di allarme e sottoscrizioni per le notifiche operative.
audit OCI: read audit-events Esamina l'attività dell'API OCI per la governance, la risoluzione dei problemi e la revisione delle attività.
Cloud Guard (facoltativo): read cloud-guard-family; manage cloud-guard-family solo con approvazione della governance Esame della postura e dei risultati della sicurezza. Abilita l'amministrazione del rispondente solo se approvata in modo esplicito.
Gruppo dinamico per le istanze di computazione/OOD/Slurm: read buckets, ambito manage objects, read repos, use metrics, use log-content, facoltativo read secret-family Consenti alle istanze di piattaforma di accedere ai bucket OCI Object Storage approvati, estrarre le immagini, emettere la telemetria e recuperare i segreti approvati utilizzando i principal delle istanze.
Gruppo dinamico per la pipeline di immagini: manage instance-family, manage volume-family, read object-family, ambito manage repos, facoltativo read secret-family Crea, convalida, promuovi e pubblica immagini d'oro o artifact runtime senza utilizzare chiavi API utente di lunga durata.
Gruppo dinamico per la sincronizzazione Storage di file con Lustre (se utilizzato): read buckets e manage objects con ambito Consente l'importazione/esportazione o la sincronizzazione di Storage di file con Lustre con i bucket OCI Object Storage approvati.
Ruolo applicazione OOD: OOD user / OOD admin Consente agli utenti di accedere a file, shell, desktop, code server, JupyterLab e job; consente agli amministratori della piattaforma di gestire la configurazione e le applicazioni OOD.
Ruolo di slurm: user, account/partition admin, or scheduler admin Invia job, gestisci account/partizioni/QOS e gestisci i criteri di pianificazione CPU/GPU.
Ruolo Linux/POSIX: utente/gruppo POSIX e sudo controllato Controlla il login alla shell, le autorizzazioni dei file, l'accesso al gruppo di progetti e l'amministrazione delle emergenze sui nodi della piattaforma.
Ruolo del servizio FreeIPA / Identity: identity administrator Gestisci identità POSIX, gruppi, HBAC/DNS, ove applicabile, e la registrazione di host/utente per UAT.

Consulta i prodotti, le soluzioni e i servizi Oracle per ottenere ciò di cui hai bisogno.