Skip to content

Model load from the EFS-backed ModelCache is slow #204

Description

@negz

What problem are you facing?

Serving Qwen3-Coder-480B (894 GiB on disk, BF16) as a two-node Leader+Worker gang on EKS, vLLM spent ~43 minutes just reading the safetensors weights from the ModelCache RWX volume at startup — before CUDA graph capture and KV cache init even began. The cache itself hydrated fine (HuggingFace → EFS, ~960 GB in ~31 min, ~31 GiB/min); the bottleneck is the per-pod read of weights when the engine loads.

The per-shard load rate sawtooths: bursts of 1–2.5 it/s when a shard is already in the OS page cache (vLLM prefetches ahead with 8 threads), collapsing to 15–30 s/it when the loader catches the prefetch frontier and reads cold from EFS. Net sustained ~2–4 %/min across 241 shards. This read cost is paid on every pod start, so it dominates startup and can make the cache a net latency regression versus a direct pull for a single deployment.

Infra (us-east-2):

  • p5en.48xlarge (16× H200), AZ us-east-2b, EKS 1.36, AL2023 NVIDIA AMI.
  • ModelCache RWX backing: Amazon EFS, throughputMode elastic, performanceMode generalPurpose, encrypted, ~960 GB. EFS CSI StorageClass modelplane-rwx-efs (provisioningMode=efs-ap). Same-AZ mount target (no cross-AZ).
  • 16 vLLM workers (8 TP ranks/node × 2 PP nodes) read shards concurrently from the one filesystem.

EFS elastic throughput doesn't sustain the multi-GB/s a 16-GPU cold load wants; the page cache (8 prefetch threads into ~1.9 TiB RAM) hides latency but not the cold reads. EFS write during hydration was fine — it's the concurrent read fan-out that bogs down.

How could Modelplane help solve your problem?

The ModelCache's EFS-backed storage tier looks like the practical floor for cold-loading a ~1 TB model. Worth exploring faster options, but no specific proposal yet.

Related to #186 / #115 (cache footprint / hydration image).

Metadata

Metadata

Assignees

No one assigned

    Labels

    CachingCaching componentenhancementNew feature or request

    Type

    No type

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions