다음을 통해 공유


InfiniBand 사용 H 시리즈 및 N 시리즈 VM 구성 및 최적화

적용 대상: ✔️ Linux 가상 머신 ✔️ Windows 가상 머신 ✔️ 유연한 확장 집합 ✔️ 균일한 확장 집합

이 문서에서는 HPC용 InfiniBand 지원 HB 시리즈N 시리즈 VM을 구성하고 최적화하는 방법에 대한 몇 가지 지침을 공유합니다.

가상 머신 이미지

IB(InfiniBand) 사용 VM에서 RDMA를 사용하도록 설정하려면 적절한 IB 드라이버가 필요합니다.

이러한 VM 이미지는 기본 Ubuntu 및 AlmaLinux Marketplace VM 이미지를 기반으로 합니다. 기본 마켓플레이스 이미지에서 이러한 VM 이미지를 만드는 데 사용되는 스크립트는 azhpc-images 리포지토리에 있습니다.

GPU가 사용하도록 설정된 N 시리즈 VM에서는 적절한 GPU 드라이버가 추가로 필요합니다. 이 방법은 다음 방법으로 사용할 수 있습니다.

  • NVIDIA GPU 드라이버 및 GPU 컴퓨팅 소프트웨어 스택(CUDA, NCCL)으로 미리 구성된 Ubuntu-HPC VM 이미지 또는AlmaLinux-HPC VM 이미지를 사용합니다.
  • VM 확장을 통해 GPU 드라이버를 추가합니다.
  • GPU 드라이버를 수동으로 설치 합니다.
  • Marketplace의 일부 다른 VM 이미지는 NVIDIA의 일부 VM 이미지를 포함하여 NVIDIA GPU 드라이버와 함께 미리 설치됩니다.

워크로드의 Linux 배포판 및 버전 요구 사항에 따라 Marketplace에서 Ubuntu-HPC VM 이미지AlmaLinux-HPC VM 이미지를 사용하는 것이 Azure에서 HPC 및 AI 워크로드를 시작하는 가장 쉬운 방법입니다. 또한 다시 사용할 워크로드별 사용자 지정 및 구성을 사용하여 사용자 지정 VM 이미지를 만드는 것이 좋습니다.

HPC VM 이미지에서 지원하는 VM 크기

InfiniBand OFED 지원

최신 Azure HPC 마켓플레이스 이미지는 ConnectX3-Pro InfiniBand 카드를 지원하지 않는 Mellanox OFED 5.1 이상과 함께 제공됩니다. ConnectX-3 Pro InfiniBand 카드에는 MOFED 4.9 LTS 버전이 필요합니다. 이러한 VM 이미지는 ConnextX-5 및 최신 InfiniBand 카드만 지원합니다. 다음 HPC VM 이미지에서 InfiniBand OFED에 대한 다음 VM 크기 지원 매트릭스는 다음과 같습니다.

GPU 드라이버 지원

현재 Ubuntu-HPC VM 이미지AlmaLinux-HPC VM 이미지 만 NVIDIA GPU 드라이버 및 GPU 컴퓨팅 소프트웨어 스택(CUDA, NCCL)을 사용하여 미리 구성됩니다.

지원되는 HPC VM 이미지의 GPU 드라이버에 대한 VM 크기 지원 매트릭스는 다음과 같습니다.

  • N 시리즈: NDv2, NDv4 VM 크기는 NVIDIA GPU 드라이버 및 GPU 컴퓨팅 소프트웨어 스택(CUDA, NCCL)에서 지원됩니다.
  • N 시리즈의 다른 'NC' 및 'ND' VM 크기는 NVIDIA GPU 드라이버에서 지원됩니다.

N 시리즈의 모든 VM 크기는 Gen 2 VM을 지원하지만 일부 이전 VM은 Gen 1 VM도 지원합니다. 또한 2세대 지원은 이미지 URN 또는 버전의 끝에 "01"으로 표시됩니다.

SR-IOV 사용하도록 설정된 VM

Ubuntu-HPC VM 이미지

SR-IOV 사용하도록 설정된 RDMA 지원 VM의 경우 Ubuntu-HPC VM 이미지 버전 18.04, 20.04 및 22.04가 적합합니다. 이러한 VM 이미지는 RDMA, NVIDIA GPU 드라이버, GPU 컴퓨팅 소프트웨어 스택(CUDA, NCCL) 및 일반적으로 사용되는 MPI 라이브러리 및 과학 컴퓨팅 패키지용 Mellanox OFED 드라이버로 미리 구성됩니다. VM 크기 지원 매트릭스를 참조하세요.

  • 사용 가능한 또는 최신 버전의 VM 이미지는 CLI 또는 Marketplace를 사용하여 다음 정보와 함께 나열할 수 있습니다.

    "publisher": "Microsoft-DSVM",
    "offer": "Ubuntu-HPC",
    
  • 기본 Ubuntu Marketplace 이미지에서 Ubuntu-HPC VM 이미지를 만드는 데 사용되는 스크립트는 azhpc-images 리포지토리에 있습니다.

AlmaLinux-HPC VM 이미지

SR-IOV 사용하도록 설정된 RDMA 지원 VM의 경우 AlmaLinux-HPC VM 이미지 버전 8.5, 8.6 및 8.7이 적합합니다. 이러한 VM 이미지는 RDMA, NVIDIA GPU 드라이버, GPU 컴퓨팅 소프트웨어 스택(CUDA, NCCL) 및 일반적으로 사용되는 MPI 라이브러리 및 과학 컴퓨팅 패키지용 Mellanox OFED 드라이버로 미리 구성됩니다. VM 크기 지원 매트릭스를 참조하세요.

  • 사용 가능한 또는 최신 버전의 VM 이미지는 CLI 또는 Marketplace를 사용하여 다음 정보와 함께 나열할 수 있습니다.

    "publisher": "AlmaLinux",
    "offer": "AlmaLinux-HPC",
    
  • 기본 AlmaLinux Marketplace 이미지에서 AlmaLinux-HPC VM 이미지를 만드는 데 사용되는 스크립트는 azhpc-images 리포지토리에 있습니다.

또한 Ubuntu-HPC VM 이미지 및AlmaLinux-HPC VM 이미지 에 포함된 내용과 이를 배포하는 방법에 대한 자세한 내용은 Azure HPC VM 이미지에 있습니다.

RHEL VM 이미지

Marketplace의 기본 RHEL 기반 비 HPC VM 이미지는 SR-IOV 사용 가능한 RDMA 지원 VM에서 사용하도록 구성할 수 있습니다. InfiniBand를 사용하도록 설정하고 VM에서 MPI를 설정하는 방법에 대해 자세히 알아봅니다.

Ubuntu VM 이미지

Marketplace의 기본 Ubuntu Server 20.04 LTS 및 22.04 LTS VM 이미지는 SR-IOV 및 비SR-IOV RDMA 지원 VM 모두에 대해 지원됩니다. InfiniBand를 사용하도록 설정하고 VM에서 MPI를 설정하는 방법에 대해 자세히 알아봅니다.

  • Ubuntu VM 이미지에서 InfiniBand를 사용하도록 설정하기 위한 지침은 TechCommunity 문서에 나와 있습니다.

비고

Mellanox OFED 5.1 이상에서는 FDR InfiniBand(예: NCv3)를 사용하여 SR-IOV 사용하도록 설정된 N 시리즈 VM 크기에서 ConnectX3-Pro InfiniBand 카드를 지원하지 않습니다. N 시리즈 VM에서 LTS Mellanox OFED 버전 4.9-0.1.7.0 이하를 ConnectX3-Pro 카드와 함께 사용하세요. 자세한 내용은 Linux InfiniBand 드라이버를 참조하세요.

SUSE Linux Enterprise Server VM 이미지

HPC용 SLES 12 SP3, HPC용 SLES 12 SP3(프리미엄), HPC용 SLES 12 SP1, HPC용 SLES 12 SP1(프리미엄), Marketplace의 SLES 12 SP4 및 SLES 15 VM 이미지가 지원됩니다. 이러한 VM 이미지는 RDMA용 네트워크 다이렉트 드라이버(SR-IOV를 사용하지 않는 VM 크기), Intel MPI 버전 5.1로 미리 로드됩니다. VM에서 MPI를 설정하는 방법에 대해 자세히 알아봅니다.

VM 최적화

다음은 VM의 성능 향상을 위한 몇 가지 선택적 최적화 설정입니다.

LIS 업데이트

기능 또는 성능에 필요한 경우 지원되는 OS 배포판에서 Linux Integration Services(LIS) 드라이버를 설치하거나 업데이트할 수 있으며, 특히 사용자 지정 이미지 또는 RHEL 6.x 또는 이전 버전의 7.x와 같은 이전 OS 버전을 사용하여 배포합니다.

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

메모리 회수

원격 메모리 액세스를 방지하기 위해 메모리를 자동으로 회수하여 성능을 향상시킵니다.

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

VM을 다시 부팅한 후 메모리 회수 모드를 영구적으로 유지합니다.

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 워크로드에 대한 최대 VM 리소스 가용성을 위해 사후 작업을 사용하도록 설정할 수 있습니다.

다음 단계