Compartir a través de


Informática de alto rendimiento (HPC) en Azure

Introducción a HPC

La informática de alto rendimiento (HPC), también denominada big compute, usa un gran número de equipos basados en CPU o GPU para resolver tareas matemáticas complejas.

En muchos sectores se usa HPC para solucionar algunos de sus problemas más difíciles. Estos incluyen cargas de trabajo como las siguientes:

  • Genómica
  • Simulaciones de petróleo y gas
  • Finanzas
  • Diseño de semiconductores
  • Ingeniería
  • Modelos meteorológicos

¿En qué se diferencia HPC en la nube?

Una de las principales diferencias entre un sistema de HPC local y otro en la nube es la capacidad para agregar o eliminar recursos de forma dinámica según sea necesario. El escalado dinámico elimina el cuello de botella que supone la capacidad de proceso y, en su lugar, permite a los clientes adaptar el tamaño de su infraestructura a los requisitos de sus trabajos.

Los artículos siguientes proporcionan más detalles sobre esta funcionalidad de escalado dinámico.

Lista de comprobación de la implementación

Como quiere implementar su propia solución de HPC en Azure, asegúrese de que ha revisado los temas siguientes:

  • Elija la arquitectura adecuada según sus requisitos
  • Sepa qué opciones de proceso son las adecuadas para la carga de trabajo
  • Identifique la solución de almacenamiento correcta que satisfaga sus necesidades
  • Decida cómo va a administrar todos los recursos
  • Optimice la aplicación para la nube
  • Proteja la infraestructura

Infraestructura

Hay numerosos componentes de infraestructura que son necesarios para compilar un sistema de HPC. Proceso, almacenamiento y red proporcionan los componentes subyacentes sin importar como decide administrar las cargas de trabajo de HPC.

Compute

Azure ofrece una gama de tamaños optimizados tanto para CPU como para Cargas de trabajo intensivas de GPU.

Máquinas virtuales basadas en CPU

Máquinas virtuales habilitadas para GPU

Las máquinas virtuales de la serie N ofrecen GPU de NVIDIA diseñadas para aplicaciones de proceso intensivo o de uso intensivo de gráficos, como las de aprendizaje y visualización de inteligencia artificial (AI).

Storage

Las cargas de trabajo a gran escala de Batch y HPC presentan una demanda de almacenamiento y acceso de datos que superan las capacidades de los sistemas de archivos en la nube tradicionales. Hay muchas soluciones que administran las necesidades de velocidad y capacidad de las aplicaciones de HPC en Azure:

Para obtener más información sobre la comparación de Lustre, GlusterFS y BeeGFS en Azure, revise el Parallel Files Systems en Azure e-book y el Lustre en Azure blog.

Creación de redes

Las máquinas virtuales H16r, H16mr, A8 y A9 pueden conectarse a una red RDMA de back-end de alto rendimiento. Esta red puede mejorar el rendimiento de las aplicaciones paralelas estrechamente acopladas que se ejecutan bajo la Interfaz de Paso de Mensajes de Microsoft, conocida como MPI, o Intel MPI.

Administración

Hágalo usted mismo

La creación de un sistema HPC desde cero en Azure ofrece una cantidad significativa de flexibilidad, pero a menudo es muy intensivo en mantenimiento.

  1. Configure su propio entorno de clúster en máquinas virtuales de Azure o Conjuntos de Escala de Máquinas Virtuales.
  2. Use plantillas de Azure Resource Manager para implementar administradores líderes de workload, infraestructura y applications.
  3. Elija los tamaños de las máquinas virtuales de HPC y GPU que incluyan hardware especializado y conexiones de red para cargas de trabajo MPI o GPU.
  4. Agregue almacenamiento de alto rendimiento para cargas de trabajo intensivas de E/S.

Ampliación híbrida y en la nube

Si tiene un sistema HPC local existente al que le gustaría conectarse a Azure, hay varios recursos que le ayudarán a empezar.

En primer lugar, revise el Options para conectar una red local a Azure artículo de la documentación. Una vez allí, puede encontrar información adicional sobre estas opciones de conectividad:

Una vez que la conectividad de red se establece de forma segura, puede empezar a usar los recursos de proceso en la nube a petición con las funcionalidades de ampliación del administrador de cargas de trabajo existente.

Soluciones de Marketplace

Hay muchos administradores de cargas de trabajo que se ofrecen en Microsoft Marketplace.

Azure Batch

Azure Batch es un servicio de plataforma para ejecutar aplicaciones hpC y paralelas a gran escala de forma eficaz en la nube. Azure Batch programa el trabajo intensivo de proceso para ejecutarse en un grupo administrado de máquinas virtuales y puede escalar automáticamente los recursos de proceso para satisfacer las necesidades de los trabajos.

Los proveedores o desarrolladores de SaaS pueden usar los SDK y las herramientas de Batch para integrar aplicaciones de HPC o cargas de trabajo de contenedor con Azure, almacenar datos en fases para Azure y crear canalizaciones de ejecución de trabajos.

En Azure Batch todos los servicios se ejecutan en la nube. En la imagen siguiente se muestra cómo se ve la arquitectura con Azure Batch, teniendo las configuraciones de escalabilidad y programación de trabajos que se ejecutan en la nube, mientras que los resultados e informes se pueden enviar al entorno local.

Diagram muestra una arquitectura hpC de ejemplo para Azure Batch.

Azure CycleCloud

Azure CycleCloud Proporciona la manera más sencilla de administrar cargas de trabajo de HPC mediante cualquier programador (como Slurm, Grid Engine, HPC Pack, HTCondor, LSF, PBS Pro o Symphony), en Azure

CycleCloud le permite:

  • Implementar clústeres completos y otros recursos, incluidos el programador, máquinas virtuales de procesos, almacenamiento, redes y caché
  • Organizar trabajos, datos y flujos de trabajo en la nube
  • Otorgar control total a los administradores sobre qué usuarios pueden ejecutar trabajos, así como dónde y con qué costo
  • Personalización y optimización de clústeres mediante características avanzadas de directivas y gobernanza, incluidos los controles de costos, la integración, la supervisión y los informes de Active Directory
  • Usar su programador actual de trabajos y aplicaciones sin modificarlos
  • Aprovechar el escalado automático integrado y las arquitecturas de referencia probadas para una gran variedad de cargas de trabajo de HPC e industrias
Modelo híbrido o de expansión en la nube

En este diagrama de ejemplo híbrido, podemos ver claramente cómo se distribuyen estos servicios entre la nube y el entorno local. Tener la oportunidad de ejecutar trabajos en ambas cargas de trabajo. Diagram muestra una arquitectura HPC de ejemplo para CycleCloud en Azure en un entorno híbrido.

Modelo nativo de nube

En el siguiente diagrama de ejemplo de modelo nativo de nube se muestra cómo la carga de trabajo en la nube controlará todo mientras conserva la conexión al entorno local.

El diagrama muestra un ejemplo de arquitectura HPC para CycleCloud en Azure en el modelo nativo de nube.

Gráfico de comparación

Feature Azure Batch Azure CycleCloud
Scheduler API de Batch, herramientas y scripts de línea de comandos en el portal de Azure (Cloud Native). Use programadores HPC estándar, como Slurm, PBS Pro, LSF, Grid Engine y HTCondor, o amplíe los complementos de escalado automático de CycleCloud para trabajar con su propio programador.
Recursos de computación Nodos de software como servicio: Plataforma como servicio Software de plataforma como servicio: Plataforma como servicio
Herramientas de supervisión Azure Monitor Azure Monitor, Grafana
Personalización Grupos de imágenes personalizadas, imágenes de terceros, acceso a la API Batch. Use la API de RESTful completa para personalizar y ampliar la funcionalidad, implementar su propio programador y dar soporte técnico a los administradores de carga de trabajo existentes
Integración Data Factory en Microsoft Fabric, Azure Data Factory, Azure CLI CLI integrada para Windows y Linux
Tipo de usuario Developers Administradores y usuarios HPC clásicos
Tipo de trabajo Lote, Flujos de trabajo Estrechamente acoplado (interfaz de paso de mensajes/MPI).
compatibilidad con Windows Varía, según la elección del programador

Administradores de cargas de trabajo

A continuación se muestran ejemplos de administradores de clústeres y cargas de trabajo que se pueden ejecutar en Azure infraestructura. Cree clústeres independientes en máquinas virtuales de Azure o expanda dinámicamente a las máquinas virtuales de Azure desde un clúster local.

Contenedores

Los contenedores también pueden usarse para administrar algunas cargas de trabajo de HPC. Los servicios como el Azure Kubernetes Service (AKS) facilitan la implementación de un clúster de Kubernetes administrado en Azure.

Administración de costos

La administración del costo de HPC en Azure se puede realizar de varias maneras diferentes. Asegúrese de que ha revisado las opciones de compra Azure para encontrar el método que mejor funcione para su organización.

Seguridad

Para obtener información general sobre los procedimientos recomendados de seguridad sobre Azure, revise la documentación de seguridad de Azure.

Además de las configuraciones de red disponibles en la sección Expansión en la nube, puede implementar una configuración de topología en estrella tipo hub-and-spoke para aislar los recursos de proceso:

Aplicaciones HPC

Ejecute aplicaciones de HPC personalizadas o comerciales en Azure. Se realizan pruebas comparativas en varios ejemplos de esta sección para realizar un escalado eficaz con máquinas virtuales o nodos de proceso adicionales. Visite Microsoft Marketplace para soluciones listas para implementar.

Nota:

Póngase en contacto con el proveedor de cualquier aplicación comercial para obtener información acerca de las licencias u otras restricciones para la ejecución en la nube. No todos los proveedores ofrecen licencias de pago por uso. Es posible que necesite un servidor de licencias en la nube para su solución o conectarse a un servidor de licencias local.

Aplicaciones de ingeniería

Gráficos y representación

Inteligencia artificial y aprendizaje profundo

Proveedores de MPI

Visualización remota

Ejecute máquinas virtuales con soporte GPU en Azure en la misma región que la salida de HPC para lograr la menor latencia y acceso, además de poder visualizar de forma remota a través de Azure Virtual Desktop.

Pruebas comparativas de rendimiento

Información importante adicional

  • Asegúrese de que la cuota de vCPU ha aumentado antes de intentar ejecutar cargas de trabajo a gran escala.

Pasos siguientes

Para obtener los anuncios más recientes, consulte los siguientes recursos:

Ejemplos de Microsoft Batch

Estos tutoriales le proporcionarán detalles sobre la ejecución de aplicaciones en Microsoft Batch: