InfiniBand 사용
적용 대상: ✔️ Linux VM ✔️ Windows VM ✔️ 유연한 확장 집합 ✔️ 균일한 확장 집합
RDMA 지원 HB-시리즈 및 N-시리즈 VM은 낮은 대기 시간과 높은 대역폭 InfiniBand 네트워크를 통해 통신합니다. 이러한 상호 연결에 대한 RDMA 기능은 분산 노드 HPC 및 AI 워크로드의 확장성과 성능을 향상하는 데 매우 중요합니다. InfiniBand 지원 HB 시리즈 및 N 시리즈 VM은 최적화되고 일관적인 RDMA 성능을 제공하기 위해 지름이 작은 비중단 팻 트리에서 연결됩니다.
지원되는 VM 크기에서 InfiniBand를 사용하도록 설정하는 방법은 다양합니다.
InfiniBand 드라이버를 사용하는 VM 이미지
Marketplace에서 지원되는 VM 이미지 목록은 VM 이미지를 참조하세요. 이는 InfiniBand 드라이버(SR-IOV 또는 SR-IOV 이외 VM용)를 이용하여 미리 로드된 상태로 제공되거나, RDMA 지원 VM에 적절한 드라이버를 사용하여 구성할 수 있습니다. 마켓플레이스의 Ubuntu-HPC 및 AlmaLinux-HPC VM 이미지는 사용하기에 가장 쉬운 방법입니다.
InfiniBand 드라이버 VM 확장
Linux에서는 InfiniBandDriverLinux VM 확장을 사용하여 Mellanox OFED 드라이버를 설치하고, SR-IOV 사용 HB 시리즈/N 시리즈 VM에서 InfiniBand를 사용하도록 설정할 수 있습니다.
Windows에서는 InfiniBandDriverWindows VM 확장이 RDMA 연결용 Windows 네트워크 다이렉트 드라이버(SR-IOV 이외 VM) 또는 Mellanox OFED 드라이버(SR-IOV VM)를 설치합니다. 특정 A8/A9 인스턴스 배포 시 HpcVmDrivers 확장이 자동으로 추가됩니다. HpcVmDrivers VM 확장은 더 이상 사용되지 않고, 업데이트되지도 않습니다.
VM에 VM 확장을 추가해야 하는 경우 Azure PowerShell cmdlet을 사용할 수 있습니다. 자세한 내용은 가상 머신 확장 및 기능을 참조하세요. 또한 클래식 배포 모델에서 배포된 VM의 확장으로 작업할 수 있습니다.
수동 설치
OFED(Mellanox OpenFabrics 드라이버)는 SR-IOV 사용 H 시리즈 및 N 시리즈 VM에 수동으로 설치할 수 있습니다.
Linux
아래의 예제를 사용하여 Linux용 OFED 드라이버를 설치할 수 있습니다. 여기에 나와 있는 예제는 RHEL에서 사용되지만, 그 단계는 일반적으로 사용되며 Ubuntu(18.04, 19.04, 20.04) 및 SLES(12 SP4+, 15)와 같이 호환되는 Linux 운영 체제에서 사용할 수 있습니다. 다른 배포판에 대한 추가 예제는 azhpc-images 리포지토리에 있습니다. 또한 받은 편지함 드라이버도 작동하지만, Mellanox OFED 드라이버에서 더 많은 기능을 제공합니다.
MLNX_OFED_DOWNLOAD_URL=http://content.mellanox.com/ofed/MLNX_OFED-5.0-2.1.8.0/MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.7-x86_64.tgz
# Optionally verify checksum
wget --retry-connrefused --tries=3 --waitretry=5 $MLNX_OFED_DOWNLOAD_URL
tar zxvf MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.7-x86_64.tgz
KERNEL=( $(rpm -q kernel | sed 's/kernel\-//g') )
KERNEL=${KERNEL[-1]}
# Uncomment the lines below if you are running this on a VM
#RELEASE=( $(cat /etc/redhat-release | awk '{print $4}') )
#yum -y install http://olcentgbl.trafficmanager.net/redhat/${RELEASE}/updates/x86_64/kernel-devel-${KERNEL}.rpm
sudo yum install -y kernel-devel-${KERNEL}
sudo ./MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.7-x86_64/mlnxofedinstall --kernel $KERNEL --kernel-sources /usr/src/kernels/${KERNEL} --add-kernel-support --skip-repo
Windows
Windows의 경우 Windows용 MELLANOX OFED 드라이버를 다운로드하여 설치합니다.
IPoIB(IP over InfiniBand) 사용
MPI 작업을 실행하려는 경우 일반적으로 IPoIB가 필요하지 않습니다. MPI 라이브러리는 IB 통신용 동사 인터페이스를 사용합니다(MPI 라이브러리의 TCP/IP 채널을 명시적으로 사용하지 않는 경우). 그러나 통신에 TCP/IP를 사용하는 앱이 있는 경우 IB를 통해 실행하려면 IB 인터페이스를 통해 IPoIB를 사용할 수 있습니다. 다음 명령을 사용하여 IP over InfiniBand를 사용하도록 설정합니다(RHEL의 경우).
Important
문제를 방지하려면 이전 버전의 Microsoft Azure Linux 에이전트(waagent)를 실행하지 않는지 확인합니다. IB를 통해 IP를 사용하도록 설정하기 전에 버전 2.4.0.2를 사용하는 것이 좋습니다.
sudo sed -i -e 's/# OS.EnableRDMA=n/OS.EnableRDMA=y/g' /etc/waagent.conf
sudo systemctl restart waagent
다음 단계
- VM에서 지원되는 다양한 MPI 라이브러리를 설치하고 실행하는 방법에 대해 자세히 알아봅니다.
- HBv3시리즈 개요 및 HC 시리즈 개요를 검토합니다.
- Azure Compute 기술 커뮤니티 블로그에서 최신 공지 사항, HPC 워크로드 예제 및 성능 결과에 대해 읽어보세요.
- HPC 워크로드를 실행하는 상위 수준의 아키텍처 보기는 Azure의 HPC(고성능 컴퓨팅)를 참조하세요.