kt cloud가 AI GPU 클러스터 백엔드 네트워크를 InfiniBand에서 개방형 이더넷 기반 RoCEv2로 전환하기 위한 기술 검증을 진행하며 정리한 설계 고려사항이다. 네트워크가 혼잡이나 패킷 손실로 멈추면 대당 3만 달러가 넘는 GPU가 연산을 못 한 채 유휴 상태로 남아 운영 비용 낭비로 이어진다. 마이크로초 단위 tail latency와 패브릭 활용도 극대화 사이의 스윗 스팟을 찾아 Job Completion Time을 최소화하는 것이 핵심이라고 본다.
핵심 포인트- InfiniBand는 설계 단계부터 무손실·크레딧 기반으로 하드웨어에서 혼잡을 처리하지만, RoCEv2는 이더넷 위에 RDMA를 이식하려는 시도라 무손실을 직접 만들어야 한다.
- CSP 입장에서 RoCEv2는 전략적 선택이다. 초기 상태의 tail latency는 InfiniBand가 낫지만 통합 관리 체계, 기존 광선로 인프라 통합, 벤더 종속 탈피라는 이점이 있다.
- 무손실 구현은 PFC, ECN, DCQCN 세 메커니즘의 조합이다. PFC가 무딘 도구라면 ECN은 버퍼가 차기 전에 마킹하는 정밀한 메스다.
- 1,024개 GPU가 한 GPU로 동시에 보내는 인캐스트에서 PFC 설정이 잘못되면 PAUSE 프레임이 전파돼 전체 패브릭이 데드락에 빠진다.
- 백엔드 GPU-to-GPU 패브릭에는 얕은 버퍼 스위치, 예측 불가능한 남북 트래픽 폭주를 받는 스파인이나 데이터센터 간 연결에는 깊은 버퍼 스위치를 권한다.
상세 정리- 아키텍처 비교: 흐름 제어는 InfiniBand가 하드웨어 네이티브 크레딧 기반, RoCEv2가 추가 탑재되는 PFC다. 혼잡 관리는 각각 하드웨어 레벨 적응형 라우팅과 ECN/DCQCN이다.
- 생태계는 InfiniBand가 NVIDIA/Mellanox 독점, RoCEv2가 Broadcom·Cisco·Arista·Marvell 등 개방형이다. 관리 체계는 중앙 집중형 서브넷 매니저와 분산형 표준 BGP/EVPN으로 갈린다.
- 비용 측면에서 InfiniBand는 고가의 전용 하드웨어와 케이블이 필요하고 전문적인 IB 지식을 요구하는 반면, RoCEv2는 범용 광모듈과 스위칭 장비에 기존 NetOps 지식으로 운영할 수 있다.
- RoCEv2의 정의: RDMA 전송 계층을 UDP/IP 헤더로 캡슐화해 RDMA 트래픽이 L3 경계를 넘어 라우팅되게 한다. 목표는 제로 카피와 커널 바이패스로, CPU의 TCP 스택을 거치지 않고 NIC가 원격 서버 GPU 메모리에 직접 기록한다.
- 이더넷은 본래 손실이 발생하는 특성이라 버퍼가 차면 패킷을 드롭하는데, RDMA에서는 단 하나의 패킷 손실이 막대한 재전송 페널티를 유발해 JCT를 망가뜨린다.
- PFC(IEEE 802.1Qbb): 홉 바이 홉 방식으로 링크 전체가 아니라 특정 우선순위 레인만 일시 정지시킨다. 수신 버퍼가 임계치에 닿으면 상류 스위치에 해당 우선순위의 PAUSE 프레임을 보낸다.
- ECN: 버퍼가 가득 차기 전 혼잡이 시작될 때 IP 헤더의 ECN 비트를 마킹하고, 수신측이 이를 확인해 송신측에 속도를 줄이라고 알린다.
- DCQCN: 주로 NIC에서 구현되는 전체 시스템의 두뇌로, 스위치가 ECN을 마킹하면 목적지 NIC가 송신측에 CNP를 보내고 송신 NIC가 알고리즘에 따라 데이터 주입 속도를 줄인다.
- 차세대 혼잡 제어: 표준 DCQCN은 스위치 기반 ECN 마킹에 의존해 멀티 벤더 환경에서 튜닝이 까다롭기로 유명해, 구글 같은 하이퍼스케일러가 지연 시간 기반 방식을 개척했다.
- TIMELY는 고정밀 하드웨어 타임스탬프로 RTT의 변화율을 측정해 미세한 증가만으로 혼잡을 판단하고 송신 속도를 제한한다.
- SWIFT는 지연 분해로 패브릭 지연과 호스트 지연을 분리해, 느린 호스트 때문에 무관한 트래픽까지 느려지는 희생자 흐름을 막는다. 단순 속도 제어가 아닌 혼잡 윈도우 방식으로 P99.9 수준의 타이트한 꼬리 지연을 노린다.
- 얕은 버퍼: Broadcom Tomahawk 5 같은 온칩 메모리 스위치는 포트 간 지연을 나노초 단위로 최소화한다. 혼잡 제어가 정밀하게 튜닝된 AI 패브릭에서는 혼잡을 NIC로 빠르게 되먹임하는 쪽이 선호된다.
- 깊은 버퍼: Broadcom Jericho3-AI나 Arista 7800 계열은 외부 메모리를 써서 대규모 인캐스트를 흡수하는 능력이 뛰어나다.
- 튜닝 방법: 알파 값(버퍼 공유 비율)과 PFC/ECN 임계값 계산이 복잡하므로 운영 장비에서 먼저 시도하지 말고, NS-3 같은 패킷 레벨 시뮬레이터로 1,750억 파라미터 규모 LLM 학습 같은 실제 워크로드의 트래픽 패턴을 모델링해 최적 교차점을 찾으라고 권한다.
- 데드락 대응: 모든 리프·스파인 스위치에 PFC 와치독을 구현해 특정 큐가 일정 시간(예: 100ms) 이상 일시 정지 상태로 남으면 스위치가 자율적으로 그 큐를 드롭해 교착을 해소해야 한다.
- 레일 최적화: NCCL이나 RCCL이 네트워크 토폴로지를 인식해야 하며, 모든 서버의 GPU 0번을 리프 1번에, GPU 1번을 리프 2번에 연결해 대부분의 트래픽이 단일 스위칭 플레인 안에 머물게 함으로써 유효 대역폭을 극대화한다. QP 스케일링도 패브릭 대역폭 활용을 위한 핵심 최적화로 꼽는다.
- 설정 실패의 결과로 PFC 스톰, 데드락, GPU 유휴 증가, 학습 시간 악화를 든다. RoCEv2는 장비보다 운영 역량이 더 중요한 기술이라는 것이 정리다.
- 필요 역량: 네트워크 엔지니어링만으로 부족하고 Linux/커널/RDMA, GPU 클러스터 아키텍처, NCCL과 AI 프레임워크 이해, 텔레메트리와 성능 튜닝, 대규모 분산 시스템 운영 경험이 함께 필요하다고 본다.
왜 읽나AI 학습용 GPU 클러스터의 백엔드 패브릭을 이더넷으로 구성하려는 네트워크·인프라 엔지니어가 InfiniBand 대비 트레이드오프와 무손실 구현에 필요한 설정 항목을 한 번에 훑을 수 있다.