Compartir vía


Estilo de arquitectura de proceso grande

Azure
Azure Batch

El término big compute describe cargas de trabajo a gran escala que requieren un gran número de núcleos, a menudo numerando en los cientos o miles. Los escenarios incluyen la representación de imágenes, la dinámica de fluidos, el modelado de riesgos financieros, la exploración del petróleo, el diseño de drogas y el análisis de estrés de ingeniería, entre otros.

Diagrama lógico para el estilo de arquitectura de proceso grande

Estas son algunas características típicas de las aplicaciones de proceso grandes:

  • El trabajo se puede dividir en tareas discretas, que se pueden ejecutar simultáneamente en muchos núcleos.
  • Cada tarea es finita. Toma algunas entradas, realiza algún procesamiento y genera resultados. Toda la aplicación se ejecuta durante una cantidad finita de tiempo (minutos a días). Un patrón común es aprovisionar un gran número de núcleos en una ráfaga y, a continuación, reducir a cero una vez completada la aplicación.
  • La aplicación no necesita mantenerse al día 24/7. Sin embargo, el sistema debe controlar errores de nodo o bloqueos de aplicación.
  • En algunas aplicaciones, las tareas son independientes y se pueden ejecutar en paralelo. En otros casos, las tareas están estrechamente acopladas, lo que significa que deben interactuar o intercambiar resultados intermedios. En ese caso, considere la posibilidad de usar tecnologías de red de alta velocidad, como InfiniBand y acceso directo a memoria remota (RDMA).
  • En función de la carga de trabajo, puede usar tamaños de máquina virtual intensivos de proceso (H16r, H16mr y A9).

Cuándo usar esta arquitectura

  • Operaciones de cálculo intensivas, como la simulación y la contracción numérica.
  • Las simulaciones que consumen un uso intensivo de cálculo y deben dividirse entre CPU en varios equipos (de 10 a 1000).
  • Las simulaciones que requieren demasiada memoria para un equipo y deben dividirse entre varios equipos.
  • Cálculos de larga duración que tardarían demasiado tiempo en completarse en un solo equipo.
  • Cálculos más pequeños que deben ejecutarse 100 o 1000 veces, como simulaciones de Monte Carlo.

Ventajas

  • Alto rendimiento con procesamiento "embarazosamente paralelo".
  • Puede aprovechar cientos o miles de núcleos informáticos para resolver problemas grandes más rápidos.
  • Acceso a hardware especializado de alto rendimiento, con redes InfiniBand de alta velocidad dedicadas.
  • Puede aprovisionar máquinas virtuales según sea necesario para realizar el trabajo y, a continuación, anularlas.

Desafíos

  • Administración de la infraestructura de máquina virtual.
  • Administración del volumen de la contracción de números
  • Aprovisionar miles de núcleos de forma oportuna.
  • En el caso de las tareas estrechamente acopladas, agregar más núcleos puede tener retornos de disminución. Es posible que tenga que experimentar para encontrar el número óptimo de núcleos.

Proceso grande mediante Azure Batch

Azure Batch es un servicio administrado para ejecutar aplicaciones informáticas de alto rendimiento (HPC) a gran escala.

Con Azure Batch, se configura un grupo de máquinas virtuales y se cargan las aplicaciones y los archivos de datos. A continuación, el servicio Batch aprovisiona las máquinas virtuales, asigna tareas a las máquinas virtuales, ejecuta las tareas y supervisa el progreso. Batch puede escalar horizontalmente automáticamente las máquinas virtuales en respuesta a la carga de trabajo. Batch también proporciona programación de trabajos.

Diagrama de proceso grande mediante Azure Batch

Proceso grande que se ejecuta en máquinas virtuales

Puede usar Microsoft HPC Pack para administrar un clúster de máquinas virtuales y programar y supervisar trabajos de HPC. Con este enfoque, debe aprovisionar y administrar las máquinas virtuales y la infraestructura de red. Tenga en cuenta este enfoque si tiene cargas de trabajo de HPC existentes y quiere mover algunas o todas a Azure. Puede mover todo el clúster de HPC a Azure, o puede mantener el clúster de HPC en el entorno local, pero usar Azure para la capacidad de ráfaga. Para más información, consulte Soluciones de Batch y HPC para cargas de trabajo de informática a gran escala.

HPC Pack implementado en Azure

En este escenario, el clúster de HPC se crea completamente en Azure.

Diagrama de HPC Pack implementado en Azure

El nodo principal proporciona servicios de administración y programación de trabajos al clúster. Para las tareas estrechamente acopladas, use una red RDMA que proporcione una comunicación de ancho de banda muy alto y baja latencia entre máquinas virtuales. Para más información, consulte Implementación de un clúster de HPC Pack 2016 en Azure.

Expansión de un clúster de HPC a Azure

En este escenario, una organización ejecuta HPC Pack local y usa máquinas virtuales de Azure para la capacidad de ráfaga. El nodo principal del clúster es local. ExpressRoute o VPN Gateway conecta la red local a la red virtual de Azure.

Diagrama de un clúster de proceso grande híbrido

Pasos siguientes