Why doesn’t the Mooncake connector in vLLM support layer-wise KV cache transfer?
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