NVIDIA / NVIDIA/TensorRT-LLM

[Bug]: Adjacent pods allocating the host-memory-offloading stalling other pods

Open
#17,429 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug Disaggregated serving
Dominant language
Python
Stars
14.7k
Forks
2.8k
Avg merge
2d 23h
Merged PRs (30d)
489

Description

System Info
Pinned host-KV allocation stalls colocated workers' CUDA/NVML calls (the phenomenon) High Ranks stuck in cudaMemGetInfo; DCGM blackout bracketing exactly the pin window; 0 Xid; reproduced across three incidents with different org pairs

Failure path 1 — node-wide CUDA/NVML stall during the pin window
During the ~12-minute pinned allocation of a ~700GB host KV cache, CUDA/NVML calls block node-wide:

All 4 of the neighbor's ranks sat stuck in torch.cuda.mem_get_info() — a plain CUDA API that blocks only on driver locks.
DCGM went blind on all 8 GPUs exactly for the pin window (resuming seconds after the pin completed), while node-exporter stayed fine — not a scrape gap.
Zero Xids; all node health checks green.
The healthy sibling therefore trips TRT-LLM's 300s hang detector → health POISONED → 503 → liveness kill → its restart's own pin window stalls the first worker — a self-perpetuating ping-pong.

Who can help?

No response

Information
  • The official example scripts
  • My own modified scripts
Tasks
  • An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
  • My own task or dataset (give details below)
Reproduction
Expected behavior

adjacent pod allocating 500GB of memory over 2min should not stall adjacent pods

actual behavior
additional notes
Before submitting a new issue...
  • Make sure you already searched for relevant issues, and checked the documentation and examples for answers to frequently asked questions.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the pinned host-KV allocation while observing torch.cuda.mem_get_info(), DCGM, node-exporter, and the TRT-LLM 300s hang detector on adjacent pods. Trace the allocation and CUDA/NVML interactions to establish why the node-wide stall occurs. Done means adjacent pods remain responsive during allocation and the reproduction no longer triggers health poisoning or restart ping-pong.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, pytorch
Domain
distributed-systems, infrastructure, performance
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.