Auto-Tuning Active Queue Management
Total Page:16
File Type:pdf, Size:1020Kb
2017 9th International Conference on Communication Systems and Networks (COMSNETS) Auto-Tuning Active Queue Management Joe H. Novak Sneha Kumar Kasera University of Utah University of Utah Abstract not require pre-specification of even those parameters including 3 Active queue management (AQM) algorithms preemptively EWMA weights or protocol timer intervals that are routinely drop packets to prevent unnecessary delays through a network specified in protocol design and implementation. while keeping utilization high. Many AQM ideas have been When we view the network link in terms of utilization proposed, but none have been widely adopted because these rely and the queue corresponding to the link in terms of delay on pre-specification or pre-tuning of parameters and thresholds (Fig. 1 shows a typical delay-utilization curve), we see that that do not necessarily adapt to dynamic network conditions. as utilization increases, delay also increases. At a certain point, We develop an AQM algorithm that relies only on network however, there is a very large increase in delay for only a small runtime measurements and a natural threshold, the knee on improvement in utilization. This disproportionate increase in the delay-utilization curve. We call our AQM algorithm Delay delay is of little to no value to the applications at the endpoints. Utilization Knee (DUK) based on its key characteristic of We want to avoid this unstable region of high increase in delay keeping the system operating at the knee of the delay-utilization with little increase in utilization. As a result, a natural threshold curve. We implement and evaluate DUK in the Linux kernel in becomes apparent. This point at which the change in delay a testbed, that we build, and in the ns-3 network simulator. becomes greater than the change in utilization is the knee on We find that DUK can attain reduced queuing delay and the curve. Rather than pre-specified queue length thresholds or reduced flow completion times compared to other algorithms delay parameters, we use this natural threshold to derive an 4 with virtually no reduction in link utilization under varying expression for the AQM packet drop or marking probability. network conditions. We recognize that the delay-utilization curve is valid over large time scales. However, networks operate over short time scales. I. INTRODUCTION We do not have the luxury of taking measurements or reacting Active Queue Management (AQM) tries to answer the ques- over a long time. Conceptually, we base our approach on the tion, “What is the best way to preemptively drop packets to delay-utilization curve, but implement it at short time scales. prevent unnecessary delays through a network while keeping Our AQM algorithm adapts to network environments without utilization high?” Many ideas have been proposed to answer the need for tuning or adjustment of thresholds. Very impor- this question1, yet despite the potential benefits of AQM, none tantly, it does not require any buffer sizing, i.e., it does not of the ideas have been widely adopted in routers and other require setting limits on buffer sizes and hence our AQM network elements. The key problem is that the existing ideas mechanism does not depend on tail drops. We call our AQM al- require pre-specification of AQM parameters and thresholds gorithm Delay Utilization Knee (DUK in short) based on its key (e.g., RED [5], CoDel2 [2].) Given the dynamic nature of characteristic of keeping the system operating at the naturally networks due to changing traffic patterns and also due to occurring knee of the delay-utilization curve. The primary goal changes in link capacity or bandwidth, finding the right values of DUK is to quickly adapt to any bandwidth or offered load of the AQM parameters and thresholds is very hard. Moreover, without reducing link utilization or unnecessarily increasing one cannot capture all network situations with the same set of queuing delay. We implement and evaluate DUK in the Linux parameters. Another well-known existing work, PIE [3], uses a kernel in a testbed, that we build, and in the ns-3 simulator [7] pre-tuning approach where the AQM parameters are experimen- under a variety of network operating conditions. Our results tally determined for the network element and the environment indicate we can obtain robustness to changing and differing in which the AQM would be deployed. This approach also fails network environments without sacrificing performance. Very to capture wide-scale changes in the network conditions. In this importantly, we demonstrate that with ECN, our approach paper, we tackle the challenge of designing an AQM method decreases flow completion times compared to other algorithms. that is based on the principle that no parameters should be pre- We compare DUK with two contemporary algorithms, CoDel specified or pre-tuned. Instead, we look for a threshold that and PIE, and find that DUK can attain decreased queuing occurs naturally in queuing systems. Our AQM approach does delay with virtually no reduction in the link utilization. We choose to compare DUK to CoDel because it claims to have 1Recently, it has been discussed in the context of the continuing or even no parameters or thresholds to tune to the network environment. worsening bufferbloat problem [1], [2], [3], [4]. Bufferbloat is the oversizing of buffers in network devices which can lead to excessive delays without any real benefit to network providers. 3Exponentially Weighted Moving Average. 2Contrary to its claims, CoDel requires specification of parameters including 4AQM algorithms probabilistically drop packets or mark them using Explicit a minimum queuing delay. Congestion Notification (ECN) [6] when they detect congestion. 978-1-5090-4250-0/17/$31.00 ©2017 IEEE 136 2017 9th International Conference on Communication Systems and Networks (COMSNETS) We compare DUK to PIE to demonstrate the advantages of a self-adaptive algorithm compared to one that needs to be pre- tuned and may not react well when network conditions change. Thus, DUK offers a highly robust alternative to existing AQM dD methods and can be widely deployed without worrying about = 1 dU pre-selection or pre-tuning of AQM parameters. Knee Delay II. DUK GOALS AND APPROACH The key goals in designing DUK are as follows. First, DUK should not depend upon any pre-tuning or pre-specifcation of 45° parameters but only on runtime measurements. Second, DUK Utilization 100% should not make any traffic source behaviour assumptions. The traffic at a network node can be a mix of different flavors Fig. 1: Delay-Utilization Graph of TCP, multimedia traffic or other types of traffic with their own congestion control mechanisms, etc. Thus, determining parameters based on any particular flavor of TCP is not likely threshold dD/dU =1for a router queuing system comprising to be optimal across different traffic types. In designing DUK, a FIFO queue and a link with a certain bandwidth. DUK does we do not necessarily aim for optimality. Unlike some of the not need a priori knowledge of the link bandwidth. Let dD dU |Ui existing work on self-tuning AQM [8], we do not make any be the point where the queuing system is initially operating. TCP assumptions. DUK adapts its drop or marking probability The utilization at this point is U . Let dD be the point that i dU |Uf using local measurements only. Third, DUK does not require the queuing system reaches after some packets are admitted or any per-connection information such as per-connection round dropped (or marked). The utilization at this point is Uf . Let trip times (RTTs) required by some existing approaches [3], [9]. Ui 1 be the utilization during the previous evaluation of the − Moreover, per-connection information is also not necessarily algorithm. available when traffic is encrypted (e.g., when using IPsec). In order to determine the packet drop or marking probability, we make the simplifying assumption that the second derivative Dependence on a Natural Threshold of the delay-utilization curve is constant over a short time. Given that the primary goal of an AQM algorithm is to Note that we neither control nor enforce this assumption in balance the queuing delay with the link utilization, we choose our experiments. Under this assumption, the knee on the delay-utilization curve as the desired natural threshold. At this point, the first derivative of the delay D with dD dD d2D = + (U U ) (1) respect to the utilization U is equal to unity. We label this dU |Uf dU |Ui dU 2 f − i point dD/dU =1in Fig. 1. We want to avoid the region DUK calculates dD from measurements taken at run time. that lies to the right of this point because this is where the dU |Ui Given our goal to reach dD =1, we have: delay increases more quickly than the utilization and makes the dU |Uf queueing system unstable. One could possibly argue choosing dD d2D dD/dU slightly greater than 1 or possibly less than 1. Our 1= Ui + 2 (Uf Ui) (2) choice maximizes utilization while keeping the delays low dU | dU − without any flirtation with the unstable region. d2D We derive an expression for 2 (U U ) as follows. We dU f − i The tangent at the knee is always 1 regardless of the compute the change in delay dD over a short time dt as the time units we use for delay. As the granularity of runtime difference between the admit rate a and the transmit rate β measurements becomes finer, the measured change in utilization divided by the capacity C as shown in Equation 3. We assume decreases proportionally. Thus, the knee location naturally the arrival rate A and the capacity C remain constant over dt.