Skip to content

[Docs] Explain synchronous and asynchronous speculation timelines - #145

Merged
bjf-frz merged 1 commit into
mainfrom
docs/async-speculation-timeline
Oct 24, 2026
Merged

bjf-frz merged 1 commit into
mainfrom
docs/async-speculation-timeline

Conversation

@bjf-frz

@bjf-frz bjf-frz commented Oct 24, 2026

Copy link
Copy Markdown
Collaborator

Purpose

Add a visual comparison of synchronous and asynchronous self-speculation to the speculation guide, before configuration instructions.

The timeline follows Round 0 and Round 1 across CPU, compute_stream and copy_stream. Matching acceptance/commit blocks, explicit start/end markers and a shared Round 1 completion guide show how later computation overlaps prior result delivery. R0–R3 denote recurrent depths. Timings, including slightly shorter GPU acceptance, are illustrative assumptions rather than measurements.

Includes editable SVG, 2× PNG, an offline viewer tab, implementation references, and links from README, architecture and scheduler documentation. Runtime and test code are unchanged.

Required human contributor answers

The following summarizes the contributor's explicit requirements and approval during the diagram review; private discussion is not reproduced. The final reviewed design is linked above.

1. What outcome are you trying to achieve?

Make synchronous versus asynchronous speculative execution understandable through a concrete timeline.

2. What is the highest-leverage variable for that outcome?

Visual correspondence: use the same time scale, matching operations and explicit round boundaries so readers can compare progress at the same instant.

3. How will this work move that variable rather than create busywork?

Show only two rounds, distinguish CPU/compute/copy activity, and align synchronous Round 1 completion with asynchronous completion. Keep a compact legend instead of another explanatory panel.

4. Who is the customer or user, and what do they actually need?

The contributor reviewing the inference architecture and readers of its documentation need to see dependencies, remaining waits and the source of cross-round overlap.

PR necessity and bugfix evidence

The contributor explicitly requested publishing the approved diagram and documentation as a PR for review. This is a documentation change, not a runtime bugfix.

Test Plan

vllm-rlt Version / Commit: base e5e58c2b26df444b8494807ee4856309420c77e5; head e15cb76f340499214c2e441e750c7edcf1f14a23.

  • Inspect rendered PNG, validate SVG/XML and 5400 × 3240 PNG dimensions.
  • Check timeline links, section anchor, viewer tab/panel and git diff --check.
  • Run pre-commit run --all-files.
  • Reproduce any regression-test failure on the unchanged base.

Test Result

  • Visual inspection, asset/link checks and whitespace checks passed.
  • Ruff lint and Ruff format passed.
  • CPU suite: 854 passed, 342 skipped, 1 failed.
  • The failure, tests/test_gsm8k_accuracy.py::test_run_refuses_the_stored_baseline_at_another_depth, reproduces on untouched base e5e58c2 in the same environment. Importing lm_eval.models.hf_vlms raises AttributeError: module transformers has no attribute AutoModelForVision2Seq.
  • No GPU/performance runs: documentation and diagram assets only; no measured speedup is claimed.

Signed-off-by: bjf-frz <frz123db@gmail.com>
@bjf-frz
bjf-frz merged commit 66920da into main Oct 24, 2026
1 check passed
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