[Paper] Beluga: 확장 가능하고 효율적인 LLM KVCache 관리를 위한 CXL 기반 메모리 아키텍처
발행: (2025년 11월 25일 오후 07:51 GMT+9)
8 min read
원문: arXiv
Source: arXiv - 2511.20172v1
개요
대형 언어 모델(LLM)은 점점 더 많은 파라미터 수에 도달하고 있으며, 긴 컨텍스트 윈도우로 서비스를 제공하면 GPU 메모리에 막대한 부담이 가해집니다. 이 논문은 Beluga라는 CXL 기반 메모리 아키텍처를 소개합니다. Beluga는 GPU와 CPU가 KV‑Cache(추론 시 attention key와 value를 저장하는 데이터 구조)를 위한 거대하고 저지연 메모리 풀을 공유하도록 합니다. RDMA 기반 분산 메모리에서 탈피함으로써 Beluga는 프로그래밍 모델을 단순하게 유지하면서도 로컬 메모리 수준의 속도를 제공합니다.
주요 기여
- CXL 기반 공유 메모리 풀: GPU가 CXL 스위치를 통해 네이티브 load/store 연산을 수행할 수 있음을 보여주어 맞춤형 RDMA 프로토콜이 필요 없게 합니다.
- CXL 스위치 설계 가이드라인: 상용 CXL 스위치 성능을 체계적으로 특성화하고, 확장 가능한 메모리 시스템 구축을 위한 실용적인 규칙을 도출합니다.
- Beluga‑KVCache 시스템: 공유 풀을 활용하는 KV‑Cache 관리자를 구현하여, 인기 있는 vLLM 추론 엔진에서 TTFT(Time‑to‑First‑Token) 89.6 % 감소와 7.35배 높은 처리량을 달성합니다.
- 프로토타입 및 평가: 기성 하드웨어로 작동하는 프로토타입을 구축하고, 최신 RDMA 솔루션 대비 지연시간/처리량 향상을 검증합니다.
방법론
- 하드웨어 플랫폼: 저자들은 GPU, CPU 및 대용량 DRAM 풀(수십 테라바이트)을 연결하는 상용 CXL 스위치로 구성된 테스트베드를 조립했습니다.
- 마이크로‑벤치마킹: 다양한 접근 패턴(랜덤 vs. 순차, 작은 전송 vs. 큰 전송)에서 CXL의 지연시간 및 대역폭을 이해하기 위해 벤치마크 스위트를 실행했습니다.
- 가이드라인 도출: 측정 결과를 바탕으로 “요청 크기를 256 KB 이상 유지해 스위치 오버헤드를 상쇄한다”, “KV‑Cache 업데이트를 배치 처리해 경쟁을 줄인다”, “자주 접근하는 페이지를 고정해 페이지 폴트 페널티를 피한다”와 같은 규칙을 만들었습니다.
- 시스템 설계: 이 가이드라인을 활용해 Beluga‑KVCache를 구축했습니다. 이 소프트웨어 레이어는 KV‑Cache 엔트리를 공유 CXL 메모리에 직접 매핑하고, 추론 엔진에 간단한 API를 제공합니다.
- 평가: Beluga‑KVCache를 고성능 LLM 서빙 프레임워크인 vLLM에 통합하고, 여러 모델 크기(7B‑65B)와 컨텍스트 길이(최대 32 K 토큰)에서 RDMA 기반 분산 메모리 베이스라인과 비교했습니다.
결과 및 발견
| 지표 | RDMA 베이스라인 | Beluga‑KVCache |
|---|---|---|
| TTFT (첫 토큰 지연시간) | 1.00 s (정규화) | 0.10 s (‑89.6 %) |
| 처리량 (토큰/초) | 1× | 7.35× |
| 평균 KV‑Cache 접근 지연시간 | ~2.3 µs (네트워크 + CPU) | ~0.3 µs (거의 로컬) |
| 확장성 (GPU 수) | 4 GPU 이후 감소(네트워크 포화) | 8 GPU까지 선형 확장(CXL 대역폭 충분) |
데이터는 KV‑Cache를 CXL 기반 풀에 옮김으로써 핵심 경로 지연시간을 한 차례 정도 감소시키고, 특히 캐시가 메모리 트래픽을 지배하는 장기 컨텍스트 워크로드에서 토큰‑당 초당 처리율을 크게 향상시킨다는 것을 보여줍니다.
실용적 시사점
- LLM SaaS 제공업체는 TTFT를 크게 줄여 요청당 추론 비용을 낮출 수 있으며, 이는 사용자 경험 향상과 클라우드 비용 절감으로 직결됩니다.
- 하드웨어 설계자는 GPU 중심 AI 서버에 CXL 스위치를 통합하는 구체적인 레퍼런스 디자인을 얻어, HBM을 과다 프로비저닝하지 않고도 수 테라바이트 규모의 “GPU‑접근 가능” 메모리를 손쉽게 제공할 수 있습니다.
- 프레임워크 개발자(예: PyTorch, TensorFlow, vLLM)는 Beluga‑KVCache API를 채택해 KV‑Cache 처리를 공유 풀에 오프로드함으로써 메모리 관리 코드를 단순화하고 맞춤형 RDMA 레이어 필요성을 감소시킬 수 있습니다.
- 엣지 및 온프레미스 배포에서는 대용량 GPU 메모리를 확보하기 어려운 경우에도 소규모 CXL 메모리 모듈을 연결해 장기 컨텍스트 LLM을 서비스할 수 있어 기존 GPU 자산의 수명을 연장합니다.
제한 사항 및 향후 연구
- 하드웨어 가용성: 프로토타입은 아직 초기 단계인 상용 CXL 스위치를 사용하므로, 생태계가 성숙할 때까지 광범위한 채택이 제한될 수 있습니다.
- 캐시 일관성: 현재 설계는 KV‑Cache 세그먼트당 단일 라이터를 전제로 하며, 완전한 다중 라이터 시나리오를 지원하려면 추가 프로토콜 지원이 필요합니다.
- 소프트웨어 통합 오버헤드: 논문은 vLLM에서 인상적인 성능 향상을 보였지만, 다른 프레임워크에 Beluga‑KVCache를 통합하려면 상당한 엔지니어링 작업이 요구될 수 있습니다.
- 향후 방향: 저자들은 계층형 CXL 풀(예: 로컬 HBM, 로컬 DRAM, 원격 CXL 메모리 결합), KV‑Cache 엔트리의 적응형 배치 정책, 그리고 메모리 풀링 및 디바이스‑투‑디바이스 통신과 같은 CXL 2.0 기능과의 긴밀한 결합을 탐구할 것을 제안합니다.
저자
- Xinjun Yang
- Qingda Hu
- Junru Li
- Feifei Li
- Yuqi Zhou
- Yicong Zhu
- Qiuru Lin
- Jian Dai
- Yang Kong
- Jiayu Zhang
- Guoqiang Xu
- Qiang Liu
논문 정보
- arXiv ID: 2511.20172v1
- 분류: cs.DC, cs.AI
- 발표일: 2025년 11월 25일
- PDF: Download PDF