고속 GPU 네트워크가 필요한 이유
딥러닝 모델의 크기와 연산량은 매년 기하급수적으로 증가하고 있습니다. 단일 GPU로는 대규모 모델을 학습하기 어려워, 여러 개의 GPU를 묶어 병렬 처리(Distributed Training) 하는 방식이 표준이 되었습니다. 이 과정에서 GPU 간 통신 속도는 전체 학습 성능을 좌우하는 핵심 요소가 됩니다.
CPU–GPU 간의 PCIe 버스만으로는 데이터 전송 속도가 병목이 되기 때문에, NVIDIA는 NVLink와 NVSwitch라는 전용 GPU 네트워크 기술을 개발했습니다. HPC 환경에서는 여기에 InfiniBand 같은 초고속 네트워크가 결합되어 노드 간 통신까지 가속화됩니다.
NVLink – GPU 간 직접 연결 통로
NVLink는 GPU와 GPU, GPU와 CPU 간을 직접 연결해주는 고대역폭(High Bandwidth) 인터커넥트 기술입니다.
- 대역폭: 최신 NVLink 4세대(Hopper H100 기준)에서 900 GB/s까지 지원
- 지연 시간: PCIe 대비 훨씬 낮아 데이터 전송 효율이 높음
- 연결 방식: 점대점(Direct) 또는 링(Ring) 구조로 다수 GPU를 연결
| 구분 | PCIe Gen5 x16 | NVLink 4 |
| 단일 링크 대역폭 | ~64 GB/s | ~112.5 GB/s |
| 최대 연결 수 | 제한적 | GPU당 최대 18링크 |
| 지연 시간 | 비교적 높음 | 매우 낮음 |
실무 적용 예시
- 멀티 GPU 학습: 예를 들어 8개의 H100을 NVLink로 묶으면, 모델 파라미터 동기화(All-Reduce)가 PCIe 대비 3~5배 이상 빨라집니다.
- GPU Direct RDMA: NVLink와 InfiniBand를 결합해 CPU 메모리를 거치지 않고 GPU 간 직접 통신 가능.
NVSwitch – GPU 네트워크의 중앙 허브
NVLink가 GPU 간 직통 케이블이라면, NVSwitch는 다수의 NVLink를 집선해주는 고속 스위치 패브릭입니다.
- 역할: 다수 GPU 간 풀 메쉬(Full Mesh) 연결 구현
- 확장성: DGX, HGX 시스템에서 8~16 GPU를 NVSwitch로 연결해 단일 메모리 풀처럼 사용
- 대역폭: NVSwitch 3세대 기준, GPU당 900 GB/s 연결 지원
작동 원리
- GPU에서 NVLink로 패킷 전송
- NVSwitch가 패킷을 목적지 GPU로 라우팅
- 모든 GPU가 동일한 대역폭·지연 시간으로 연결됨
산업 적용 사례
- AI 슈퍼컴퓨터: NVIDIA DGX GH200은 256개의 Grace Hopper 슈퍼칩을 NVSwitch로 연결, 단일 거대 GPU 메모리 공간처럼 동작
- 고성능 HPC 시뮬레이션: 유체역학(CFD)나 기상 예측에서 GPU 메모리 풀을 활용해 초대형 데이터셋 처리
InfiniBand – 노드 간 초고속 네트워크
NVLink/NVSwitch는 주로 노드 내부 GPU 간 통신을 담당합니다.
반면 **InfiniBand(IB)**는 노드 간 고속 데이터 전송을 위한 네트워크 기술입니다.
- 대역폭: HDR(200 Gbps), NDR(400 Gbps), 차세대 XDR(800 Gbps) 지원
- 지연 시간: 수 마이크로초(μs) 수준
- GPU Direct RDMA 지원: GPU 메모리 간 직접 전송으로 CPU 개입 최소화
| 구분 | Ethernet(100G) | InfiniBand NDR |
| 대역폭 | 100 Gbps | 400 Gbps |
| 지연 시간 | ~10 μs | ~1 μs |
| RDMA 지원 | 제한적 | 기본 지원 |
실무 팁
- 대규모 분산 학습 시 IB의 토폴로지를 Fat-Tree나 **Dragonfly+**로 구성하면 스케일 아웃 확장성이 크게 향상
- NCCL이나 MPI 라이브러리에서 IB를 직접 활용하도록 설정 (NCCL_IB_HCA, NCCL_NET_GDR_LEVEL 환경변수)
작동 흐름 예시 – 멀티 노드 분산 학습
# NCCL + NVLink + InfiniBand 환경 변수 예시
export NCCL_P2P_LEVEL=SYS
export NCCL_NET_GDR_LEVEL=2
export NCCL_IB_HCA=mlx5_0
export NCCL_IB_GID_INDEX=3
- 노드 내부: NVLink/NVSwitch로 GPU 간 All-Reduce 수행
- 노드 간: InfiniBand RDMA로 노드별 집계 결과 교환
- 최종 결과: 모든 GPU가 동기화된 파라미터로 학습 지속
장점과 단점
장점
- NVLink/NVSwitch: PCIe 대비 월등한 대역폭, 낮은 지연 시간
- InfiniBand: 초저지연, 대규모 노드 간 확장성
- GPU Direct RDMA로 CPU 개입 최소화 → 성능 향상
단점
- 하드웨어·케이블·스위치 비용이 높음
- 구성·튜닝 복잡도 상승
- 잘못된 토폴로지 설계 시 확장성 저하
실무 최적화 팁
- 토폴로지 인식 배치: Slurm에서 --gres=gpu와 --ntasks-per-node를 NVLink 구조에 맞춰 배치
- NCCL 버전: 최신 CUDA/NCCL 조합으로 업데이트 (예: CUDA 12.4 + NCCL 2.20 이상)
- IB 패킷 튜닝: MTU, Queue Pair(QP) 수, IB 링크 속도 설정 최적화
- 모니터링: nvidia-smi topo -m으로 NVLink 상태 확인, ibstat으로 IB 링크 상태 점검
정리하며
고성능 GPU 클러스터에서 NVLink/NVSwitch/InfiniBand는 데이터 흐름의 동맥과 같습니다.
노드 내부에서는 NVLink/NVSwitch가 초고속 GPU 간 통신을, 노드 간에는 InfiniBand가 대규모 분산 환경을 뒷받침합니다.
이 세 가지 기술을 이해하고 최적화하는 것은 HPC/GPU 운영자가 학습 속도와 효율성을 최대한 끌어올리는 핵심 역량입니다.