Automatic Mode—Binary Search

In automatic mode, rvperfm uses a binary search algorithm to adjust its batch size and interval parameters between runs. These rules control rvperfm as it empirically determines the maximum throughput:

For the first run, rvperfm determines the batch size and interval from command parameters or default values.
If rvperfm loses data, it aborts the run immediately, and adjusts parameters to decrease the send rate for the next run.
If even one of the rvperfs processes lost data during the run, then the send rate exceeds the maximum network throughput. In this case, rvperfm aborts the run, records the upper bound on maximum throughput, and adjusts the parameters to decrease the send rate for the next run.
If all active rvperfs processes keep pace without lagging behind, and receive all the messages without losing data—then the send rate is lower than the maximum throughput. In this case, rvperfm records the lower bound on maximum throughput, and adjusts the parameters to increase the send rate for the next run.
After a finite number of runs, the upper and lower bounds converge at the maximum throughput. When rvperfm exits, the report of the last run indicates the batch size and interval parameters that yield the maximum network throughput.

If no rvperfs processes are active, the parameters of the last run yield the maximum send rate for rvperfm on its host computer (with the prevailing network conditions).