These lines create an iperf client and server for each flow (there will be serveral iperf) to measure bandwidth and network performance (is this correct?). They are then added to the container_cmd and final_cmd. Thus, when starting the Sage client and server (which sending and receiving "1"), iperf is also started for each flow.
What is the meaning and relationship between iPerf and the Sage Client/Server? From my understanding, iPerf is used for network performance benchmarking (e.g., bandwidth usage and latency), while the Sage Client/Server is responsible for the actual data transmission using Sage's congestion control. Is this correct? Additionally, will iperf and the Sage Client/Server influence each other, e.g., Bandwidth Occupation and compete?
I ignore the start of the loop is not 0 but 1. When flow_num > 1, the first flow will be sage flow, and other flows generated by iperf is working as background flow that compete with sage flows.
In
Sage.cc
, Line 237 and 238,These lines create an iperf client and server for each flow (there will be serveral iperf) to measure bandwidth and network performance (is this correct?). They are then added to the
container_cmd
andfinal_cmd
. Thus, when starting the Sage client and server (which sending and receiving "1"), iperf is also started for each flow.What is the meaning and relationship between iPerf and the Sage Client/Server? From my understanding, iPerf is used for network performance benchmarking (e.g., bandwidth usage and latency), while the Sage Client/Server is responsible for the actual data transmission using Sage's congestion control. Is this correct? Additionally, will iperf and the Sage Client/Server influence each other, e.g., Bandwidth Occupation and compete?
Thank you for your help!