BanaServe: Unified KV Cache and Dynamic Module Migration for Balancing Disaggregated LLM Serving in AI Infrastructure

이 논문은 LLM 분해형 서비스의 정적 리소스 할당, 부하 불균형, 그리고 캐시 인식 라우팅으로 인한 병목 현상을 해결하기 위해, 계층별 가중치 및 어텐션 수준 KV 캐시 마이그레이션과 글로벌 캐시 공유를 통해 컴퓨팅 및 메모리 리소스를 동적으로 재조정하는 'BanaServe' 프레임워크를 제안합니다.

Yiyuan He, Minxian Xu, Jingfeng Wu, Jianmin Hu, Chong Ma, Min Shen, Le Chen, Chengzhong Xu, Lin Qu, Kejiang Ye

게시일 2026-03-11
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

🍽️ 비유: 혼란스러운 AI 식당의 문제점

거대 인공지능을 돌리는 서버는 마치 초대형 식당과 같습니다. 손님이 주문을 하면 (질문), 주방은 두 단계로 나뉘어 일을 합니다.

  1. 주문 정리 (Prefill): 손님이 말한 내용을 처음부터 끝까지 읽고 이해하는 단계. (예: "오늘 점심 메뉴 추천해줘"라는 문장을 통째로 분석)
  2. 메뉴 제공 (Decode): 하나씩 답변을 만들어 내는 단계. (예: "오늘은... 파스타... 어때요?"라고 한 글자씩 말하기)

기존 식당 (기존 시스템) 의 문제점:

  • 문제 1: 고정된 주방 배치 (Static Allocation)
    • 식당이 "주문 정리 팀은 10 명, 메뉴 제공 팀은 5 명"이라고 고정해 둡니다.
    • 손님이 적을 때는 주방이 텅 비어 낭비되고, 손님이 몰리면 주문 정리 팀이 너무 바빠서 메뉴 제공 팀은 놀게 됩니다. 반대의 경우도 마찬가지죠.
  • 문제 2: 메모리 vs 계산 능력의 불균형
    • '주문 정리'는 **계산 능력 (CPU/GPU)**이 많이 필요하지만 메모리는 적게 씁니다.
    • '메뉴 제공'은 **메모리 (KV Cache)**를 많이 쓰지만 계산은 적게 합니다.
    • 기존 시스템은 이 두 팀을 따로 떼어놓으면, 한 팀은 메모리가 부족해서 멈추고, 다른 팀은 계산 능력이 남아돌아 버립니다.
  • 문제 3: 인기 메뉴에 대한 편향 (Prefix Cache)
    • "파스타 추천"이라는 주문은 자주 들어오니까 미리 준비해 둡니다 (캐시).
    • 기존 시스템은 "파스타" 주문이 들어오면, 이미 파스타를 준비해 둔 주방으로만 보냅니다.
    • 결과적으로 그 주방은 불타고 (과부하), 다른 주방은 일도 없이 멍하니 있습니다.

🚀 BanaServe 의 해결책: 똑똑한 식당 관리 시스템

BanaServe 는 이 문제를 해결하기 위해 세 가지 혁신적인 아이디어를 도입했습니다.

1. 요리사들의 유연한 이동 (동적 모듈 마이그레이션)

  • 비유: 주문이 몰리면, 메뉴 제공 팀의 요리사 중 몇 명을 주문 정리 팀으로 보내고, 반대로 주문이 줄면 다시 보내는 식입니다.
  • 기술적 의미: AI 모델의 '층 (Layer)'이나 '주의 (Attention)' 단위를 실시간으로 다른 서버로 옮깁니다.
    • 거시적 이동 (Layer-level): 요리사 팀 전체를 옮기는 것처럼, 모델의 큰 덩어리를 옮깁니다.
    • 미시적 이동 (Attention-level): 요리사 한 명만 옮기는 것처럼, 아주 작은 부분만 옮겨서 부하를 균등하게 맞춥니다.
  • 효과: 손님이 몰리든 적든, 모든 주방이 적재적소에 일하게 되어 자원 낭비가 사라집니다.

2. 공유 냉장고 (글로벌 KV 캐시 스토어)

  • 비유: 각 주방마다 따로따로 재료를 보관하지 않고, 한 개의 거대한 공유 냉장고를 모든 주방이 함께 씁니다.
  • 기술적 의미: '파스타' 주문이 들어오면, 특정 주방이 가지고 있는 재료를 찾아갈 필요가 없습니다. 모든 주방이 공유 냉장고에서 재료를 꺼내 쓸 수 있습니다.
  • 효과: 더 이상 "재료가 있는 주방"으로만 주문을 보내지 않아도 됩니다. 가장 일손이 덜한 주방으로 주문을 보내면 되므로, 전체 식당의 부하가 균등해집니다.

3. 숨겨진 이동 시간 (레이어별 오버랩 전송)

  • 비유: 요리사가 재료를 다른 주방으로 옮기는 동안, 다른 요리사는 이미 다음 요리를 시작합니다. 이동하는 시간을 '숨겨버리는' 것입니다.
  • 기술적 의미: 데이터를 옮기는 시간과 계산하는 시간을 겹쳐서 동시에 처리합니다.
  • 효과: 재료를 옮기는 동안 식당이 멈추는 시간이 사라져서, 손님이 기다리는 시간이 크게 줄어듭니다.

📊 결과: 얼마나 빨라졌나요?

실험 결과, BanaServe 는 기존 시스템 (vLLM, DistServe) 보다 다음과 같은 성과를 보였습니다.

  • 처리량 (Throughput): 같은 시간에 더 많은 손님을 처리했습니다. (최대 3.9 배 더 빠름)
  • 대기 시간 (Latency): 손님이 주문하고 첫 답변을 받을 때까지 걸리는 시간이 획기적으로 줄었습니다. (최대 78% 단축)
  • 적응력: 손님이 갑자기 몰리거나 (버스트 트래픽), 긴 글을 입력하는 경우에도 시스템이 무너지지 않고 안정적으로 작동했습니다.

💡 요약

BanaServe는 AI 식당을 운영할 때, **"고정된 역할"**과 **"개별 냉장고"**라는 구닥다리 방식을 버리고, **"유연한 인력 배치"**와 **"공유 냉장고"**를 도입한 똑똑한 시스템입니다.

이 덕분에 AI 는 더 적은 비용으로 더 많은 일을 처리할 수 있게 되었고, 사용자는 더 빠르고 부드러운 대화를 즐길 수 있게 되었습니다. 마치 식당이 손님의 상황에 맞춰 요리사들의 역할을 실시간으로 바꾸고, 모든 재료를 공유하며 일하는 것처럼 말이죠!