-
Notifications
You must be signed in to change notification settings - Fork 555
feat(data-plane): track data-plane time, latency percentiles and byte volume #3616
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
ZhiyuLi-Nvidia
wants to merge
69
commits into
main
Choose a base branch
from
zhiyul/data_plane_observability_metrics
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
69 commits
Select commit
Hold shift + click to select a range
2229bf2
feat(data-plane): track data-plane time, latency percentiles and byte…
ZhiyuLi-Nvidia 96a2cd4
feat(data-plane): emit per-step data-plane metrics from the sync trainer
ZhiyuLi-Nvidia 79f09a9
refactor(data-plane): address /simplify review of the metrics diff
ZhiyuLi-Nvidia e57a882
perf(data-plane): cut metrics overhead, add optional wire-hash check
ZhiyuLi-Nvidia 70b8a30
fix(data-plane): fingerprint jagged leaves; simplify the hash to one …
ZhiyuLi-Nvidia 57fe723
perf(data-plane): scope jagged fingerprints to the buffer, not a rect…
ZhiyuLi-Nvidia 55e00aa
fix(data-plane): count fields dropped as incomparable
ZhiyuLi-Nvidia 0b83e2b
refactor(data-plane): trim the observability diff after review
ZhiyuLi-Nvidia 040d459
perf(data-plane): size nested leaves from their packed values buffer
ZhiyuLi-Nvidia 7fc6aea
refactor(data-plane): name the real hazard in _tensor_bytes
ZhiyuLi-Nvidia 839afb6
feat(data-plane): enable data-plane metrics by default
ZhiyuLi-Nvidia f137600
perf(data-plane): hold one byte total per partition, not one per key
ZhiyuLi-Nvidia caec8c5
fix(data-plane): one unit per dimension, and a tail metric that moves
ZhiyuLi-Nvidia 79aaebf
fix(data-plane): report the latency split in ms, not as a ratio
ZhiyuLi-Nvidia c1f4275
fix(data-plane): scope the metric prefix to the driver that produced it
ZhiyuLi-Nvidia 7894024
feat(data-plane): aggregate metrics across processes, and report thei…
ZhiyuLi-Nvidia 3b7d3f2
fix(data-plane): bill the fan-out to observability, not just the wrapper
ZhiyuLi-Nvidia a12c233
fix(data-plane): a max below its own median, and a fraction above 1
ZhiyuLi-Nvidia 7776cee
fix(data-plane): make every series say whether it is a delta or a level
ZhiyuLi-Nvidia c473775
fix(data-plane): free only the keys a clear actually held
ZhiyuLi-Nvidia f0e2a4f
fix(data-plane): clamp percentiles where they are derived, not at one…
ZhiyuLi-Nvidia c87ebd4
refactor(data-plane): cleanup pass, and two bugs it turned up
ZhiyuLi-Nvidia 0a539ff
feat(data-plane): log a per-op breakdown table, not just series
ZhiyuLi-Nvidia 85589f9
fix(data-plane): put the latency split in the cluster view too
ZhiyuLi-Nvidia f73fe2e
fix(data-plane): per-op cluster time also reads as elapsed when it is…
ZhiyuLi-Nvidia acd6fa6
fix(data-plane): report per-op time per call, which is the invariant one
ZhiyuLi-Nvidia 96b80f9
fix(data-plane): split the latency per call, like the mean it explains
ZhiyuLi-Nvidia fcbffe4
fix(data-plane): gate percentiles per quantile; per-row hashes when r…
ZhiyuLi-Nvidia 38950f9
fix(data-plane): report p90, not p99, as the per-op tail
ZhiyuLi-Nvidia 3e51c58
feat(data-plane): chart time shares, not 32 per-op series
ZhiyuLi-Nvidia f1652a0
refactor(data-plane): name the metric for its denominator, share -> t…
ZhiyuLi-Nvidia e295826
refactor(data-plane): time_pct -> pct_of_dataplane
ZhiyuLi-Nvidia 6329f21
refactor(data-plane): spell out percent in the metric names
ZhiyuLi-Nvidia f4fa1f5
docs(data-plane): the transfer term IS the bandwidth term
ZhiyuLi-Nvidia f03ca4b
fix(data-plane): report hash counters and measuring cost in both scopes
ZhiyuLi-Nvidia a19317d
fix(data-plane): log before the step commits; track per-op transfer v…
ZhiyuLi-Nvidia 70f888a
fix(data-plane): stop the hash guard failing every per-row field
ZhiyuLi-Nvidia 52ab0c2
fix(data-plane): make a hash mismatch adjudicable, and measure what i…
ZhiyuLi-Nvidia e938ac1
refactor(data-plane): apply the /simplify review
ZhiyuLi-Nvidia bf8ffb9
refactor(data-plane): narrow this PR back to the data plane
ZhiyuLi-Nvidia 6ebf71c
fix(data-plane): satisfy pyrefly on the three types the diff loosened
ZhiyuLi-Nvidia 33468e2
style(data-plane): sort the test imports
ZhiyuLi-Nvidia f51c500
fix(data-plane): salt hash fingerprints on the host
ZhiyuLi-Nvidia f35e6cb
feat(data-plane): log data-plane metrics from the single-controller loop
ZhiyuLi-Nvidia 58a49b5
test(data-plane): simplify observability tests; guard the metrics path
ZhiyuLi-Nvidia 9867ee9
test(data-plane): gate every data-plane nightly on the wire guard
ZhiyuLi-Nvidia 79efb1d
refactor(data-plane): drop the latency/bandwidth fit
ZhiyuLi-Nvidia da99feb
feat(data-plane): report jagged pack/unpack time
ZhiyuLi-Nvidia 888d8fd
refactor(data-plane): report charted durations in seconds
ZhiyuLi-Nvidia 8af5563
fix(data-plane): make the wire guard see a row's shape
ZhiyuLi-Nvidia dd83c8c
fix(data-plane): log single-controller metrics before the step is com…
ZhiyuLi-Nvidia dd3095b
fix(data-plane): drop the PROMOTE_1D_FIELDS branch from _from_wire
ZhiyuLi-Nvidia 8fe9a4a
refactor(data-plane): share the duplicated observability wiring
ZhiyuLi-Nvidia e0fdc93
chore(data-plane): satisfy ruff, ruff-format and pyrefly on the obser…
ZhiyuLi-Nvidia 546827f
fix(data-plane): satisfy pyrefly in the observability module
ZhiyuLi-Nvidia a013ada
fix(data-plane): release fingerprints when another process clears the…
cc054da
fix(data-plane): reconcile the accounting for samples another process…
6f51dbe
refactor(data-plane): drop the reconcile warning, keep the release
8839675
feat(data-plane): make the wire guard check across processes
3de6cba
Revert "feat(data-plane): make the wire guard check across processes"
677f2d2
feat(data-plane): carry the wire-in digest beside the field it describes
c78cc8d
test(data-plane): rewrite the hash tests against the mirror columns
6d2495f
fix(data-plane): one definition of the mirror column list
9619fc2
test(data-plane): one sanity check, not five
8cbe1a9
test(data-plane): the later writer stamps too
ea28e41
perf(data-plane): fold the field digests on tensors, and say so in th…
0f6e014
test(data-plane): assert the wire guard looked, not just that it foun…
84986df
test(data-plane): gate on what the guard did, not on what it did not
d1cd96f
docs(data-plane): frac_of_step is carried work, not exclusive time
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 2 additions & 0 deletions
2
examples/configs/recipes/llm/grpo-deepscaler-1.5b-8K-tq_simple.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,5 @@ | ||
| defaults: grpo-deepscaler-1.5b-8K.yaml | ||
| data_plane: | ||
| enabled: true | ||
| observability: | ||
| verify_tensor_hash: true |
2 changes: 2 additions & 0 deletions
2
examples/configs/recipes/llm/grpo-gemma3-1b-it-1n8g-fsdp2tp1-tq_simple.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,5 @@ | ||
| defaults: grpo-gemma3-1b-it-1n8g-fsdp2tp1.yaml | ||
| data_plane: | ||
| enabled: true | ||
| observability: | ||
| verify_tensor_hash: true |
2 changes: 2 additions & 0 deletions
2
examples/configs/recipes/llm/grpo-gspo-deepscaler-1.5b-8K-tq_simple.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,5 @@ | ||
| defaults: grpo-gspo-deepscaler-1.5b-8K.yaml | ||
| data_plane: | ||
| enabled: true | ||
| observability: | ||
| verify_tensor_hash: true |
2 changes: 2 additions & 0 deletions
2
...onfigs/recipes/llm/grpo-llama3.1-8b-instruct-1n8g-megatron-fp8-rollouts.v3-tq_simple.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,5 @@ | ||
| defaults: grpo-llama3.1-8b-instruct-1n8g-megatron-fp8-rollouts.v3.yaml | ||
| data_plane: | ||
| enabled: true | ||
| observability: | ||
| verify_tensor_hash: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 2 additions & 0 deletions
2
...s/configs/recipes/llm/grpo-llama3.1-8b-instruct-2n8g-fsdp2tp1-noncolocated-tq_simple.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,5 @@ | ||
| defaults: grpo-llama3.1-8b-instruct-2n8g-fsdp2tp1-noncolocated.yaml | ||
| data_plane: | ||
| enabled: true | ||
| observability: | ||
| verify_tensor_hash: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 2 additions & 0 deletions
2
examples/configs/recipes/llm/grpo-llama3.2-1b-instruct-1n8g-fsdp2tp1.v3-tq_simple.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,5 @@ | ||
| defaults: grpo-llama3.2-1b-instruct-1n8g-fsdp2tp1.v3.yaml | ||
| data_plane: | ||
| enabled: true | ||
| observability: | ||
| verify_tensor_hash: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 2 additions & 0 deletions
2
examples/configs/recipes/llm/grpo-llama3.2-1b-instruct-1n8g-megatron-tq_simple.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,5 @@ | ||
| defaults: grpo-llama3.2-1b-instruct-1n8g-megatron.yaml | ||
| data_plane: | ||
| enabled: true | ||
| observability: | ||
| verify_tensor_hash: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 2 additions & 0 deletions
2
examples/configs/recipes/llm/grpo-moonlight-16ba3b-4n8g-megatron-tq_simple.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,5 @@ | ||
| defaults: grpo-moonlight-16ba3b-4n8g-megatron.yaml | ||
| data_plane: | ||
| enabled: true | ||
| observability: | ||
| verify_tensor_hash: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 2 additions & 0 deletions
2
examples/configs/recipes/llm/grpo-nanov3-30BA3B-2n8g-megatron-pack-cp-tq_simple.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,5 @@ | ||
| defaults: grpo-nanov3-30BA3B-2n8g-megatron-pack-cp.yaml | ||
| data_plane: | ||
| enabled: true | ||
| observability: | ||
| verify_tensor_hash: true |
2 changes: 2 additions & 0 deletions
2
examples/configs/recipes/llm/grpo-qwen2.5-math-1.5b-instruct-1n8g-fsdp2tp1.v3-tq_simple.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,5 @@ | ||
| defaults: grpo-qwen2.5-math-1.5b-instruct-1n8g-fsdp2tp1.v3.yaml | ||
| data_plane: | ||
| enabled: true | ||
| observability: | ||
| verify_tensor_hash: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we turn this off for normal recipes and only turn it on in the automated test launch script?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right for this file, though it splits by kind. 19 of the 24 YAMLs that set this are
-tq_simple/-tq_mooncakewrappers — CI-only configs that inherit the base recipe and flipdata_plane.enabled. For those the flag already is in the test config, andcommon-tq.env:8saysdata_plane.*overrides belong in the wrapper YAML rather than the launch script.The 5 that match your concern are the single-controller recipes with no wrapper: this one, plus
grpo-llama3.1-8b-...-streaming2,grpo-qwen2.5-math-1.5b-...-sync,grpo-qwen3-30ba3b-10n8g-...-async-single-controllerandmopd-qwen3-1.7b-...-single-controller. Those are user-facing configs and I agree the guard shouldn't be on by default in them.Two ways to fix, happy to take either:
++data_plane.observability.verify_tensor_hash=Trueto their test-suite.sh— loses the wrapper convention, keeps CI coverage.-tq_*-style wrapper YAMLs like the other 19 — keeps the convention, costs 5 new files.I lean (a): they already have their own
.sh, and 5 wrapper YAMLs to preserve a convention that exists to avoid CLI overrides is more machinery than the problem justifies. It does meancommon-tq.env:8needs an "except the single-controller recipes" caveat. Which would you prefer?