Skip to content

Add DuplexMode parameter to PERF-NETWORK profile and bump version to …#719

Merged
brdeyo merged 4 commits into
microsoft:mainfrom
rudraptpsingh:user/rudrasingh/perf-network-fullduplex
May 27, 2026
Merged

Add DuplexMode parameter to PERF-NETWORK profile and bump version to …#719
brdeyo merged 4 commits into
microsoft:mainfrom
rudraptpsingh:user/rudrasingh/perf-network-fullduplex

Conversation

@rudraptpsingh
Copy link
Copy Markdown
Contributor

…3.2.10

Propagates the NTTTCP full-duplex change (#692) to the PERF-NETWORK suite profile, which was missed in the original PR. Adds DuplexMode (default Half) to the Parameters block and threads it through all 11 NTttcp actions (9 TCP + 2 UDP).

…3.2.10

Propagates the NTTTCP full-duplex change (microsoft#692) to the PERF-NETWORK suite profile, which was missed in the original PR. Adds DuplexMode (default Half) to the Parameters block and threads it through all 11 NTttcp actions (9 TCP + 2 UDP).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@brdeyo brdeyo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a core profile used in data center sustainment. We cannot make a major change like this without affecting the ability to weigh current NTttcp performance numbers against past numbers.

Set the "DuplexMode" parameter to "Half"...the previous default behavior. For the handful of cases where there is a wish for full duplex, this option should be set on the command line using --parameters="NTttcpDuplexMode=Full" (see parameter rename comment below).

Additionally, this profile runs 4 different toolsets. In order to avoid confusion, keep to the same naming conventions as we have for other per-tool settings. In this case change the global parameter from "DuplexMode" to "NTttcpDuplexMode". Make this same change to the PERF-NETWORK-NTTTCP.json profile so we are consistent in name and value across both profiles for global parameters.

You can leave the parameter named "DuplexMode" for the NetworkWorkloadExecutor however.

@brdeyo
Copy link
Copy Markdown
Contributor

brdeyo commented May 27, 2026

…3.2.10

Propagates the NTTTCP full-duplex change (#692) to the PERF-NETWORK suite profile, which was missed in the original PR. Adds DuplexMode (default Half) to the Parameters block and threads it through all 11 NTttcp actions (9 TCP + 2 UDP).

We cannot make blanket statements like this without significant evidence and need to be careful taking actions without evidence. We have been running this profile with NTttcp this way for 4 - 5 years in the data center across 10,000s of systems with success (including on ARM systems). The configuration was provided by the Azure Networking team themselves and is thus not a random set of guesses.

…-NETWORK profiles

- Renamed global parameter 'DuplexMode' -> 'NTttcpDuplexMode' in PERF-NETWORK.json
  and PERF-NETWORK-NTTTCP.json for consistency and to avoid ambiguity with other tools.
- Changed default value from 'Full' back to 'Half' in PERF-NETWORK.json to preserve
  backward compatibility with historical performance baselines.
- All NTttcp executor action references updated to use '$.Parameters.NTttcpDuplexMode'.
- The executor-level parameter 'DuplexMode' (on NetworkingWorkloadExecutor) is unchanged.
- To run full duplex, pass: --parameters='NTttcpDuplexMode=Full' on the command line.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@rudraptpsingh
Copy link
Copy Markdown
Contributor Author

…3.2.10
Propagates the NTTTCP full-duplex change (#692) to the PERF-NETWORK suite profile, which was missed in the original PR. Adds DuplexMode (default Half) to the Parameters block and threads it through all 11 NTttcp actions (9 TCP + 2 UDP).

We cannot make blanket statements like this without significant evidence and need to be careful taking actions without evidence. We have been running this profile with NTttcp this way for 4 - 5 years in the data center across 10,000s of systems with success (including on ARM systems). The configuration was provided by the Azure Networking team themselves and is thus not a random set of guesses.

I don't think I fully understand the issue in the statement above. By original PR I meant the NTTTCP full duplex mode PR. I am not diminishing the NTTTCP execution results till now, but duplex mode definitely seems an improvement over half duplex that we have currently.

I agree we should have it half duplex mode by default though.

Signed-off-by: Bryan DeYoung <35380894+brdeyo@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@brdeyo brdeyo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to update the VERSION

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@brdeyo brdeyo merged commit 3b6f1fc into microsoft:main May 27, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants