VM 구성 및 최적화
적용 대상: ✔️ Linux VM ✔️ Windows VM ✔️ 유연한 확장 집합 ✔️ 균일한 확장 집합
이 문서는 HPC용 InfiniBand 사용 HB 시리즈 및 N 시리즈 VM을 구성하 고 최적화하는 방법에 대한 몇 가지 지침을 공유합니다.
VM 이미지
IB(InfiniBand) 지원 VM에서 RDMA를 사용하도록 설정하려면 적절한 IB 드라이버가 필요합니다.
- Marketplace의 Ubuntu-HPC VM 이미지는 적절한 NVIDIA IB 드라이버 및 GPU 드라이버로 사전 구성되어 제공됩니다.
- Marketplace의 AlmaLinux-HPC VM 이미지는 적절한 NVIDIA IB 드라이버 및 GPU 드라이버로 사전 구성되어 제공됩니다.
이러한 VM 이미지는 기본 Ubuntu 및 AlmaLinux 마켓플레이스 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의 AlmaLinux-HPC VM 이미지 및 AlmaLinux-HPC VM 이미지는 Azure에서 HPC 및 AI 워크로드를 시작하는 가장 쉬운 방법입니다. 또한 워크로드 별 사용자 정의 및 구성을 사용하여 커스텀 VM 이미지를 만들고 재사용하는 것이 좋습니다.
HPC VM 이미지에서 지 원하는 VM 크기
InfiniBand OFED 지원
최신 Azure HPC Marketplace 이미지는 ConnectX3-Pro InfiniBand 카드를 지원하지 않는 Mellanox OFED 5.1 이상과 함께 제공됩니다. ConnectX-3 Pro InfiniBand 카드에는 MOFED 4.9 LTS 버전이 필요합니다. 이러한 VM 이미지는 지 수 x-5 및 최신 InfiniBand 카드만 지원합니다. 다음 VM 크기는 다음 HPC VM 이미지에서 InfiniBand OFED에 대한 매트릭스를 지원합니다.
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 크기는 2세대 VM을 지원하지만 일부 이전 버전은 1세대 VM도 지원합니다. Gen 2 지원은 또한 이미지 URN 또는 버전 끝에 "01"로 표시됩니다.
SR-IOV 사용 VM
Ubuntu-HPC VM 이미지
SR-IOV 지원 RDMA 지원 VM의 경우 Ubuntu-HPC VM 이미지 버전 18.04, 20.04 및 22.04가 적합합니다. 이러한 VM 이미지는 RDMA용 Mellanox OFED 드라이버, NVIDIA GPU 드라이버, NCCL(GPU 계산 소프트웨어 스택) 및 널리 사용되는 MPI 라이브러리 및 과학적 컴퓨팅 패키지를 사용하여 미리 구성됩니다. 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용 Mellanox OFED 드라이버, NVIDIA GPU 드라이버, NCCL(GPU 계산 소프트웨어 스택) 및 널리 사용되는 MPI 라이브러리 및 과학적 컴퓨팅 패키지를 사용하여 미리 구성됩니다. 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에서 사용하도록 구성할 수 있습니다. VM에서 InfiniBand를 사용하고 MPI를 설정하는 방법에 대해 자세히 알아보세요.
Ubuntu VM 이미지
Marketplace의 기본 Ubuntu Server 20.04 LTS 및 22.04 LTS VM 이미지는 SR-IOV/SR-IOV 이외 RDMA 지원 VM 모두에 대해 지원됩니다. VM에서 InfiniBand를 사용하고 MPI를 설정하는 방법에 대해 자세히 알아보세요.
- Ubuntu VM 이미지에서 InfiniBand을 사용하도록 설정하는 지침은 TechCommunity 문서에 나와 있습니다.
참고 항목
Mellanox OFED 5.1 이상에서는 FDR InfiniBand를 이용하는 SR-IOV 사용 N 시리즈 VM 크기(예: NCv3)에 ConnectX3-Pro InfiniBand 카드를 지원하지 않습니다. ConnectX3-Pro 카드를 이용하는 N 시리즈 VM의 LTS Mellanox OFED 버전 4.9-0.1.7.0 이하 버전을 사용하세요. 자세한 내용은 Linux InfiniBand 드라이버를 참조하세요.
SUSE Linux Enterprise Server VM 이미지
Marketplace의 HPC용 SLES 12 SP3, HPC용 SLES 12 SP3(프리미엄), HPC용 SLES 12 SP1, HPC용 SLES 12 SP1(프리미엄), SLES 12 SP4 및 SLES 15 VM 이미지가 지원됩니다. 이러한 VM 이미지에는 RDMA용 Network Direct 드라이버(SR-IOV가 아닌 VM 크기) 및 Intel MPI 버전 5.1이 사전로드되어 있습니다. VM에서 MPI를 설정하는 방법에 대해 자세히 알아보세요.
VM 최적화
다음은 VM의 성능을 개선하기 위한 몇 가지 최적화 설정(선택 사항)입니다.
LIS 업데이트
기능이나 성능에 필요한 경우 지원되는 OS 배포판에서 LIS(Linux Integration Services) 드라이버를 설치하거나 업데이트할 수 있습니다. 특히 사용자 지정 이미지 또는 이전 OS 버전(예: 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
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 리소스 가용성을 극대화하기 위해 사후 작업을 다시 사용하도록 설정할 수 있습니다.
다음 단계
- InfiniBand 사용 HB 시리즈 및 N 시리즈 VM에서 InfiniBand을 사용하도록 설정하는 방법에 대해 자세히 알아봅니다.
- VM에서 지원되는 다양한 MPI 라이브러리를 설치하고 실행하는 방법에 대해 자세히 알아봅니다.
- HBv3시리즈 개요 및 HC 시리즈 개요를 검토합니다.
- Azure Compute 기술 커뮤니티 블로그에서 최신 공지 사항, HPC 워크로드 예제 및 성능 결과에 대해 읽어보세요.
- HPC 워크로드를 실행하는 상위 수준의 아키텍처 보기는 Azure의 HPC(고성능 컴퓨팅)를 참조하세요.