# PRD: Distributed inference performance ## Problem Distributed decode already avoids full-prompt recomputation when the local KV path is active, but each Activation Seam can still pay transport and data-plane overhead for every generated token. Relay logs show a new `request_id` per token; that is correct correlation, but the old relay implementation also opened a new WebSocket per token. Direct hops and relay bridge forwarding use fresh HTTP requests as well. Without timing and byte measurements, compression, copy, and buffering choices cannot be ranked safely. ## Outcome For a cached Route Session, connection setup is amortized across the session, decode payloads remain one-step activations, progress reporting is bounded, and the benchmark can attribute latency to model execution, serialization, relay, HTTP, queueing, and backpressure. Optimizations must preserve output tokens, KV semantics, failure behavior, and compatibility with legacy one-shot peers. ## Non-goals - No speculative decoding or multi-token model execution in this feature. - No QUIC/WebRTC/custom transport rewrite. - No centralized Hot KV State. - No silent reuse of a `request_id`; each activation remains independently traceable. ## Acceptance criteria - A reproducible local two-node and relay benchmark reports per-token and per-seam timing plus bytes. - Cached decode does not perform a new TCP/WebSocket connection per token. - Direct and relay-to-local HTTP paths reuse connections safely or document why a path cannot do so. - Compression and copy decisions are based on recorded traces, not guesses. - Slow prefill consumers apply bounded backpressure rather than unbounded body buffering. - A benchmark regression threshold catches a meaningful transport slowdown.