Active Queue Management Experiment
Active queue management (AQM) algorithms are packet schedulers that define policies how packets are enqueued and dequeued by a queue. Congestion control algorithms (CCAs) may benefit from AQM that generates congestion signals earlier than First In, First Out (FIFO) taildrop queues, which drop arriving packets only if the queue is full. Queues use specific AQM algorithms by setting the queueing discipline (qdisc) of the queue.
In ccperf, the interactions between CCAs and the following qdiscs are evaluated:
FIFO taildrop
Scenario
In the AQM experiment, one or more flows operate in a static dumbbell
network. The flows generate greedy source traffic and use CCAs. The
experiment has two parameters: the number of flows k
and
the qdisc type qdisc
of the bottleneck queue.
To summarize the experiment setup:
Topology: Dumbbell topology (\(K=1\)) with static network parameters and a specified qdisc
Flows: A single flow (\(K=1\)) that uses a CCA
Traffic Generation Model: Greedy source traffic
Experiment Results
Experiment #13
Command: ns3-dev-ccperf-static-dumbbell-default --experiment-name=aqm --db-path=benchmark_TcpNewReno.db '--parameters={aut:TcpNewReno,k:1,qdisc:FifoQueueDisc}' --aut=TcpNewReno --stop-time=15s --seed=42 --qdisc=FifoQueueDisc --bw=16Mbps --loss=0.0 --qlen=20p --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 #13. 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.21 |
cov_throughput_l4 | 0.04 |
flow_completion_time_l4 | 15.00 |
mean_cwnd_l4 | 33.60 |
mean_delivery_rate_l4 | 15.36 |
mean_est_qdelay_l4 | 9.76 |
mean_idt_ewma_l4 | 0.76 |
mean_in_flight_l4 | 33.08 |
mean_network_power_l4 | 647.17 |
mean_one_way_delay_l7 | 1925.55 |
mean_recovery_time_l4 | 33.91 |
mean_sending_rate_l4 | 15.44 |
mean_sending_rate_l7 | 17.50 |
mean_srtt_l4 | 24.76 |
mean_throughput_l4 | 15.37 |
mean_throughput_l7 | 15.37 |
mean_utility_mpdf_l4 | -0.07 |
mean_utility_pf_l4 | 2.73 |
mean_utilization_bdp_l4 | 1.72 |
mean_utilization_bw_l4 | 0.96 |
total_retransmissions_l4 | 68.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 | link_5 |
---|---|
mean_qdisc_delay_l2 | 7.90 |
mean_qdisc_length_l2 | 11.03 |
mean_sending_rate_l1 | 15.95 |
total_qdisc_drops_l2 | 68.00 |
Figures
The following figures show the results of the experiment #13.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.
Comparison of Congestion Control Algorithms (CCAs)
Figures
Throughput Delay Plane for Different AQM Algorithms
The throughput and delay of CCAs depend on the Active Queue Management (AQM) algorithm. These AQM algorithms are enforced by the qdisc of the bottleneck queue. The following figures show the operating points (throughput vs sRTT) of different CCAs and qdiscs. The optimal operating point maximizes the throughput and minimizes the delay (sRTT). A qdisc may push a CCA towards the optimal operating point. In particular, a qdisc counteracts bufferbloat if the CCA's sRTT is reduced in comparison to a FIFO queue.