Step Function Responsiveness Experiment
A congestion control algorithm (CCA) should be responsive to sudden changes in network conditions. In the responsiveness step function experiment, sudden changes are triggered at predefined instants that either increase or decrease the value of a network parameter. There are three types of changes depending on which network parameter is affected:
Bandwidth: An increase in bandwidth frees up resources that can be acquired by a CCA. To avoid underutilization, a CCA should grab the bandwidth quickly. On the other hand, a decrease in bandwidth may lead to congestion. Then, a CCA should reduce its sending rate.
Delay: An increase of the propagation delay prolongs feedback cycles of the congestion control loop. A CCA might slow down if the growth rate of its sending rate is proportional to feedback cycle period. Furthermore, CCAs that estimate the two-way propagation delay to set their rate may have to update their estimate in response. A decrease of the propagation delay may affect CCAs in the opposite way.
Loss: An increase in the random loss probability may cause CCAs to back off more frequently in response to packet loss. Hence, CCAs may underutilize the bandwidth resources at times with high loss. Vice versa, a decrease may let CCAs grab more bandwidth. CCAs that are resilient to random losses might not be affected by a change of the random loss probability.
Scenario
In the responsiveness step function experiment, a single flow
operates in a static dumbbell network. The flow generates greedy source
traffic and uses a CCA. The target
parameter is either
rate
, rtt
, or loss
and decides
which network parameter is changed. A change may either increase or
decrease the parameter value, which is set by the parameter
direction
with the values up
or
down
. The period
parameter sets the instant
when the change happens. The lower
and upper
parameters set the values of the network parameter before and after the
change.
To summarize the experiment setup:
Topology: Dumbbell topology (\(K=1\)) with static network parameters, but one parameter changes its value once during the experiment
Flows: A single flow (\(K=1\)) that uses a CCA
Traffic Generation Model: Greedy source traffic
Experiment Results
Experiment #60
Parameters
Command: ns3-dev-ccperf-responsiveness-default --experiment-name=responsiveness_step --db-path=benchmark_TcpNewReno.db '--parameters={aut:TcpNewReno,target:rate,direction:down,period:5s,lower:16Mbps,upper:64Mbps}' --aut=TcpNewReno --stop-time=15s --seed=42 --time-series=0s,5s --rate-series=64Mbps,16Mbps --rtt-series=15ms,15ms --loss-series=0.0,0.0 --bw=16Mbps --loss=0.0 --qlen=20p --qdisc=FifoQueueDisc --rtts=15ms --sources=src_0 --destinations=dst_0 --protocols=TCP --algs=TcpNewReno --recoveries=TcpPrrRecovery --start-times=0s --stop-times=15s '--traffic-models=Greedy(bytes=0)'
Flows
src | dst | transport_protocol | cca | cc_recovery_alg | traffic_model | start_time | stop_time |
---|---|---|---|---|---|---|---|
src_0 | dst_0 | TCP | TcpNewReno | TcpPrrRecovery | Greedy(bytes=0) | 0.00 | 15.00 |
Metrics
The following tables list the flow, link, and network metrics of experiment #60. Refer to the the metrics page for definitions of the listed metrics.
Flow Metrics
Flow metrics capture the performance of an individual flow. They are measured at the endpoints of a network path at either the source, the receiver, or both. Bold values indicate which flow achieved the best performance.
Metric | flow_1 |
---|---|
cov_in_flight_l4 | 0.49 |
cov_throughput_l4 | 0.67 |
flow_completion_time_l4 | 15.00 |
mean_cwnd_l4 | 46.95 |
mean_delivery_rate_l4 | 27.71 |
mean_est_qdelay_l4 | 6.81 |
mean_idt_ewma_l4 | 0.58 |
mean_in_flight_l4 | 46.46 |
mean_network_power_l4 | 1518.17 |
mean_one_way_delay_l7 | 1457.08 |
mean_recovery_time_l4 | 28.64 |
mean_sending_rate_l4 | 27.80 |
mean_sending_rate_l7 | 29.85 |
mean_srtt_l4 | 21.81 |
mean_throughput_l4 | 27.72 |
mean_throughput_l7 | 27.72 |
mean_utility_mpdf_l4 | -0.05 |
mean_utility_pf_l4 | 3.13 |
mean_utilization_bdp_l4 | 1.46 |
mean_utilization_bw_l4 | 0.92 |
total_retransmissions_l4 | 74.00 |
total_rtos_l4 | 0.00 |
Link Metrics
Link metrics are recorded at the network links of interest, typically at bottlenecks. They include metrics that measure queue states. Bold values indicate which link achieved the best performance.
Metric | btl_forward |
---|---|
mean_qdisc_delay_l2 | 5.40 |
mean_qdisc_length_l2 | 8.62 |
mean_sending_rate_l1 | 28.76 |
total_qdisc_drops_l2 | 74.00 |
Figures
The following figures show the results of the experiment #60.Time Series Plot of the Operating Point
Time series plot of the number of segments in flight, the smoothed round-trip time (sRTT), and the throughput at the transport layer.
In Flight vs Mean Operating Point
The mean throughput and mean smoothed round-trip time (sRTT) at the transport layer of each flow. The optimal operating point is highlighted with a star (magenta). The joint operating point is given by the aggregated throughput and the mean sRTT over all flows
Distribution of the Operating Point
The empirical cumulative distribution function (eCDF) of the throughput and smoothed round-trip time (sRTT) at the transport layer of each flow.
Mean Operating Point Plane
The mean throughput and mean smoothed round-trip time (sRTT) at the transport layer of each flow.