Comprobaciones de estado de las máquinas virtuales de HPC

Completado

Azure proporciona varias pruebas automatizadas para ayudar a identificar máquinas virtuales poco saludables. Mediante el uso de estas pruebas automatizadas, puede eliminar una máquina virtual (VM) en mal estado de la flota cuando se descubran, y antes de que los clientes tengan la oportunidad de acceder a ellas. Pero a veces estas pruebas automatizadas no detectan todas las máquinas virtuales con un estado incorrecto.

Nota:

Las comprobaciones de estado automatizadas en Azure se actualizan y mejoran continuamente.

Algunas aplicaciones informáticas de alto rendimiento (HPC), especialmente las aplicaciones de HPC que están estrechamente acopladas, son sensibles a las máquinas virtuales incorrectas. Esta sensibilidad puede hacer que una aplicación de HPC tenga un error en tiempo de ejecución o se ejecute más lentamente de lo esperado. Las posibilidades de encontrar una VM con un estado incorrecto se incrementan a medida que aumenta la escala de la aplicación de HPC estrechamente acoplada.

Como medida de precaución, debe ejecutar comprobaciones de estado propias, en especial cuando ejecute aplicaciones de HPC estrechamente acopladas a escala. La ejecución de sus propias comprobaciones de estado aumenta la probabilidad de ejecutar las aplicaciones HPC de forma óptima a escala.

Se recomienda que las comprobaciones del estado de la máquina virtual comprueben que los componentes siguientes funcionan y rinden de la forma esperada: red InfiniBand, memoria, almacenamiento y núcleos de CPU.

Comprobaciones de estado de InfiniBand

En la mayoría de los casos, la medición de la latencia y el ancho de banda punto a punto de InfiniBand mediante una prueba de ping-pong (envío y recepción de un mensaje) es suficiente para comprobar el estado de la red InfiniBand.

La prueba Intel IMP-MPI1 PingPong es una opción útil, ya que está precompilada y disponible en la imagen CentOS-HPC 7.7+ en Azure Marketplace. Existe una versión incluida en el entorno MPI (interfaz de paso de mensajes) de Intel y otra en el entorno MPI HPC-X, aunque normalmente obtendrá el mejor rendimiento de latencia y ancho de banda utilizando la versión HPC-X. Los scripts para ejecutar pruebas Intel IMP-MPI1 PingPong están disponibles en el proyecto de puntos de referencia de IMB-MPI.

En la tabla siguiente se muestran la latencia y el ancho de banda esperados de la red InfiniBand, medidos por medio de un banco de pruebas HPC-X Intel IMB-IMP1 PingPong en máquinas virtuales de HPC. Los valores que se encuentran fuera de los intervalos siguientes se consideran incorrectos.

SKU de la máquina virtual Latencia de red esperada Ancho de banda de red esperado
HB120_v2 < 2 μs > 23,0 Gb/s
HC44 < 2 μs > 11,5 Gb/s
HB60 < 2 μs > 11,5 Gb/s

Otras herramientas y bancos de pruebas que se deben tener en cuenta son osu-micro-benchmarks y Mellanox ClusterKit. Esta última también está preinstalada en la imagen CentOS HPC 7.7+ de Azure Marketplace, en el entorno HPC-X. En el proyecto de scripts de comprobación de estado de Azure encontrará scripts de ClusterKit de ejemplo.

Comprobaciones de estado de la memoria

Medir el ancho de banda de la memoria es una buena forma de verificar que la memoria de una máquina virtual está en buen estado. El Comprobador de latencia de memoria de Intel (MLC) es una herramienta útil para realizar pruebas comparativas del ancho de banda de memoria. Otras opciones consisten en compilar y ejecutar el banco de pruebas del flujo, o bien usar ClusterKit, que también puede medir el ancho de banda de la memoria. Puede encontrar scripts de ejemplo en el proyecto de scripts de comprobación de estado de Azure.

La siguiente tabla muestra el ancho de banda de memoria medido que se espera en cada una de las máquinas virtuales de HPC que ejecutan Intel MLC. Los anchos de banda de memoria que se encuentren fuera de estos intervalos se consideran incorrectos.

SKU de la máquina virtual Ancho de banda de memoria esperado
HB120_v2 > 300 GB/s
HC44 > 200 GB/s
HB60 > 250 GB/s

Comprobaciones de estado de almacenamiento

Es importante entender qué solución de almacenamiento se usa y su rendimiento de E/S esperado, y luego comprobar el rendimiento de E/S esperado mediante la ejecución de un banco de pruebas de E/S. Puede elegir entre varias herramientas de banco de pruebas de E/S:

Para medir el estado de almacenamiento, crearía el rendimiento máximo de E/S para generar un banco de pruebas de IOPS. Después, compararía los resultados medidos del banco de pruebas de E/S con el rendimiento de E/S esperado de la solución de almacenamiento.

Puede encontrar scripts de IOR de ejemplo en el proyecto IOR y mdtest. Puede encontrar scripts de FIO de ejemplo en el proyecto de FIO.

Estado de los núcleos de CPU

Una excelente manera de comprobar que los núcleos de CPU son correctos y que funcionan según lo previsto es medir las operaciones máximas de punto flotante por segundo (FLOPS). A continuación, compare los resultados medidos con el FLOPS teórico esperado.

Puede usar High Performance Linpack (HPL) para medir el valor FLOPS máximo. Una ventaja lateral de ejecutar HPL es que puede ayudar a identificar algunos DIMM de memoria incorrecta (módulos de memoria en línea duales). Además, puede ayudar a evaluar el estado general del clúster de HPC, ya que realiza algunas pruebas limitadas para la comunicación estrechamente acoplada.

HPL se suele usar en centros de datos HPC para arrancar un nuevo sistema HPC. Puede encontrar scripts de HPL de ejemplo en el proyecto de linpack.