Saiba mais sobre plataformas de HPC e IA sob demanda na OCI
Os principais temas de produção são aceitação autenticada do navegador, posicionamento GPU Lustre, padronização de imagem dourada, tempos de execução de aplicativos interativos compartilhados e automação de governança de projetos.
Neste manual de soluções, você aprende a implementar uma plataforma de HPC e IA sob demanda na OCI usando Open OnDemand (OOD), gerenciamento de carga de trabalho Slurm, dimensionamento automático de GPU e uma arquitetura de armazenamento de várias camadas. Pesquisadores, cientistas de dados e engenheiros podem acessar com segurança ambientes interativos de IA e HPC por meio de um navegador da Web. A plataforma dimensiona dinamicamente os recursos de GPU e computação com base na demanda de carga de trabalho.
A arquitetura combina os seguintes recursos:
- Acesso de HPC e IA baseado em navegador usando o Open OnDemand.
- Integração segura de logon único (SSO) usando Microsoft Entra ID e OpenID Connect (OIDC).
- Orquestração de carga de trabalho baseada em slurm para tarefas interativas e em lote.
- Partições de CPU e GPU de dimensionamento automático para cargas de trabalho de IA, ML, área de trabalho remota e HPC.
- Armazenamento em camadas usando o OCI Object Storage, OCI File Storage (FSS), JuiceFS e File Storage com Lustre.
- Gerenciamento centralizado de identidades Linux usando FreeIPA.
- Monitoramento integrado usando Prometheus e Grafana.
- Isolamento de projetos de vários usuários e gerenciamento de cotas.
Antes de Começar
- Documentação do OCI Compute
- Documentação do serviço File Storage com Lustre
- Documentação do OCI Load Balancer
- Documentação do OCI Identity and Access Management
- Documentação de Grupos de Segurança de Rede do OCI
A equipe de entrega deve estar familiarizada com:
- Gerenciador de carga de trabalho slurm e design de partição.
- Ambientes de computação de alto desempenho (HPC) Linux e sistemas de arquivos compartilhados.
- Configurações de rede, computação, unidade de processamento gráfico (GPU) da OCI e serviços de armazenamento.
- Abra os aplicativos OnDemand e Batch Connect.
- Cargas de trabalho de IA e ML baseadas em GPU.
- Pilhas de monitoramento, como Prometheus e Grafana.
- Gerenciamento do ciclo de vida da imagem dourada para nós de dimensionamento automático.
Arquitetura
A arquitetura a seguir combina serviços de infraestrutura da OCI com ferramentas de HPC de código aberto comprovadas para fornecer uma plataforma segura e escalável para cargas de trabalho em lote e interativas:
demanda-plataforma-hpc-oci-arch-oracle.zip#GUID-6AF78407-525D-4CF8-A7FD-6AC4A30F0C12
Em um nível alto, os usuários acessam o OOD por HTTPS e fazem a autenticação por meio do Microsoft Entra ID. O OOD fornece acesso do navegador a arquivos, sessões de shell, Job Composer e aplicativos interativos. As programações Slurm funcionam em partições de CPU e GPU permanentes e de dimensionamento automático. A automação da OCI provisiona capacidade de computação sob demanda, e a lógica de bootstrap de nó prepara identidade, tempo de execução Slurm, dispositivos de GPU, caminhos de aplicativos compartilhados e montagens de armazenamento antes do início das cargas de trabalho do usuário.
Essa arquitetura aplica padrões de implementação práticos em OOD 4.2, nós de CPU de dimensionamento automático Slurm, Área de Trabalho Remota/noVNC, seleção de partição do Job Composer, fluxos de bootstrap de nó GPU, montagem de dados /odata, padrões de acesso /lustre e roteamento OOD /rnode.
Usuários e camada de acesso
- O OCI Load Balancer fornece acesso HTTPS ao ponto final do OOD.
- Firewall de aplicativo web (WAF), NSGs ou listas de permissões opcionais impõem controles de perímetro.
- O ID do Microsoft Entra fornece autenticação OIDC para usuários do browser.
- Os caminhos SSH restritos ou do bastion fornecem acesso de administrador controlado.
Abrir servidor OnDemand
- O painel OOD fornece entrada do navegador para usuários de HPC.
- Arquivos e aplicativos Shell fornecem operações de arquivo e shell.
- O Job Composer envia jobs de Slurm.
- Os aplicativos Batch Connect fornecem sessões de Área de Trabalho Remota, Código VS, JupyterLab e RStudio.
/nodee/rnoderoteiam serviços interativos de proxy em nós de computação.
Cluster de HPC
O Slurm 25.11.0 gerencia o ambiente HPC, que inclui nós de controladora, nós de login, partições de computação permanentes, partições de CPU de dimensionamento automático e partições de GPU de dimensionamento automático.
- O controlador Slurm hospeda
slurmctld,slurmdbd, dados contábeis e scripts de integração de dimensionamento automático. - O nó de log-in fornece envio controlado de linha de comando e acesso de diagnóstico e solução de problemas.
- A partição de computação permanente hospeda cargas de trabalho que exigem capacidade imediata.
- Dimensionamento automático de partições de CPU fornece capacidade de CPU elástica para cargas de trabalho em lote e interativas.
- Dimensionamento automático de partições de GPU fornece capacidade de GPU elástica por tipo de carga de trabalho e faixa de imagem.
Arquitetura de armazenamento em várias camadas
| Caminho | Camada de apoio | Objetivo principal |
|---|---|---|
/home
|
OCI File Storage | Diretórios home do usuário e estado OOD |
/scratch
|
OCI File Storage ou armazenamento compartilhado de alto desempenho | Dados de trabalho e saída de trabalho temporário |
/apps
|
OCI File Storage | Árvores compartilhadas de aplicativos e módulos |
/odata
|
JuiceFS com o apoio do OCI Object Storage | Conjuntos de dados compartilhados e dados de projeto duráveis |
/lustre
|
Armazenamento de Arquivos com Lustre | Treinamento de IA de alto rendimento, checkpoint e E/S de simulação de HPC |
Gerenciamento de identidades
O FreeIPA fornece identidade Linux centralizada e gerenciamento de acesso para a camada HPC. Os grupos de projetos são mapeados para contas Slurm para impor controles de acesso multitenant, cotas e modelos de chargeback ou showback.
Monitoramento e automação
Prometheus e Grafana coletam sinais operacionais em OOD, Slurm, nós de computação, tempo de execução de GPU e armazenamento. A automação em segundo plano mantém o bootstrap do nó, a sincronização do host e os fluxos de trabalho de limpeza consistentes à medida que a capacidade do cluster é dimensionada.
Recomendações
As recomendações a seguir são baseadas em padrões práticos de implementação para ambientes OCI HPC e OOD.
Usar Compartimentos Dedicados
Separe recursos de infraestrutura em compartimentos da OCI para rede, identidade, armazenamento, serviços compartilhados, computação de GPU e monitoramento.
Implantar Pools de GPU por Tipo de Carga de Trabalho
Crie partições Slurm separadas para desenvolvimento interativo de IA, treinamento de produção, cargas de trabalho de inferência, trabalhos de HPC em lote e cargas de trabalho de GPU necessárias para Lustre.
Usar Dimensionamento Automático de Forma Agressiva
- Use intervalos curtos de suspensão para nós de GPU caros.
- Use pools quentes apenas para cargas de trabalho sensíveis à latência.
- Defina políticas de dimensionamento separadas por partição e tipo de GPU.
- Use verificações de integridade que verifiquem
munge,slurmd, registro de nome de nó, recursos genéricos (GRES), montagens e prontidão de runtime interativa.
Isolar cargas de trabalho de armazenamento
- Use o FSS para diretórios base, estado OOD e desenvolvimento interativo.
- Use o Object Storage com JuiceFS para conjuntos de dados compartilhados duráveis.
- Use o Lustre para treinamento de alto rendimento, checkpoint e saída de simulação.
Acesso interativo seguro
- Use a integração de SSO baseada em OIDC com o Microsoft Entra ID para OOD.
- Use o acesso somente HTTPS e a administração SSH restrita.
- Use sub-redes privadas para nós de computação.
- Sempre que possível, prefira NSGs a listas de segurança amplas.
- Usar políticas do Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) com menos privilégios.
- Use grupos FreeIPA baseados em projetos e contas Slurm.
- Imponha listas de permissões do OOD Shell e controles regex do host
/rnode.
Implemente observabilidade para fluxos de trabalho do usuário
- Rastrear estado do nó de Slurm e motivos do job com falha.
- Rastreie currículos de dimensionamento automático e logs de reparo.
- Acompanhe a integridade da GPU e as saídas
nvidia-smi. - Rastreie o estado do serviço
mungeeslurmd. - Acompanhe a integridade das montagens FSS, JuiceFS e Lustre.
- Rastreie erros do OOD Apache, Passenger e PUN por usuário.
- Acompanhe a integridade dos serviços FreeIPA, DNS, LDAP e Kerberos.
Preservar as personalizações de OOD durante as atualizações
Tratar atualizações de OOD como releases de aplicativos e verificar ou reaplicar widgets personalizados, tratamento de partições do Job Composer, aplicativos do Batch Connect, listas de permissões de Shell e Arquivos e controles de host proxy após cada upgrade.
Considerações
Considere os pontos a seguir ao implantar essa arquitetura de referência.
Desempenho
Cargas de trabalho de IA com uso intensivo de GPU podem gerar tráfego significativo de rede e armazenamento.
- Coloque nós de GPU, Lustre e caminhos de armazenamento na mesma região e domínio de disponibilidade sempre que possível.
- Use a rede de alta largura de banda para GPU e cargas de trabalho pesadas em armazenamento.
- Minimize a movimentação de dados entre regiões.
- Ajustar políticas de programação de Slurm para localidade de GPU e comportamento específico da partição.
- Imagens de GPU pré-cozidas com dependências de runtime estáveis para reduzir o tempo de inicialização a frio.
Segurança
Proteja cargas de trabalho confidenciais de IA e pesquisa usando sub-redes privadas para nós de computação, restringindo o acesso SSH, aplicando políticas de OCI IAM de menor privilégio, criptografando camadas de armazenamento, integrando o gerenciamento centralizado de identidades e permitindo o registro e o monitoramento de auditoria.
Disponibilidade
Considere a alta disponibilidade para controladores Slurm, backends da Web OOD, serviços FreeIPA, sistemas de armazenamento compartilhado e infraestrutura de monitoramento.
Melhore a resiliência implementando controladores redundantes, fazendo backup de bancos de dados contábeis Slurm, validando o início automático do serviço FreeIPA e mantendo backups de rollback do OOD antes das atualizações.
Custo
A infraestrutura de GPU pode representar a maior despesa operacional.
- Use partições de GPU de dimensionamento automático.
- Suspender automaticamente nós de GPU ociosos.
- Divida as partições de treinamento de desenvolvimento, interativo e de produção.
- Prefira o OCI Object Storage durável para conjuntos de dados inativos.
- Use imagens douradas para reduzir o tempo de início e os ciclos de início a frio com falha.
Operações
A lição operacional mais importante é que a prontidão deve ser medida a partir do fluxo de trabalho do usuário, não apenas do console em nuvem.
Para jobs interativos, verifique o estado do job Slurm, o estado do serviço de nó, as montagens de armazenamento, os listeners de aplicativos interativos, o roteamento OOD /node e /rnode e o comportamento inicial do browser após a autenticação.
Lista de verificação de prontidão para produção
- Implantação de OOD em backends da Web redundantes.
- ID do Microsoft Entra Roteamento do OIDC e comportamento de logout.
- Seleção de partição do Job Composer em todas as partições de Slurm expostas.
- Inicialização da Área de Trabalho Remota, conectividade noVNC e roteamento de proxy
/rnode. - Bootstrap de nó de CPU de dimensionamento automático e aceitação de carga de trabalho interativa.
- Bootstrap de nó de GPU, verificações de runtime da NVIDIA, registro GRES e integridade do Slurm.
- Runtimes de aplicativos interativos compartilhados em
/appspara o Code Server e JupyterLab. - Compatibilidade do ajudante personalizado OOD após atualizações de versão.
Sobre Serviços e Atribuições Obrigatórios
- OCI Identity and Access Management/Domínio de Identidades
- Rede do OCI
- DNS do OCI
- Balanceador de Carga do OCI
- OCI Bastion
- OCI Compute
- Volumes em Blocos do OCI
- OCI File Storage
- Armazenamento de Arquivos com Lustre
- OCI Object Storage
- OCI Registry
- OCI Vault
- OCI Monitoring, OCI Logging, OCI Notifications e OCI Audit
- OCI Web Application Firewall e Oracle Cloud Guard opcionais
- Serviços de plataforma: Open OnDemand, Slurm, FreeIPA, identidade Linux/POSIX e ferramentas de runtime compartilhadas
Essas são as funções necessárias para cada serviço.
| Nome do Serviço: Função | Necessário para... |
|---|---|
IAM do OCI/Domínio de Identidades: manage groups, manage dynamic-groups, manage policies |
Crie e mantenha grupos de administradores de UAT, grupos dinâmicos e políticas de IAM de menor privilégio. Restrinja essa atribuição aos administradores de tenancy ou identidade. |
Rede da OCI: manage virtual-network-family |
Crie e mantenha VCN, sub-redes públicas/privadas, tabelas de roteamento, Gateway de Internet, Gateway NAT, Gateway de Serviço, NSGs e listas de segurança. |
DNS do OCI: manage dns |
Gerencie registros de DNS públicos ou delegados para o ponto final do OOD e nomes de entrada relacionados. |
Balanceador de Carga do OCI: manage load-balancers |
Crie e opere a camada de entrada HTTPS pública para OOD e roteie o tráfego para backends de OOD privados. |
OCI Web Application Firewall (opcional): manage waf-family |
Proteja o ponto final do aplicativo público com políticas de WAF, regras de acesso e controles de entrada na Web quando o WAF estiver ativado para UAT. |
OCI Bastion: manage bastion-family |
Crie sessões SSH administrativas auditadas e limitadas por tempo para hosts de login, controlador ou administração privados. |
OCI Compute: manage instance-family e manage compute-management-family |
Provisione e opere hosts OOD, nó de log-in, controlador Slurm, FreeIPA, workers de CPU/GPU, pools de dimensionamento automático e instâncias de pipeline de imagem. |
OCI Block Volumes: manage volume-family |
Gerencie volumes de inicialização e volumes em blocos anexados para nós de plataforma, controlador, log-in e computação. |
OCI File Storage: manage file-family |
Gerencie sistemas de arquivos POSIX compartilhados, pontos de acesso NFS, conjuntos de exportação e exportações para /home, /scratch e /apps.
|
File Storage com Lustre: manage lustre-file-family |
Opere o sistema de arquivos /lustre de alto rendimento para E/S de carga de trabalho HPC/AI ativa quando ativado.
|
OCI Object Storage: manage object-family ou manage buckets e manage objects com escopo |
Armazene dados de apoio JuiceFS, dados duráveis do projeto, backups, dados do ciclo de vida e conteúdo opcional de importação/exportação do Lustre. |
OCI Registry: manage repos ou com escopo read repos |
Envie ou extraia imagens de runtime e de aplicativos usadas pelo pipeline de golden image e runtimes de plataforma compartilhada. |
OCI Vault/Keys/Secrets: manage vaults, manage keys, manage secret-family; os nós de runtime só devem usar read secret-family quando necessário
|
Armazene credenciais, chaves, tokens e segredos de integração sem codificá-los em instâncias ou em scripts. |
OCI Monitoring: read metrics e manage alarms |
Exiba métricas de capacidade/desempenho de UAT e configure alarmes operacionais. |
OCI Logging: manage log-groups, read log-content, use unified-configuration |
Gerencie grupos de logs, logs de pesquisa e configure agentes de log ou definições de agente unificado. |
Notificações da OCI: manage ons-family |
Crie tópicos de alarme e assinaturas para notificações operacionais. |
OCI Audit: read audit-events |
Revise a atividade da API do OCI para governança, solução de problemas e revisão de atividades. |
Cloud Guard (opcional): read cloud-guard-family; manage cloud-guard-family somente com aprovação de governança
|
Revisar a postura e os descobrimentos de segurança. Ative a administração do respondedor somente quando for explicitamente aprovada. |
Grupo dinâmico para instâncias de computação/OOD/Slurm: read buckets, com escopo manage objects, read repos, use metrics, use log-content, read secret-family opcional |
Permita que as instâncias da plataforma acessem buckets aprovados do OCI Object Storage, extraiam imagens, emitam telemetria e recuperem segredos aprovados usando controladores de instâncias. |
Grupo dinâmico para pipeline de imagem: manage instance-family, manage volume-family, read object-family, com escopo manage repos, opcional read secret-family |
Crie, valide, promova e publique imagens douradas ou artefatos de runtime sem usar chaves de API de usuário de longa duração. |
Grupo dinâmico para sincronização do serviço File Storage com Lustre (se usado): read buckets e manage objects com escopo |
Permitir importação/exportação ou sincronização do serviço File Storage com Lustre com buckets aprovados do OCI Object Storage. |
Atribuição do aplicativo OOD: OOD user / OOD admin |
Permita que os usuários acessem Arquivos, Shell, Desktop, Code Server, JupyterLab e jobs; permita que os administradores da plataforma gerenciem configurações e aplicativos de OOD. |
Função de slurm: user, account/partition admin, or scheduler admin |
Envie jobs, gerencie contas/partições/QOS e opere políticas de programação de CPU/GPU. |
Atribuição Linux/POSIX: usuário/grupo POSIX e controlado sudo |
Controle o login no shell, as permissões de arquivo, o acesso ao grupo de projetos e a administração de emergência nos nós da plataforma. |
Função do serviço FreeIPA/identity: identity administrator |
Gerencie identidade POSIX, grupos, HBAC/DNS quando aplicável e inscrição de host/usuário para UAT. |
Consulte Produtos, Soluções e Serviços Oracle para obter o que você precisa.
