Поделиться через


Рекомендации по использованию виртуальных машин HB и HC

Обзор

Виртуальные машины серии H — это последние предложения HPC в Azure. Виртуальные машины серии HB предлагают 60-ядерные процессоры AMD EPYC, оптимизированные для выполнения приложений с высокими требованиями к пропускной способности памяти, такими как явный анализ конечных элементов, гибкие динамики и моделирование погоды. Виртуальные машины серии HC имеют 44-ядерные процессоры Intel Xeon Skylake и оптимизированы для приложений, требующих интенсивных вычислений ЦП, таких как облачная динамика и неявный анализ конечных элементов. Виртуальные машины HB и HC поддерживают 100 Гбит/с EDR InfiniBand и поддерживают последние типы и версии MPI. Руководство по масштабированию приложений HPC содержит дополнительные сведения о масштабировании приложений HPC на виртуальных машинах HB и HC.

Azure CycleCloud поддерживает новые виртуальные машины серии H из коробки, но для оптимальной работы и производительности следуйте рекомендациям и рекомендациям на этой странице.

Образ CentOS 7.6 HPC Marketplace

Образ CentOS 7.6 HPC Marketplace содержит все драйверы для включения интерфейса InfiniBand, а также предварительно скомпилированных версий всех распространенных вариантов MPI, установленных в /opt. Дополнительные сведения о том, что именно изображение может предложить, см. в этой записи блога.

Чтобы использовать образ HPC CentOS 7.6 при создании кластера, установите флажок "Пользовательский образ " в параметре "Дополнительные параметры" и введите значение OpenLogic:CentOS-HPC:7.6:latest.

Образ HPC CentOS

Для поддержки более старых серий виртуальных машин H16r и сохранения блокировки головного узла кластера на той же версии CentOS образ по умолчанию "Cycle CentOS 7" в раскрывающемся списке базовой ОС развертывает CentOS 7.4. Хотя это нормально для большинства серий виртуальных машин, для виртуальных машин HB/HC требуется CentOS 7.6 или более поздней версии и другой драйвер Mellanox.

Отключение SElinux в CycleCloud < 7.7.4

По умолчанию SElinux считает только /root и /home допустимыми путями для домашних каталогов. Все пользователи с домашними каталогами за пределами этих путей приводят к тому, что SElinux блокирует использование SSH-ключей в домашнем каталоге пользователя. В кластерах CycleCloud домашние каталоги пользователей создаются в папке /shared/home. Хотя версии CycleCloud более поздних версий, чем 7.7.4, автоматически задают путь /shared/home в качестве допустимого контекста домашнего каталога SElinux, старые версии не поддерживают это. Чтобы убедиться, что SSH работает правильно для пользователей в кластере, необходимо отключить SElinux в шаблоне кластера:

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

Выполнение заданий MPI с помощью Slurm

Задания MPI, выполняемые на виртуальных машинах HB/HC, должны выполняться в том же масштабируемом наборе виртуальных машин (VMSS). Чтобы обеспечить правильное размещение виртуальных машин автомасштабирования для заданий MPI, выполняемых с помощью Slurm, обязательно задайте следующий атрибут в шаблоне кластера:

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

Получение ключей pkey для использования с OpenMPI и MPICH

Для некоторых вариантов MPI необходимо указать PKEY InfiniBand при выполнении задания. Для определения PKEY можно использовать следующую функцию Bash:

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 ))")
}