<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Disaggregation on </title>
    <link>https://hiren.me/tags/disaggregation/</link>
    <description>Recent content in Disaggregation on </description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Fri, 25 Sep 2026 11:10:00 -0700</lastBuildDate>
    <atom:link href="https://hiren.me/tags/disaggregation/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Inference disaggregation (part 2): moving the cache</title>
      <link>https://hiren.me/posts/inference-disaggregation-part-2/</link>
      <pubDate>Fri, 25 Sep 2026 11:10:00 -0700</pubDate>
      <guid>https://hiren.me/posts/inference-disaggregation-part-2/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://hiren.me/posts/inference-disaggregation-part-1/&#34; &gt;Part 1&lt;/a&gt; showed why you&amp;rsquo;d split prefill and decode onto different GPUs: a long prefill on the same GPU makes everyone who is already decoding there wait. Splitting has a price, though. The KV cache that prefill builds has to move to the GPU that does decode. The &lt;a href=&#34;https://hiren.me/posts/watching-a-kv-cache-grow-part-3/&#34; &gt;offload post&lt;/a&gt; (part 3 of Watching a KV cache grow) predicted that moving a 32k-token cache would add about 3% to prefill over a 400 Gb/s link and about 12% over 100 Gb/s. This post measures the fastest case, within one machine, on real hardware.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Inference disaggregation (part 1): why split prefill and decode</title>
      <link>https://hiren.me/posts/inference-disaggregation-part-1/</link>
      <pubDate>Fri, 25 Sep 2026 11:05:00 -0700</pubDate>
      <guid>https://hiren.me/posts/inference-disaggregation-part-1/</guid>
      <description>&lt;p&gt;In &lt;a href=&#34;https://hiren.me/posts/watching-a-kv-cache-grow/&#34; &gt;Watching a KV cache grow&lt;/a&gt; I looked at the two phases of LLM inference: prefill, which processes a whole prompt in one go, and decode, which produces one token at a time. They behave very differently. Prefill is one big burst of work that scales with the prompt. Decode is a long run of small steps, each one reading the whole KV cache.&lt;/p&gt;&#xA;&lt;p&gt;Disaggregated inference splits the work of serving a model across separate hardware. The most common form, and the one this series starts with, runs prefill and decode on different GPUs. Other forms split each layer&amp;rsquo;s attention and feed-forward parts onto different chips, or keep the KV cache in its own memory pool shared by many GPUs.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
