[Paper] FlowPrefill: Preemption과 Prefill Scheduling Granularity 분리를 통한 LLM Serving에서 Head‑of‑Line Blocking 완화

발행: (2026년 2월 19일 오전 01:57 GMT+9)
8 분 소요
원문: arXiv

Source: arXiv - 2602.16603v1

개요

대규모 언어 모델(LLM)은 대량으로 서비스되고 있으며, 모델이 초기 프롬프트를 처리하는 “prefill” 단계가 종종 병목 현상이 됩니다. 장시간 실행되는 프롬프트는 짧고 우선순위가 높은 요청을 차단하여 첫 토큰 도달 시간(TTFT) 위반을 초래할 수 있습니다. 논문 FlowPrefill은 요청을 언제 선점할 수 있는지와 작업을 얼마나 세밀하게 청크로 나누는지를 분리하는 새로운 서빙 아키텍처를 제안하여, 헤드‑오브‑라인(HoL) 차단을 크게 줄이면서도 처리량을 높게 유지합니다.

주요 기여

  • Operator‑Level Preemption: 모델 연산자(예: attention, feed‑forward) 사이의 자연스러운 경계를 이용해 요청을 작은 비효율적인 청크로 나누지 않고도 일시 중지하고 재개합니다.
  • Event‑Driven Scheduling: 스케줄링 결정은 요청이 도착하거나 완료될 때만 이루어져, 기존 스케줄러의 지속적인 폴링 오버헤드를 없앱니다.
  • TTFT‑Goodput Optimizer: 지연 시간(TTFT)과 전체 goodput을 동적으로 균형 맞추는 경량 런타임으로, 요청마다 이질적인 SLO를 고려합니다.
  • Real‑World Evaluation: 프로덕션 수준 트레이스를 사용한 실험에서 기존 최고의 LLM 서빙 시스템 대비 최대 5.6배까지 goodput을 향상시키면서 다양한 지연 목표를 만족시켰습니다.

방법론

  1. Decoupling Granularity from Frequency – 청크 크기를 고정하는 대신(예: “10 토큰을 처리하고 프리엠션을 확인”), FlowPrefill는 스케줄러가 언제 개입할지(이벤트‑드리븐)와 어디서 개입할지(연산자 경계)를 결정하도록 합니다.
  2. Operator‑Level Hooks – 저자들은 트랜스포머 구현에 도구를 삽입하여 각 연산자를 안전하게 체크포인트하고 재개할 수 있게 했습니다. 이를 통해 작은 토큰‑레벨 청크의 계산 낭비 없이 세밀한 프리엠션이 가능합니다.
  3. Scheduler Logic – 중앙 컨트롤러가 대기 중인 요청들의 우선순위 큐를 유지합니다. 새로운 요청이 도착하거나 기존 요청이 연산자를 완료하면 스케줄러는 다음에 실행할 요청을 재평가하며, TTFT SLO가 더 엄격한 요청을 우선시합니다.
  4. Simulation & Trace Replay – 그들은 실제 프로덕션 LLM 서비스의 트래픽 로그를 재생하면서 짧은 프롬프트와 긴 프롬프트를 다양한 지연 예산과 함께 삽입하고, FlowPrefill를 기본 청크‑프리필 및 최신 시스템(예: vLLM, TGI)과 비교했습니다.

Results & Findings

지표베이스라인 (청크 프리필)FlowPrefill
최대 처리량 (요청/초)1.0× (reference)5.6×
99번째 백분위수 TTFT SLO 위반38 %7 %
GPU 평균 활용도68 %92 %
스케줄러 오버헤드 (CPU %)12 %3 %
  • 지연 시간 vs. 처리량 트레이드‑오프 해결: 연산자 경계에서 선점함으로써 FlowPrefill은 GPU를 지속적으로 사용(높은 활용도)하면서도 고우선순위 요청을 앞당겨 처리합니다.
  • 컨트롤‑플레인 효율성: 이벤트‑드리븐 스케줄링은 스케줄러 깨우기를 80 % 이상 감소시켜 CPU 사이클을 다른 서빙 작업에 할당합니다.
  • SLO 이질성: 시스템은 수동 튜닝 없이도 혼합된 지연 시간 예산(예: 인터랙티브 채팅 vs. 배치 요약)을 자동으로 충족합니다.

Practical Implications

  • For Cloud LLM Providers: FlowPrefill을 배포하면 GPU당 동시 사용자 수가 증가하여 토큰당 비용이 낮아지고 SLA 준수가 향상됩니다.
  • For Application Developers: API 인터페이스는 그대로이며, 개발자는 요청당 TTFT 마감시간만 지정하면 런타임이 나머지를 처리합니다.
  • Edge / On‑Device Inference: 낮은 오버헤드 스케줄러 덕분에 제한된 하드웨어(예: 데이터센터 팟의 추론 가속기)에서도 다중 테넌트 LLM 서비스를 실행할 수 있습니다.
  • Integration Path: FlowPrefill의 연산자 수준 훅은 기존 PyTorch/Transformers 커널을 감싸는 얇은 래퍼로 구현되어 있어, 기존 서빙 스택(vLLM, TGI, Triton)에 최소한의 코드 변경만으로 적용할 수 있습니다.

Limitations & Future Work

  • Model Compatibility: 현재 프로토타입은 표준 트랜스포머 아키텍처를 대상으로 합니다; 혼합‑전문가(mixture‑of‑experts), 순환 어댑터(recurrent adapters)와 같은 이색 모델은 추가적인 연산자 계측이 필요할 수 있습니다.
  • Memory Overhead: 연산자 상태를 체크포인팅하면 GPU 메모리가 약간 추가로 소모됩니다(≈5 %); 매우 큰 컨텍스트 윈도우는 메모리 한계에 도달할 수 있습니다.
  • Distributed Scaling: 이 논문은 단일 노드 GPU 스케줄링에 초점을 맞추고 있습니다. 네트워크 지연을 고려한 다중 노드 클러스터 전반에 이벤트‑드리븐 프리엠션 로직을 확장하는 작업은 향후 연구 과제로 남겨둡니다.
  • Adaptive Learning: 향후 버전에서는 강화 학습 기반 SLO 예측을 도입해 변동성이 큰 워크로드 환경에서 프리엠션 결정을 더욱 정교하게 다듬을 수 있습니다.

저자

  • Chia-chi Hsieh
  • Zan Zong
  • Xinyang Chen
  • Jianjiang Li
  • Jidong Zhai
  • Lijie Wen

논문 정보

  • arXiv ID: 2602.16603v1
  • 분류: cs.DC, cs.AI
  • 출판일: 2026년 2월 18일
  • PDF: PDF 다운로드
0 조회
Back to Blog

관련 글

더 보기 »