vLLM Engine-Core to Worker Protocol

마지막 수정:

inferencevllmengine-coregpu-workerprotocol

vLLM 분석에서 가장 중요한 경계는 engine core와 GPU worker 사이다.

이 경계는 단순 함수 호출이 아니라 protocol처럼 봐야 한다.

Engine core -> Worker:
이번 step에 실행할 request 목록
request별 token 수
positions
KV block allocation 결과
sampling 관련 metadata

Worker -> Engine core:
model output
sampled token ids
request별 완료/진행 정보
KV cache write 결과

Engine core는 “무엇을 실행할지”를 정하고, worker는 “그것을 GPU에서 어떻게 실행할지”를 맡는다.

이 카드에서는 다음 질문을 중심으로 코드를 읽는다.

Scheduler output에는 어떤 field가 있는가?
Worker input으로 바뀌면서 어떤 tensor/metadata가 추가되는가?
Worker output은 request state를 갱신하기에 충분한가?

확인

  • Engine core와 worker 사이를 protocol로 보는 이유는 무엇인가?
  • Scheduler output과 model input은 왜 같은 데이터가 아닌가?
  • Worker output이 engine core로 돌아오면 어떤 request state가 갱신되는가?