A semester closing report across two PhD problem lines — agent-kvcache and MAS_comm — plus a standalone line, inference_improvement, that supplies the cost model the first depends on.
The semester ran two PhD problem lines (agent-kvcache, MAS_comm) and one standalone supporting line (inference_improvement), which supplies the per-step cost model agent-kvcache's scheduler consumes and is not a sub-direction of it.
Honestly read, the semester splits into validated work (the four-policy scheduling campaign, the CPU-offloading study, the trace tooling, a paused-but-validated continuum sweep) and open work (the inference_improvement predictor — a real result on 301K rows but on an unmerged branch with stale tables and a failing self-test — and the MAS_comm KV-communication goal, which still trades accuracy for marginal speed). Two named items, a JitServe baseline and a SimAI study, do not yet exist and are reported as not-started.
The map below is the spine of this report. Solid lines are the project hierarchy (three research lines plus side lines); the orange dashed lines are the connections that matter — one topic feeding another, or two topics that are the same underlying problem in two forms. Node colour encodes maturity.
The sub-topics are not a flat checklist; they feed one another. Naming the connections explicitly is the point of this report.
This is the primary PhD line and carried most of the semester's effort. The summary below first frames the line as a whole, and the subsections that follow walk each sub-topic from its validated empirical core to its open modeling frontier.
The semester's most solid result is a four-policy job-completion-time matrix on real agent trajectories, replayed token-by-token from recorded SWE-smith runs through a vLLM V1 logits processor, with per-step scheduler state captured. It spans four KV policies (FCFS, Continuum, SimpleCPUOffload, LMCache) × six GPU types × five concurrency levels.
The offloading sub-line answers one question cleanly: on a VRAM-pressured A100-40GB at JPS=10, SimpleCPUOffload cuts mean job time 169.4s→57.4s (2.95×), and a 128 GB DRAM pool captures 80–90% of Continuum's benefit with no custom scheduler. When HBM is not the bottleneck it is neutral, and an undersized 16 GB pool thrashes and is worse than nothing. Decision settled: offload only under VRAM pressure.
A single-file 272 KB browser viewer plus a 971-line server, live and serving 36 traces, renders the full per-step scheduler signal (batch classification, KV/DRAM pressure, break reasons, preemption timeline, prefix-hit distribution) — so the scheduling claims are inspectable rather than asserted.
The formal SLO model lives in an external Overleaf project with zero LaTeX in either checkout, so its objective and maturity cannot be assessed from the repositories and are treated as unverified. What is local is the calibrated latency model of §5 it would build on; the first task next term is to bring the Overleaf model under version control and connect the two.
inference_improvement is a research line in its own right — a separate repository (203 commits this term) with its own published deepdive series. It does not sit under agent-kvcache; it feeds it: its product is the per-step cost an SLO-aware scheduler must have — predict a decode step's wall-clock duration before dispatching it, on an unprofiled GPU, from datasheet parameters. Every ordering in agent-kvcache's scheduler (§4.1) is only as good as this estimate.
The most interesting, least settled piece is a per-operator roofline model of one forward step. On 301,366 real per-step rows it statistically rejected the paper's monolithic $\max(T_c, T_m) + T_0$ form on all three datacenter GPUs, reframing the empirical 'additive fits better' as a mechanism: summing each operator's own compute-vs-memory maximum is what produces the additive behaviour.
The live predictor writes one step as compute + exposed host residual + sampling, with the compute branch summing a per-operator roofline. The achieved efficiency factorizes into a clock factor times a clock-free delivery product (memory separate). The peak is an FMA-count identity — H100 $132 \times 4 \times 512 \times 2 \times 1.83\,\text{GHz} = 989.4$ TFLOP/s — yet a real qkv projection tops ~681 TFLOP/s (0.69 of spec) under DVFS.
Because decode steps are short, the non-overlapped host floor often dominates, so $S(N)$ must be calibrated to engine-step semantics, not generate() — a ~12.8× pitfall. The L40S floor was corrected from a stale 21.0 ms to 5.08 ms; the slope is ~0 on all four datacenter SKUs.
Recalibrated $s_{\text{floor}}$ (ms): H100 2.37 · H200 3.73 · A100-80 2.81 · L40S 5.08; held-out decode MAPE 1.3–1.4% on Hopper/Ampere; the measured floor is ~47% of the eager 8B step.
A camera-ready note makes the SM clock first-class: on the RTX 5090 (n=5) cap causally sets clock ($r=0.97$–$0.99$), clock sets throughput ($r\approx 1.00$), and a clock-lock collapses a 390 MHz spread to ~15 MHz (M=64: 114.82→99.49 TFLOP/s). An explicit clock factor cuts compute-bound error ~10× (36.7%→3.5%). On datacenter parts the chain is observational only (PACE denies clock-pinning).
Deep dives: The Clock Is Not a Constant (#13) · Clock & Power (#8)
The memory factor follows a single-curve L2-reuse saturation law (working-set over L2). As a standalone STREAM probe it collapses onto one curve across three SKUs at 4.59% pooled MAPE. But it does NOT transfer to real engine kernels (43.8% MAPE → live path uses the small-batch value), and a separate residency-cliff law that pre-registered 28.9 MB half-survival on a held-out L40S was honestly falsified out-of-distribution (observed 9–80 MB).
Deep dives: Worth the Bytes? (#2, ASPLOS) · L2 Residency (#6, IISWC 2026)
On an unseen SKU the fit-free predictor (zero target profiling) has lower error than a spec-scaled A100-trained random forest; a profiled forest can't even rank unseen hardware (88–135% without rescaling). On the home A100 the memorizing forest still has lower error (1.14% vs 8.51%) — so the honest win is non-intrusiveness, not home accuracy. Metric divergence: round-1 factors improved Vidur's simulator metric but worsened real wall-clock decode, because Vidur GT cancels per-op errors and omits host overlap. The base predictor (not v2) ships.
Full write-ups: Predictor Project Report (#10) · Predictor Experiments (#11) · Fit-Free Transfer (#4, ISPASS 2026) · GPU Datapath (#1) · The Host Term (#7)
The second main line attacks the same KV-reuse question from the angle of communication between agents. The frame below states the problem and its connection to the primary line, after which each subsection reports one piece — from the mature CacheBlend replication to the open MAS-integrated transfer.
A HuggingFace port of CacheBlend (arXiv 2405.16444), validated end-to-end on real GPUs, produced a genuine finding: the near-parity is dataset-dependent. On Musique/SamSum, blended reuse matches full prefill (Musique rr=0.50: F1 0.261 vs 0.248), but on WikiMQA it collapses (F1 0.082 vs 0.182), and the paper-default ratio 0.18 underperforms the baseline on Llama-3.1-8B. The replication is partial and honest, not a clean confirmation.
The mechanical foundation is solid: single-agent KV reuse is validated at 3.5× prefill-skip (1.08s→0.31s), 8-bit KV quantization is reversible at 4.0× (MSE 2.6e-2), and a 22-layer round-trip is lossless. The open problem is composing them across agents.
This is the headline goal of the whole line, and the one piece that does not yet work: the mechanism is in place end to end, but importing a cache verbatim across agents trades a large accuracy loss for marginal speed, so the result below is reported as a measured negative.
A parallel branch wraps the system in a backend-agnostic inference layer (~2,470 LOC, a ModelClient abstraction over vLLM/OpenAI/litellm/HF) exposing vLLM's prefix-caching and KV-transfer connectors, since PagedAttention cannot export per-layer KV like the HF path. The code is complete and unit-tested, but every passing test injects mocks — no real-GPU run, no committed reuse numbers, validation scripts still untracked. The capability is unproven on a live server, and conceptually weaker than CacheBlend's arbitrary cross-context reuse (it reuses only identical prefixes).
Beyond the two main lines, a band of secondary work sits at three different stages, and the cards below separate them honestly: one side line is paused with validated results behind it, one is actively producing the published predictor deepdives, and two named items do not exist as projects and are recorded as not-started.
The original continuum fork and ancestor of the best-performing policy. Validated sweep: Continuum cuts latency 50–74% vs FCFS (H100 JPS=15: 738.8s→271.6s, 15/15 on H100+H200), plus a validated negative (LMCache 4–19% slower on large-VRAM GPUs). Paused 2026-04-08 with A100/L40S cells incomplete.
The survey site (489 commits, 114 in June) is where the predictor work is published — the six measurement deepdives (#1–#6) and predictor reports (#10–#12) this report links. infer_labs hands-on pages have drifted uncommitted since 2026-04-14.
Reported honestly as not-started. An exhaustive search across lab, PACE, the engine-room fork, and PACE scratch returned zero artifacts for either. JitServe is not even among the four wired baselines, and SimAI / CC_ENABLE=3 exists only as April-dated documentation.
One row per topic: the maturity label that reproduces on disk, last-activity date, and a one-line headline. On a narrow screen the table scrolls sideways within its own frame.
| Line | Topic | Status | Last active | Headline |
|---|---|---|---|---|
| agent-kvcache | (line) | active | 2026-06-15 | Primary line; scheduling, offloading, and tooling validated |
| agent-kvcache | scheduling campaign | validated | 2026-06-11 | Continuum 3.3–4.7× JCT; 4-policy × 6-GPU matrix |
| agent-kvcache | cpu-offloading | validated | 2026-06-10 | Offload helps only under VRAM pressure: −66% / 2.95× |
| agent-kvcache | trace-viewer | validated | 2026-05-12 | Live 272KB viewer + server, 36 traces served |
| inference_improvement | (line) | active | 2026-06-30 | Standalone line; supplies agent-kvcache's cost model; published deepdive series |
| inference_improvement | clock note | validated | 2026-06-30 | a cap-to-clock-to-throughput causal chain; validated n=5 per-SKU droop (#13) |
| inference_improvement | L2-reuse law | validated | 2026-06-16 | single-curve η_mem fit 4.59% MAPE; cliff law honestly falsified (#2,#6) |
| inference_improvement | unified predictor | in-progress | 2026-06-30 | 301K rows; max-form rejected; tables stale, branch unmerged |
| inference_improvement | cross-GPU transfer | replayed | 2026-06-15 | 1.56× on unseen H100 (Vidur metric, not wall-clock) |
| agent-kvcache | math-modeling (SLO) | in-progress | 2026-06-15 | Formal SLO model only in Overleaf; unverifiable locally |
| agent-kvcache | jitserve-baseline | not started | — | Zero artifacts anywhere; not a wired baseline |
| MAS_comm | (line) | in-progress | 2026-05-29 | CacheBlend mature; MAS KV integration not validated |
| MAS_comm | CacheBlend HF port | in-progress | 2026-05-29 | Dataset-sensitive: parity on Musique/SamSum, collapse on WikiMQA |
| MAS_comm | MAS-integrated KV comm | in-progress | 2026-05-29 | 66.7% acc vs 92% text, only 1.05× speedup |
| MAS_comm | MAS_comm_wt_vllm | in-progress | 2026-06-19 | vLLM backend + prefix-cache knobs; no real-GPU run |
| side | vllm-continuum | paused | 2026-04-08 | 50–74% latency cut validated; A100 cells incomplete |
| side | agentic-ai-survey / predictor | active | 2026-06-30 | Predictor deepdives active (#1–6, #10–12); hands-on uncommitted |
| side | simai_pd_staging | not started | — | Absent as project; April docs only |
The priorities follow directly from the open items above, organised by two themes: stabilize the promising-but-unstable work (chiefly the forward-latency model, which must reproduce its own tables first), and convert the implemented-but-unvalidated work into measured evidence (chiefly MAS_comm's KV communication and the vLLM branch). The six items below are ordered lowest-cost, highest-impact first.
Fix the self-test bound, regenerate the stale R²/MAPE tables, pin the predictor commit, then merge unified-modeling to main. Do not cite the current numbers until they reproduce.
Score the calibrated predictor on agent-kvcache's real SWE-smith per-step features — the first cross-project validation, no GPU needed.
Implement a real cross-context re-encoding hook (RoPE re-application / boundary-token recompute) so KV transfer stops regressing accuracy from ~92% to ~60%.
Run the prefix-reuse demo on a live server and commit measured hit-rate and latency-savings numbers.
Export the Overleaf SLO model into the repo, ground it in the calibrated predictor, and cross-validate the fleet simulator against the measured JCT matrix.
Resume or retire vllm-continuum, commit the drifting infer_labs output, and reconcile the mismatched paper-IDs and PACE paths with the advisor.