🟡 🤝 Agenti četvrtak, 7. svibnja 2026. · 2 min čitanja ·

vLLM: integracija Mooncake distributed KV cache storea donosi 3,8× veći throughput i 46× nižu P50 TTFT za multi-turn agentske workloade

Editorial illustration: mreža GPU čvorova povezanih RDMA linkovima sa centralnim distributed KV cache poolom

vLLM integrira Mooncake distributed KV cache store koji eliminira ponovljeno računanje prefiksa između agentskih turnova — na realističnim Codex traceovima na 12 GB200 GPU-ova throughput raste 3,8×, P50 TTFT pada 46×, end-to-end latencija 8,6×, a cache hit rate skače s 1,7 % na 92,2 %.

🤖

Ovaj članak generiran je uz pomoć umjetne inteligencije na temelju primarnih izvora.

vLLM tim objavio je integraciju Mooncakea, otvorenokodne biblioteke za distribuirano spremanje KV cachea, kao odgovor na specifičan problem agentskih workloada: dugačke multi-turn interakcije gdje svaki turn dodaje samo nekoliko tisuća novih tokena, ali ponovno koristi 80K+ tokena cached prefiksa. Bez distribuiranog cachea, busy instance brzo iscrpe lokalnu memoriju, a load balancer koji ruta sljedeći turn na drugu mašinu prisiljava na potpuni recompute.

Koliki su konkretni dobici na Codex traceovima?

Na realističnim Codex/GPT-5.4 traceovima sa SWE-bench Pro benchmarka, koristeći 12 GB200 GPU-ova, integracija postiže 3,8× veći throughput, 46× nižu P50 TTFT (time to first token) i 8,6× nižu end-to-end latenciju. Cache hit rate skače s 1,7 % na 92,2 %, što potvrđuje da je glavni izvor sporosti bio recompute identičnih prefiksa.

Skaliranje na 60 GPU-ova zadržava cache hit rate iznad 95 % uz gotovo linearnu skalu throughputa s round-robin rutiranjem. KV cache (Key-Value cache) je struktura koja sprema atencijske vektore prethodnih tokena kako se ne bi morali ponovno računati; prefix sharing je dijeljenje tog cachea među instancama za zajednički početak konverzacije.

Kako je Mooncake arhitekturalno integriran?

Sustav koristi master-worker dizajn: master server upravlja metapodacima i health monitoringom, klijenti na GPU čvorovima formiraju distribuirani pool preko GPUDirect RDMA-a, a vLLM se priključuje preko postojećeg KVConnector sučelja koje već koristi za prefill-decode disaggregation. MultiConnector lanac omogućuje da request može oporaviti prefiks ili iz prefill instance ili iz dijeljenog poola.

GPUDirect RDMA znači da se podaci prebacuju direktno između GPU HBM-a i CPU memorije bez prolaska kroz GPU SM-ove ili CPU staging buffere, što čuva GPU kerneli od smetnji. Asinkrone background niti pripremaju RDMA descriptore izvan kritičnog puta.

Što ovo mijenja za produkcijske agentske sustave?

Analiza 610 traceova s Codex/GPT-5.4 SWE-bench Pro pokazala je 94,2 % potencijalni cache hit rate, omjer ulaza i izlaza 131:1, medijan 33 turna po traceu i P99 inter-turn delay od 5,2s do 81,4s. To znači da su agentski workloadi dramatično skewed prema reuse-u — i sustavi koji ne znaju dijeliti cache plaćaju kaznu u realnoj proizvodnji.

Implementacija je dostupna kao GitHub PR #40900. U planu su NVMe SSD offloading, podrška za hibridne arhitekture i cache-aware rutiranje. Doprinose timovi iz Inferacta, Ant Group, Approaching.AI, Huaweia i Alibaba Clouda.

Česta pitanja

Što je KV cache i zašto je važan za agente?
KV cache (Key-Value cache) sprema već izračunate atencijske vektore za prethodne tokene kako se ne bi morali ponovno računati pri svakom novom tokenu. Za agente s dugačkim multi-turn poviješću to je ključno — bez cachea svaki turn iznova procesira cijeli kontekst.
Što znači prefix sharing u distribuiranom postavljanju?
Prefix sharing je dijeljenje KV cachea zajedničkog početka konverzacije među vLLM instancama. Bez toga, ako load balancer pošalje sljedeći turn na drugu mašinu, mora se sve recomputirati. Mooncake omogućuje da cijeli klaster vLLM-ova dijeli cache pool preko RDMA-a.
Kako Mooncake postiže ovako velike skokove?
GPUDirect RDMA prebacuje podatke direktno između GPU HBM-a i CPU memorije bez kernel intervencije, asinkrone background niti pripremaju RDMA descriptore, a MultiConnector lanac omogućuje recovery prefiksa iz prefill instance ili dijeljenog poola.