Register and share your invite link to earn from video plays and referrals.

Silicon Atlas
@Silicon_Atlas
Evidence-first AI semiconductor analysis: what new silicon claims prove, where bottlenecks move, and whether gains survive at system and economic scale.
Joined March 2021
139 Following    2.9K Followers
The Roofline card put prefill and decode at opposite corners of one chart. Disaggregated serving takes that seriously. It gives each corner its own machines. Prefill processes the prompt tokens in parallel. It is typically compute-bound. Decode makes one token at a time, and every step reads the weights and a growing KV cache again. It is often memory-bandwidth-bound. Put both on one GPU and they share it. A long prompt can slow the chats already streaming on that GPU. Chunked prefill makes each stall shorter. It does not separate the two latency targets. You still tune one machine for two goals. Split them and each pool has one goal. You size the prefill pool for time to first token. You size the decode pool to keep tokens arriving steadily at the target load. The cost is the handoff. Prefill builds the KV cache for the request's context. Decode needs that cache, so it must cross the network. DistServe, Splitwise, Mooncake, and NVIDIA Dynamo all make this trade. They pay for a KV transfer so the two phases stop competing for the same GPU. The trade can fail. If the network is the slow part, you did not remove the bottleneck. You moved it. It is also not always needed. With short prompts or quiet traffic, one machine is fine. The split pays off when prefill takes a large share of GPU time. Don't make streaming chats wait on someone else's prompt.
Show more