Obtén más información sobre las plataformas de HPC e IA bajo demanda en OCI

Las organizaciones que ejecutan cargas de trabajo de IA, ML, computación científica, genómica, simulación de ingeniería y análisis pueden utilizar esta arquitectura de referencia para proporcionar acceso seguro, basado en navegador, multi-inquilino a GPU y CPU para cargas de trabajo de investigación, IA y computación de alto rendimiento (HPC) en Oracle Cloud Infrastructure (OCI).

Los temas clave de producción son la aceptación autenticada del navegador, el posicionamiento de GPU Lustre, la estandarización de imágenes doradas, los tiempos de ejecución de aplicaciones interactivas compartidas y la automatización de la gobernanza de proyectos.

En este manual de soluciones, aprenderá a implementar una plataforma de HPC e IA bajo demanda en OCI mediante Open OnDemand (OOD), gestión de cargas de trabajo Slurm, escala automática de GPU y una arquitectura de almacenamiento de varios niveles. Los investigadores, científicos de datos e ingenieros pueden acceder de forma segura a entornos interactivos de IA y HPC a través de un navegador web. La plataforma amplía dinámicamente los recursos informáticos y de GPU en función de la demanda de carga de trabajo.

La arquitectura combina las siguientes capacidades:

  • Acceso basado en explorador a HPC e IA mediante Open OnDemand.
  • Integración segura de inicio de sesión único (SSO) mediante Microsoft Entra ID y OpenID Connect (OIDC).
  • Orquestación de cargas de trabajo basada en Slurm para trabajos interactivos y por lotes.
  • Escala automática de particiones de CPU y GPU para cargas de trabajo de IA, ML, escritorio remoto y HPC.
  • Almacenamiento por niveles mediante OCI Object Storage, OCI File Storage (FSS), JuiceFS y File Storage con Lustre.
  • Gestión centralizada de la identidad de Linux mediante FreeIPA.
  • Supervisión integrada mediante Prometheus y Grafana.
  • Aislamiento de proyectos de varios usuarios y gestión de cuotas.

Antes de empezar

Revise las áreas de conocimiento recomendadas antes de desplegar esta arquitectura para reducir el riesgo de implementación y los retrasos en la resolución de problemas.

El equipo de entrega debe estar familiarizado con:

  • Gestor de cargas de trabajo Slurm y diseño de particiones.
  • Entornos de computación de alto rendimiento (HPC) de Linux y sistemas de archivos compartidos.
  • Redes, recursos informáticos, unidades de procesamiento gráfico (GPU) y servicios de almacenamiento de OCI.
  • Abra las aplicaciones OnDemand y Batch Connect.
  • Cargas de trabajo de IA y ML basadas en GPU.
  • Control de pilas como Prometheus y Grafana.
  • Gestión del ciclo de vida de la imagen de oro para nodos de escala automática.

Arquitectura

Utilice esta arquitectura para ofrecer acceso autenticado al explorador, programación controlada por Slurm y capacidad de CPU y GPU de escala automática para programas de HPC e IA multiinquilino.

La siguiente arquitectura combina servicios de infraestructura de OCI con herramientas de HPC de código abierto probadas para proporcionar una plataforma segura y escalable para cargas de trabajo interactivas y por lotes:



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

En un nivel superior, los usuarios llegan a OOD a través de HTTPS y se autentican mediante el ID de Microsoft Entra. OOD proporciona acceso al explorador a archivos, sesiones de shell, compositor de trabajos y aplicaciones interactivas. Los programas de slurm funcionan en particiones de CPU y GPU permanentes y de escala automática. La automatización de OCI aprovisiona la capacidad informática a demanda, y la lógica de inicialización de nodos prepara la identidad, el tiempo de ejecución de Slurm, los dispositivos de GPU, las rutas de aplicaciones compartidas y los montajes de almacenamiento antes de que se inicien las cargas de trabajo de los usuarios.

Esta arquitectura aplica patrones de implementación prácticos en OOD 4.2, nodos de CPU de escala automática Slurm, Escritorio remoto/noVNC, selección de particiones de Job Composer, flujos de inicialización de nodos de GPU, montaje de datos /odata, patrones de acceso /lustre y enrutamiento /rnode de OOD.

Usuarios y capa de acceso

  • OCI Load Balancer proporciona acceso HTTPS al punto final de OOD.
  • El firewall de aplicaciones web (WAF), los NSG o las listas de permitidos son opcionales y aplican controles de perímetro.
  • El ID de Microsoft Entra proporciona autenticación OIDC para los usuarios del explorador.
  • Las rutas SSH restringidas o de bastión proporcionan acceso de administrador controlado.

Abrir servidor OnDemand

  • El panel de control de OOD proporciona una entrada de explorador para los usuarios de HPC.
  • Las aplicaciones de shell y archivos proporcionan operaciones de shell y archivo.
  • Job Composer envía trabajos de Slurm.
  • Las aplicaciones de conexión por lotes proporcionan sesiones de Escritorio remoto, VS Code, JupyterLab y RStudio.
  • /node y /rnode direccionan los servicios interactivos de proxy en los nodos de cálculo.

Cluster de HPC

Slurm 25.11.0 gestiona el entorno HPC, que incluye nodos de controlador, nodos de inicio de sesión, particiones de recursos informáticos permanentes, particiones de CPU de escala automática y particiones de GPU de escala automática.

  • Slurm controller aloja slurmctld, slurmdbd, datos contables y secuencias de comandos de integración de escala automática.
  • Login node proporciona el envío controlado de la línea de comandos y el acceso de resolución de problemas.
  • La partición de cálculo permanente aloja cargas de trabajo que requieren capacidad inmediata.
  • Las particiones de CPU de escala automática proporcionan capacidad de CPU flexible para cargas de trabajo interactivas y por lotes.
  • Las particiones de GPU de escala automática proporcionan capacidad de GPU elástica por tipo de carga de trabajo y vía de imagen.

Arquitectura de almacenamiento de varios niveles

Ruta de acceso Capa de respaldo Finalidad principal
/home OCI File Storage Directorios raíz de usuario y estado de OOD
/scratch OCI File Storage o almacenamiento compartido de alto rendimiento Datos de trabajo y salida de trabajo temporal
/apps OCI File Storage Árboles compartidos de aplicaciones y módulos
/odata JuiceFS respaldado por OCI Object Storage Juegos de datos compartidos duraderos y datos de proyectos
/lustre Almacenamiento de archivos con Lustre Entrenamiento de IA de alto rendimiento, puntos de control y E/S de simulación de HPC

Gestión de identidades

FreeIPA proporciona gestión centralizada de identidad y acceso de Linux para la capa de HPC. Los grupos de proyectos se asignan a cuentas Slurm para aplicar controles de acceso multiinquilino, cuotas y modelos de contracargo o devolución.

Supervisión y automatización

Prometheus y Grafana recopilan señales operativas en OOD, Slurm, nodos de cálculo, tiempo de ejecución de GPU y almacenamiento. La automatización en segundo plano mantiene la coherencia de los flujos de trabajo de inicialización de nodos, sincronización de hosts y limpieza a medida que se amplía la capacidad del cluster.

Recomendaciones

Aplica estas recomendaciones para mejorar la gobernanza, la seguridad, el control de costos y la fiabilidad de los entornos de investigación compartidos de GPU y CPU en OCI.

Las siguientes recomendaciones se basan en patrones de implementación prácticos para los entornos OCI HPC y OOD.

Uso de compartimentos dedicados

Separe los recursos de infraestructura en compartimentos de OCI para redes, identidad, almacenamiento, servicios compartidos, recursos informáticos de GPU y supervisión.

Desplegar grupos de GPU por tipo de carga de trabajo

Cree particiones Slurm independientes para el desarrollo interactivo de IA, el entrenamiento de producción, las cargas de trabajo de inferencia, los trabajos de HPC por lotes y las cargas de trabajo de GPU requeridas por Lustre.

Utilizar la escala automática de forma agresiva

  • Utilice intervalos de suspensión cortos para los costosos nodos de GPU.
  • Utilice agrupaciones cálidas solo para cargas de trabajo sensibles a la latencia.
  • Defina políticas de escala independientes por partición y tipo de GPU.
  • Utilice comprobaciones del sistema que verifiquen munge, slurmd, registro de nombres de nodos, recursos genéricos (GRES), montajes y preparación interactiva en tiempo de ejecución.

Aislar cargas de trabajo de almacenamiento

  • Utilice FSS para directorios principales, estado de OOD y desarrollo interactivo.
  • Utilice Object Storage con JuiceFS para conjuntos de datos compartidos duraderos.
  • Utilice Lustre para entrenamiento de alto rendimiento, puntos de control y salida de simulación.

Acceso interactivo seguro

  • Utilice la integración de SSO basada en OIDC con el ID de Microsoft Entra para OOD.
  • Use acceso solo HTTPS y administración SSH restringida.
  • Utilizar subredes privadas para los nodos de cálculo.
  • Siempre que sea posible, prefiera los NSG en lugar de las listas de seguridad amplias.
  • Utilice las políticas de Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) con el mínimo de privilegios.
  • Utilice grupos FreeIPA y cuentas Slurm basados en proyectos.
  • Aplique listas de permitidos de shell de OOD y controles de expresión regular de host /rnode.

Implantar la observabilidad para flujos de trabajo de usuario

  • Seguimiento del estado del nodo Slurm y los motivos del trabajo fallidos.
  • Seguimiento de los registros de reanudación y reparación de escala automática.
  • Realice un seguimiento del estado de la GPU y las salidas nvidia-smi.
  • Seguimiento del estado del servicio munge y slurmd.
  • Seguimiento del estado de montaje de FSS, JuiceFS y Lustre.
  • Seguimiento de errores de OOD Apache, Passenger y PUN por usuario.
  • Seguimiento del estado de los servicios FreeIPA, DNS, LDAP y Kerberos.

Conservar las personalizaciones de OOD durante las actualizaciones

Tratar las actualizaciones de OOD como versiones de aplicaciones y verificar o volver a aplicar widgets personalizados, manejo de particiones de Job Composer, aplicaciones de Conexión por lotes, listas de permitidos de Shell y Archivos y controles de host proxy después de cada actualización.

Consideraciones

Utilice estas consideraciones para equilibrar el rendimiento, la seguridad, la disponibilidad, el costo y las operaciones para cargas de trabajo de HPC e IA multiinquilino en OCI.

Tenga en cuenta los siguientes puntos al desplegar esta arquitectura de referencia.

Rendimiento

Las cargas de trabajo de IA con uso intensivo de GPU pueden generar un tráfico significativo de red y almacenamiento.

  • Coloque los nodos de GPU, Lustre y las rutas de almacenamiento en la misma región y dominio de disponibilidad siempre que sea posible.
  • Utilice redes de gran ancho de banda para cargas de trabajo con mucha GPU y almacenamiento.
  • Minimice el movimiento de datos entre regiones.
  • Ajuste las políticas de programación Slurm para la ubicación de la GPU y el comportamiento específico de la partición.
  • Imágenes de GPU precocinadas con dependencias de tiempo de ejecución estables para reducir el tiempo de inicio en frío.

Seguridad

Protege las cargas de trabajo confidenciales de IA e investigación mediante el uso de subredes privadas para nodos de cálculo, la restricción del acceso SSH, la aplicación de políticas de OCI IAM con el mínimo privilegio, el cifrado de niveles de almacenamiento, la integración de la gestión de identidades centralizada y la activación del registro y la supervisión de auditorías.

Disponibilidad

Tenga en cuenta la alta disponibilidad para los controladores Slurm, los backends web de OOD, los servicios FreeIPA, los sistemas de almacenamiento compartido y la infraestructura de supervisión.

Mejore la resiliencia mediante la implementación de controladores redundantes, la copia de seguridad de las bases de datos contables Slurm, la validación del inicio automático del servicio FreeIPA y el mantenimiento de las copias de seguridad de rollback de OOD antes de las actualizaciones.

Costo

La infraestructura de GPU puede representar el mayor gasto operativo.

  • Utilizar particiones de GPU de escala automática.
  • Suspender automáticamente los nodos de GPU inactivos.
  • Separe las particiones de formación de desarrollo, interactivas y de producción.
  • Prefiere OCI Object Storage duradero para juegos de datos inactivos.
  • Utilice imágenes fijas para acortar la hora de inicio y reducir los ciclos de inicio en frío fallidos.

Operaciones

La lección operativa más importante es que la preparación se debe medir desde el flujo de trabajo del usuario, no solo desde la consola en la nube.

Para los trabajos interactivos, verifique el estado del trabajo Slurm, el estado del servicio de nodo, los montajes de almacenamiento, los listeners de aplicación interactivos, el enrutamiento /node y /rnode de OOD y el comportamiento de inicio del explorador después de la autenticación.

Lista de comprobación de preparación para producción

  • Despliegue de OOD en backends web redundantes.
  • Enrutamiento y comportamiento de desconexión de OIDC del ID Microsoft Entra.
  • Selección de particiones de Job Composer en todas las particiones Slurm expuestas.
  • Inicio de Escritorio remoto, conectividad noVNC y enrutamiento de proxy /rnode.
  • Escala automática de inicialización de nodos de CPU y aceptación de carga de trabajo interactiva.
  • Inicialización de nodos de GPU, comprobaciones de tiempo de ejecución de NVIDIA, registro de GRES y estado de Slurm.
  • Tiempos de ejecución de aplicaciones interactivas compartidas en /apps para Code Server y JupyterLab.
  • Compatibilidad de ayudante personalizada de OOD después de las actualizaciones de versión.

Acerca de los servicios y los roles necesarios

Esta solución requiere los siguientes servicios y roles.
  • Gestión de identidad y acceso de OCI / Dominio de identidad
  • Redes de OCI
  • DNS de OCI
  • Equilibrador de carga de OCI
  • OCI Bastion
  • Computación de OCI
  • Volúmenes en bloque de OCI
  • OCI File Storage
  • Almacenamiento de archivos con Lustre
  • OCI Object Storage
  • OCI Registry
  • OCI Vault
  • OCI Monitoring, OCI Logging, OCI Notifications y OCI Audit
  • Firewall de aplicaciones web de OCI y Oracle Cloud Guard opcionales
  • Servicios de plataforma: Open OnDemand, Slurm, FreeIPA, identidad Linux/POSIX y herramientas de tiempo de ejecución compartido

Estos son los roles necesarios para cada servicio.

Nombre de servicio: Rol Necesario para...
Dominio de identidad/IAM de OCI: manage groups, manage dynamic-groups, manage policies Cree y mantenga grupos de administradores de pruebas de aceptación del usuario, grupos dinámicos y políticas de IAM con el mínimo de privilegios. Restrinja este rol a los administradores de arrendamiento o identidad.
OCI Networking: manage virtual-network-family Crear y mantener la VCN, las subredes públicas/privadas, las tablas de rutas, el gateway de Internet, el gateway de NAT, el gateway de servicio, los NSG y las listas de seguridad.
DNS de OCI: manage dns Gestione registros de DNS públicos o delegados para el punto final de OOD y los nombres de entrada relacionados.
OCI Load Balancer: manage load-balancers Cree y gestione el nivel de entrada HTTPS público para OOD y enrute el tráfico a backends de OOD privados.
OCI Web Application Firewall (opcional): manage waf-family Proteja el punto final de la aplicación pública con políticas de WAF, reglas de acceso y controles de entrada web cuando WAF esté activado para UAT.
OCI Bastion: manage bastion-family Cree sesiones SSH administrativas auditadas y de límite temporal para hosts de inicio de sesión, controlador o administración privados.
OCI Compute: manage instance-family y manage compute-management-family Aprovisione y opere hosts de OOD, nodo de conexión, controlador Slurm, FreeIPA, trabajadores de CPU/GPU, pools de escala automática e instancias de pipeline de imágenes.
OCI Block Volumes: manage volume-family Gestione los volúmenes de inicio y los volúmenes en bloque asociados para los nodos de plataforma, controlador, conexión y cálculo.
OCI File Storage: manage file-family Gestione sistemas de archivos POSIX compartidos, destinos de montaje, juegos de exportación y exportaciones para /home, /scratch y /apps.
File Storage con Lustre: manage lustre-file-family Utilice el sistema de archivos /lustre de alto rendimiento para la E/S de carga de trabajo de HPC/AI activa cuando esté activada.
OCI Object Storage: manage object-family o con el ámbito manage buckets y manage objects Almacene los datos de respaldo de JuiceFS, los datos duraderos del proyecto, las copias de seguridad, los datos del ciclo de vida y el contenido opcional de importación/exportación de Lustre.
OCI Registry: manage repos o con ámbito read repos Transferir o extraer imágenes de tiempo de ejecución y aplicaciones utilizadas por el pipeline de imágenes fijas y los tiempos de ejecución de plataformas compartidas.
OCI Vault/Keys/Secrets: manage vaults, manage keys, manage secret-family; los nodos de tiempo de ejecución solo deben utilizar read secret-family cuando sea necesario Almacene credenciales, claves, tokens y secretos de integración sin codificarlos en instancias o en scripts.
OCI Monitoring: read metrics y manage alarms Vea las métricas de capacidad/rendimiento de la prueba de aceptación del usuario y configure alarmas operativas.
OCI Logging: manage log-groups, read log-content, use unified-configuration Gestione grupos de logs, logs de búsqueda y configure agentes de log o valores de agentes unificados.
OCI Notifications: manage ons-family Cree temas de alarma y suscripciones para notificaciones operativas.
OCI Audit: read audit-events Revise la actividad de la API de OCI para la gobernanza, la resolución de problemas y la revisión de la actividad.
Cloud Guard (opcional): read cloud-guard-family; manage cloud-guard-family solo con aprobación de gobernanza Revisar la estrategia de seguridad y las conclusiones. Active la administración de responsable de respuesta solo cuando se apruebe explícitamente.
Grupo dinámico para instancias informáticas/OOD/Slurm: read buckets, con ámbito manage objects, read repos, use metrics, use log-content, opcional read secret-family Permitir que las instancias de plataforma accedan a cubos de OCI Object Storage aprobados, extraigan imágenes, emitan telemetría y recuperen secretos aprobados mediante principales de instancia.
Grupo dinámico para pipeline de imagen: manage instance-family, manage volume-family, read object-family, con ámbito manage repos, opcional read secret-family Cree, valide, promocione y publique imágenes fijas o artefactos de tiempo de ejecución sin utilizar claves de API de usuario de larga duración.
Grupo dinámico para la sincronización de File Storage with Lustre (si se utiliza): read buckets y el ámbito manage objects Permitir la importación/exportación de File Storage with Lustre o la sincronización con cubos aprobados de OCI Object Storage.
Rol de aplicación de OOD: OOD user / OOD admin Permitir a los usuarios acceder a Files, Shell, Desktop, Code Server, JupyterLab y trabajos; permitir a los administradores de la plataforma gestionar la configuración y las aplicaciones de OOD.
Rol de slurm: user, account/partition admin, or scheduler admin Enviar trabajos, gestionar cuentas/particiones/QOS y operar políticas de programación de CPU/GPU.
Rol de Linux/POSIX: usuario/grupo POSIX y control sudo Controlar el inicio de sesión del shell, los permisos de archivo, el acceso al grupo de proyectos y la administración de emergencia en los nodos de plataforma.
FreeIPA / rol de servicio de identidad: identity administrator Gestione la identidad POSIX, los grupos, el HBAC/DNS cuando corresponda y la inscripción de host/usuario para la UAT.

Consulte Productos, soluciones y servicios de Oracle para obtener lo que necesita.