Skip to content

docs(scheduler): spike chunked prefill parity - #16

Open
localai-org-maint-bot wants to merge 1 commit into
mudler:mainfrom
localai-org-maint-bot:codex/eng-chunked-prefill-spike
Open

docs(scheduler): spike chunked prefill parity#16
localai-org-maint-bot wants to merge 1 commit into
mudler:mainfrom
localai-org-maint-bot:codex/eng-chunked-prefill-spike

Conversation

@localai-org-maint-bot

Copy link
Copy Markdown
Contributor

Outcome

Moves ENG-CHUNKED-PREFILL from ANCHOR-BACKFILL to SPIKE with an accepted, CPU-only contract for the already-shipped basic token-budget chunking slice. No runtime support claim advances and no executable file changes.

Design selected

I evaluated three scopes:

  1. implement a new scheduler feature, which would require unavailable GPU performance gates;
  2. backfill the whole unified scheduler, which is too broad for one focused PR;
  3. backfill the bounded basic chunked-prefill row and split independently gateable adjacent modes.

This PR chooses option 3. The accepted spec covers prompt splitting by the remaining token budget, concurrent partial-prefill admission, long_prefill_token_threshold, incomplete-prefill state/output behavior, and the chunking-disabled ordering gate. Multimodal boundaries, Mamba alignment and fine-grained prefix stops, DP prefill throttling, pooling policy, and configurable partial-prefill limits remain explicitly separate.

The audit found three missing pin-era CPU behavioral groups before the existing implementation can advance: shared-budget partial requests, disabled-chunking ordering, and the 400/400/224 concurrent distribution with prefix caching on/off. GPU recipe definition and every-axis closure remain pending until that semantic CPU leaf passes.

Evidence

Pinned vLLM 5559679229bc961848b121ccdeaa8fa5d79bec98:

  • config: vllm/config/scheduler.py:58-91,126-136,261-310
  • running scheduling: vllm/v1/core/sched/scheduler.py:427-561
  • waiting scheduling: vllm/v1/core/sched/scheduler.py:640-930
  • partial-output/discard contract: vllm/v1/core/sched/scheduler.py:1845-1900
  • tests: tests/v1/core/test_scheduler.py:271-333,589-661,988-1020,1433-1517

Local anchors and the CP0-CP3 breakdown are in .agents/specs/chunked-prefill.md.

Verification

All CPU/record gates pass on a17b3816:

  • python3 scripts/check-agent-record.py (ENGINE=131, MODEL=327, QUANT=82, KERNEL=45, BACKEND=68)
  • python3 tests/scripts/test_agent_record.py (13 mutation tests)
  • python3 scripts/check-doc-checkpoint.py --staged and --commit HEAD
  • python3 tests/scripts/test_doc_checkpoint.py (5 tests)
  • python3 scripts/check-readme-structure.py
  • python3 tests/scripts/test_check_readme_structure.py (18 mutation tests)
  • python3 scripts/check-model-checklist.py
  • python3 scripts/check-fusion-consistency.py
  • python3 scripts/check-device-leakage.py
  • python3 scripts/check-env-doc.py
  • git diff --cached --check

This host has no cmake; no build is claimed or required for this records-only change. No C/C++, CMake, test, fixture, model, kernel, generated artifact, README, or performance number changed.

Benchmark disposition

NOT APPLICABLE (benchmark_binding=false) for this records-only spike. The next executable reproduction is the CPU CP1 gate in the spec. Exact GPU workload/commands are recipe-definition PENDING until CP1 fixes the semantic workload.

Slack

The required selection notification was attempted through the bundled secret-safe sender. No channel is configured; #general returned channel_not_found. No credential was read or exposed.

FOLLOWING_AGENTS_PROTOCOL

Backfill the pinned-vLLM contract, current implementation anchors, missing CPU test groups, dependencies, and staged correctness/performance gates for ENG-CHUNKED-PREFILL.

FOLLOWING_AGENTS_PROTOCOL

Assisted-by: Codex:gpt-5 [Codex]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant