<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hardware Architecture on Jaehun's Blog</title><link>https://jaehun.me/en/tags/hardware-architecture/</link><description>Recent content in Hardware Architecture on Jaehun's Blog</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Fri, 18 Sep 2026 10:25:57 +0900</lastBuildDate><atom:link href="https://jaehun.me/en/tags/hardware-architecture/index.xml" rel="self" type="application/rss+xml"/><item><title>The Other Half of the Memory Wall: Serving 35B MoEs from SSD with Trained Routing Prediction</title><link>https://jaehun.me/en/posts/paper-2609-18063/</link><pubDate>Fri, 18 Sep 2026 00:00:00 +0900</pubDate><guid>https://jaehun.me/en/posts/paper-2609-18063/</guid><description>&lt;p&gt;&lt;a&#10; href="https://arxiv.org/abs/2609.18063"target="_blank"&#10; class="inline-flex items-center gap-1"&#10; &gt;Paper&lt;svg class="h-3 w-3 flex-shrink-0" id="external-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/&gt;&lt;/svg&gt;&#10; &lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="waking-the-moe-on-ssd-serving-a-35b-moe-at-20-toks-on-a-24-gb-desktop-with-edge0"&gt;Waking the MoE on SSD: Serving a 35B MoE at 20 tok/s on a 24 GB Desktop with Edge0&lt;a href="#waking-the-moe-on-ssd-serving-a-35b-moe-at-20-toks-on-a-24-gb-desktop-with-edge0" class="heading-anchor" aria-label="Link to this section"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h2 id="one-line-summary-tldr"&gt;One-line summary (TL;DR)&lt;a href="#one-line-summary-tldr" class="heading-anchor" aria-label="Link to this section"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Even at 4-bit, a 35B-class MoE occupies 19.5 GB and cannot reside on a 24 GB machine (source: §1). Edge0 keeps expert weights on SSD and reads them with mmap streaming, hides disk latency behind compute with a prerouter that predicts next-layer routing one token ahead, consumes that prediction itself as routing to eliminate drops, and repays int4 + routing-replacement loss with an unmerged recovery LoRA (source: §3.2, §3.3). The result is 20.4 tok/s on the 35B tier on a 24 GB Mac mini M4 Pro, 2.9 GiB peak active memory, and a 3.9-point average gap to the fp16 teacher (source: Tab.1, Tab.2).&lt;/p&gt;</description></item></channel></rss>