Mooncake: 무엇이며, 어떤 문제를 해결하고, 왜 주목받고 있는가
Mooncake: 무엇이며, 어떤 문제를 해결하고, 왜 주목받고 있는가
해결하는 문제
Mooncake은 프리필(prefill)과 디코딩(decoding) 클러스터를 분리(PD 분산)함으로써 기존 LLM 서빙의 비효율성을 해소합니다. KVCache 풀을 분산시켜 하드웨어 자원(CPU, DRAM, SSD)의 활용도가 낮은 문제를 해결하고, 특히 전통적인 방식이 지연 시간 서비스 수준 목표(SLO)를 충족하기 어려운 장기 컨텍스트 시나리오에서 더 높은 처리량과 메모리 효율성을 제공합니다.
작동 원리
Mooncake은 KVCache 중심의 아키텍처를 구현하며, 세 가지 주요 구성 요소로 이루어집니다:
- Transfer Engine (TE): 다양한 스토리지 및 네트워크 환경 간에 텐서를 이동하기 위한 통합 인터페이스를 제공하는 고성능 데이터 전송 프레임워크입니다. RDMA, 토폴로지 인식 라우팅, 다중 NIC 대역폭 집계를 활용해 표준 TCP보다 훨씬 빠른 데이터 이동을 구현합니다.
- Mooncake Store: Transfer Engine 위에 구축된 분산 키‑값 캐시 저장 엔진으로, 다계층 계층 구조(DRAM 및 SSD/NVMe)를 사용해 클러스터 전반에 걸쳐 재사용 가능한 KV 캐시와 모델 가중치를 관리합니다. 엔진 재시작과 무관하게 탄력적인 스토리지를 제공합니다.
- Mooncake EP 및 Process Group (PG): 대규모 Mixture-of-Experts(MoE) 추론을 지원하도록 시스템을 확장합니다. 장애 복구가 가능한 전문가‑병렬 디스패치를 제공하고, 랭크 실패 시 전체 서비스를 재시작하지 않아도 되는 PyTorch 호환 분산 프로세스‑그룹 백엔드를 구현합니다.
대상 사용자
Mooncake은 대규모 LLM 서비스(예: Kimi) 개발자·운영자와 vLLM, SGLang, TensorRT‑LLM 등 추론 엔진 유지보수자를 위해 설계되었습니다. 높은 트래픽과 장기 컨텍스트 AI 애플리케이션에서 처리량과 자원 활용도를 극대화해야 하는 경우에 적합합니다.
주요 특징
- 고성능 전송: 8×400 Gbps RoCE 네트워크에서 최대 190 GB/s 대역폭을 달성, TCP보다 현저히 빠름.
- PD 분산: 프리필과 디코딩을 분리해 자원 사용과 처리량을 최적화.
- 다계층 스토리지: DRAM과 SSD/NVMe를 활용한 대규모 탄력적 KVCache 풀.
- 장애 복구 MoE: 실패한 랭크를 우회해 서비스 가용성을 유지하는 전문가‑병렬 추론 지원.
- 광범위한 에코시스템 통합: vLLM, SGLang, TensorRT‑LLM 및 PyTorch 에코시스템에 통합.
요약
Mooncake은 KVCache 중심의 분산 아키텍처로, 프리필과 디코딩 클러스터를 분리해 고성능 분산 KV 캐시 풀을 통해 처리량과 메모리 효율성을 높이는 LLM 서빙 솔루션입니다.
Mooncake: 무엇이며, 어떤 문제를 해결하고, 왜 주목받고 있는가
Sources
- undefinedkvcache-ai/Mooncake