83 lines
6.5 KiB
XML
83 lines
6.5 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900" role="img" aria-labelledby="title desc">
|
||
<title id="title">Schematic latency-selection evaluation matrix</title>
|
||
<desc id="desc">Schematic, not measured data: dense and MoE rows, four P-only and P-plus-decode workloads, then a real-versus-simulator config-selection protocol.</desc>
|
||
<style>
|
||
.title { font-family: Arial, sans-serif; font-size: 30px; font-weight: bold; fill: #16212e; }
|
||
.h { font-family: Arial, sans-serif; font-size: 18px; font-weight: bold; fill: #243142; }
|
||
.b { font-family: Arial, sans-serif; font-size: 15px; fill: #354052; }
|
||
.s { font-family: Arial, sans-serif; font-size: 12px; fill: #4a5564; }
|
||
.t { font-family: Arial, sans-serif; font-size: 11px; fill: #4a5564; }
|
||
</style>
|
||
<rect width="1600" height="900" fill="white"/>
|
||
<rect x="45" y="28" width="1510" height="58" rx="12" fill="#fff3cd" stroke="#d79c11" stroke-width="2"/>
|
||
<text x="800" y="66" text-anchor="middle" class="title" fill="#714e00">SCHEMATIC — NOT MEASURED DATA</text>
|
||
<text x="70" y="126" class="title">Can a simulator select the same low-latency config as the real engine?</text>
|
||
<text x="70" y="153" class="b">Each model × workload × metric is one tuning task. Lower latency is better; SLO and capacity are not selection objectives.</text>
|
||
|
||
<text x="70" y="200" class="h">Frozen evaluation matrix</text>
|
||
<text x="365" y="215" text-anchor="middle" class="h">Fixed-P</text>
|
||
<text x="365" y="236" text-anchor="middle" class="s">ISL=2048 · OSL=1 · QPS=4</text>
|
||
<text x="575" y="215" text-anchor="middle" class="h">Fixed-PD</text>
|
||
<text x="575" y="236" text-anchor="middle" class="s">ISL=2048 · OSL=128 · QPS=4</text>
|
||
<text x="785" y="215" text-anchor="middle" class="h">Trace-P</text>
|
||
<text x="785" y="236" text-anchor="middle" class="s">exact input/arrival/prefix · OSL=1</text>
|
||
<text x="995" y="215" text-anchor="middle" class="h">Trace-PD</text>
|
||
<text x="995" y="236" text-anchor="middle" class="s">exact input/output/arrival/prefix</text>
|
||
|
||
<text x="92" y="317" class="h">Dense</text>
|
||
<text x="92" y="341" class="t">Qwen/Qwen3.6-27B</text>
|
||
<text x="92" y="357" class="t">community vLLM; profile pending</text>
|
||
<g fill="#f4f6f8" stroke="#aab6c5" stroke-width="1.5" stroke-dasharray="6 4">
|
||
<rect x="260" y="260" width="210" height="125" rx="8"/><rect x="470" y="260" width="210" height="125" rx="8"/>
|
||
<rect x="680" y="260" width="210" height="125" rx="8"/><rect x="890" y="260" width="210" height="125" rx="8"/>
|
||
</g>
|
||
<g class="b" text-anchor="middle">
|
||
<text x="365" y="315">P-only</text><text x="365" y="340">TTFT, E2E · TPOT N/A</text>
|
||
<text x="575" y="315">Prefill + decode</text><text x="575" y="340">TTFT, TPOT, E2E</text>
|
||
<text x="785" y="315">P-node trace replay</text><text x="785" y="340">output normalized to 1</text>
|
||
<text x="995" y="315">Joint trace replay</text><text x="995" y="340">prefix/KV state retained</text>
|
||
</g>
|
||
<text x="680" y="373" text-anchor="middle" class="t">New Qwen3.6/community-vLLM profile contract; old internal-vLLM artifacts excluded.</text>
|
||
|
||
<text x="92" y="475" class="h">MoE</text>
|
||
<text x="92" y="498" class="t">Qwen3-30B-A3B</text>
|
||
<text x="92" y="514" class="t">community vLLM 0.20</text>
|
||
<g fill="#eaf2fb" stroke="#7d9fbe" stroke-width="1.5">
|
||
<rect x="260" y="415" width="210" height="125" rx="8"/><rect x="470" y="415" width="210" height="125" rx="8"/>
|
||
<rect x="680" y="415" width="210" height="125" rx="8"/><rect x="890" y="415" width="210" height="125" rx="8"/>
|
||
</g>
|
||
<g class="b" text-anchor="middle">
|
||
<text x="365" y="467">historical raw P pilot</text><text x="365" y="492">re-run as 600-s matrix</text>
|
||
<text x="575" y="467">trace materializer exists</text><text x="575" y="492">real surface pending</text>
|
||
<text x="785" y="467">derive held-out trace</text><text x="785" y="492">force OSL=1 only</text>
|
||
<text x="995" y="467">T1 simulator has stalls</text><text x="995" y="492">real surface pending</text>
|
||
</g>
|
||
|
||
<rect x="1160" y="195" width="365" height="345" rx="14" fill="#fbfcfe" stroke="#7d8c9c" stroke-width="2"/>
|
||
<text x="1342" y="230" text-anchor="middle" class="h">Per-objective selection</text>
|
||
<rect x="1185" y="252" width="315" height="70" rx="8" fill="#eef7ef" stroke="#aab6c5" stroke-width="1.5"/>
|
||
<text x="1342" y="280" text-anchor="middle" class="h">Real engine</text>
|
||
<text x="1342" y="304" text-anchor="middle" class="s">3 fresh-server trials → bootstrap top set</text>
|
||
<path d="M1342 322 L1342 346" stroke="#5a6775" stroke-width="2.5"/>
|
||
<polygon points="1336,342 1348,342 1342,351" fill="#5a6775"/>
|
||
<rect x="1185" y="358" width="315" height="70" rx="8" fill="#edf4fb" stroke="#aab6c5" stroke-width="1.5"/>
|
||
<text x="1342" y="386" text-anchor="middle" class="h">Simulator</text>
|
||
<text x="1342" y="410" text-anchor="middle" class="s">complete request metrics → exact top set</text>
|
||
<path d="M1342 428 L1342 452" stroke="#5a6775" stroke-width="2.5"/>
|
||
<polygon points="1336,448 1348,448 1342,457" fill="#5a6775"/>
|
||
<rect x="1185" y="464" width="315" height="54" rx="8" fill="#fff7e8" stroke="#aab6c5" stroke-width="1.5"/>
|
||
<text x="1342" y="488" text-anchor="middle" class="h">coverage · hit · regret · τ-b</text>
|
||
<text x="1342" y="508" text-anchor="middle" class="t">report all four; never collapse a missing cell into “slow”</text>
|
||
|
||
<line x1="70" y1="595" x2="1530" y2="595" stroke="#c5ced8" stroke-width="1.5"/>
|
||
<text x="70" y="637" class="h">Decision gates</text>
|
||
<text x="70" y="672" class="b">1. Valid trace/usage and finite applicable metrics.</text>
|
||
<text x="70" y="703" class="b">2. Simulator covers every real-valid config; crash or scheduler stall is a coverage failure, not a latency value.</text>
|
||
<text x="70" y="734" class="b">3. For every mean/p90 objective: top-set hit, worst tie-break regret ≤5%, and τ-b reported.</text>
|
||
<rect x="1060" y="627" width="470" height="118" rx="10" fill="#fff3cd" stroke="#d79c11" stroke-width="1.5"/>
|
||
<text x="1085" y="658" class="h">Information boundary</text>
|
||
<text x="1085" y="686" class="s">Profiles/calibration are frozen before evaluation and disjoint from held-out trace sessions.</text>
|
||
<text x="1085" y="710" class="s">No per-config E2E scale, post-hoc patch, or simulator-guided real subsetting.</text>
|
||
<text x="70" y="850" class="t">Protocol status only: this figure does not contain experiment measurements. See experiment-card.md for trace contracts, candidate surface, provenance, and cost gate.</text>
|
||
</svg>
|