RUSTFS GPUCACHE · G3.5 In Entwicklung

Gemeinsamer KV-Cache auf G3.5.

GPUCache bildet die gemeinsame KV-Hot-Tier G3.5. Die implementierte Datenstrecke nutzt Hostspeicher und TCP. RustFS ist die kältere G4-Objektschicht außerhalb des heißen Anfragepfads.

Rust · Apache 2.0 · CPU/TCP-Quellcode verfügbar

Problem

Wird Kontext verdrängt, muss die GPU neu rechnen.

Langer Kontext, mehrzügige Gespräche und Agents lassen den KV Cache wachsen, bis der GPU-Speicher ihn nicht mehr hält. Wird verdrängter KV wieder gebraucht, muss das Prefill erneut laufen: Die GPU rechnet Arbeit, die sie schon getan hat, und das erste Token wartet länger.

Jede vorhandene Schicht hat eine Grenze. Host-Speicher ist endlich. Eine lokale SSD des Knotens bedient eine Maschine und lässt sich kaum über Knoten hinweg teilen. Gemeinsamer Speicher ist für Dauerhaftigkeit und Kapazität gebaut und liegt nicht auf dem heißen Inferenzpfad.

Ansatz

Passende Blöcke wiederverwenden, bei Miss neu berechnen.

BlueField-3, GDS und echtes RDMA sind Entwicklungsziele: NOT_RUN_HARDWARE. Der aktuelle Pfad kopiert im Hostspeicher und beansprucht weder Zero-Copy noch eine Umgehung der CPU.

  1. 01

    Der heute ausführbare Pfad

    CPU/TCP sowie Speicher- und Dateibackends sind im Quellcode verfügbar. GPU oder DPU sind nicht erforderlich.

  2. 02

    Ein Knoten oder mehrere Shards

    Begrenzte Routen, Verbindungen und Epoch-Fencing unterstützen betreiberverwaltete Shards.

  3. 03

    Bei Verlust neu berechnen

    G3.5 fügt weder Erasure Coding noch Replikate zur dauerhaften Speicherung hinzu. Unbekannter Transferabschluss bleibt bis zum expliziten Drain oder einem neueren Fence in Quarantäne. RustFS übernimmt die Dauerhaftigkeit kalter Daten. Dies ist ein Cache-Vertrag, keine Disaster-Recovery-Lösung oder Flottenqualifikation.

Nicht passend

  • Daten, die dauerhaft bleiben müssen. G3.5 ist ein Cache. Dauerhafte Daten gehören auf RustFS in G4.
  • Checkpoint-Speicher für das Training. Das ist Arbeit für G4.
  • Der Produktionseinsatz ist noch nicht qualifiziert.

Architektur

Heute CPU/TCP. Hardwareziele separat prüfen.

GPUCache bildet die gemeinsame KV-Hot-Tier G3.5. Die implementierte Datenstrecke nutzt Hostspeicher und TCP. RustFS ist die kältere G4-Objektschicht außerhalb des heißen Anfragepfads.

  1. Host-Client
  2. TCP
  3. G3.5-ShardRust
  4. CPU
  5. Hostspeicher / Dateien

CPU-Vertrag verfügbar

  1. 01

    Der heute ausführbare Pfad

    CPU/TCP sowie Speicher- und Dateibackends sind im Quellcode verfügbar. GPU oder DPU sind nicht erforderlich.

  2. 02

    Identität vor Wiederverwendung

    Nur bestätigte Blöcke mit vollständiger passender Identität können treffen. Bei Miss wird neu berechnet.

  3. 03

    Ein Knoten oder mehrere Shards

    Begrenzte Routen, Verbindungen und Epoch-Fencing unterstützen betreiberverwaltete Shards.

  4. 04

    Die Cold-Tier bleibt separat

    RustFS liegt auf G4 außerhalb des heißen Pfads. Cold-Mock-Verträge sind getestet; Live-RustFS bleibt NOT_RUN_HARDWARE.

  5. 05

    Das DPU-Ziel

    DPU/GDS/RDMA bleiben NOT_RUN_HARDWARE. engine-spike nutzt künstliche Blöcke; aarch64 liefert nur CPU-Nachweise.

BlueField-3, GDS und echtes RDMA sind Entwicklungsziele: NOT_RUN_HARDWARE. Der aktuelle Pfad kopiert im Hostspeicher und beansprucht weder Zero-Copy noch eine Umgehung der CPU. Der heute ausführbare Pfad

Roadmap

Wo die Arbeit steht.

Der Status unterscheidet verfügbaren Quellcode und reproduzierbare CPU-Verträge von Hardwarequalifikation. Er verspricht weder einen Veröffentlichungstermin noch gemessene Flottenkapazität.

StatusFunktionGrenze
CPU/TCP verfügbarIdentität, Lebenszyklus, MemoryStore/FileStore, TCP-ACL und LesezulassungSynthetische Tests; vertrauenswürdige Netzwerkgrenze, kein mTLS.
CPU/TCP verfügbarBegrenzte Shard-Clients, Mitgliedschaft und Epoch-FencingBetreiberverwaltete Routen; kein verteilter Konsens und keine Größenqualifikation.
Mock-Vertrag verfügbarG4-Manifest v3, begrenzte Queue, Refill und AufbewahrungLive-RustFS: NOT_RUN_HARDWARE. Verwaiste Objekte werden nicht automatisch gesammelt.
CPU-Simulation verfügbarDPU-Nachrichten, Fehlerinjektion und funktionaler TCP-VergleichKein Beleg für Geräte-Offload, Zero-Copy, Durchsatz oder TCO.
Versuch mit künstlichen BlöckenEngineBlockContract und engine-spikeEchter vLLM-Export/Import: NOT_RUN_HARDWARE; GPU-/Modelllauf: NOT_RUN_BUDGET.
In EntwicklungEchtes RDMA, GDS, BlueField-3 / DOCA und SPDKNOT_RUN_HARDWARE. Optionale Features bleiben ohne Geräteanbindung und verweigern das Öffnen.

Wie diese Roadmap zu lesen ist

Mit RustFS

G3.5 hält, was heiß ist. G4 behält, was bleiben muss.

GPUCache wird vom RustFS-Team gebaut. Die beiden haben in der Speicherhierarchie eine klare Trennung. GPUCache ist die heiße Schicht G3.5, nah an der GPU und für die Wiederverwendung. RustFS ist die Kapazitätsschicht G4, ein in Rust geschriebener S3-kompatibler verteilter Objektspeicher, und bewahrt Modelle, Datensätze, Sitzungsverläufe und Inferenzergebnisse.

Eine verlorene heiße Schicht lässt sich neu berechnen. Daten in der Kapazitätsschicht dürfen nicht verloren gehen. Getrennte Aufgaben bleiben jeweils einfacher.

Schnellstart In Entwicklung

Den CPU-Vertrag bauen, testen und prüfen.

Der main-Branch enthält ausführbaren Rust-Code für einen gemeinsamen KV-Cache auf G3.5 mit CPU/TCP. Beginnen Sie mit den Vertragstests; GPU und DPU sind nicht erforderlich.

Der Quellcode ist verfügbar. Es gibt noch keine installierbare Veröffentlichung oder Qualifikation für den Produktionseinsatz.

  1. Stabiles Rust mit Cargo, Git und Python 3 installieren.
  2. Quellcode klonen und Workspace-Tests ausführen.
  3. Demos und CPU-Regression nach der vollständigen Anleitung starten.
git clone https://github.com/rustfs/GPUCache.git
cd GPUCache
cargo test --workspace --all-targets
cargo run -p gpucache-transport --bin share-demo

Die vollständige Anleitung enthält die CPU-Regression und klare Hardwaregrenzen. Aus dem Quellcode bauen und testen

Mitmachen

Die Schicht G3.5 gemeinsam bauen.

GPUCache sucht Leute, die Rust-Systemprogrammierung, RDMA/RoCEv2, NVIDIA DOCA und BlueField, ARM64-Cross-Kompilierung und die KV-Cache-Mechanismen von vLLM und TensorRT-LLM kennen.