NVIDIA가 Dynamo 추론 오케스트레이션 프레임워크를 오픈소스화해 Prefill/Decode 단계 분리로 장문맥 워크로드에서 3배 처리량 향상
EVAL #008: NVIDIA Just Open-Sourced an Inference Engine. Now What?
AI 요약
Context
현재 추론 엔진(vLLM, SGLang, TGI)은 Prefill(입력 토큰 처리, 연산 집약적)과 Decode(출력 토큰 생성, 메모리 대역폭 집약적) 두 단계를 동일 GPU에서 실행하므로 모든 GPU가 한 단계에서는 최적화되지 않는다. 데이터센터 규모의 다중 노드 추론 배포 시 GPU 토폴로지 전체를 관리할 수 있는 통합 오케스트레이션 계층이 부재했다.
Technical Solution
- Prefill/Decode 단계 분리: 각 단계를 독립적인 GPU 풀로 분리 운영하여 각 단계별 최적 하드웨어 활용
- NIXL KV 캐시 전송 라이브러리 도입: Zero-copy RDMA 기반으로 Prefill과 Decode 노드 간 KV 캐시 이동을 서브 밀리초 수준으로 처리
- 스마트 라우팅 계층(Planner) 구현: KV 캐시 로컬리티, GPU 부하, 프리픽스 공유를 기반으로 실시간 요청 배치 결정
- MoE 모델 토큰 라우팅: Mixture-of-Experts 모델의 전문가 병렬 처리 시 관련 전문가를 호스팅하는 GPU로 토큰 라우팅
- Rust 제어평면 + Python API 제공: 고성능 오케스트레이션 코어를 Rust로 구현하되 생태계 호환성을 위해 Python 인터페이스 제공
- vLLM 또는 TensorRT-LLM을 백엔드로 선택 가능: 기존 추론 엔진을 실행층으로 재사용하는 구조
Impact
장문맥 워크로드에서 NVIDIA 공식 벤치마크 기준 3배 처리량 향상. 대규모 배포(8개 이상 노드의 고동시성 워크로드)에서 제3자 테스트로 의미 있는 성능 향상 확인, 단 단기 요청에서는 KV 캐시 전송 오버헤드로 이득 감소.
Key Takeaway
Dynamo는 추론 엔진 그 자체가 아닌 Kubernetes처럼 추론 워크로드 배치 토폴로지를 오케스트레이션하는 계층으로, GPU당 비용이 높은 데이터센터 규모 운영에서 하드웨어 활용도 최적화의 핵심은 물리적 리소스 분리와 작업 특성별 라우팅 전략이다.
실천 포인트
8개 이상 GPU가 다중 노드에 분산된 추론 클러스터를 운영하는 팀에서 Dynamo를 vLLM/TensorRT-LLM 위에 배포하면, KV 캐시 로컬리티 기반 라우팅으로 메모리 이동 오버헤드를 줄이고 장문맥 요청의 처리량을 높일 수 있다. 단 4개 이하 GPU 환경이나 평균 요청 길이가 짧은 워크로드에서는 오케스트레이션 오버헤드가 이득을 상쇄하므로 기존 vLLM/SGLang 단독 배포가 더 효율적이다.