[논문] RAFI, 데이터 병렬 다중 노드·다중 GPU 컴퓨팅을 위한 레이·작업 포워딩 인프라
Source: arXiv - 2605.30294v1
개요
RaFI 프레임워크(Ray/Work Forwarding Infrastructure)는 다중 GPU·다중 노드 애플리케이션에서 발생하는 고통스러운 병목 현상, 즉 레이 혹은 그와 같은 미세 작업 항목들을 GPU 간에 효율적으로 이동시키는 문제를 해결합니다. 저수준 CUDA와 MPI 구현을 깔끔한 API 뒤에 감싸서, RaFI는 개발자가 알고리즘 로직에 집중하도록 하면서도 클러스터에 걸친 GPU들의 데이터‑병렬 스케일링을 고성능으로 달성하게 합니다.
주요 기여
- 통합 CUDA‑MPI 추상화 – 얇은 커널‑레벨 인터페이스로, 개발자가 명시적인 MPI send/receive 호출을 작성하지 않아도 스레드가 원격 GPU로 작업을 전달할 수 있습니다.
- 자동 작업 항목 직렬화 – RaFI는 레이 페이로드(시작점, 방향, 부가 데이터)를 압축 버퍼에 담아 정렬, 엔디안, GPU‑to‑GPU 메모리 전송을 자동으로 처리합니다.
- 동적 로드‑밸런싱 훅 – 내장 콜백을 통해 애플리케이션이 런타임 메트릭(예: 큐 깊이, GPU 점유율)에 기반해 언제·어디에 작업을 전달할지 결정할 수 있습니다.
- 오픈소스 레퍼런스 구현 – CUDA와 호환되는 라이브러리와 경로 추적 렌더링부터 입자 기반 과학 시뮬레이션까지 다양한 예제가 포함되어 있습니다.
- 입증된 확장성 – 최대 8노드(32 GPU)에서 수행한 성능 실험은 레이‑집중 워크로드에 대해 거의 선형에 가까운 속도 향상을 보였으며, 손수 최적화한 MPI 코드 대비 5 % 미만의 오버헤드만 발생했습니다.
방법론
RaFI는 사용자의 CUDA 커널과 MPI 런타임 사이에 위치합니다.
- 커널 API – 개발자는 커널 내부에서
RaFI::forward(workItem, targetGPU)를 호출합니다. 이 호출은 논블로킹이며 어느 스레드에서든 발행할 수 있습니다. - 작업 항목 버퍼 – RaFI는 작업 항목을 GPU‑상주 버퍼에 직렬화하고, 대상 GPU별 큐에 추가합니다.
- 배치 교환 – 각 노드의 경량 백그라운드 스레드가 주기적으로 대기 중인 항목을 모아 MPI 메시지로 패킹하고
MPI_Isend/MPI_Irecv를 수행합니다. - 원격 주입 – 수신된 버퍼는 대상 GPU 메모리로 복사되어 “ready‑queue” API를 통해 소비 커널에 제공됩니다.
- 로드‑밸런싱 정책 – 사용자는 MPI 교환 단계 전에 실행되는 커스텀 휴리스틱(예: 작업 스틸링, 비용 기반 라우팅)을 플러그인 형태로 연결할 수 있습니다.
이 모든 기능은 헤더‑전용 라이브러리 뒤에 숨겨져 있어 기존 CUDA 코드에 필요한 변경은 포워드 호출과 작은 초기화 루틴 정도뿐입니다.
결과 및 고찰
| 실험 | 설정 | 측정 지표 | RaFI vs. 손수 만든 MPI |
|---|---|---|---|
| 경로 추적 이미지 (1 M 레이) | 4노드, 16GPU | 전체 렌더링 시간 | +12 % 빠름 |
| 볼륨 렌더링 (레이 마칭) | 2노드, 8GPU | 대역폭 활용도 | ≈ 95 % 이론 최대치 |
| 입자 전송 (Monte‑Carlo) | 8노드, 32GPU | 확장 효율 | 1.02× 선형까지 32GPU |
| 오버헤드 분석 | 1노드, 4GPU | 포워드당 추가 지연 | ≈ 3 µs (MPI 포함) |
핵심 요약:
- 낮은 오버헤드 – 포워드된 작업 항목당 추가 지연이 수 마이크로초 수준에 머물러, 이미 레이당 수십 마이크로초를 소비하는 워크로드에선 무시할 수 있습니다.
- 확장 가능한 통신 – 배치와 논블로킹 MPI 사용으로 GPU 수가 늘어나도 네트워크 활용도가 높게 유지됩니다.
- 통합 용이성 – 예제 애플리케이션은 코드 변경량이 < 5 %에 불과했으며, 이는 개발자가 전체 코드를 새로 쓰지 않고도 RaFI를 도입할 수 있음을 보여줍니다.
실용적 함의
- 렌더링 팜 – 스튜디오는 이제 레이 트레이싱 작업을 GPU 클러스터에 손쉽게 분산시킬 수 있어 MPI 레이어를 직접 구현할 필요가 없어지고, 씬 복잡도 변화에 따른 동적 로드 밸런싱도 가능해집니다.
- 과학 시각화 – 대규모 볼륨·입자 시뮬레이션(예: CFD, 천체 물리)에서 영역 경계를 넘어 레이를 추적해야 할 때, RaFI는 GPU 간 교차 질의를 간단히 처리해 HPC 클러스터에서 인터랙티브 분석을 실현합니다.
- 실시간 추론 파이프라인 – 데이터를 GPU에 분산하는 AI 워크로드(예: 트랜스포머 토큰 라우팅)도 RaFI의 포워딩 프리미티브를 재사용해 최소 지연으로 작업 항목을 이동시킬 수 있습니다.
- 하이브리드 클라우드‑온프레미스 – RaFI가 표준 MPI에 의존하므로 AWS, Azure와 같은 클라우드 GPU 클러스터와 온프레미스 슈퍼컴퓨터 모두에 동일하게 배포할 수 있어, 다중 노드 GPU 스케일링을 위한 이식 가능한 솔루션을 제공합니다.
제한 사항 및 향후 연구
- CUDA 전용 – 현재 릴리스는 NVIDIA GPU만을 대상으로 하며, AMD·Intel GPU 사용자는 HIP/oneAPI 포팅을 기다려야 합니다.
- MPI 의존성 – 고성능 MPI 구현이 없는 환경(예: 일부 엣지‑클라우드)에서는 지연 시간이 크게 증가할 수 있습니다.
- 정적 작업 항목 스키마 – RaFI는 애플리케이션당 고정된 페이로드 레이아웃을 전제로 하며, 이기종 페이로드 지원은 향후 추가될 예정입니다.
- 향후 방향 – 저자들은 NCCL 기반 노드 내부 전송 지원, 적응형 로드‑밸런싱 알고리즘(예: 강화학습 기반 라우팅) 통합, 장기 HPC 작업을 위한 내결함 포워딩 연구 등을 계획하고 있습니다.
저자
- Ingo Wald
- Serkan Demirci
- Alper Sahistan
- Stefan Zellmann
- Andrea Paris
- Patrick Moran
- Milan Jaros
- Tatiana von Landesberger
- Ugur Gudukbay
- Valerio Pascucci
논문 정보
- arXiv ID: 2605.30294v1
- 분류: cs.DC, cs.GR
- 발표일: 2026년 5월 28일
- PDF: PDF 다운로드