Local node's GPU/CPU/memory enrichment is never refreshed after startup
I maintainer di solito rispondono entro 4 giorni
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
The discovery directory's enrichment for the local node is captured once and then frozen. Peers converge; self does not.
What I measured
Ubuntu node with an RTX 3060, paired with a macOS node, v0.1.1-463 from the .deb.
I loaded a 7 GB model into LM Studio with full GPU offload. nvidia-smi went from 121 MiB to 9329 MiB. node-info served the new figure within its usual cadence — curl 127.0.0.1:14318/v1/node-info returned vram_used_bytes: 9782165504 with telemetryValid: true, msSince: 280. The desktop UI's VRAM graph showed the step too, because it reads the node directly.
The discovery snapshot did not move. discovery:get-nodes kept returning vram_used_bytes: 126877696 — the value from daemon start — for as long as I watched, checked at 20 s intervals over several minutes. Restarting the broker made it correct again, until the next change.
Why
onBrowse deliberately skips our own entry (daemon.go: "Never let a browse event touch our own entry. Self is registry-driven"), so the path that re-enriches every peer on every browse never runs for self. publishSelf — the only thing that enriches self — is called at startup, on service (un)register, and after an identity/address change. refreshPeersLoop refreshes advertised addresses, the mesh, cluster identity and models on its 15 s tick, but nothing re-reads self's node-info.
Worth noting that the comment above noteNodeInfo already states the intended behaviour:
The enrichment sweep repeats every peerRefreshInterval for as long as a node is advertised
That holds for peers, not for self.
Who sees it
Only consumers of the discovery snapshot — which includes nvpair-job-scheduler, since the broker fans the same snapshot to it. The UI is unaffected, which is why this is easy to miss.
Repro
- Pair two nodes; note the local node's
gpus[].vram_used_bytesviadiscovery:get-nodes. - Load a large model with GPU offload on that node.
curl 127.0.0.1:14318/v1/node-info— fresh.discovery:get-nodes— unchanged, indefinitely.
A fix that works
Calling d.publishSelf() on the refreshPeersLoop tick converges the directory within 20 s. Verified live in both directions, loading and unloading. It does mean one self node-updated per tick, since publishSelf emits unconditionally; the tidier alternative is an applyInfo path with a changed check, mirroring applyModels. Happy to open a PR for either shape if useful.
- Lingua principale
- Go
- Stelle
- 1.6k
- Fork
- 266
- Merge medio
- 3g 18h
- PR unite (30g)
- 28
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di NVIDIA/Personal-AI-Router
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
NVIDIA/Personal-AI-Router#165 ·
I maintainer di solito rispondono entro 4 giorni
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 46/100
NVIDIA/Personal-AI-Router#164 ·
I maintainer di solito rispondono entro 4 giorni
-
enhancement
Difficoltà 4/5 Più di una settimana Idoneità per principianti 12/100
NVIDIA/Personal-AI-Router#162 ·
I maintainer di solito rispondono entro 4 giorni
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
NVIDIA/Personal-AI-Router#154 · 1 commento ·
I maintainer di solito rispondono entro 4 giorni
-
[Feature]: [Ollama] Alert the user about model pull failuresForse già presa @ckelseynv l’ha presa 5 giorni fa. Apertaenhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 56/100
NVIDIA/Personal-AI-Router#152 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 4 giorni
Tutte le issue di NVIDIA/Personal-AI-Router
Issue simili
-
component/server severity/minor type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
diagnose globalnet reports a failure for every exported headless ServiceForse già presa @kurtyoon l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
submariner-io/subctl#1948 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
Upgrade to Go 1.27.1Apertahelp wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
meshery-extensions/meshery-mcp-server#63 · 1 commento ·
-
Upgrade to Go 1.27.1Apertahelp wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100