vLLM Engine-Core to Worker Protocol
마지막 수정:
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가 갱신되는가?