Compartir a través de


Procedimientos recomendados para usar máquinas virtuales HB y HC

Información general

Las máquinas virtuales de la serie H son las últimas ofertas de HPC en Azure. Las máquinas virtuales de la serie HB ofrecen procesadores AMD EPYC de 60 núcleos, optimizados para ejecutar aplicaciones con requisitos de ancho de banda de memoria elevados, como análisis explícito de elementos finitos, dinámica de fluidos y modelado meteorológico. Las máquinas virtuales de la serie HC tienen procesadores Intel Xeon Skylake de 44 núcleos y están optimizadas para aplicaciones que requieren cálculos intensivos de CPU, como dinámica molecular y análisis implícito de elementos finitos. Las máquinas virtuales HB y HC cuentan con 100 Gb/s EDR InfiniBand y admiten los tipos y versiones más recientes de MPI. La Guía de escalado de aplicaciones de HPC tiene más información sobre cómo escalar aplicaciones de HPC en máquinas virtuales HB y HC.

Azure CycleCloud admite las nuevas máquinas virtuales de la serie H de fábrica, pero para obtener la mejor experiencia y rendimiento, siga las directrices y los procedimientos recomendados de esta página.

Imagen de Marketplace de HPC de CentOS 7.6

La imagen de Marketplace de HPC de CentOS 7.6 contiene todos los controladores para habilitar la interfaz InfiniBand, así como las versiones precompiladas de todas las variantes comunes de MPI instaladas en /opt. Para obtener más información sobre lo que la imagen tiene que ofrecer, consulte esta entrada de blog.

Para usar la imagen HPC de CentOS 7.6 al crear el clúster, active la casilla Imagen personalizada en el parámetro Configuración avanzada y escriba el valor OpenLogic:CentOS-HPC:7.6:latest.

Imagen de HPC de CentOS

Para admitir la serie de máquinas virtuales H16r anterior y mantener los nodos principales del clúster bloqueados en la misma versión de CentOS, la imagen predeterminada "Cycle CentOS 7" en la lista desplegable del sistema operativo base implementa CentOS 7.4. Aunque esto es adecuado para la mayoría de las series de máquinas virtuales, las máquinas virtuales HB/HC requieren CentOS 7.6 o posterior y otro controlador Mellanox.

Deshabilitar SElinux en CycleCloud < 7.7.4

De forma predeterminada, SElinux solo considera que /root y /home son rutas de acceso válidas para los directorios principales. Los usuarios con directorios principales fuera de estas rutas de acceso hacen que SElinux bloquee SSH mediante cualquier clave SSH en el directorio principal del usuario. En los clústeres de CycleCloud, los directorios de inicio de usuario se crean en /shared/home. Aunque las versiones de CycleCloud posteriores a la 7.7.4 establecen automáticamente la ruta de acceso /shared/home como contexto homedir de SElinux válido, las versiones anteriores no lo admiten. Para asegurarse de que SSH funciona correctamente para los usuarios del clúster, debe deshabilitar SElinux en la plantilla de clúster:

[[node defaults]]
    [[[configuration]]]
    cyclecloud.selinux.policy = permissive

Ejecución de trabajos de MPI con Slurm

Los trabajos de MPI que se ejecutan en máquinas virtuales HB/HC deben ejecutarse en el mismo conjunto de escalado de máquinas virtuales (VMSS). Para garantizar la ubicación correcta del escalado automático de máquinas virtuales para trabajos de MPI que se ejecutan con Slurm, asegúrese de establecer el siguiente atributo en la plantilla de clúster:

[[nodearray execute]]
Azure.SingleScaleset = true
Azure.MaxScalesetSize = 300
Azure.Overprovision = true

Obtención de pkeys para su uso con OpenMPI y MPICH

Algunas variantes de MPI requieren que especifique el PKEY infiniBand al ejecutar el trabajo. La siguiente función de Bash se puede usar para determinar el PKEY:

get_ib_pkey()
{
    key0=$(cat /sys/class/infiniband/mlx5_0/ports/1/pkeys/0)
    key1=$(cat /sys/class/infiniband/mlx5_0/ports/1/pkeys/1)

    if [ $(($key0 - $key1)) -gt 0 ]; then
        export IB_PKEY=$key0
    else
        export IB_PKEY=$key1
    fi

    export UCX_IB_PKEY=$(printf '0x%04x' "$(( $IB_PKEY & 0x0FFF ))")
}