Skip to content

Perftest: add --report-min-bw to sample minimum bandwidth over X iterations#214

Open
antgun42 wants to merge 1 commit into
linux-rdma:masterfrom
coreweave:ag/sample_min
Open

Perftest: add --report-min-bw to sample minimum bandwidth over X iterations#214
antgun42 wants to merge 1 commit into
linux-rdma:masterfrom
coreweave:ag/sample_min

Conversation

@antgun42

Copy link
Copy Markdown

Sample and report the minimum bandwidth measured over X iterations. This is useful to pinpoint intermittently unstable links that wouldn't be seen on the average bandwidth

@antgun42

Copy link
Copy Markdown
Author

Example output from ib_write_bw -a -n 10000 -F -x 0 --report_gbits --report-min-bw=1000 -d ibp5 localhost

---------------------------------------------------------------------------------------
                    RDMA_Write BW Test
Dual-port       : OFF          Device         : ibp5
Number of qps   : 1            Transport type : IB
Connection type : RC           Using SRQ      : OFF
PCIe relax order: ON
ibv_wr* API     : ON
TX depth        : 128
CQ Moderation   : 100
Mtu             : 4096[B]
Link type       : IB
GID index       : 0
Max inline data : 0[B]
rdma_cm QPs     : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
local address: LID 0x1907 QPN 0x0867 PSN 0x6d058e RKey 0x1fffb9 VAddr 0x007f58a406e000
GID: 254:128:00:00:00:00:00:00:148:109:174:03:00:50:07:120
remote address: LID 0x1922 QPN 0x0855 PSN 0xc6797b RKey 0x1fffb9 VAddr 0x007f71dddd9000
GID: 254:128:00:00:00:00:00:00:148:109:174:03:00:50:24:232
---------------------------------------------------------------------------------------
#bytes     #iterations    BW peak[Gb/sec]    BW average[Gb/sec]   MsgRate[Mpps]        BW min[Gb/sec]
2          10000           0.099556            0.099136            6.196016              0.09   
4          10000            0.20               0.20               6.347743               0.19   
8          10000            0.41               0.41               6.419086               0.38   
16         10000            0.81               0.81               6.299195               0.76   
32         10000            1.62               1.61               6.301648               1.52   
64         10000            3.30               3.29               6.424946               3.04   
128        10000            6.39               6.37               6.221340               6.08   
256        10000            13.12              13.06              6.374844               12.15  
512        10000            25.77              25.72              6.280336               24.30  
1024       10000            50.97              50.89              6.211579               48.60  
2048       10000            94.20              93.84              5.727336               92.03  
4096       10000            148.22             147.98             4.516077               144.54 
8192       10000            223.78             223.56             3.411286               220.27 
16384      10000            319.41             318.72             2.431612               312.77 
32768      10000            356.49             356.28             1.359097               352.73 
65536      10000            368.94             368.89             0.703607               365.85 
131072     10000            372.21             372.21             0.354969               370.59 
262144     10000            373.99             373.98             0.178326               373.07 
524288     10000            374.58             374.57             0.089305               374.34 
1048576    10000            375.07             375.07             0.044712               374.81 
2097152    10000            375.31             375.30             0.022370               375.26 
4194304    10000            375.30             375.30             0.011185               375.23 
8388608    10000            375.37             375.37             0.005593               375.36 
---------------------------------------------------------------------------------------

Comment thread src/perftest_parameters.h Outdated
@HassanKhadour

Copy link
Copy Markdown
Contributor

Thanks for your contribution!
Can you please add more details to the commits messages and fix the title to be as any of the following scheme:
1- Perftest:
2- (without Perftest:)

@sshaulnv

Copy link
Copy Markdown
Contributor

@antgun42 , thanks for the contribution.
please complete what @HassanKhadour asked for and rebase.

…ations

Bandwidth tests report average and peak bandwidth, so transient dips
(congestion, throttling, marginal links) are hidden inside the average. Add
--report-min-bw=<iterations>, which also reports the minimum bandwidth observed
over rolling windows of <iterations> iterations.

- New long option --report-min-bw=<iterations>; bandwidth tests only.
- Only printed when explicitly requested: the report format is unchanged from
  upstream unless --report-min-bw is set (base vs *_MINBW format variants).
  When set, adds a "BW min" column and a "BW_min" field to --out_json.
- report_min_bw_cycles is uint64 to avoid wrapping on very slow results; the
  value is exchanged between server and client with the other bw_report fields.
- Man-page entry under perftest.1.

Signed-off-by: Anton Gunnarsson <agunnarsson@coreweave.com>
@antgun42 antgun42 changed the title report-min-bw Perftest: add --report-min-bw to sample minimum bandwidth over X iterations Jun 17, 2026
@antgun42

Copy link
Copy Markdown
Author

Rebased onto current upstream and squashed to a single commit.

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.

4 participants