Despliegue de un cluster de servidores con hardware dedicado de HPC con tecnología de una GPU NVIDIA Tensor Core

El despliegue de modelos de inteligencia artificial (IA), aprendizaje automático (ML) o aprendizaje profundo (DL), como BERT-Large para el modelado de lenguajes, a menudo se beneficia de la aceleración de GPU para cargas de trabajo de IA.

Oracle Cloud Infrastructure (OCI) permite el acceso directo a un cluster de servidor con hardware dedicado. El cluster de GPU con hardware dedicado proporciona la mejor relación precio-rendimiento del sector para desplegar IA, AA o DL. Puede alojar más de 500 clústeres de GPU y escalarlos fácilmente, a demanda.

Arquitectura

Esta arquitectura demuestra la relación entre los distintos componentes de un sistema típico y el cluster de GPU con hardware dedicado de HPC en su núcleo. Se puede aplicar a muchas aplicaciones de IA, ML o DL, como BERT-Large, GPT2/3, Jasper, MaskRCNN y GNMT.

BERT es un modelo de aprendizaje profundo previamente entrenado que es popular en las tareas de procesamiento de lenguaje natural (NLP). Se puede ajustar para aplicaciones o dominios específicos. La variante más grande, BERT-large, contiene parámetros de 340M. Los tiempos de entrenamiento e inferencia son enormes sin clusters distribuidos a gran escala en cientos de GPU idénticas. Los clusters de GPU requieren un alto rendimiento de E/S y un sistema de archivos de cluster de baja latencia. Cuánto, qué tan rápido y cuánto barato puede procesar los datos es especialmente crítico para las aplicaciones de inferencia de IA en tiempo real.

Oracle Cloud Infrastructure (OCI) utiliza la red de cluster de baja latencia de Oracle, basada en el acceso directo a memoria remoto (RDMA), que se ejecuta a través de Ethernet convergente (RoCE) con una latencia inferior a 2 μs. RDMA permite conexiones de baja latencia entre nodos y acceso a la memoria de GPU sin involucrar a la CPU. OCI HPC permite al cliente agrupar en clusters 64 nodos con hardware dedicado, cada uno con 8 GPU NVIDIA A100, a 512 GPU.

OCI proporciona varias soluciones de almacenamiento de alto rendimiento y baja latencia para cargas de trabajo de HPC, como la unidad de estado sólido NVMe local, la red y los sistemas de archivos paralelos. El servidor con hardware dedicado de OCI incluye almacenamiento local en SSD NVMe. Se puede utilizar para crear un NFS reutilizable o un sistema de archivos paralelo reutilizable (BeeOND, Weka), para archivos temporales. Mediante la función de asociación múltiple de volúmenes en bloque, puede utilizar un solo volumen para almacenar todos los juegos de datos de entrenamiento y asociarlo a varias instancias de GPU. También puede utilizar Intel Ice Lake BM o VM y el nivel de rendimiento equilibrado Block Storage para crear servidores de archivos de mayor rendimiento y menor costo, con NFS basado (NFS-HA, FSS) o Parallel File System (Weka.io, Spectrum Scale, BeeGFS, BeeOND). Los resultados de la formación se guardan en Oracle Cloud Infrastructure Object Storage para el almacenamiento a largo plazo.

El siguiente diagrama ilustra esta arquitectura de referencia.

Descripción de arquitectura-hpc-bm-gpu.png
Descripción de la ilustración architecture-hpc-bm-gpu.png

arquitectura-hpc-bm-gpu-oracle.zip

La arquitectura tiene los siguientes componentes:

  • Región

    Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes entre sí y pueden separarse a grandes distancias (entre países e incluso continentes).

  • Cloud Guard

    Puede utilizar Oracle Cloud Guard para supervisar y mantener la seguridad de los recursos en Oracle Cloud Infrastructure. Cloud Guard utiliza recetas de detector que puede definir para examinar los recursos en busca de debilidades de seguridad y para supervisar a los operadores y usuarios en busca de determinadas actividades de riesgo. Cuando se detecta cualquier actividad no segura o de configuración incorrecta, Cloud Guard recomienda acciones correctivas y ayuda a realizar esas acciones, según las recetas de responsable de respuesta que pueda definir.

  • Dominios de disponibilidad

    Los dominios de disponibilidad son centros de datos independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten infraestructura, como la alimentación o la refrigeración, ni la red interna del dominio de disponibilidad. Por lo tanto, un fallo en un dominio de disponibilidad no debería afectar a los otros dominios de disponibilidad de la región.

  • Dominios de errores

    Un dominio de errores es una agrupación de hardware e infraestructura dentro de un dominio de disponibilidad. Cada dominio de disponibilidad consta de tres dominios de errores con hardware y energía independientes. Al distribuir recursos entre varios dominios de errores, las aplicaciones pueden tolerar fallos físicos de servidor, mantenimiento del sistema o fallos de energía en un dominio de errores.

  • Compartimento

    Los compartimentos son particiones lógicas entre regiones dentro de un arrendamiento de Oracle Cloud Infrastructure. Utilice compartimentos para organizar los recursos en Oracle Cloud, controlar el acceso a los recursos y definir cuotas de uso. Para controlar el acceso a los recursos de un compartimento determinado, debe definir políticas que especifiquen quién puede acceder a los recursos y qué acciones pueden realizar.

  • Red virtual en la nube (VCN) y subredes

    Una VCN es una red personalizable y definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes de los centros de datos tradicionales, las redes virtuales le proporcionan el control de su entorno de red. Una VCN puede tener varios bloques de CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, las cuales se pueden acotar a una región o a un dominio de disponibilidad. Cada subred está formada por un rango contiguo de direcciones que no se solapan con las demás subredes de la VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.

  • VPN de sitio a sitio

    La VPN de sitio a sitio proporciona conectividad VPN IPSec entre la red local y las VCN en Oracle Cloud Infrastructure. El conjunto de protocolos IPSec cifra el tráfico IP antes de transferir los paquetes del origen al destino y descifra el tráfico cuando llega.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect proporciona una forma sencilla de crear una conexión dedicada y privada entre el centro de datos y Oracle Cloud Infrastructure. FastConnect proporciona opciones de mayor ancho de banda y una experiencia de red más fiable en comparación con las conexiones basadas en Internet.

  • Gateway de enrutamiento dinámico (DRG)

    El DRG es un enrutador virtual que proporciona una ruta para el tráfico de red privada entre las VCN de la misma región, entre una VCN y una red fuera de la región, como una VCN de otra región de Oracle Cloud Infrastructure, una red local o una red de otro proveedor de nube.

  • Gateway de traducción de direcciones de red (NAT)

    Un gateway de NAT permite que los recursos privados de una VCN accedan a hosts de Internet sin exponer dichos recursos a conexiones de Internet entrantes.

  • Gateway de Internet

    El gateway de Internet permite el tráfico entre las subredes públicas de una VCN y la red pública de Internet.

  • Gateway de servicio

    El gateway de servicio proporciona acceso desde una VCN a otros servicios, como Oracle Cloud Infrastructure Object Storage. El tráfico de VCN a Oracle viaja por el tejido de red de Oracle y no por Internet.

  • Lista de seguridad

    Para cada subred, puede crear reglas de seguridad que especifiquen el origen, el destino y el tipo de tráfico que se debe permitir dentro y fuera de la subred.

  • Tabla de rutas

    Las tablas de rutas virtuales contienen reglas para enrutar el tráfico de subredes a destinos fuera de una VCN, normalmente a través de gateways.

  • Host bastión

    El host bastión es una instancia informática que sirve como punto de entrada seguro y controlado a la topología desde fuera de la nube. El host bastión se aprovisiona, por lo general, en una zona desmilitarizada (DMZ). Le permite proteger los recursos sensibles, colocándolos en redes privadas a las que no se puede acceder directamente desde fuera de la nube. La topología tiene un único punto de entrada conocido que puede supervisar y auditar con regularidad. Por lo tanto, puede evitar exponer los componentes más sensibles de la topología sin comprometer el acceso.

  • Nodo bastión (nodo principal)

    El nodo bastión (nodo principal) utiliza un portal basado en web para conectarse al nodo principal y programar trabajos de HPC. La solicitud de trabajo se realiza a través de Oracle Cloud Infrastructure FastConnect o VPN IPSec al nodo principal. El nodo principal también envía el juego de datos del cliente al almacenamiento de archivos y puede realizar algún procesamiento previo de los datos. El nodo principal puede aprovisionar clusters de nodos de HPC y suprimir clusters de HPC al finalizar el trabajo.

    El nodo principal contiene el modelo BERT, ejecuta el programador y puede servir como host bastión para acceder al cluster. Tiene la interfaz de transferencia de mensajes (MPI) y escala automáticamente los nodos con hardware dedicado mediante API de REST. El cluster de HPC aprovisiona nodos con hardware dedicado a demanda. El entrenamiento y la inferencia del modelo utilizan el almacenamiento local de 4 unidades de estado sólido 6.4TB NVMe conectadas al nodo con hardware dedicado. Si utiliza nuestras soluciones para iniciar la infraestructura, la arquitectura despliega el nodo principal y se instala nfs-share por defecto en el almacenamiento SSD NVMe en /mnt.

  • Nodo de cluster de HPC

    El nodo principal aprovisiona y termina estos nodos de cálculo, que son clusters activados para RDMA. Procesan los datos almacenados en el almacenamiento de archivos y devuelven los resultados al almacenamiento de archivos.

  • Servidor NFS

    El nodo principal promueve uno de los nodos HPC como servidor NFS.

  • Pool de instancias

    Un grupo de instancias es un grupo de instancias dentro de una región que se crean a partir de la misma configuración de instancia y se gestionan como un grupo.

    Los pool de instancias permiten crear y gestionar varias instancias informáticas en la misma región que un grupo. También permiten la integración con otros servicios, como el servicio Oracle Cloud Infrastructure Load Balancing y el servicio Oracle Cloud Infrastructure Identity and Access Management.

  • Sistema de base de datos de hardware dedicado

    Un sistema de base de datos con hardware dedicado (BM) es un único servidor dedicado que ejecuta Oracle Linux 7, con el almacenamiento NVMe conectado localmente. Utilice una unidad de GPU con hardware dedicado para realizar análisis acelerados por hardware y otros cálculos.

    Al iniciar un sistema de base de datos con hardware dedicado, seleccione la unidad y una única edición de Oracle Database que se aplique a todas las bases de datos de ese sistema de base de datos. Cada sistema de base de datos puede tener varios directorios raíz de base de datos, que pueden ser diferentes versiones. Cada directorio raíz de base de datos solo puede tener una base de datos, que es de la misma versión que el directorio raíz de base de datos.

    La unidad determina los recursos asignados al sistema de base de datos. Las opciones, como la creación de reflejo de 2 o 3 vías, y el espacio asignado para los archivos de datos, afectan a la cantidad de almacenamiento utilizable en el sistema.

  • Object Storage

    El almacenamiento de objetos proporciona acceso rápido a grandes cantidades de datos estructurados y no estructurados de cualquier tipo de contenido, incluidas copias de seguridad de base de datos, datos analíticos y contenido rico, como imágenes y vídeos. Puede almacenar datos de forma segura y, a continuación, recuperarlos directamente desde Internet o desde la plataforma en la nube. Puede escalar el almacenamiento sin experimentar ninguna degradación en el rendimiento ni en la confiabilidad del servicio. Utilice el almacenamiento estándar para el almacenamiento de acceso frecuente al que debe acceder de forma rápida, inmediata y frecuente. Utilice el almacenamiento de archivo para el almacenamiento "frío" que conserva durante largos períodos de tiempo y a los que rara vez accede.

Recomendaciones

Utilice las siguientes recomendaciones como punto de partida. Los requisitos pueden diferir de la arquitectura que se describe aquí.
  • VCN

    Al crear una VCN, determine el número de bloques de CIDR necesarios y el tamaño de cada bloque en función del número de recursos que planea asociar a las subredes de la VCN. Utilice bloques CIDR que estén dentro del espacio de dirección IP privada estándar.

    Seleccione bloques de CIDR que no se solapen con ninguna otra red (en Oracle Cloud Infrastructure, su centro de datos local u otro proveedor en la nube) en la que desee configurar conexiones privadas.

    Después de crear una VCN, puede cambiar, agregar y eliminar sus bloques de CIDR.

    Al diseñar las subredes, tenga en cuenta el flujo de tráfico y los requisitos de seguridad. Asocie todos los recursos de un nivel o rol específico a la misma subred, que puede servir como límite de seguridad.

    Utilizar subredes regionales.

  • Seguridad

    Utilice Oracle Cloud Guard para supervisar y mantener la seguridad de los recursos en Oracle Cloud Infrastructure de forma proactiva. Cloud Guard utiliza recetas de detector que puede definir para examinar los recursos en busca de deficiencias de seguridad y para supervisar a los operadores y usuarios en busca de actividades de riesgo. Cuando se detecta cualquier actividad no segura o de configuración incorrecta, Cloud Guard recomienda acciones correctivas y ayuda a realizar esas acciones, según las recetas de responsable de respuesta que pueda definir.

    Para los recursos que requieren la máxima seguridad, Oracle recomienda utilizar zonas de seguridad. Una zona de seguridad es un compartimento asociado a una receta de políticas de seguridad definida por Oracle que se basa en las mejores prácticas. Por ejemplo, no se puede acceder a los recursos de una zona de seguridad desde la Internet pública y se deben cifrar con claves gestionadas por el cliente. Al crear y actualizar recursos en una zona de seguridad, Oracle Cloud Infrastructure valida las operaciones con respecto a las políticas de la receta de zona de seguridad y deniega las operaciones que violan cualquiera de las políticas.

  • Cloud Guard

    Clone y personalice las recetas por defecto proporcionadas por Oracle para crear recetas personalizadas de detector y responsable de respuesta. Estas recetas permiten especificar qué tipo de violaciones de seguridad generan una advertencia y qué acciones se pueden realizar en ellas. Por ejemplo, puede que desee detectar cubos de Object Storage que tengan la visibilidad definida en público.

    Aplique Cloud Guard en el nivel de arrendamiento para abarcar el ámbito más amplio y reducir la carga administrativa que supone mantener varias configuraciones.

    También puede utilizar la función Lista gestionada para aplicar determinadas configuraciones a los detectores.

  • Security Zones

    Para los recursos que requieren la máxima seguridad, Oracle recomienda utilizar zonas de seguridad. Una zona de seguridad es un compartimento asociado a una receta de políticas de seguridad definida por Oracle que se basa en las mejores prácticas. Por ejemplo, no se puede acceder a los recursos de una zona de seguridad desde la Internet pública y se deben cifrar con claves gestionadas por el cliente. Al crear y actualizar recursos en una zona de seguridad, Oracle Cloud Infrastructure validará las operaciones con respecto a las políticas de la receta de zona de seguridad y denegará las operaciones que violen cualquiera de las políticas.

  • Grupos de seguridad de red

    Puede utilizar los NSG para definir un juego de reglas de entrada y salida que se aplican a VNIC específicas. Recomendamos utilizar NSG en lugar de listas de seguridad, ya que los NSG permiten separar la arquitectura de subred de la VCN de los requisitos de seguridad de la aplicación.

  • Nodos de HPC

    Despliegue las unidades con hardware dedicado de HPC para obtener un rendimiento total.

    Utilice unidades BM.HPC4.8 con 8 GPU Tensor Core A100 con 40 GB de memoria, 2 AMD de 32 núcleos a 2,9 GHz, 2048 GB DDR4, 8 redes de 200 Gbps, 4 unidades de estado sólido NVMe locales de 6,4 TB de almacenamiento de hasta 1 bloque de PB por nodo.

    Agrupe hasta 64 nodos con hardware dedicado para ofrecer 512 GPU y 4096 CPU.

Consideraciones

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

  • Rendimiento

    En función del tamaño de la carga de trabajo, determine cuántos núcleos desea ejecutar BERT. Esta decisión garantiza que la simulación se complete de manera oportuna.

    Para obtener el mejor rendimiento, seleccione la unidad de computación correcta con el ancho de banda adecuado.

  • Disponibilidad

    Considere el uso de una opción de alta disponibilidad, en función de los requisitos de despliegue y la región. Entre las opciones se incluyen el uso de varios dominios de disponibilidad en una región y dominios de errores.

    • Supervisión y alertas

      Configure la supervisión y las alertas sobre el uso de CPU y memoria para los nodos, de modo que pueda ampliar o reducir la unidad según sea necesario.

    • Costo

      Una instancia de GPU con hardware dedicado proporciona la potencia de CPU necesaria para un mayor costo. Evalúe sus requisitos para elegir la unidad de computación adecuada.

      Puede suprimir el cluster cuando no haya trabajos en ejecución.

  • Sistemas de archivos de cluster

    Hay varios escenarios:

    1. Almacenamiento SSD NVMe local que viene con la unidad HPC.
    2. Los volúmenes en bloque con varias asociaciones ofrecen un rendimiento de E/S de hasta 2.680 MB/s o 700k de IOPS.
    3. También puede instalar su propio sistema de archivos paralelo sobre el almacenamiento en unidades de estado sólido NVMe o el almacenamiento de bloques, según sus requisitos de rendimiento. OCI proporciona soluciones basadas en NFS permanentes y reutilizables (NFS-HA, FSS) o en sistemas de archivos paralelos (weka.io, Spectrum Scale, BeeGFS, BeeOND, Lustre, Gluster, Quobyte). Consulte Más información. Póngase en contacto con el equipo de almacenamiento de HPC para diseñar las soluciones más óptimas para sus necesidades.

Confirmaciones

  • Autor: Wei Han