콘텐츠로 이동

InfiniBand vs RoCEv2 차이점 정리

노드 간 GPU 통신에 RDMA가 필요한 이유부터 InfiniBand 구성요소와 속도 등급, RoCEv2의 무손실 이더넷 요구까지 정리했다. GPUDirect RDMA와 rail-optimized 토폴로지도 다룬다.

노드 간 GPU 통신이란

노드 간 GPU 통신(Inter-node GPU Communication)이란 서로 다른 서버에 꽂힌 GPU들이 네트워크를 건너 그래디언트·텐서를 주고받는 것

모델·데이터가 한 노드 GPU 메모리에 안 담기면서 노드를 넘는 통신이 학습 병목으로 올라옴.

  • 노드 안은 NVLink·NVSwitch로 GPU끼리 직접 연결 → 노드 밖은 NIC와 스위치 패브릭을 거침
  • 분산 학습은 매 스텝마다 전 GPU가 all-reduce로 그래디언트를 교환 → 통신 지연이 곧 GPU 유휴 시간
  • 일반 TCP/IP는 커널 처리·메모리 복사·CPU 개입이 커서 이 트래픽엔 부적합
  • 그래서 노드 간 GPU 패브릭은 RDMA 계열이 표준

RDMA가 필요한 이유

RDMA(Remote Direct Memory Access)란 원격 노드의 메모리를 상대 CPU·커널 개입 없이 NIC가 직접 읽고 쓰는 전송 방식

항목 TCP/IP RDMA
데이터 경로 커널 네트워크 스택 경유 유저 공간에서 NIC 큐에 직접
메모리 복사 커널 버퍼 복사 발생 zero-copy, 앱 버퍼에서 바로 DMA
CPU 개입 패킷마다 CPU 처리 NIC가 전송 담당, CPU 거의 무개입
지연 스택·복사로 높음 마이크로초대
  • 커널 바이패스: 유저 공간이 시스템콜 없이 NIC 큐에 직접 명령을 올림 → 컨텍스트 스위치 제거
  • zero-copy: 애플리케이션 버퍼를 NIC가 직접 DMA → 커널 버퍼로의 복사 단계 생략
  • 낮은 CPU 개입: 전송을 NIC가 처리 → CPU는 GPU 연산·스케줄링에 집중
  • RDMA를 실어 나르는 방식이 세 갈래 → InfiniBand(전용 패브릭), RoCEv2(이더넷 위), iWARP(TCP 위)

InfiniBand란

InfiniBand란 IBTA(InfiniBand Trade Association)가 정의한 HPC·AI용 전용 인터커넥트로, 링크·전송·관리 계층을 자체 규격으로 갖춘 non-Ethernet 패브릭

  • 이더넷이 아니라 별도 물리·프로토콜 스택 → 전용 HCA와 전용 스위치로 서브넷을 구성
  • 링크 레벨에서 credit 기반 흐름 제어로 기본 무손실 → 수신 측이 버퍼 여유(credit)를 알린 만큼만 송신
  • 버퍼가 넘치지 않아 혼잡으로 인한 패킷 드롭이 구조적으로 없음 → 이더넷의 재전송 비용이 애초에 없음

구성 요소

구성 요소 역할
HCA (Host Channel Adapter) 서버에 꽂히는 어댑터. 시스템 메모리와 IB 패브릭을 잇고 DMA 엔진·주소 변환 내장
Switch IB 패킷을 포트 간 전달. 라우팅 테이블은 Subnet Manager가 설정
Subnet Manager (SM) 서브넷 전체를 구성·관리하는 소프트웨어. HCA·스위치 초기화, 라우팅·QoS 설정, 서브넷당 활성 1개
링크/케이블 4x lane 묶음이 표준 서버 포트 폭. DAC·AOC·광 트랜시버로 연결

속도 등급

세대마다 lane당 속도가 2배씩 오르며, 표준 서버 포트는 4x lane 묶음

세대 lane당 4x 포트 인코딩
EDR 25Gb/s 100Gb/s NRZ, 64b/66b
HDR 50Gb/s 200Gb/s PAM4, 256b/257b
NDR 100Gb/s 400Gb/s PAM4, 256b/257b
XDR 200Gb/s 800Gb/s PAM4, 256b/257b
  • 표는 4x 기준 → 1x·2x·8x 구성도 규격에 있으나 서버 포트는 관행상 4x
  • 64b/66b(부호화 오버헤드 약 3%)는 EDR까지 → HDR부터 PAM4 신호에 256b/257b 인코딩
  • XDR은 2025년 Quantum-X800 스위치·ConnectX-8 NIC로 상용 진입

RoCEv2란

RoCEv2(RDMA over Converged Ethernet v2)란 RDMA를 UDP/IP에 실어 일반 이더넷·IP 패브릭 위에서 돌리는 방식

  • RDMA 페이로드를 UDP 데이터그램에 캡슐화 → IANA가 예약한 UDP 목적지 포트 4791로 식별
  • L3 라우팅 가능 → 이더타입 기반 L2 전용인 RoCEv1과 달리 서브넷을 넘어감
  • 물리 매체가 이더넷 → 기존 이더넷 스위치·NIC·운영 도구를 재사용
  • 단 RDMA는 패킷 손실에 취약 → 이더넷을 무손실로 만드는 설정이 전제

무손실 이더넷 3요소

RoCEv2 성능은 패킷 드롭 제로에 의존하며, 손실 방지는 세 기법의 조합으로 달성

기법 계층 역할
PFC (Priority Flow Control, 802.1Qbb) L2 혼잡 시 홉 단위로 특정 우선순위 트래픽을 일시 정지(pause)
ECN (Explicit Congestion Notification) L3 큐 적체 시 스위치가 패킷에 혼잡 표시(마킹)
DCQCN (Data Center Quantized Congestion Notification) 종단 ECN 마킹을 받은 송신자가 전송률을 낮추는 종단 혼잡 제어
  • PFC는 홉 단위 즉각 정지로 드롭을 막음 → 잘못 쓰면 혼잡 전파·데드락 위험
  • ECN과 DCQCN은 송신원에서 속도를 줄이는 근본 제어 → PFC 발동 빈도를 낮춤
  • 세 기법을 스위치·NIC 전 구간에 일관 설정해야 함 → 한 홉이라도 빠지면 드롭 발생

GPUDirect RDMA

GPUDirect RDMA란 NIC가 시스템 메모리를 거치지 않고 GPU 디바이스 메모리에 직접 DMA하는 기술

  • 일반 경로: GPU 메모리 → 시스템 메모리로 복사(바운스 버퍼) → NIC → 네트워크
  • GPUDirect 경로: NIC가 GPU 메모리를 직접 읽어 전송 → 시스템 메모리 복사 단계 삭제
  • GPU 가상주소를 물리주소로 변환해 NIC에 등록 → GPU 드라이버와 RDMA 드라이버가 협업(nvidia_p2p_get_pages, ibv_reg_mr)
  • ConnectX·BlueField 계열 NIC에서 InfiniBand·RoCE 모두 지원 → 패브릭 종류와 무관하게 적용
  • 노드 밖 all-reduce에서 CPU 개입·복사가 사라짐 → 통신 지연·CPU 부하↓

rail-optimized 토폴로지

rail-optimized란 GPU마다 전용 NIC와 전용 레일(rail) 스위치를 두어, 같은 레일끼리 최단 경로로 잇는 fat-tree 구성

graph TD
    subgraph N1["GPU 서버 1"]
      A0["GPU0<br>NIC0"]
      A7["GPU7<br>NIC7"]
    end
    subgraph N2["GPU 서버 2"]
      B0["GPU0<br>NIC0"]
      B7["GPU7<br>NIC7"]
    end
    A0 --> L0["Rail0<br>Leaf"]
    B0 --> L0
    A7 --> L7["Rail7<br>Leaf"]
    B7 --> L7
    L0 --> SP["Spine"]
    L7 --> SP
  • 노드마다 GPU 8개·NIC 8개 → GPU k의 NIC는 레일 k의 leaf 스위치에만 연결
  • 같은 leaf에 물린 노드끼리는 같은 레일 GPU가 한 홉으로 도달 → 레일 내 all-reduce 트래픽이 spine을 안 거침
  • 서버 안에서는 NVSwitch로 어느 NIC든 접근 → 자기 레일이 아닌 목적지도 노드 내부에서 우회
  • fat-tree는 leaf-spine 다단으로 상·하향 대역폭을 맞춘 non-blocking 구성 → 임의 노드쌍 동시 통신에도 대역폭 보장
  • NVIDIA 레퍼런스에서 SU(Scalable Unit)는 GPU 노드 32대 단위 → 64포트 NDR leaf가 하향 32포트(노드)·상향 32포트(spine)로 non-blocking

InfiniBand vs RoCEv2 비교

비교 항목 InfiniBand RoCEv2
패브릭 전용 non-Ethernet(HCA·IB 스위치·SM) 일반 이더넷/IP 위
무손실 방식 credit 기반 링크 흐름 제어로 기본 무손실 PFC+ECN+DCQCN을 별도 설정
라우팅·관리 Subnet Manager가 중앙 집중 표준 L3 라우팅, IP 운영 그대로
운영 난도 SM·전용 장비 학습 필요, 무손실은 내장 장비는 익숙하나 무손실 튜닝이 까다로움
기존 이더넷 재사용 불가, 전용 HCA·스위치 필요 가능, 기존 이더넷 자산 활용
생태계 NVIDIA Quantum 중심의 HPC 표준 다중 벤더 이더넷, Ultra Ethernet 진영 확대
초기 비용 전용 장비로 높음 범용 이더넷으로 낮음
  • Ultra Ethernet Consortium은 2023년 결성 → 2025년 6월 Ultra Ethernet 1.0 규격 공개로 이더넷 진영의 RDMA 표준화가 진행 중
  • 두 방식 모두 GPUDirect RDMA를 지원 → NIC가 InfiniBand든 RoCE든 GPU 메모리 직접 DMA는 동일하게 가능

함정

  • RoCEv2를 "이더넷이니 그냥 꽂으면 된다"고 붙이면 성능이 급락함 → PFC·ECN·DCQCN 중 한 구간이라도 빠지면 드롭과 RDMA 재전송으로 처리량이 무너짐
  • PFC를 과하게 걸면 혼잡이 상류로 번지고 데드락 위험 → 근본 제어인 ECN·DCQCN 튜닝과 함께 잡아야 함
  • InfiniBand는 이더넷이 아님 → HCA·IB 스위치·케이블이 전용이라 이더넷 장비로 IB 패브릭을 짤 수 없음
  • IP·VLAN·이더넷 스위치 운영 지식은 IB에 그대로 통하지 않음 → SM·전용 도구 학습이 별도로 필요
  • 속도 등급을 "그 세대의 절대 대역폭"으로 오해 → HDR·NDR·XDR 수치는 4x 포트 기준이라 1x·2x 구성에서는 그만큼 나눠 계산해야 함

선택 기준

상황 추천 추천 사유
대규모 학습 클러스터, 최저 지연·확정적 무손실 InfiniBand credit 기반 무손실 내장, HPC 검증된 fat-tree
기존 이더넷 자산·운영 인력을 재사용 RoCEv2 전용 패브릭 없이 익숙한 이더넷으로 구축
단일 벤더 종속을 피하고 싶음 RoCEv2 다중 벤더 이더넷·Ultra Ethernet 선택지
무손실 튜닝 인력이 부족 InfiniBand 무손실이 링크 계층에 내장, SM이 라우팅 자동화
초기 도입 비용을 낮추고 점진 확장 RoCEv2 범용 이더넷으로 진입 비용↓
노드 내 8-GPU·8-NIC로 all-reduce 최적화 공통 rail-optimized fat-tree + GPUDirect RDMA

결론

  • 노드 간 GPU 통신은 커널 바이패스·zero-copy·낮은 CPU 개입을 주는 RDMA가 전제 → 그 위에서 InfiniBand와 RoCEv2가 갈림
  • InfiniBand는 무손실이 링크 계층에 내장, RoCEv2는 PFC·ECN·DCQCN으로 무손실을 만들어 쓰는 이더넷
  • 선택은 성능·확정성이면 InfiniBand, 이더넷 재사용·벤더 유연성이면 RoCEv2 → "무손실이 공짜냐 튜닝이냐"가 갈림길