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

Внимание

Эта статья ссылается на CentOS, дистрибутив Linux, который приближается к состоянию конца жизни (EOL). Обратите внимание на использование и план соответствующим образом. Дополнительные сведения см. в руководстве centOS End Of Life.

Применимо к: ✔️ Виртуальные машины Linux ✔️ Виртуальные машины Windows ✔️ Универсальные масштабируемые наборы

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

Образы ВМ

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

  • Образы виртуальных машин Ubuntu-HPC в Marketplace предварительно настроены с соответствующими драйверами NVIDIA IB и драйверами GPU.
  • Образы виртуальных машин AlmaLinux-HPC в Marketplace предварительно настроены с соответствующими драйверами NVIDIA IB и драйверами GPU.

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

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

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

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

Поддержка InfiniBand OFED

Новейшие образы marketplace Azure HPC включают Mellanox OFED 5.1 и более поздних версий, которые не поддерживают карты ConnectX3-Pro InfiniBand. для Подключение X-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 подходят для виртуальных машин Gen 2, хотя некоторые более старые версии также поддерживают виртуальные машины поколения Gen 1. Поддержка Gen 2 также обозначается цифрой "01" в конце унифицированного имени ресурса образа или версии.

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

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

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

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

    "publisher": "Microsoft-DSVM",
    "offer": "Ubuntu-HPC",
    
  • Скрипты, используемые при создании образов виртуальных машин 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 и научных вычислительных пакетов. См. матрицу поддержки размера виртуальной машины.

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

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

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

Примечание.

Мы использовались для поддержки образов виртуальных машин CentOS-HPC. Из-за отмены CentOS (в настоящее время единственная поддерживаемая версия CentOS 7 будет продолжать получать исправления для системы безопасности сообщества и исправления ошибок до июня 2024 г.), мы не выпускаем новые образы HPC CentOS в Azure Marketplace. Пользователям CentOS/RHEL предлагается использовать альтернативные образы AlmaLinux-HPC в Azure Marketplace, которые имеют тот же набор драйверов, что и другие образы HPC.

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

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

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

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

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

Примечание.

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

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

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

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

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

Обновление LIS

При необходимости для улучшения функциональности или производительности можно установить или обновить драйверы Linux Integration Services (LIS) в поддерживаемых дистрибутивах ОС. Это можно сделать главным образом при развертывании с использованием пользовательского образа или более старой версии ОС, например CentOS или 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

Отключение команды cpupower

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.

Следующие шаги