Clúster de informática de alto rendimiento implementado en la nube

Pipelines
Blob Storage
Batch
Monitor

Idea de solución

Si le gustaría que expandamos este artículo con más información, como posibles casos de uso, servicios alternativos, consideraciones de implementación o una guía de precios, comuníquese a través de los Comentarios de GitHub.

Las aplicaciones de informática de alto rendimiento (HPC) se pueden escalar a miles de núcleos de proceso, ampliar los procesos intensivos locales o ejecutarse como una solución en la nube totalmente nativa. Esta solución de HPC se basa en el servicio administrado de Azure: Azure Batch, y se inicia mediante un trabajo de Azure Pipelines. Estos servicios se ejecutan en un entorno de alta disponibilidad, revisado y compatible, lo que le permite centrarse en la solución, en lugar de en el entorno en que se ejecutan.

Architecture

Diagrama de la arquitectura Descargue un SVG de esta arquitectura.

Esta solución implica los pasos siguientes:

  1. Azure Pipelines inicia una canalización que compila el proyecto de código del equipo y lo almacena como archivo ejecutable en Azure Storage
  2. El trabajo de canalización continúa cargando algunos datos de procesamiento en la cuenta de almacenamiento.
  3. Por último, Azure Pipelines solicita que el servicio Azure Batch inicie su trabajo de procesamiento, lo que completa la canalización.
  4. El servicio Azure Batch copiará los archivos ejecutables del programa y los datos de entrada del almacenamiento, y los asignará a un grupo de nodos de proceso.
  5. El servicio Batch se encarga de la administración de trabajos y tareas para el grupo, y reintenta o reasigna las tareas a medida que los nodos completan su trabajo.
  6. A medida que los nodos de proceso funcionan, Azure Monitor recopila los datos de rendimiento del grupo (CPU, memoria, E/S de disco) y los archivos de registro. El equipo puede estudiar esta telemetría para crear mejores trabajos en el futuro.
  7. Cuando los nodos de proceso completan las tareas, devuelven los datos del programa a Azure Storage para la revisión por parte del equipo.

Componentes

  • Azure Pipelines compila y prueba proyectos de código, e inicia los trabajos de HPC en el servicio Azure Batch.
  • Azure Storage alberga los archivos ejecutables y los datos de HPC usados en un trabajo.
  • Azure Batch programa los trabajos y las tareas en un gran número de nodos, y administra todos los recursos de proceso.
  • Azure Virtual Machines se ejecuta como trabajos y se encarga de las tareas de proceso.
  • Virtual Network proporciona conectividad IP entre los recursos de proceso y los demás servicios en la nube, más allá de cualquier comunicación de InfiniBand o RDMA nativa.
  • Azure Monitor recopila métricas de rendimiento y registros de los recursos en la nube para informes, alertas y respuesta automatizada.

Consideraciones

Los grupos de proceso de Batch no tienen que contener hardware básico. Existen máquinas virtuales especializadas con procesadores de GPU y redes avanzadas para su uso por parte de Azure Batch. Hay disponibles máquinas virtuales optimizadas para GPU con GPU NVIDIA Tesla y redes InfiniBand de alto rendimiento.

Los grupos de proceso de Batch pueden escalarse automáticamente , lo que aumenta y reduce el número de nodos del grupo a medida que cambia la cantidad de trabajo. En lugar de pagar por los miembros del grupo sin usar, el escalado automático puede reducir los costos de proceso de un trabajo a solo aquellos recursos que cumplen tareas.

Precios

Use la calculadora de precios de Azure que preconfigura todos los servicios de Azure para explorar el costo de la ejecución de este escenario.

Azure Batch es un servicio gratuito, y los clientes solo pagan por la máquina virtual, el almacenamiento y los costos de red subyacentes. En esta solución, hay costos adicionales para los servicios Azure Pipelines y Azure Monitor. Sin embargo, en concreto para Azure Batch, se trata de una opción para comprar software de representación de gráficos (como Autodesk Maya y Chaos Group V-Ray) a una tarifa por minuto. Consulte Precios de Azure Batch para obtener más información.

Pasos siguientes

  • Obtenga más información sobre Azure Batch.
  • Complete un tutorial para representar varios fotogramas de una escena de demo de Blender mediante Azure Batch.