You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
KVCacheBackend.spec.transport.protocol admits EFA and mirrored-mooncake compiles the EFA
transport in — but that is measured as compiled into a published artifact, the bar the API
comment sets. It has never moved a byte: no member has come up on efa, no transfer has crossed an
EFA link.
This issue is the hardware run that settles it, for EFA what the cluster e2e cases were for the
leader HA and the local-disk tier.
What to run
On two EFA-capable instances (p5/p5e/p5en/p6 for the headline numbers, or a cheaper EFA family such
as c7i/m7i/r7i for a functional pass), with the AWS EFA driver installed (fi_info -p efa answers):
Member comes up on efa. A KVCacheBackend with transport.protocol: EFA; the member Pod
mounts /opt/amazon/efa and reports the EFA device lines
(EFA device (libfabric): rdmap…, provider: efa) in its startup log; status.members[].protocol reports what the leader observed.
A transfer crosses the fabric. Write/read keys from a client on the peer node and confirm
the bytes moved over EFA (per-device counters / fi_info), not over a fallback.
CPU-to-CPU is the relevant path here. This operator's medium is DRAM; upstream's transfer_engine_bench --protocol=efa --use_vram=false numbers (block=1MB) are the reference
point — DRAM bandwidth is the expected ceiling, not the NICs.
FailedMount honesty. A node without the EFA driver must stop the member at FailedMount
(the /opt/amazon/efa mount is Directory), never start against an empty stand-in.
What to watch for
Instance family matters: i7ie is not EFA-capable (EfaSupported: false, measured via describe-instance-types) — the storage-optimized family the KV-cache e2e clusters used cannot
run this. Pick the instance first.
The operator mounts the host's /opt/amazon/efa and puts its lib/ first through LD_LIBRARY_PATH; the image's distro libfabric is only a load-time fallback. A version mismatch
between container libfabric and host EFA driver surfaces as fi_ep_bind (av) failed: Function not implemented — that is the mount/LD_LIBRARY_PATH not
taking effect, not a transport bug.
What is left undone
KVCacheBackend.spec.transport.protocoladmitsEFAandmirrored-mooncakecompiles the EFAtransport in — but that is measured as compiled into a published artifact, the bar the API
comment sets. It has never moved a byte: no member has come up on
efa, no transfer has crossed anEFA link.
This issue is the hardware run that settles it, for
EFAwhat the cluster e2e cases were for theleader HA and the local-disk tier.
What to run
On two EFA-capable instances (p5/p5e/p5en/p6 for the headline numbers, or a cheaper EFA family such
as c7i/m7i/r7i for a functional pass), with the AWS EFA driver installed (
fi_info -p efaanswers):efa. AKVCacheBackendwithtransport.protocol: EFA; the member Podmounts
/opt/amazon/efaand reports the EFA device lines(
EFA device (libfabric): rdmap…, provider: efa) in its startup log;status.members[].protocolreports what the leader observed.the bytes moved over EFA (per-device counters /
fi_info), not over a fallback.transfer_engine_bench --protocol=efa --use_vram=falsenumbers (block=1MB) are the referencepoint — DRAM bandwidth is the expected ceiling, not the NICs.
FailedMount(the
/opt/amazon/efamount isDirectory), never start against an empty stand-in.What to watch for
i7ieis not EFA-capable (EfaSupported: false, measured viadescribe-instance-types) — the storage-optimized family the KV-cache e2e clusters used cannotrun this. Pick the instance first.
/opt/amazon/efaand puts itslib/first throughLD_LIBRARY_PATH; the image's distro libfabric is only a load-time fallback. A version mismatchbetween container libfabric and host EFA driver surfaces as
fi_ep_bind (av) failed: Function not implemented— that is the mount/LD_LIBRARY_PATH nottaking effect, not a transport bug.
(prov/efa: SHM intra-node path segfaults in host memcpy when the buffer is FI_HMEM_CUDA device memory ofiwg/libfabric#12328) applies to GPU buffers only, which this scope does not mount.
References
docs/source/design/transfer-engine/efa_transport.mdin kvcache-ai/Mooncake(CPU-to-CPU benchmark tables included).
separately.