InfiniBand 셋업 및 벤치마크
본 문서는 ECI(Elice Cloud Infrastructure) 환경에서 제공되는 InfiniBand를 설정하고 사용하는 방법을 단계별로 안내합니다. InfiniBand는 고대역폭, 저지연 네트워크 성능을 제공하여 대규모 모델 훈련, 고성능 컴퓨팅(HPC), 분산 애플리케이션에 권장되는 구성 요소입니다.
1. ECI 포털에서 InfiniBand VM 생성하기
ECI에서 InfiniBand를 사용하기 위해서는 가상 클러스터를 먼저 구성해야 합니다.
1단계: 가상 클러스터 생성
- ECI 포털에 로그인합니다.
- 왼쪽 메뉴에서
컴퓨트 > 가상 클러스터를 선택합니다. 가상 클러스터 생성버튼을 클릭합니다.- 클러스터 이름과 필요한 클러스터를 구성할 가상 머신의 인스턴스 유형을 선택합니다.
가상 클러스터는 InfiniBand 패브릭과 VM 간 연결을 위한 "논리적 네트워크 공간"입니다.
2단계: 가상 머신 생성
가상 클러스터를 생성한 후, 해당 클러스터에 연결할 가상 머신을 생성합니다.
- 왼쪽 메뉴에서
컴퓨트 > 가상 머신으로 이동합니다. 가상머신 생성버튼을 클릭합니다.- 가상 머신 이름, 인스턴스 유형 등 필요한 설정을 입력합니다.
- 블록스토리지 > 이미지에서 운영체제 이미지를 선택합니다.
- OFED가 포함된 이미지 사용을 권장합니다 (InfiniBand 드라이버 포함).
- 가상 머신 생성을 완료합니다.
3단계: 가상 머신을 가상 클러스터에 연결
2단계에서 생성된 VM은 바로 InfiniBand 패브릭을 사용할 수 없습니다. 먼저 1단계에서 생성한 가상 클러스터에 VM을 연결해야 합니다.
컴퓨트 > 가상 클러스터메뉴로 이동합니다.- 1단계에서 생성한 가상 클러스터를 선택하여 상세 페이지에 접근합니다.
- 2단계에서 생성한 가상머신을 클러스터에 연결합니다.
- 참고: 연결할 가상머신은 대기 중 상태이어야 합니다.
이 단계에서 가상 머신이 어떤 InfiniBand 패브릭에 속할지가 결정됩니다.
4단계: 가상 클러스터 시작
3단계에서 VM을 클러스터에 연결한 후, 가상 클러스터를 시작합니다.
- 가상 클러스터 상세 페이지에서
클러스터 시작버튼을 클릭합니다.클러스터를 시작해야 InfiniBand 패브릭이 활성화되고 실제 통신을 위한 연결이 이루어집니다.
5단계: 가상 머신 시작 및 확인
4단계에서 클러스터를 시작하면, 연결된 가상 머신이 자동으로 시작됩니다.
- 가상 머신이 자동으로 시작되는 것을 확인합니다.
- VM 내부에서 다음 명령어로 InfiniBand HCA(Host Channel Adapter)가 정상적으로 인식되었는지 확인합니다.
ibstat
# 또는
ibv_devinfo
2. InfiniBand 개념 및 동작 방식
이전 단계를 완료하면 InfiniBand를 사용할 준비가 완료됩니다. InfiniBand는 일반 Ethernet과 달리 초저지연, 고대역폭을 제공하는 스위치 기반 패브릭(Fabric)입니다. ECI에서는 다음과 같은 방식으로 InfiniBand를 제공합니다.
HCA 단위 패스스루 (Passthrough)
가상 머신 내부에서 실제 Mellanox mlx5 HCA(Host Channel Adapter)를 직접 패스스루하여 베어메탈과 동일한 성능을 제공합니다.
테넌트 격리
Partition Key (P_Key) 기반의 논리적 네트워크를 구성합니다. 동일한 가상 클러스터에 속한 가상 머신들은 동일한 P_Key를 공유하며, 같은 P_Key를 가진 가상 머신끼리만 통신이 활성화됩니다.
기본 RDMA 모드
CPU와 메모리 간섭 없이 최대 성능을 낼 수 있는 순수 RDMA(Remote Direct Memory Access) 통신을 기본으로 합니다. 이 방식은 별도의 IP 주소나 netdev 인터페이스가 필요 없습니다.
3. P_Key 기반 RDMA 통신 (ECI 기본 방식)
앞서 설명한 InfiniBand 개념을 바탕으로, ECI에서는 NVIDIA에서 제안하는 공식 사용법인 P_Key 기반 RDMA 통신을 권장합니다.
장점
- 별도의 네트워크 인터페이스 생성이 불필요합니다.
- IP 설정이 필요 없습니다. (데이터 통신 외 사이드 채널 통신용 IP는 필요할 수 있음)
- 다른 테넌트와의 통신이 원천적으로 차단되어 보안이 보장됩니다.
- 최고 성능을 제공하여 MPI, 분산 학습, HPC 연구에 최적화되어 있습니다.