본문으로 건너뛰기

PD Disaggregation (Prefill–Decode 분리)

[!tldr] 업무 관점 takeaway Prefill GPU와 Decode GPU를 분리하는 분산 추론 구조. 분리하면 KV Cache를 노드 간에 옮겨야 한다 → [[LMCache-아키텍처|LMCache Transport Mode]]가 존재하는 이유. 우리 [[Mission|미션]]에서는 Storage Mode가 주력이지만, PD Disaggregation 환경의 로컬 SSD 중간 버퍼(prefill 결과를 임시 보관)는 FDP 적용 가능 부수적 타겟.


왜 분리하는가 — Prefill ≠ Decode

PrefillDecode
동작입력 전체 토큰 attention 계산토큰 하나씩 생성
계산량많음 (batch 크기↑로 efficiency)적음
특성throughput-orientedlatency-oriented
GPU 점유길게 점유짧고 자주

같은 GPU에서 처리하면:

  • Prefill이 GPU를 길게 점유
  • Decode 요청 대기 → [[TTFT-ITL|TTFT]] 폭증

→ 분리해서 각 워크로드에 맞는 GPU 자원 할당.


분리하면 생기는 문제 — KV Cache 전송 필요

Prefill GPU가 만든 KV Cache를 Decode GPU가 받아야 함.

[Prefill GPU]
│ KV Cache 전송 (P2P)

[Decode GPU]

전송 수단:

  • NIXL (NVIDIA Inference Xfer Library) — P2P 저지연
  • RDMA / InfiniBand
  • 또는 로컬 SSD를 중간 버퍼로

LMCache와의 관계

[[LMCache-아키텍처|LMCache Mode 2 (Transport Mode)]]가 정확히 이 기능. NIXL 같은 P2P 통신으로 노드 간 KV 전송.

[!note] FDP 관점에서는 부수적 Transport Mode는 네트워크 중심 → FDP 직접 적용 포인트 적음. 단, 로컬 SSD를 중간 버퍼로 쓰는 경우(짧은 lifetime KV) FDP RUH로 hot bucket에 격리하면 의미 있음.


평가 결과

LMCache 논문 기준 PD 분리 + chunk 전송:

  • TTFT 1.53–1.84× ↓
  • ITL 1.12–1.66× ↓

(page-by-page 전송 대비 chunk batched 전송만으로 큰 차이)


관련 페이지

  • [[KV-Cache]] — 전송 대상
  • [[LMCache-개요]] — Transport Mode 제공
  • [[LMCache-아키텍처]] — Mode 2 설명
  • [[vLLM-PagedAttention]] — chunk 전송이 왜 page보다 효율적인가
  • [[TTFT-ITL]] — 분리로 개선되는 지표