개념
주요 특징
Infiniband와 AKS 의 관계
최근 들어 HPC 및 AI 워크로드의 컨테이너화가 가속화되면서, AKS 클러스터 내에서 InfiniBand 네트워크를 활용하는 경우가 늘고 있습니다. 이는 AKS가 제공하는 컨테이너 오케스트레이션의 편의성과 InfiniBand가 제공하는 초고성능 통신을 결합하여, 복잡하고 고성능을 요구하는 HPC/AI 워크로드를 클라우드에서 효율적으로 실행하기 위함입니다.
Azure에서 AKS 클러스터에 InfiniBand를 적용하는 방법:
Azure에서는 InfiniBand를 지원하는 특정 VM(가상 머신) 사이즈(예: HB-series, N-series)를 제공합니다. 이러한 VM들은 InfiniBand 네트워크 인터페이스를 가지고 있습니다. AKS 클러스터를 생성할 때, InfiniBand 지원 VM 사이즈를 사용하는 노드 풀(Node Pool)을 구성하여 해당 노드 풀의 VM들이 InfiniBand를 통해 서로 통신할 수 있도록 설정할 수 있습니다
<aside> 💡
AKS Infiniband 지원 AKS 배포 전에 Infiniband를 지원하도록 Feature를 Azure 구독에 Azure CLI로 등록 해줘야합니다.
# Infiniband 등록
az feature register --name AKSInfinibandSupport --namespace Microsoft.ContainerService
# Infiniband Feature 등록 확인
az feature show --name AKSInfinibandSupport --namespace Microsoft.ContainerService --query properties.state --output tsv
</aside>
참고 자료
아키텍처

NVIDIA Operator Stack 용어 설명
kubernetes.io/hostname, kubernetes.azure.com/mode, kubernetes.azure.com/accelerator: nvidia와 같은 표준 및 사용자 정의 레이블로 변환하여 노드에 적용합니다.<aside> 💡
Helm 사용
해당 테스트 과정에서는 NFD, Network Operator, GPU Operator를 배포하기 위해 helm을 사용하여 배포합니다.
예외) Volcano Scheduler는 github yaml 파일 기준으로 설치됩니다.
</aside>
NCCL Allreduce 테스트 프로세스
테스트 프로세스 도식화 링크