InfiniBand (IB) & RoCEv2

InfiniBand (IB) & RoCEv2 기술 심층 분석

InfiniBand (IB)는 1999년 등장 이래, ‘최고의 성능’이 필요한 슈퍼컴퓨터(HPC)와 AI 클러스터의 표준으로 군림해 왔습니다. 반면, RoCEv2는 이 IB의 성능을 범용적인 이더넷 인프라로 가져오려는 시도입니다.

이 두 기술은 RDMA (Remote Direct Memory Access)라는 공통의 DNA를 공유하지만, 구현 방식과 철학에서 결정적인 차이를 보입니다.

1. InfiniBand (IB): 타협 없는 성능의 “System Area Network”

1.1 개요 및 핵심 철학

InfiniBand는 애초에 프로세서와 I/O 장치를 연결하기 위한 시스템 영역 네트워크(SAN)로 설계되었습니다.

  • CPU Offload: “네트워크 처리는 CPU가 아니라 네트워크 카드가 한다"는 철학입니다.
  • Kernel Bypass: 운영체제(OS) 커널을 거치지 않고 애플리케이션이 하드웨어에 직접 접근하여, 문맥 교환(Context Switch)으로 인한 지연 시간을 ‘0’에 가깝게 만듭니다.

1.2 아키텍처: 채널 기반 I/O (Channel I/O)

IB는 전통적인 소켓 통신(Socket)보다는 메인프레임의 채널 I/O 모델을 따릅니다.

  • 구성 요소:
    • HCA (Host Channel Adapter): 서버에 장착되는 IB 카드입니다.
    • TCA (Target Channel Adapter): 스토리지 등에 장착되는 카드입니다.
  • 큐 페어 (Queue Pair, QP):
    • 통신의 기본 단위입니다. Send QueueReceive Queue가 한 쌍을 이룹니다.
    • 애플리케이션은 작업 요청(Work Request, WR)을 큐에 밀어 넣고(Post), HCA는 이를 비동기적으로 처리한 뒤 완료 큐(CQ)에 결과를 남깁니다.

1.3 핵심 기술: 무손실(Lossless)과 흐름 제어

IB는 패킷을 잃어버리지 않는 것을 전제로 설계되었습니다.

  • Credit-Based Flow Control: 송신자는 수신자가 “받을 공간(Buffer Credit)이 있다"고 알려줄 때만 데이터를 보냅니다. 따라서 버퍼 오버플로우에 의한 패킷 손실이 원천적으로 발생하지 않습니다.
  • Hardware Retransmission: 만약 비트 에러 등으로 손실이 발생해도, HCA 하드웨어가 알아서 재전송합니다. CPU는 에러가 났는지조차 모르게 처리됩니다.

1.4 관리 모델: Subnet Manager (SM)

IB는 서브넷 매니저(SM)라는 중앙 집중형 소프트웨어가 전체 네트워크를 지휘합니다.

  • Adaptive Routing: SM은 네트워크 상태를 보고 패킷의 경로를 동적으로 변경할 수 있어, 특정 경로가 막힐 때 우회 경로를 즉시 찾아냅니다. 이는 정적 해싱을 쓰는 이더넷(ECMP) 대비 큰 강점입니다.

2. RoCEv2 (RDMA over Converged Ethernet version 2)

2.1 개요: “이더넷 위의 RDMA”

RoCEv2는 InfiniBand의 강력한 성능(RDMA)을 저렴하고 익숙한 이더넷 인프라 위에서 구현하기 위한 표준입니다. (IB 사양서 Annex A17)

  • 진화: 초기 RoCE(v1)는 L2 기반이라 라우팅이 불가능했으나, RoCEv2는 IP/UDP 헤더를 도입하여 L3 라우팅이 가능해졌습니다.

2.2 패킷 구조 및 캡슐화

RoCEv2는 사실상 “이더넷 택배 상자 안에 든 IB 편지"입니다.

  1. Ethernet/IP Header: 인터넷 통신을 위한 주소 정보.
  2. UDP Header (Port 4791): 이 패킷이 RoCEv2임을 알리는 식별자입니다.
  3. IB BTH (Base Transport Header): 실제 데이터 처리 로직(QP 번호, 순서 등)이 담긴 IB 헤더입니다.

2.3 핵심 특징: 라우팅 및 ECMP

  • IP Routable: 라우터를 넘어 다른 서브넷과 통신할 수 있어, 대규모 Clos 네트워크 구축에 적합합니다.
  • ECMP (Equal-Cost Multi-Path): UDP 헤더의 Source Port를 난수(Entropy)로 사용하여, 여러 경로로 트래픽을 분산시킵니다. (단, IB의 Adaptive Routing보다는 유연성이 떨어집니다.)

2.4 신뢰성 확보: DCQCN & PFC

이더넷은 기본적으로 “패킷을 잃어버릴 수 있는(Lossy)” 네트워크입니다. RoCEv2를 위해 두 가지 보조 바퀴가 필요합니다.

  • PFC (Priority Flow Control): 특정 우선순위 트래픽에 대해 “잠깐 멈춤(Pause)” 신호를 보내 버퍼 넘침을 막습니다. (IB의 크레딧 제어 모사)
  • ECN / DCQCN: 혼잡 발생 시 스위치가 패킷에 마킹(ECN)을 하고, 단말이 속도를 줄이는(DCQCN) 알고리즘을 통해 혼잡을 제어합니다.

3. 요약: InfiniBand vs RoCEv2 비교

특징InfiniBand (IB)RoCEv2
기반 기술독자 규격 (IBTA)Ethernet (IEEE) + IBTA
최신 속도XDR (800Gbps) / NDR (400Gbps)800Gbps / 400Gbps
지연 시간 (Latency)극도로 낮음 (< 600ns)매우 낮음 (~1µs 내외)
흐름 제어Credit-Based (Lossless 보장)PFC + ECN (설정 복잡)
라우팅Adaptive Routing (동적)ECMP (정적 해싱)
관리중앙 집중형 (Subnet Manager)분산형 (BGP, OSPF 등)
비용높음 (전용 스위치/케이블 필요)상대적으로 낮음 (범용 장비)

결론: 무엇을 선택해야 하는가?

  • InfiniBand: 비용 상관없이 절대적인 성능과 최저 지연 시간이 필요한 거대 AI 모델 학습(LLM), 기상 예측 등 HPC 분야.
  • RoCEv2: 기존 이더넷 인프라를 활용하면서도 RDMA의 고성능을 누리고 싶은 클라우드 데이터센터, 스토리지 네트워크, 추론(Inference) 클러스터.