거대 언어 모델 서빙에서는 연산보다 메모리 용량과 데이터 이동이 병목이 되는 경우가 늘고 있습니다. 토큰별 어텐션 상태를 저장해 공유 문맥을 한 번만 계산하게 하는 KV 캐시는 문맥 길이에 비례해 커집니다. 논문은 Kimi 같은 서비스에서 5,000만 토큰 문맥의 캐시 적중률을 최대로 높이려면 약 20TB의 DRAM이 필요하다는 관찰로 시작합니다. 그만한 메모리를 가진 GPU 서버는 없으므로, Mooncake[2]나 NVIDIA의 Dynamo[4] 같은 운영 환경 시스템은 KV 캐시를 RDMA로 연결된 메모리 풀에 보냅니다. 이때 네트워크 프로토콜인 RDMA를 메모리 접근 경로처럼 사용하려면 바운스 버퍼, 완료 상태 폴링, 데이터 위치를 고려하는 스케줄러가 추가로 필요합니다.
2025년 11월 25일 arXiv에 공개되고 SIGMOD 2026에 채택된 Alibaba Cloud의 논문은 네트워크 제어 경로를 메모리 접근으로 바꾸었을 때의 효과를 측정합니다[1]. Beluga는 상용 CXL 2.0 스위치로 공유 메모리 풀을 만들고 CPU와 GPU가 모두 직접 읽기와 쓰기로 접근하게 한 뒤, 그 위에 vLLM의 KV 캐시 경로[3]를 다시 설계합니다. 아래에서는 이 작업을 우리 표현으로 정리하고 관련 연구 흐름과 비교합니다. Meta의 Vistara[7]가 단일 호스트 CXL 확장을 하이퍼스케일에서 검증했고, 원칩 리뷰[8]가 랙 규모 일관성 패브릭을 제안했다면, Beluga는 상용 스위치를 이용한 멀티 호스트 풀링이라는 중간 단계를 실증합니다.
RDMA는 왜 KV 캐시에 맞지 않는가
논문은 기존 방식의 한계를 측정값으로 설명합니다. vLLM 계열 스택이 쓰는 CPU 주도 모델에서 KV 캐시 블록은 GPU에서 호스트 바운스 버퍼를 거쳐 원격 풀로 이동하고, 읽을 때는 반대 경로를 지납니다. GPU 주도 대안(GPUDirect RDMA)에서는 전용 커널이 완료 상태를 확인하기 위해 스트리밍 멀티프로세서를 점유하며, 이 기능은 소비자용 GPU에서 사용할 수 없습니다. 어느 쪽이든 제어 경로의 비용이 큽니다. H20에서 16KB 전송은 전체 10.55µs가 걸리는데 실제 데이터 이동은 2.68µs입니다. 시간의 약 75%가 동기화에 쓰입니다.
데이터 배치도 문제를 키웁니다. 그룹 질의 어텐션(GQA)을 쓰는 Qwen-32B에서 KV 캐시 블록 하나는 비연속적인 20KB 조각 128개로 흩어지는 반면, ConnectX-7 NIC의 scatter-gather 목록은 30개 항목이 상한이라 논리적으로 한 번인 연산이 여러 요청으로 나뉩니다. 이 오버헤드를 줄이려고 RDMA 스택은 블록을 256토큰짜리 수퍼블록으로 묶습니다. 이를 vLLM 본연의 16토큰 단위로 낮추면 Mooncake의 캐시 적중 TTFT는 13.0초에서 76.8초로 늘어나 재계산보다도 느려집니다. 원격 접근이 로컬보다 훨씬 느리므로 스케줄러는 필요한 블록을 이미 가진 노드로 요청을 보내야 합니다. 이 데이터 위치 추적이 쏠림과 부하 불균형, 운영 복잡도로 이어집니다.
스위치가 CXL의 의미를 바꾸는 방식
최근까지 실제 CXL 배치는 단일 호스트 확장 장치를 뜻했고, Vistara도 이 범위에 해당합니다. Beluga가 멀티 호스트 풀을 구성할 수 있었던 기반은 XConn XC50256 스위치입니다[5]. 이 스위치 칩은 256개의 PCIe 5.0 레인 위에서 CXL.mem을 포워딩하며, 칩당 2TB/s의 스위칭 용량과 64바이트 접근 기준 약 750 ns의 최소 지연을 제공합니다. Beluga의 풀은 이런 칩 두 개를 스위치 노드 하나에 담아, 최대 16대의 서버가 총대역폭 1TB/s로 8TB 메모리 박스를 공유하게 합니다. 평가 클러스터는 8×H20 GPU 서버 두 대를 이 풀에 붙였고, 각 CPU 소켓은 PCIe 5.0 x16 CXL 어댑터로 스위치에 닿습니다.
소프트웨어가 보는 그림은 놀랄 만큼 단순합니다. BIOS가 풀을 위한 연속 물리 주소 구간을 예약하면, 각 호스트는 이를 DAX 모드로 온라인하고, 프로세스는 mmap()으로 그 구간을 자기 주소 공간에 바로 얹습니다. 분할은 오프셋 약속이고, 공유는 같은 구간을 두 번 매핑하는 일입니다. 여기에 더해 경제성도 스위치 편입니다. 호스트 어댑터는 210달러인데 듀얼 200Gbps NIC는 1,745달러이고, 연결성 64GB/s당으로 정규화하면 CXL 경로는 218.75달러, RDMA 경로는 800달러입니다(스위치 가격은 B1 샘플 기준).

일관성은 소프트웨어의 일이 되는 과정
이 논문의 핵심은 CXL 2.0이 주소 공간은 제공하지만 호스트 사이의 캐시 일관성은 제공하지 않는다는 점입니다. 스위치는 모든 호스트에 하나의 논리적 메모리를 보여 주지만 각 호스트의 캐시 계층은 서로 독립적으로 동작하므로, 한 CPU의 캐시에 머무는 쓰기는 다른 호스트에 보이지 않습니다. Beluga는 KV 캐시가 실제로 요구하는 단일 작성자·다중 독자 패턴으로 문제를 좁힌 뒤, 양쪽의 캐시를 명시적으로 관리해 일관성을 유지합니다.
측정 결과는 접근 주체마다 필요한 설정이 다름을 보여 줍니다. CPU 쓰기에서는 캐시를 우회하는 비시간적 저장(ntstore)이 16KB에 2.41µs가 걸리는 반면, 구간을 캐시 불가로 지정하고 일반 저장 명령(store)을 쓰면 281.56µs까지 늘어납니다. 모든 저장 명령이 CXL 왕복을 기다리며 파이프라인을 멈추기 때문입니다. CPU 읽기는 읽기 명령(load) 전에 CLFLUSH를 실행하면 5.98µs로, 캐시 불가 읽기의 166.49µs보다 빠릅니다. Intel의 DSA 복사 엔진은 1.69~2.12µs로 모든 항목에서 가장 빨랐고 캐시 불가 설정 여부에 따른 차이도 작았습니다. GPU 전송은 구간을 캐시 불가로 두고 DDIO를 꺼서 유입 쓰기가 CPU의 LLC를 우회하게 할 때 가장 빨랐습니다. 이 방식은 일회성 설정과 플러시 명령만 추가하므로 RDMA의 큐 페어 순서와 비동기 완료 상태를 관리하는 비용을 피할 수 있습니다.
마이크로벤치마크에서 확인한 병목
세 가지 지연 교훈은 이 시스템 밖에서도 통합니다. 첫째, CPU가 직접 로드/스토어를 쓰는 것은 4KB 아래에서만 유리하고, 그보다 크면 DSA 엔진의 준비 비용이 회수되어 16KB에서는 역전이 끝납니다. 둘째, GPU의 병목은 전송 자체가 아니라 커널을 띄우는 비용입니다. 작은 전송에서는 커널 런치 오버헤드가 지배하므로, Beluga는 cudaMemcpy를 반복 호출하는 대신 흩어진 복사 다수를 커스텀 CUDA 커널 하나로 묶습니다. 셋째, 24KB 미만 전송에는 별도의 예외가 있습니다. 캐시할 수 없는 호스트 메모리에서 cudaMemcpy는 약 1.23 ms까지 느려지는데, CUDA 런타임이 작은 복사를 CPU 명령으로 최적화하는 전략이 이 메모리에서 역효과를 내는 것으로 보입니다. 커스텀 커널은 이 예외 경로를 사용하지 않습니다. 이런 최적화를 거치면 64KB 풀-GPU 복사는 11.73 µs로, 로컬 호스트 메모리의 10.32 µs에 근접합니다. 논문이 이 풀을 근사 로컬(준로컬)이라 부르는 근거입니다.
대역폭을 높이려면 두 가지 조정이 더 필요했습니다. 어댑터 하나면 PCIe 5.0 x16 속도가 나와야 하지만 GPU 접근은 처음에 26GB/s에 그쳤습니다. 저자들은 이 상한이 CXL이 아니라 CPU 루트 컴플렉스의 피어 투 피어 포워딩에서 생긴다고 판단했고, 순수 GPU-NIC 경로에서 같은 한계를 재현해 검증했습니다. 서버당 어댑터를 늘리고 풀의 메모리 장치들에 데이터를 2MB 단위로 소프트웨어 인터리빙해 경로 병렬성을 높였습니다(장치 하나의 상한은 22.5GB/s입니다). 인터리빙만으로 전체 서빙 처리량이 33.2% 올랐습니다. 근본적인 해법인 GPU와 CXL 스위치의 직접 연결은 미래 아키텍처로 남겨 두었습니다.

KV 캐시 경로를 직접 읽기와 쓰기 위에 다시 설계하는 방식
풀이 준비되자 Beluga-KVCache는 RDMA 기반 경로의 메커니즘 세 개를 교체합니다. 데이터 이동은 CUDA 커널 하나 안에서 처리하는 모아 쓰기(gather write)와 흩어 읽기(scatter read) 문제가 되고, scatter-gather 목록의 제한도 사라집니다. 이것만으로 밀집 KV 캐시의 쓰기와 읽기 지연이 각각 36.2%와 38.7% 줄어듭니다. 희소 KV 캐시에서는 차이가 더 커집니다. 헤드와 계층마다 상위 256개 토큰만 고르면 읽기 하나가 160바이트 조각 1,024개로 변하는데(Qwen-32B에서 선택된 토큰의 74% 이상이 비연속입니다), 이런 토큰 16개를 가져오는 데 CXL은 211µs, RDMA는 5,260µs가 걸립니다. 95.9% 감소한 값입니다.
메타데이터 트래픽도 풀 위로 옮깁니다. Beluga는 RPC를 상태 플래그가 달린 공유 메모리 슬롯으로 구현해 전부 사용자 공간에서 폴링합니다. 64바이트 왕복이 2.11 µs로 RDMA reliable-connection RPC의 8.39 µs와 대비되고, 서버 스레드 하나가 큐 깊이 128에서 12.13 Mops를 지속해 RDMA의 2.7×입니다. 이제 모든 노드가 균일한 접근 지연을 보므로 스케줄러는 블록의 위치를 아예 신경 쓰지 않습니다. 요청은 평범한 부하 분산으로 뿌려지고, 노드는 캐시 파티션 재조정 없이 들어오고 나갑니다.
전체 서빙 경로에서 확인한 수치
평가는 8-GPU 서버 두 대에서 vLLM 인스턴스 16개를 돌리며, 입력이 15K 토큰을 넘는 장문 QA 트레이스(LV-Eval)로 Mooncake, Dynamo와 비교합니다. 공정성을 위해 풀 용량은 모든 시스템에서 2TB로 고정했습니다. 캐시를 채우는 첫 실행에서 Beluga-KVCache는 평균 TTFT에서 12.4%, 처리량에서 21.5%만큼 Mooncake를 앞섭니다. 모든 요청이 캐시에 적중하는 두 번째 실행에서는 격차의 차원이 달라집니다. 평균 TTFT는 13.0초에서 1.36초로 떨어지고(89.6% 감소), 처리량은 초당 1.54에서 11.32 질의로 올라 7.35×의 이득입니다. 프리필-디코드 분리 배치에서는 이점이 3.41×에서 9.47×에 이르고, 캐시 이동이 전체 시간에서 차지하는 몫이 커지는 긴 문맥일수록 격차도 커집니다.

검증 범위와 남은 한계
범위는 랙 하나입니다. 스위치 도메인 하나가 16대 서버와 8TB에 닿을 뿐, 스위치를 가로지르는 풀링이나 일관성은 여기서 다루지 않습니다. 측정된 배치는 서버 두 대이므로 16호스트 범위는 실증이 아니라 구조적 상한입니다. 일관성 프로토콜은 단일 작성자, 다수 독자 데이터에 맞춰 수작업으로 지은 것이라, 경합하는 공유 상태로 일반화하려면 장치가 더 필요합니다. CXL 기반 RPC는 RDMA 전송 계층의 신뢰성 보장을 명시적으로 포기하고 상위 계층에 기댑니다. GPU와 풀 사이 대역폭은 GPU가 패브릭에 직결되기 전까지 경로당 26 GB/s의 루트 컴플렉스 한계에 묶여 있습니다. 마지막으로 전체 경로의 성능 격차 중 일부는 RDMA 기준선들의 소프트웨어 성숙도를 반영하며(저자들 스스로 인정합니다), 스위치 가격도 양산가가 아니라 샘플 견적입니다.
CXL이 바꾼 병목은 제어 경로
7.35×라는 결과보다 중요한 것은 성능 차이가 어디에서 생겼는지입니다. RDMA의 병목은 링크 대역폭 자체가 아니었습니다. 작은 전송에서 시간의 75%를 차지한 제어 경로와, 어텐션 상태가 여러 조각으로 흩어지는 메모리 배치가 원인이었습니다. Beluga는 CXL의 메모리 접근 방식이 이 두 비용을 없앨 수 있음을 보여 줍니다. CXL 풀링에 부정적이었던 기존 분석[6]은 측정 가능한 멀티 호스트 스위치가 없던 시기의 결과입니다. Beluga는 상용 스위치에서 읽기 중심의 블록 단위 LLM 작업부하가 로컬 DRAM에 가까운 지연을 낼 수 있음을 측정했습니다. 직접 연결 메모리 확장을 검증한 Vistara[7]와 더 넓은 일관성 영역을 제안한 원칩형 패브릭[8] 사이에서, Beluga는 멀티 호스트 CXL의 운영 가능한 중간 지점을 제시합니다. 다음 검증 과제는 공유 패턴이 복잡해졌을 때 소프트웨어 일관성 관리가 어느 규모까지 유지되는지, 그리고 언제 CXL 3.x의 하드웨어 일관성이 필요한지입니다.
수용 시험은 대역폭보다 조각난 읽기를 봐야 할 이유
Beluga를 검증할 때는 순차 대역폭 측정보다 실제 KV 배치에서 가장 자주 나오는 작은 조각을 먼저 재현해야 합니다. 토큰, 헤드, 레이어의 선택 패턴과 메타데이터 조회, 동기화 경로를 포함하고, 스케줄러가 읽기를 결정한 시점부터 어텐션이 상태를 사용할 수 있을 때까지 측정해야 합니다.
노드나 스위치 경로를 읽기 도중 끊는 시험도 필요합니다. 신뢰성과 일관성 책임을 상위 소프트웨어로 옮겼으므로 소유자 상실 감지, 오래된 메타데이터 무효화, 멱등 재시도, 재계산 대체 경로가 부분 기록을 노출하지 않아야 합니다. CXL의 이득은 링크 속도만이 아니라 수천 개의 불규칙 조각을 RDMA 작업 요청과 동기화 없이 표현하는 데서 나옵니다. 수용 시험이 이 접근 패턴을 재현해야 랙 규모 결과를 다른 시스템에 옮길 수 있습니다.
출처와 저작권 안내
이 글은 Silicon & Systems가 작성한 편집 요약입니다. 아래에 인용한 논문의 논지를 우리 표현으로 다시 서술했으며, 원문의 문장과 도판, 표는 어느 것도 이 페이지에 복제하지 않았습니다. 본문의 도판은 이 요약을 위해 새로 만든 자체 제작물입니다. 이 요약은 arXiv 프리프린트(v1 2025년 11월 25일, v2 11월 27일 공개)를 바탕으로 했고, 원문은 arXiv:2511.20172에서 볼 수 있습니다. 논문은 SIGMOD 2026에 채택되었으며 최종본은 DOI 10.1145/3786627로 게재됩니다. 게재본의 저작권은 저자들에게 있고 출판권은 ACM에 허여되었습니다. (c) 2026.