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


Настройка и оптимизация виртуальных машин серии H и N с поддержкой InfiniBand

Применимо к: ✔️ виртуальные машины Linux ✔️ виртуальные машины Windows ✔️ гибкие наборы масштабирования ✔️ унифицированные наборы масштабирования

В этой статье содержатся некоторые рекомендации по настройке и оптимизации виртуальных машин серии HB с поддержкой InfiniBand и серии N для HPC.

Образы виртуальных машин

На виртуальных машинах с поддержкой InfiniBand (IB) необходимы соответствующие драйверы IB для включения RDMA.

Эти образы виртуальных машин основаны на базовых образах виртуальных машин Ubuntu и AlmaLinux Marketplace. Скрипты, используемые при создании этих образов виртуальных машин на основе базовых образов Marketplace, находятся в репозитории azhpc-images.

На виртуальных машинах серии N с поддержкой GPU необходимы соответствующие драйверы GPU. Это может быть доступно следующими методами:

В зависимости от потребностей дистрибутива Linux и версии для рабочих нагрузок, образы виртуальных машин Ubuntu-HPC и AlmaLinux-HPC, доступные в Marketplace, являются самым простым способом начать работу с рабочими нагрузками HPC и AI в Azure. Также рекомендуется создавать пользовательские образы виртуальных машин с определенной настройкой рабочей нагрузки и конфигурацией для повторного использования.

Размеры виртуальных машин, поддерживаемые образами виртуальных машин HPC

Поддержка InfiniBand OFED

Последние образы Azure HPC Marketplace поставляются с Mellanox OFED 5.1 и выше, которые не поддерживают сетевые карты InfiniBand ConnectX3-Pro. Для карт ConnectX-3 Pro InfiniBand требуется версия MOFED 4.9 LTS. Эти образы виртуальных машин поддерживают только карты ConnextX-5 и более новые карточки InfiniBand. Следующая матрица поддержки размера виртуальной машины для InfiniBand OFED в этих образах виртуальных машин HPC:

Поддержка драйвера GPU

В настоящее время только образы виртуальных машинUbuntu-HPC и образы виртуальных машинAlmaLinux-HPC предварительно настроены с помощью драйверов GPU NVIDIA и стека вычислительного программного обеспечения GPU (CUDA, NCCL).

Матрица поддержки размера виртуальной машины для драйверов GPU в поддерживаемых образах виртуальных машин HPC выглядит следующим образом:

  • N-серия: NDv2, размеры виртуальных машин NDv4 поддерживаются с драйверами GPU NVIDIA и стеком вычислительного программного обеспечения GPU (CUDA, NCCL).
  • Другие размеры виртуальных машин NC и ND в серии N поддерживаются драйверами GPU NVIDIA.

Все размеры виртуальных машин серии N поддерживают виртуальные машины 2-го поколения, хотя некоторые старые также поддерживают виртуальные машины 1-го поколения. Поддержка 2-го поколения также указывается с "01" в конце идентификатора изображения URN или версии.

виртуальные машины с поддержкой SR-IOV

образы виртуальных машин Ubuntu-HPC

Для виртуальных машин с поддержкой SR-IOV и RDMA подходят Ubuntu-HPC образы версий 18.04, 20.04 и 22.04. Эти образы виртуальных машин предварительно настроены с драйверами Mellanox OFED для RDMA, драйверов GPU NVIDIA, стека вычислительного программного обеспечения GPU (CUDA, NCCL) и часто используемых библиотек MPI и научных вычислительных пакетов. См. матрицу поддержки размера виртуальной машины.

  • Доступные или последние версии образов виртуальных машин можно перечислить со следующими сведениями с помощью интерфейса командной строки или Marketplace.

    "publisher": "Microsoft-DSVM",
    "offer": "Ubuntu-HPC",
    
  • Скрипты, используемые при создании образов виртуальных машин Ubuntu-HPC из базового образа Ubuntu Marketplace, находятся в репозитории azhpc-images.

образы виртуальных машин AlmaLinux-HPC

Для виртуальных машин с поддержкой RDMA SR-IOV подходят AlmaLinux-HPC образы виртуальных машин версии 8.5, 8.6 и 8.7. Эти образы виртуальных машин предварительно настроены с драйверами Mellanox OFED для RDMA, драйверов GPU NVIDIA, стека вычислительного программного обеспечения GPU (CUDA, NCCL) и часто используемых библиотек MPI и научных вычислительных пакетов. См. матрицу поддержки размера виртуальной машины.

  • Доступные или последние версии образов виртуальных машин можно перечислить со следующими сведениями с помощью интерфейса командной строки или Marketplace.

    "publisher": "AlmaLinux",
    "offer": "AlmaLinux-HPC",
    
  • Скрипты, используемые при создании образов виртуальных машин AlmaLinux-HPC из базового образа AlmaLinux Marketplace, находятся в репозитории azhpc-images.

Кроме того, дополнительные сведения о том, что входит в образы виртуальных машин Ubuntu-HPC и AlmaLinux-HPC, и как их развернуть, находятся в образах виртуальных машин Azure HPC.

Образы виртуальных машин RHEL

Базовые образы виртуальных машин, не относящихся к HPC, основанные на RHEL и размещенные на платформе Marketplace, можно настроить для использования на виртуальных машинах с поддержкой RDMA SR-IOV. Дополнительные сведения о включении InfiniBand и настройке MPI на виртуальных машинах.

Образы виртуальных машин Ubuntu

Базовые образы виртуальных машин Ubuntu Server 20.04 LTS и 22.04 LTS в Marketplace поддерживаются как для SR-IOV, так и для виртуальных машин с поддержкой RDMA. Дополнительные сведения о включении InfiniBand и настройке MPI на виртуальных машинах.

  • Инструкции по включению InfiniBand на образах виртуальных машин Ubuntu приведены в статье TechCommunity.

Замечание

Mellanox OFED версии 5.1 и выше не поддерживают карты InfiniBand ConnectX3-Pro на размерах виртуальных машин N-серии с включенным SR-IOV и FDR InfiniBand (например, NCv3). Используйте LTS Mellanox OFED версии 4.9-0.1.7.0 или более ранней версии на виртуальной машине серии N с ConnectX3-Pro карточками. Дополнительные сведения см. в разделе "Драйверы InfiniBand Для Linux".

Образы виртуальных машин SUSE Linux Enterprise Server

Поддерживаются образы SLES 12 SP3 для HPC, SLES 12 SP3 для HPC (Премиум), SLES 12 SP1 для HPC, SLES 12 SP1 для HPC (Премиум), SLES 12 SP4 и SLES 15 для виртуальных машин в Marketplace. Эти образы виртуальных машин предустановлены драйверами Network Direct для RDMA (в размерах виртуальных машин, отличных от SR-IOV) и Intel MPI версии 5.1. Дополнительные сведения о настройке MPI на виртуальных машинах.

Оптимизация виртуальных машин

Ниже приведены некоторые дополнительные параметры оптимизации для повышения производительности виртуальной машины.

Обновление LIS

При необходимости для функциональных возможностей или производительности драйверы Служб Linux Integration Services (LIS) можно установить или обновить в поддерживаемых дистрибутивах ОС, особенно при развертывании с помощью пользовательского образа или более старой версии ОС, например RHEL 6.x или более ранней версии 7.x.

wget https://aka.ms/lis
tar xzf lis
pushd LISISO
sudo ./upgrade.sh

Восстановление памяти

Повышение производительности путем автоматического освобождения памяти, чтобы избежать удаленного доступа к памяти.

sudo echo 1 >/proc/sys/vm/zone_reclaim_mode

Делайте режим восстановления памяти постоянным после перезагрузки виртуальной машины.

sudo echo "vm.zone_reclaim_mode = 1" >> /etc/sysctl.conf sysctl -p

Отключение брандмауэра и SELinux

sudo systemctl stop iptables.service
sudo systemctl disable iptables.service
sudo systemctl mask firewalld
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
sudo iptables -nL
sudo sed -i -e's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

Отключение ресурсов ЦП

sudo service cpupower status

Если этот параметр включен, отключите его:

sudo service cpupower stop
sudo systemctl disable cpupower

Настройка WALinuxAgent

sudo sed -i -e 's/# OS.EnableRDMA=y/OS.EnableRDMA=y/g' /etc/waagent.conf

При необходимости WALinuxAgent может быть отключен перед запуском задания, а затем включен после задания для обеспечения максимальной доступности ресурсов виртуальной машины на рабочей нагрузке HPC.

Дальнейшие шаги