Modell / Datensatz
kvcache-ai/Mooncake avatar
kvcache-ai/Mooncake

Mooncake: Mooncake: die KV-Cache-zentrierte Serving-Plattform hinter Kimi

Mooncake ist die Bereitstellungsplattform für Kimi, einen führenden LLM-Dienst von Moonshot AI.

6.578 Sterne1.222 ForksC++Apache-2.0

Auf einen Blick

Was ist das?
Mooncake is the serving platform for Kimi, a leading LLM service provided by Moonshot AI. Dieses deutsche Profil ordnet Einsatz, Voraussetzungen und Grenzen anhand der README ein.
Für wen ist es gedacht?
Geeignet ist Mooncake für Leser, deren Anforderungen zu den in der README beschriebenen Schnittstellen und Voraussetzungen passen. Ungeeignet ist es als ungeprüfte Zusage für andere Plattformen oder Lastprofile.
Darf ich es kommerziell nutzen?
Ja. Apache-2.0 ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Das Repository hat innerhalb des letzten Tages neue Commits erhalten.
In welcher Sprache ist es geschrieben?
Hauptsächlich C++, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Die Serving-Plattform hinter Kimi

Die README eröffnet damit, Mooncake als die Serving-Plattform für Kimi zu benennen, einen von Moonshot AI betriebenen LLM-Dienst, und beschreibt das Projekt als Infrastruktur für großskalige LLM-Inferenz und Training. Die Kernidee ist eine KV-Cache-zentrierte disaggregierte Architektur: Prefill- und Decode-Cluster werden getrennt, und ansonsten ungenutzte CPU-, DRAM- und SSD-Ressourcen in GPU-Clustern werden zu einem disaggregierten KV-Cache-Pool zusammengefasst. Die README gibt an, dass diese Architektur Kimi unter realen Lasten 75 Prozent mehr Anfragen bewältigen lässt, während Service-Level-Ziele eingehalten werden. Diese Zahl ist eine Aussage über Kimis Produktionslast; die README enthält keinen unabhängigen Benchmark.

Für kvcache-ai/Mooncake ist dieser Punkt praktisch relevant, weil die README genau diese Struktur beziehungsweise diesen Ablauf beschreibt. Die Aussage sollte an den genannten Dateien, Befehlen und Schnittstellen nachvollzogen werden; fehlende Details sind in der Dokumentation nicht zugesichert.

Die zentrale technische Frage ist, ob der eigene Inferenzpfad RDMA, KV-Cache-Transfer und die passende Backend-Variante unterstützt. Zu prüfen sind die in der README verlinkten Installationspakete, `Mooncake Store` in vLLM sowie die Konfiguration des TransferEngine. Die Kimi-Zahl von 75 Prozent mehr Requests und der Gewichts-Transfer von 53 auf 7,2 Sekunden sind als projekt- beziehungsweise Integrationsangaben einzuordnen.

Abschnitt 1 behandelt dabei ausdrücklich den Schwerpunkt „Die Serving-Plattform hinter Kimi“.

Transfer Engine: der Kern der Datenübertragung

Die Transfer Engine (TE) wird als Kern von Mooncake beschrieben, ein Hochleistungsrahmen für Datenübertragung mit einer einheitlichen Schnittstelle für gebündelte Bewegungen über Speicher-, Netz- und Beschleunigerumgebungen. Die README nennt die Unterstützung mehrerer RDMA-NICs zur Bündelung der Bandbreite, topologiebewusste Pfadwahl auf Basis des Quell- und Zielorts sowie automatisches Failover auf alternative Pfade bei Übertragungsfehlern. Bei einer 40-GB-Nutzlast berichtet sie von bis zu 87 GB/s in 4×200-Gbps-RoCE-Netzen und 190 GB/s in 8×400-Gbps-RoCE-Netzen, etwa 2,4-mal und 4,6-mal schneller als TCP. TE deckt außerdem TCP, RDMA, AWS EFA, NVMe-oF, NVLink, HIP, Barex, CXL und Ascend-Übertragungen ab. Die Bandbreitenzahlen sind wie angegeben; die README geht über den Netztyp hinaus nicht auf den Testaufbau ein.

Abschnitt 2 behandelt dabei ausdrücklich den Schwerpunkt „Transfer Engine: der Kern der Datenübertragung“.

Mooncake Store: ein verteilter KV-Cache-Pool

Mooncake Store ist eine verteilte Schlüssel-Wert-Cache-Speicher-Engine, die auf der Transfer Engine aufbaut. Die README sagt, sie speichere und verwalte wiederverwendbare KV-Caches und Modellgewichte über Inferenzcluster hinweg und unterstütze Objektspeicherung, Replikation, Verdrängung und Übertragung mit hoher Bandbreite. Beschrieben werden eine mehrstufige Cache-Hierarchie über DRAM und SSD/NVMe, Stripping großer Objekte, paralleles I/O und Ende-zu-Ende-Zero-Copy-Übertragung. Der Store entkoppelt die KV-Cache-Speicherung von den Inferenz-Engines, sodass Speicherknoten dynamisch hinzugefügt oder entfernt werden können und Cache-Daten Neustarts, Upgrades und Scheduling-Entscheidungen überstehen. Anwendungen steuern Platzierung und Lebenszyklus über Pro-Objekt-Richtlinien wie Replikatanzahl, bevorzugte Segmente sowie Soft- und Hard-Pinning. Die README veröffentlicht keine Durchsatz- oder Kapazitätszahlen für den Store selbst.

Abschnitt 3 behandelt dabei ausdrücklich den Schwerpunkt „Mooncake Store: ein verteilter KV-Cache-Pool“.

EP und PG: Fehlertoleranz für MoE-Inferenz

Mooncake EP und Mooncake PG erweitern das Projekt von der Datenübertragung zur verteilten Ausführung für großskalige MoE-Inferenz. Mooncake EP versieht DeepEP-artige Expert-Parallel-Dispatch- und Combine-Operationen mit einem Bewusstsein für aktive Ränge, sodass Systeme ausgefallene Ränge umgehen können. Mooncake PG ist ein PyTorch-Prozessgruppen-Backend, das Standard-Kollektive wie all_gather unterstützt, ausgefallene Ränge erkennt, Fehler an höhere Schichten meldet und Ränge wiederherstellt, ohne den gesamten Inferenzdienst neu zu starten. Die README sagt, die EP-API bleibe weitgehend konsistent mit dem Low-Latency-Modus von DeepEP. Diese Fähigkeiten werden in Prosa beschrieben; die README enthält keine Latenz- oder Wiederherstellungszeitmessungen für EP oder PG.

Abschnitt 4 behandelt dabei ausdrücklich den Schwerpunkt „EP und PG: Fehlertoleranz für MoE-Inferenz“.

Integrationen im Ökosystem

Die README dokumentiert Integrationen mit mehreren Serving- und Trainings-Stacks. SGLang nutzt Mooncake als Kommunikations- und Speicher-Backend für PD-disaggregiertes Serving, hierarchisches KV-Caching über HiCache, elastische Expert-Parallelität, multimodale Encode-Prefill-Decode-Disaggregation und RDMA-basierte Gewichtsübertragung für verteiltes RL. vLLM integriert Mooncake über MooncakeConnector und MooncakeStoreConnector für disaggregiertes Prefill-Decode-Serving und einen KV-Cache-Pool auf Clusterebene. Das Update-Protokoll nennt außerdem TensorRT-LLM, LMDeploy, vLLM-Ascend, LMCache, NIXL, checkpoint-engine, TorchSpec und weitere. Diese Einträge sind die eigenen Behauptungen des Projekts; die README liefert keine Drittanbieter-Verifikation.

Abschnitt 5 behandelt dabei ausdrücklich den Schwerpunkt „Integrationen im Ökosystem“.

Installation, Traces und Werkzeuge

Die Installation erfolgt über pip. Das Paket mooncake-transfer-engine enthält Transfer Engine, Mooncake Store sowie Mooncake EP und PG; für CUDA 13.0 und neuer ist mooncake-transfer-engine-cuda13 vorgesehen. Die README verweist auf Dokumentation für den Build aus dem Quellcode und für die Bereitstellung. Sie veröffentlicht außerdem anonymisierte Anfrage-Traces mit Ankunftszeiten, Token-Zahlen und neu abgebildeten Block-Hashes für reproduzierbare Cache-Simulationen, dazu einen KV Cache Size Calculator und einen KV Cache Hit Rate Simulator. Unter .claude/skills wird eine Reihe von KI-Assistenten-Skills mitgeliefert, die Fehlersuche, lokale CI-Prüfung und API-Nutzung abdecken. Die README nennt keine unterstützten Python-Versionen oder Betriebssysteme.

Abschnitt 6 behandelt dabei ausdrücklich den Schwerpunkt „Installation, Traces und Werkzeuge“.

Redaktionelles Fazit

Geeignet ist Mooncake für Leser, deren Anforderungen zu den in der README beschriebenen Schnittstellen und Voraussetzungen passen. Ungeeignet ist es als ungeprüfte Zusage für andere Plattformen oder Lastprofile. Prüfe zuerst die projektbezogenen Schritte, Dateien und Eingaben aus der README und vergleiche die tatsächlichen Ausgaben mit deren Beschreibung.

Offizielle Quellen

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community-Notizen

Community-Notizen