RustFS GPUCache · G3.5 In development

Shared KV caching at G3.5.

GPUCache is the G3.5 shared KV hot tier. The implemented data path uses host memory and TCP. RustFS is the colder G4 object tier, outside the hot request path.

Rust · Apache 2.0 · CPU/TCP source available

Problem

When context is evicted, the GPU has to recompute it.

Long context, multi-turn conversation, and agents make the KV Cache grow until GPU memory cannot hold it. The next time evicted KV is needed, it has to be prefilled again: the GPU spends cycles on work it has already done, and the first token waits longer.

Each existing tier has a limit. Host memory is finite. A node-local SSD serves one machine and is hard to share across nodes. Shared storage is built for durability and capacity, and it is not on the inference hot path.

Approach

Reuse compatible blocks. Recompute on a miss.

BlueField-3, GDS and real RDMA are targets in development: NOT_RUN_HARDWARE. The current implementation performs host copies and does not claim zero-copy or CPU bypass.

  1. 01

    The path that runs today

    CPU/TCP, memory and ordinary-file backends are available in source. No GPU or DPU is required.

  2. 02

    One node or multiple shards

    Bounded routes, connections and epoch fencing support operator-managed shards.

  3. 03

    Failure is recompute

    G3.5 adds no erasure coding or durability replicas. Unknown transfer completion stays quarantined until explicit drain or a newer fence permits reuse. RustFS owns cold-data durability. This is a cache contract, not disaster recovery or proof of fleet-scale readiness.

Not a fit

  • Data that must be stored durably. G3.5 is a cache. Durable data belongs on RustFS at G4.
  • Checkpoint storage for training. That is work for G4.
  • Production deployment has not been qualified.

Architecture

CPU/TCP today. Hardware targets remain separate.

GPUCache is the G3.5 shared KV hot tier. The implemented data path uses host memory and TCP. RustFS is the colder G4 object tier, outside the hot request path.

  1. Host client
  2. TCP
  3. G3.5 shardRust
  4. CPU
  5. Host memory / files

CPU contract available

  1. 01

    The path that runs today

    CPU/TCP, memory and ordinary-file backends are available in source. No GPU or DPU is required.

  2. 02

    Identity before reuse

    Only committed blocks with the complete expected identity can hit. A miss means recompute.

  3. 03

    One node or multiple shards

    Bounded routes, connections and epoch fencing support operator-managed shards.

  4. 04

    Cold storage stays separate

    RustFS is G4, off the hot path. Cold mock contracts are tested; live RustFS is NOT_RUN_HARDWARE.

  5. 05

    The DPU target

    DPU/GDS/RDMA remain NOT_RUN_HARDWARE. engine-spike uses fake blocks; aarch64 is CPU evidence only.

BlueField-3, GDS and real RDMA are targets in development: NOT_RUN_HARDWARE. The current implementation performs host copies and does not claim zero-copy or CPU bypass. The path that runs today

Roadmap

Where the work stands.

Status separates available source and reproducible CPU contracts from hardware qualification. This roadmap promises neither a release date nor measured fleet capacity.

StatusCapabilityBoundary
CPU/TCP availableIdentity, lifecycle, MemoryStore/FileStore, TCP ACL and reader admissionSynthetic tests; trusted network boundary, no mTLS.
CPU/TCP availableBounded shard clients, membership updates and epoch fencingOperator-managed routing; no distributed consensus or fleet-size certification.
Mock contract availableG4 manifest v3, bounded sink, refill and retentionLive RustFS: NOT_RUN_HARDWARE. Orphan collection is not automatic.
CPU simulation availableDPU messages, fault injection and functional TCP comparisonNo device offload, zero-copy, throughput or TCO evidence.
Fake-block spike availableEngineBlockContract and engine-spikeReal vLLM export/import: NOT_RUN_HARDWARE; GPU/model run: NOT_RUN_BUDGET.
In developmentReal RDMA, GDS, BlueField-3 / DOCA and SPDKNOT_RUN_HARDWARE. Optional features remain unlinked and fail closed.

How to read this roadmap

With RustFS

G3.5 holds what is hot. G4 keeps what must last.

GPUCache is built by the RustFS team. The two have a clear split in the storage hierarchy. GPUCache is the G3.5 hot tier, close to the GPU and meant for reuse. RustFS is the G4 capacity tier, an S3-compatible distributed object store written in Rust, responsible for keeping models, datasets, session history, and inference artifacts.

A lost hot tier can be recomputed. Data in the capacity tier must not be lost. Keeping the two jobs separate makes each one simpler.

Quick start In development

Build, test and inspect the CPU contract.

The main branch contains runnable Rust code for G3.5 shared KV caching over CPU/TCP. Start with the software contract tests; no GPU or DPU is required.

Source code is available. There is no installable release or production deployment qualification.

  1. Install stable Rust with Cargo, Git and Python 3.
  2. Clone the source and run the workspace tests.
  3. Use the full quick start for demos and the CPU regression.
git clone https://github.com/rustfs/GPUCache.git
cd GPUCache
cargo test --workspace --all-targets
cargo run -p gpucache-transport --bin share-demo

The full quick start includes the CPU regression and explicit hardware limitations. Build and test from source

Participate

Build the G3.5 tier together.

GPUCache welcomes people who know Rust systems programming, RDMA/RoCEv2, NVIDIA DOCA and BlueField, ARM64 cross-compilation, and the KV Cache mechanisms in vLLM and TensorRT-LLM.