Das Google-Team hat llm-d 1.0 veröffentlicht, die erste stabile Version seines verteilten Inferenz-Stacks. Diese Open-Source-, Kubernetes-native Schicht verwandelt vLLM- oder SGLang-Modellserver in einen einzigen koordinierten Pool. Veröffentlicht wurde er auf der PyTorch Conference North America. Er zielt auf selbst gehostete Agenten- und RL-Workloads ab, bei denen Round-Robin-Lastverteilung versagt.
TL;DR
- Ein Serving-Stack: Google berichtet von einem veröffentlichten Benchmark auf einer 17,000-Knoten-Multi-Region-GKE-Bereitstellung.
- Läuft auf: Kubernetes mit NVIDIA-, AMD- oder Intel-GPUs oder Google TPUs, über vLLM oder SGLang.
- Leistung: Von Anbietern gemeldete Gewinne stammen aus Cache-bewusstem Routing, gestaffeltem KV-Cache-Offload und Prefill/Decode-Disaggregation.
- Beste Fall: Median-TTFT um mehr als 85% reduziert, mit 2.4x Durchsatz, auf einer Ironwood-TPU-Coding-Workload.
- Schlechtester Fall: RL-Time-Slicing hebt die Auslastung der Beschleuniger nur auf über 70%, sodass etwa 30% Leerlaufzeit verbleiben.
Was ist llm-d 1.0?
llm-d wurde 2025 von Red Hat, IBM, Google Cloud, CoreWeave und NVIDIA gegründet. Red Hat, IBM und Google sind die hauptverantwortlichen Maintainer. Das Projekt zählt mehr als 500 Beitragende aus über 25 Organisationen. Es ist ein CNCF-Sandbox-Projekt, angenommen am 12. März 2026, und ist lizenziert unter Apache 2.0.
Prefix-bewusstes Routing, KV-Cache-Offloading, Prefill/Decode-Disaggregation, Wide Expert Parallelism und Batch-Inferenz sind bereits ausgeliefert. Version 1.0 dreht sich darum, diese zuverlässig in der Produktion zu betreiben, was IBM Day-2-Operations nennt.
Was ist neu in llm-d 1.0?
- Multi-Tenant-Qualität of Service: Prioritäts- und Fairness-bewusste Flow Control verhindert, dass burstige Agenten latenzsensitive Anfragen verhungern lassen.
- Stabile Grundlage: v1-APIs und ein gehärteter Anforderungspfad, validiert auf mehreren Clouds und Beschleunigern.
- Upgrades ohne Ausfallzeit: Router-Hochverfügbarkeit mit Hot Standby, dazu DisaggregatedSet, das Prefill- und Decode-Pools zusammen ausrollt.
- Agentenorientiertes Serving: Sitzungsbewusstes Routing, Turn-Priority-Scheduling und nativer Responses-API-Zustand.
- Asynchrone Inferenz: llm-d-async-processor zieht Jobs aus Google Cloud Pub/Sub oder Redis in freie Kapazitäten.
- Erweiterte TPU-Unterstützung: TorchTPU führt PyTorch-Modelle nativ in upstream vLLM und SGLang aus.
Wie routet llm-d Anfragen?
Der llm-d-Router baut auf der Kubernetes Gateway API Inference Extension auf. Er verfolgt, welche Replikate jeden zwischengespeicherten Präfix halten. Anschließend wägt er Last und vorhergesagte Latenz ab, bevor er ein Replikat auswählt. Agenten rufen einen Endpunkt auf, und jeder Schritt landet dort, wo sein Kontext bereits vorhanden ist.
Wenn der Beschleunigerspeicher voll wird, wird der KV-Cache in den Host-Speicher und dann auf SSD oder Managed Lustre ausgelagert. Dafür verwendet er vLLMs OffloadingConnector, Mooncake oder SGLangs HiCache. Prefill und Decode laufen als getrennte Pools, weil Prefill rechenintensiv und Decode speichergebunden ist.
</span><b>Agent-Request</b><small>1 Endpunkt</small></div> <div class="node"><span class="ic"></span><b>llm-d-Router</b><small>präfix- und lastbewusst</small></div> <div class="node"><span class="ic"></span><b>Prefill / Decode</b><small>getrennte Pools</small></div> <div class="node"><span class="ic"></span><b>Gestufter KV-Cache</b><small>von HBM bis Lustre</small></div> </div> <div class="pkt"><span></span></div> <div class="exp" id="mtp-exp"></div> <div class="tiers" id="mtp-tiers"> <div style="background:rgba(66,133,244,.15)">Accelerator-HBM</div> <div style="background:rgba(52,168,83,.15)">Host-CPU-RAM</div> <div style="background:rgba(251,188,4,.15)">Lokale SSD</div> <div style="background:rgba(234,67,53,.15)">Managed Lustre</div> </div> <div class="ctl"> <button class="btn gh" id="mtp-prev">Zurück</button> <button class="btn" id="mtp-next">Nächster Schritt</button> <button class="btn gh" id="mtp-play">Automatische Wiedergabe</button> <span class="st" id="mtp-st">Schritt 1 von 4</span> </div> </div> <div class="pn"> <div class="seg"> <button class="btn" data-g="lat">Latenz und Cache</button> <button class="btn gh" data-g="thr">Durchsatz</button> </div> <div class="bars" id="mtp-bars"></div> <div class="note">Alle Zahlenangaben selbst berichtet von Google, Snap und Zenteiq. Quelle: Google Cloud Blog, 20. Oktober 2026.</div> </div> <div class="pn"> <div class="grid"> <div class="card"><span class="k">Multi-Tenant-QoS</span><b>Flow Control</b><p>Prioritäts- und fairnessbewusstes Routing verhindert, dass burstige Agent-Schleifen interaktive Nutzer aushungern.</p></div> <div class="card"><span class="k">Upgrades</span><b>DisaggregatedSet</b><p>Basiert auf LeaderWorkerSet. Rollt Prefill- und Decode-Pools zusammen auf passende Versionen aus, ohne Sitzungen abzubrechen.</p></div> <div class="card"><span class="k">Zuverlässigkeit</span><b>Router-HA</b><p>Hot Standby und Rolling Updates halten den Datenverkehr bei Upgrades und Wartung am Laufen.</p></div> <div class="card"><span class="k">Agenten</span><b>Sitzungsbewusstes Routing</b><p>Turn-Prioritäts-Planung und nativer Responses-API-Zustand helfen Agenten, Kontext über mehrere Turns hinweg wiederzuverwenden.</p></div> <div class="card"><span class="k">Hintergrund-Jobs</span><b>Asynchroner Prozessor</b><p>Zieht Anfragen aus Google Cloud Pub/Sub oder Redis und führt sie in freier Kapazität aus.</p></div> <div class="card"><span class="k">TPU</span><b>TorchTPU-Zeitscheiben</b><p>Schachtelt Inferenz in inaktive RL-Zyklen. Der Duty Cycle steigt von etwa 40% auf über 70%.</p></div> </div> <div class="note">Klicken Sie auf eine Karte, um Details einzublenden. Stabile v1-APIs sind in allen Komponenten verfügbar.</div> </div> <div class="pn"><div class="tw"> <table> <tr><th></th><th class="us">llm-d 1.0</th><th>NVIDIA Dynamo</th><th>AIBrix</th></tr> <tr><td>Version</td><td>1.0 (Okt. 2026)</td><td>v1.5.1 (Okt. 2026)</td><td>v0.7.0 (Juni 2026)</td></tr> <tr><td>Governance</td><td>CNCF Sandbox</td><td>NVIDIA-geführt</td><td>vLLM-Projektorganisation</td></tr> <tr><td>Engines</td><td>vLLM, SGLang</td><td>SGLang, TRT-LLM, vLLM</td><td>vLLM, SGLang, TRT-LLM</td></tr> <tr><td>Beschleuniger</td><td>NVIDIA, AMD, Intel, TPU</td><td>NVIDIA-GPUs</td><td>Gemischte GPUs</td></tr> <tr><td>KV-Stufen</td><td>HBM, CPU, SSD, Lustre</td><td>GPU, CPU, SSD, remote</td><td>Verteilter KV-Cache</td></tr> <tr><td>Lizenz</td><td>Apache 2.0</td><td>Apache 2.0</td><td>Apache 2.0</td></tr> <tr><td>GitHub-Sterne</td><td>4.8k</td><td>8.3k</td><td>5.1k</td></tr> </table></div> <div class="note">Sterne Stand 20. Oktober 2026. Quellen: die jeweiligen GitHub-Repos und Dokumentationen.</div> </div> <div class="ft"><span>Quellen: Google Cloud, IBM Research, Red Hat, GitHub</span><a href="https://www.marktechpost.com" target="_blank" rel="noopener">© Marktechpost</a></div> </div> <script> (function(){ var R=document.getElementById('mtp-llmd1'); var tabs=R.querySelectorAll('.tabs button'),pns=R.querySelectorAll('.pn'); tabs.forEach(function(b){b.onclick=function(){tabs.forEach(function(x){x.classList.remove('on')});pns.forEach(function(x){x.classList.remove('on')});b.classList.add('on');pns[+b.dataset.t].classList.add('on');if(+b.dataset.t===1)draw(cur);rs();};}); var steps=[ 'An agent sends one step of a multi-turn task to a single llm-d endpoint. TPU and GPU pools sit behind it, running vLLM or SGLang.', 'The router tracks which replicas already hold each cached prefix. It weighs load and predicted latency, then sends the step where its context lives.', 'Prefill (compute-heavy) and decode (memory-bound) run in separate pools. DisaggregatedSet upgrades both together without dropping sessions.', 'When accelerator memory fills, KV cache moves to host RAM, then SSD or Google Cloud Managed Lustre statt verworfen zu werden.']; var s=0,nodes=R.querySelectorAll('.node'),pk=R.querySelector('.pkt span'),ex=document.getElementById('mtp-exp'),st=document.getElementById('mtp-st'),ti=R.querySelectorAll('#mtp-tiers div'),timer=null; function show(){nodes.forEach(function(n,i){n.classList.toggle('act',i===s)});pk.style.left=(s*25)+'%';ex.textContent=steps[s];st.textContent='Step '+(s+1)+' of 4'; ti.forEach(function(t,i){t.classList.remove('lit');if(s===3)setTimeout(function(){t.classList.add('lit')},i*350);else if(i===0)t.classList.add('lit')});} document.getElementById('mtp-next').onclick=function(){s=(s+1)%4;show()}; document.getElementById('mtp-prev').onclick=function(){s=(s+3)%4;show()}; document.getElementById('mtp-play').onclick=function(){var b=this;if(timer){clearInterval(timer);timer=null;b.textContent='Auto-play';return}b.textContent='Pause';timer=setInterval(function(){s=(s+1)%4;show()},2600)}; show(); var data={lat:[ ['Ironwood TPU: median TTFT cut','>85%',85,'#4285F4','agentic coding vs plain K8s Service'], ['Gemini: P95 TTFT cut (bursty chat)','>50%',50,'#34A853','GKE Inference Gateway'], ['A3 Mega 70B: TTFT improvement','~40%',40,'#FBBC04','Lustre + CPU offload, 50k-token prompts'], ['Gemini: TTFT cut (coding agents)','>35%',35,'#EA4335','production traffic'], ['Gemini: prefix cache hit rate','35% to 70%',70,'#4285F4','doubled']], thr:[ ['Zenteiq: aggregate throughput','>4x',4,'#34A853','1.47B to 5.97B tokens/day per 1,000 TPU v6e'], ['17,000-node GKE: throughput','2.9x',2.9,'#4285F4','3 clusters, 99.9% success'], ['Ironwood TPU: total throughput','2.4x',2.4,'#FBBC04','vs plain K8s Service']]}; var cur='lat'; function draw(g){cur=g;var box=document.getElementById('mtp-bars'),mx=g==='thr'?4:100;box.innerHTML=''; data[g].forEach(function(d){var r=document.createElement('div');r.className='row';r.innerHTML='<div class="lb"><span>'+d[0]+' <em>'+d[4]+'</em></span><b>'+d[1]+'</b></div><div class="tr"><div class="fl" style="background:'+d[3]+'"></div></div>';box.appendChild(r); var f=r.querySelector('.fl');setTimeout(function(){f.style.width=(d[2]/mx*100)+'%'},60);});rs();} R.querySelectorAll('[data-g]').forEach(function(b){b.onclick=function(){R.querySelectorAll('[data-g]').forEach(function(x){x.classList.add('gh')});b.classList.remove('gh');draw(b.dataset.g)}}); R.querySelectorAll('.card').forEach(function(c){c.onclick=function(){c.classList.toggle('open');setTimeout(rs,380)}}); function rs(){try{parent.postMessage({mtpH:R.offsetHeight+40,id:'mtp-llmd1'},'*')}catch(e){}} window.addEventListener('load',rs);window.addEventListener('resize',rs);setTimeout(rs,300); })(); </script> </body></html> " style="width:100%;max-width:880px;height:600px;border:0;display:block;margin:0 auto;" loading="lazy">Was zeigen die llm-d-1.0-Benchmarks?
Alle folgenden Zahlen wurden von Google und llm-d-Anwendern selbst gemeldet.
- Ironwood TPU (TPU 7x): Prefix-bewusstes Routing plus Host-Memory-Offload senkte den medianen TTFT um mehr als 85%. Der Durchsatz stieg um 2.4x gegenüber einem einfachen Kubernetes Service.
- Gemini-Plattform: Die Prefix-Cache-Trefferquote verdoppelte sich von 35% auf 70%. Der TTFT sank bei Coding-Agents um mehr als 35%. Der P95-TTFT fiel bei unregelmäßigem Chat-Traffic um mehr als 50%.
- 17,000-Knoten-GKE-Benchmark: Der Durchsatz skalierte um 2.9x über 3 Cluster, mit 99.9% Erfolg und unter 1% Overhead.
- A3 Mega, 70B-Modell: Lustre plus CPU-RAM-Offload verbesserte den TTFT bei 50k-Token-Prompts um etwa 40%. Die End-to-End-Latenz sank um 30% und die GPU-Stunden fielen um fast 60%.
- RL-Zeitscheiben: Die Auslastung der Beschleuniger stieg von etwa 40% auf über 70%.
Anwender berichten von ähnlichen Mustern. Snap berichtet von Prefix-Cache-Trefferquoten von bis zu 75 bis 80%. Zenteiq berichtet von über 4x Durchsatz, von 1.47 Milliarden auf 5.97 Milliarden Tokens täglich pro 1,000 TPU-v6e-Chips. Eine IBM-Demo bediente 3,000 gleichzeitige Coding-Agents zu 5 bis 10 Mal unter dem API-Preis.
Wie vergleicht sich llm-d mit NVIDIA Dynamo und AIBrix?
| Merkmal | llm-d 1.0 | NVIDIA Dynamo | AIBrix |
|---|---|---|---|
| Neueste Version | 1.0 (20. Okt. 2026) | v1.5.1 (6. Okt. 2026) | v0.7.0 (16. Jun. 2026) |
| Lizenz | Apache 2.0 | Apache 2.0 | Apache 2.0 |
| Governance | CNCF Sandbox | NVIDIA-geführt (ai-dynamo org) | vLLM-Projektorganisation, ByteDance-Ursprung |
| Engines | vLLM, SGLang | SGLang, TensorRT-LLM, vLLM | vLLM, SGLang, TensorRT-LLM |
| Beschleuniger | NVIDIA-, AMD- und Intel-GPUs, Google TPU | NVIDIA-GPUs (Blackwell, Hopper, Ada, Ampere) | Gemischte GPUs (heterogenes Serving) |
| Cache-bewusstes Routing | Ja, präfix- und lastabhängig | Ja, KV-bewusst | Ja, Gateway-Routing |
| KV-Cache-Tiers | HBM, CPU, SSD, Managed Lustre | GPU, CPU, SSD, Remote-Speicher (KVBM) | Verteilter KV-Cache |
| P/D-Disaggregation | Ja, DisaggregatedSet | Ja | Ja |
| Kernergebnis | 2,9-facher Durchsatz, 17.000 Knoten (selbst berichtet) | 2x schnelleres TTFT, Qwen3-Coder 480B (Baseten) | Nicht offengelegt |
Dies sind keine direkten Konkurrenten. CoreWeave betreibt llm-d neben Dynamo, und NVIDIA trägt Dynamo-Komponenten zu llm-d bei.
Wie deployt man llm-d 1.0?
Auf Google Cloud führt das GKE Inference Gateway den llm-d-Router als verwalteten Dienst aus. Es kann sich auch über Cluster und Regionen erstrecken, mit globalem Failover. KEDA und HPA skalieren Pools anhand der Queue-Tiefe und der vorhergesagten Latenz. Kueue erzwingt kontobezogene Quoten pro Modell. Verifizierte Helm-Charts deployen TPU- und GPU-Pools hinter einem einzigen Endpoint.
Das Google-Team schlägt einen gestuften Weg vor. Beginnen Sie mit Prefix-aware Routing vor einer bestehenden vLLM-Bereitstellung. Fügen Sie dann Flow Control hinzu, gestuftes KV-Offloading und Disaggregation. Veröffentlichte Läufe können auf Prism.
verglichen werden. Zentrale Erkenntnisse
- llm-d 1.0 ist die erste stabile Version, mit v1-APIs.
- Neu: Flow Control, Router-HA, DisaggregatedSet und agentenbewusstes Routing.
- Gemini hat die Prefix-Cache-Treffer von 35% auf 70% verdoppelt.
- Ein 17,000-Knoten-GKE-Benchmark skalierte den Durchsatz um das 2.9-Fache.
Schauen Sie sich die Google Cloud-Ankündigung, den IBM Research-Beitrag, das GitHub-Repo und die GKE-Dokumentationan. Der gesamte Dank gilt den Forschern dieses Projekts. Folgen Sie uns außerdem gerne auf Twitter und vergessen Sie nicht, unserem 150k+ML SubReddit beizutreten und unseren Newsletterzu abonnieren. Moment! Sind Sie auf Telegram? jetzt können Sie uns auch auf Telegram beitreten.
Der Beitrag Google Cloud Ships llm-d 1.0 With Cache-Aware Routing for TPU and GPU Fleets erschien zuerst auf MarkTechPost.