Why doesn’t the Mooncake connector in vLLM support layer-wise KV cache transfer?
23:46 13 Aug 2026
class MooncakeStoreConnector(KVConnectorBase_V1, SupportsHMA):  
    def wait_for_layer_load(self, layer_name: str) -> None:
        # No layerwise support - no-op
        return

    def save_kv_layer(
        self,
        layer_name: str,
        kv_layer: torch.Tensor,
        attn_metadata: AttentionMetadata,
        **kwargs: Any,
    ) -> None:
        # No layerwise support - no-op
        return
class MooncakeConnector(KVConnectorBase_V1, SupportsHMA):  
    def wait_for_layer_load(self, layer_name: str) -> None:
        """MooncakeConnector does not do layerwise saving."""
        pass

    def save_kv_layer(
        self,
        layer_name: str,
        kv_layer: torch.Tensor,
        attn_metadata: AttentionMetadata,
        **kwargs,
    ) -> None:
        """MooncakeConnector does not save explicitly."""
        pass

When I asked Codex, it explained that the scheduler processes an entire request at a time rather than one layer at a time. In other words, vLLM supports request-level overlap, but not layer-level overlap.

I’m new to vLLM and Mooncake, and I would appreciate any guidance.

Best regards,
Rowan

vllm