optimal delay control for combating bufferbloat in...

6
Optimal Delay Control for Combating Bufferbloat in the Internet Jiancheng Ye, Ka-Cheong Leung, and Victor O.K. Li Department of Electrical and Electronic Engineering The University of Hong Kong Pokfulam Road, Hong Kong, China E-mail: {jcye, kcleung, vli}@eee.hku.hk Abstract—Nowadays, inexpensive memory has led to large router buffers in the Internet, leading to excessively long queues and high latency. This phenomenon is recently termed as “bufferbloat.” Recently, Controlled Delay (CoDel) has been proposed as an active queue management (AQM) algorithm to address this problem by setting a limit (i.e., a target delay) on the queueing delay. However, such a target delay is fixed, and CoDel is thus unable to adapt to changes in the network environment. In this paper, we propose a framework to adaptively control the target delay with changing network conditions, so as to overcome bufferbloat. Specifically, we first develop a theoretical model to analyze the stability of CoDel and derive the stable range of the target delay using control theory. We then propose Adaptive CoDel, which dynamically selects an optimal value of the target delay in the stable range, such that the aggregate TCP goodput is maximized, while keeping the system stable. Our simulation results show that Adaptive CoDel not only effectively controls the queueing delay, but also achieves higher aggregate TCP goodput compared to other AQM algorithms. Keywords—active queue management; bufferbloat; congestion control; control system. I. INTRODUCTION In recent years, inexpensive memory has led to large router buffers in the Internet, leading to excessively long queues and high latency. This phenomenon is recently known as the bufferbloat problem [1]. This problem will become increasingly critical due to larger buffer sizes and more delay- sensitive applications in the future Internet. Active queue management (AQM) has been proposed to manage router buffers for many years, but it has not been widely deployed because parameter configurations are complicated and the system performance degrades significantly if parameters are not properly tuned. To address these issues and facilitate the wide deployment of AQM, it is desirable to have parameters tuned automatically. Automatic parameter tuning not only avoids manual configurations, but also properly adjusts the parameters based on network conditions. In fact, many AQM algorithms have been proposed in the literature. Random Early Detection (RED) [2] is the first AQM algorithm implemented in routers. It maintains a running average of the queue length, q_avg, and compares it to two threshold parameters, namely, minThresh and maxThresh. If q_avg falls between minThresh and maxThresh, RED drops an arriving packet with a probability, which is computed by a function of q_avg. A major drawback of RED is that it maintains many parameters that need to be configured carefully. That hinders its wide deployment. Controlled Delay (CoDel) [3] is a modern AQM algorithm that is designed to overcome the bufferbloat problem. It sets a target delay, target, and monitors the minimum queueing delay experienced by packets. If the minimum queueing delay exceeds target for a time period, interval, CoDel drops an arriving packet and sets the next drop time, which is inversely proportional to the square root of the number of drops since entering the dropping state. If the minimum queueing delay goes below target, it stops dropping. One advantage of CoDel is that it is easy to manage as it only maintains a few parameters. There is some work on automatic parameter tuning for AQM. For example, Adaptive RED (ARED) [4] has been proposed to increase the robustness of the original RED algorithm. It mainly adapts the parameter max_p, which is the maximum packet dropping rate, to keep the average queue length between minThresh and maxThresh. In [5], the authors proposed a novel self-tuning feedback controller for RED, called NPD-RED, using a control-theoretic approach. They analyzed the stability of NPD-RED and dynamically determined the stable ranges of its parameters using control theory. The values of the parameters are then chosen randomly within their stable ranges. In this paper, we adopt a similar approach to analyze the system stability of CoDel based on control theory. Moreover, after determining the stable range of the parameter (i.e., the target delay), we further propose a method to select an optimal value of the parameter in the stable range, so as to improve the system performance. In this paper, we investigate how to adaptively control the target delay based on network conditions and propose Adaptive CoDel to achieve this goal. The reason why we use CoDel as a showcase is that it aims to overcome bufferbloat and has not been studied analytically. Moreover, this work also bridges the research gap with our previous work [6] on the novel pricing- link-by-time (PLT) principle for AQM by offering an adaptive algorithm for the selection of the threshold (i.e., the target delay). In this paper, we make the following three contributions. First, we derive the packet drop probability function for CoDel. Second, we present the first theoretical This research is supported in part by the Research Grants Council of Hong Kong, China, under Grant No. 17204614. 978-1-5090-3423-9/16/$31.00 ©2016 IEEE

Upload: dinhthuan

Post on 26-Aug-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Optimal Delay Control for Combating Bufferbloat in the Internet

Jiancheng Ye, Ka-Cheong Leung, and Victor O.K. Li Department of Electrical and Electronic Engineering

The University of Hong Kong Pokfulam Road, Hong Kong, China

E-mail: {jcye, kcleung, vli}@eee.hku.hk

Abstract—Nowadays, inexpensive memory has led to large router buffers in the Internet, leading to excessively long queues and high latency. This phenomenon is recently termed as “bufferbloat.” Recently, Controlled Delay (CoDel) has been proposed as an active queue management (AQM) algorithm to address this problem by setting a limit (i.e., a target delay) on the queueing delay. However, such a target delay is fixed, and CoDel is thus unable to adapt to changes in the network environment. In this paper, we propose a framework to adaptively control the target delay with changing network conditions, so as to overcome bufferbloat. Specifically, we first develop a theoretical model to analyze the stability of CoDel and derive the stable range of the target delay using control theory. We then propose Adaptive CoDel, which dynamically selects an optimal value of the target delay in the stable range, such that the aggregate TCP goodput is maximized, while keeping the system stable. Our simulation results show that Adaptive CoDel not only effectively controls the queueing delay, but also achieves higher aggregate TCP goodput compared to other AQM algorithms.

Keywords—active queue management; bufferbloat; congestion control; control system.

I. INTRODUCTION In recent years, inexpensive memory has led to large router

buffers in the Internet, leading to excessively long queues and high latency. This phenomenon is recently known as the bufferbloat problem [1]. This problem will become increasingly critical due to larger buffer sizes and more delay-sensitive applications in the future Internet. Active queue management (AQM) has been proposed to manage router buffers for many years, but it has not been widely deployed because parameter configurations are complicated and the system performance degrades significantly if parameters are not properly tuned. To address these issues and facilitate the wide deployment of AQM, it is desirable to have parameters tuned automatically. Automatic parameter tuning not only avoids manual configurations, but also properly adjusts the parameters based on network conditions.

In fact, many AQM algorithms have been proposed in the literature. Random Early Detection (RED) [2] is the first AQM algorithm implemented in routers. It maintains a running average of the queue length, q_avg, and compares it to two threshold parameters, namely, minThresh and maxThresh. If

q_avg falls between minThresh and maxThresh, RED drops an arriving packet with a probability, which is computed by a function of q_avg. A major drawback of RED is that it maintains many parameters that need to be configured carefully. That hinders its wide deployment. Controlled Delay (CoDel) [3] is a modern AQM algorithm that is designed to overcome the bufferbloat problem. It sets a target delay, target, and monitors the minimum queueing delay experienced by packets. If the minimum queueing delay exceeds target for a time period, interval, CoDel drops an arriving packet and sets the next drop time, which is inversely proportional to the square root of the number of drops since entering the dropping state. If the minimum queueing delay goes below target, it stops dropping. One advantage of CoDel is that it is easy to manage as it only maintains a few parameters.

There is some work on automatic parameter tuning for AQM. For example, Adaptive RED (ARED) [4] has been proposed to increase the robustness of the original RED algorithm. It mainly adapts the parameter max_p, which is the maximum packet dropping rate, to keep the average queue length between minThresh and maxThresh. In [5], the authors proposed a novel self-tuning feedback controller for RED, called NPD-RED, using a control-theoretic approach. They analyzed the stability of NPD-RED and dynamically determined the stable ranges of its parameters using control theory. The values of the parameters are then chosen randomly within their stable ranges. In this paper, we adopt a similar approach to analyze the system stability of CoDel based on control theory. Moreover, after determining the stable range of the parameter (i.e., the target delay), we further propose a method to select an optimal value of the parameter in the stable range, so as to improve the system performance.

In this paper, we investigate how to adaptively control the target delay based on network conditions and propose Adaptive CoDel to achieve this goal. The reason why we use CoDel as a showcase is that it aims to overcome bufferbloat and has not been studied analytically. Moreover, this work also bridges the research gap with our previous work [6] on the novel pricing-link-by-time (PLT) principle for AQM by offering an adaptive algorithm for the selection of the threshold (i.e., the target delay). In this paper, we make the following three contributions. First, we derive the packet drop probability function for CoDel. Second, we present the first theoretical

This research is supported in part by the Research Grants Council of Hong Kong, China, under Grant No. 17204614.

978-1-5090-3423-9/16/$31.00 ©2016 IEEE

work to analyze the stability of CoDel using control theory. Third, we propose a novel Adaptive CoDel algorithm, as a showcase to adaptively select an optimal value of the target delay, so as to improve system stability and performance.

The rest of the paper is organized as follows. Section II develops the system model of CoDel and analyzes its stability based on control theory. In Section III, we describe the proposed Adaptive CoDel algorithm. Section IV evaluates the performance of Adaptive CoDel using ns-2 simulations. Finally, we conclude the paper in Section V.

II. SYSTEM MODEL AND STABILITY AQM works with the Transmission Control Protocol (TCP)

to achieve queue management in router buffers and congestion control in the Internet. TCP is the most important transport layer protocol in the Internet, providing reliable data transmission and congestion control. Many TCP variants, such as TCP Reno [7], employ an additive increase/multiplicative decrease (AIMD) algorithm to perform congestion control. TCP and AQM form a feedback control system, in which TCP adjusts its congestion window according to the congestion indication (such as packet drop probability) fed back from AQM, while AQM computes the packet drop probability based on the queue dynamics driven by the TCP congestion window. Therefore, in developing the system model of CoDel, both TCP and AQM dynamics should be taken into consideration.

First, we make the assumption that there is a single bottleneck link in the system and it is fully utilized. A summary of the notations used in the system model is shown in Table I. In particular, in order to simplify the system model, we convert the target delay to the target queue length by target . We then consider the target queue length in the system model. Finally, can be converted back to the target delay via multiplying by a constant .

TABLE I. NOTATIONS

Notation Description Number of TCP flows at Time TCP window size at Time (packets) Round-trip time Packet drop probability at Time Queue length at Time (packets)

C Bottleneck link capacity (packets/second) Propagation delay Target queue length in CoDel (packets)

target Target delay in CoDel Interval in CoDel Total arrival rate at the time when first exceeds

To model the TCP dynamics, we use a well-known TCP fluid model [8], which is given by (1) and (2):

W (t) =1

R(t)−W (t)W (t − R(t))2R(t − R(t))

p(t − R(t)) (1)

q(t) =W (t)

R(t)N (t)−C (2)

where and denote the TCP window size and the queue length at Time , respectively, is the number of

TCP flows and is the packet drop probability at Time , represents the round-trip time, consisting of propagation

delay and queueing delay, and C is the bottleneck link capacity.

In the original work of CoDel [3], the packet drop probability function was not found. We need to derive it in order to model the dynamics of CoDel. In [6], CoDel as an example satisfying the PLT principle was briefly analyzed. We follow the approach in [6] and define as the time elapsed since exceeds , which can be formally expressed as:

Iβ (t) = sup{d ≥ 0 : q(t −δ)> β,∀δ ∈ [0,d]} (3)

Suppose that packets have been dropped in a time period of , we have:

Iβ (t) ≈ I0 +I0ii=1

n−1

∑ (4)

where is the interval in CoDel.

We use an approximation formula proposed in [9] to estimate the partial sum of the divergent p-series .

That is, . Then, (4) can be simplified as:

Iβ (t) ≈ I0 (1+1

ii=1

n−1

∑ ) ≈ I0Sn ≈ I0 ⋅2 n (5)

n ≈Iβ (t)

2

4I02

(6)

Next, we seek to express in terms of the queue length . Denote the total arrival rate at the time when first

exceeds as . Note that and it is the largest rate during since TCP sources will decrease sending rates in the dropping state. The following inequality always holds:

q(t)−β ≤ (λ0 −C)Iβ (t) (7)

On the other hand, it has been shown [6] that the queue length in CoDel oscillates above and below the target queue length . Thus, there exists an upper bound for since the number of TCP flows and their flow rates are both finite. We do not show how to estimate the upper bound here as we will see that there is no need to know its exact value in the system model. We denote the upper bound of as , which is a constant. From (7), the range of is obtained:

q(t)−βλ0 −C

≤ Iβ (t) ≤ Imax (8)

We then use the midpoint of the range given by (8) to estimate when the system is in the steady state. That is,

Iβ (t) ≈q(t)−β2(λ0 −C)

+Imax2

(9)

In CoDel, the duration between the th drop and the th drop is . During this time period, there are approximately

arriving packets, one of which will be dropped. Thus, by making use of (6) and (9), the approximate packet drop probability function for CoDel can be expressed as:

p(t) =1

CI0n

≈Iβ (t)

2CI02≈

q(t)−β4CI0

2 (λ0 −C)+Imax4CI0

2 (10)

The system model of CoDel is then given by (1), (2), and (10). Here, (1) and (2) model the dynamics of TCP; (1) describes the evolution of the TCP window size based on the AIMD algorithm and (2) models the dynamics of the queue length. Equation (10) characterizes the dynamics of CoDel.

In order to analyze the stability of CoDel, we first linearize the system at the operating point ( , , ), which is defined by and . Here, , , and are the TCP window size, the queue length, and the packet drop probability in the steady state, respectively. The linearization step is not shown here due to space limitations. We then perform the Laplace transform for the linearized system to obtain:

W (s) = −R0C

2

2N 2e−sR0P(s)

⎝⎜

⎠⎟ s+

2NR02C

⎝⎜

⎠⎟ (11)

Q(s) =NR0W (s)

⎝⎜

⎠⎟ s+

1R0

⎝⎜

⎠⎟ (12)

P(s) =Q(s)

4CI02 (λ0 −C)

(13)

where is the round-trip time and is the number of TCP flows in the steady state.

Note that the constant term in (10) disappears after the linearization step. Therefore, we actually do not need to know the exact value for in the system model.

Based on (11)–(13), we can obtain the block diagram of the system, as shown in Fig. 1. We can see that TCP and CoDel form a feedback control loop. TCP adjusts the window size

, which is then used to determine the queue length . CoDel computes the packet drop probability based on the queue length . Here, as a negative feedback is fed into TCP with a time delay to determine the window size in the next loop.

Based on the block diagram, we can further obtain the characteristic equation of the system, which is described by:

1+

C2

2N

(s+2NR02C)(s+

1R0)

⎢⎢⎢⎢

⎥⎥⎥⎥

−e−sR0

4CI02 (λ0 −C)

= 0 (14)

Let and approximate the time delay as a first-order lag [10], which is given by . Rearranging (14) gives:

a3s3 + a2s

2 + a1s+ a0 = 0 (15)

where , , , and

.

Note that is the round-trip time in the steady state, consisting of propagation delay and queueing delay. That is,

R0 = Tp +βC

(16)

where is the propagation delay.

According to control theory [10], the CoDel system is stable if all the roots of its characteristic equation (15) have negative real parts. In other words, the roots are all in the open left-half of the complex plane (OLHP). We then use the Routh-Hurwitz stability criterion [10] to determine the stable range of

in which all the roots of (15) are in the OLHP, such that the CoDel system is stable.

Based on the Routh-Hurwitz stability criterion, the CoDel system is stable if and only if all the elements in the first column of its Routh array [10] are positive. That is,

a3 > 0 , a2 > 0 , a1 −a0a3a2

> 0 , and a0 > 0 (17)

where ( = 0, 1, 2, 3) are given by (15).

By solving the four inequalities in (17), given that the network parameters , , , and are known, we can obtain:

R0 <4N 2α3

C (18)

From (16) and (18), and , we can further derive:

0 < β < 16CN 2I02 (λ0 −C)3 −CTp (19)

Here, (19) represents the stable range of the target queue length in CoDel. Choosing any value for from the stable range can make the CoDel system stable. From (19), we can actually find the relationship between the system stability and the network parameters , , and . Specifically, the CoDel system becomes less stable (i.e., the stable range shrinks) when the number of TCP flows decreases, or when the bottleneck link capacity or the propagation delay increases.

(CoDel dynamics)

Fig. 1. Block diagram of CoDel system.

(Queue dynamics) (TCP dynamics)

(Time delay)

III. ADAPTIVE CODEL ALGORITHM The original work of CoDel [3] suggests a static value of

five milliseconds for the target delay in all cases. However, we find that such five-millisecond target delay is too stringent in heavy traffic cases, leading to packet dropping rate higher than 10%. In these cases, CoDel attempts to maintain small delay at the cost of lowering the system goodput. Moreover, five-millisecond target delay may be too small in some cases where the bottleneck link is underutilized. Thus, it is necessary to tune the target delay dynamically based on network conditions.

For simplicity, we first consider adaptive tuning for the target queue length . In Section II, we have derived the stable range of as shown in (19). However, we still need to come up with a method to dynamically choose an optimal value for in this range, such that the CoDel system is stable and can achieve high performance. Since goodput is a very important metric for TCP performance, we propose to select an optimal value of that maximizes the aggregate goodput for all TCP flows. In order to estimate the TCP goodput, we make use of the results in [11] such that the TCP goodput can be estimated by:

G(p) =8S

R23

2p (20)

where is the round-trip time, is the packet drop probability, and is the packet size.

We formulate the selection of as a constrained optimization problem. We make the following assumptions:

1. In the CoDel system, the packet drop probability of a TCP flow ( = 1, …, ) is a function of , defined as

.

2. Functions ( = 1, …, ) are decreasing in . This means that the packet drop probability will decrease when the target queue length increases, and vice versa. It is reasonable and can be verified by simulations.

Thus, the optimization problem is formulated as follows:

max8S

Ri2

3

2 fi (β )i=1

N

∑ (21)

subject to: βC≤ Dmax (22)

0 < β < 16CN 2I02 (λ0 −C)3 −CTp (23)

where is the round-trip time for TCP flow , is the packet size, and is the maximum queueing delay threshold.

In the optimization problem (21)–(23), there are two constraints. The first constraint (22) is a delay constraint. Here,

can be a predefined delay requirement or reported by all TCP flows when creating the connections and then set to the minimum of them. The second constraint (23) is a stability constraint, which actually corresponds to the stable range of . Since ( = 1, …, ) are decreasing, the objective function is actually increasing in . In order to maximize the objective function, we can maximize subject to these two constraints.

In other words, we try to find the largest possible value of satisfying the two constraints, so as to maximize the aggregate TCP goodput. Therefore, we propose the Adaptive CoDel algorithm to solve (21)–(23) for an optimal value of , which is given by Algorithm 1. The algorithm is run periodically to adapt to changes in the network conditions.

In Algorithm 1, is initialized at the beginning. We set

the minimum target delay to five milliseconds and assume that is larger than this value. During every update period, the

network parameters , , , and are collected. There are several methods for estimating the network parameters in the literature. For example, the authors in [12] proposed a method to estimate the link capacity and the number of TCP flows . Specifically, they estimated by computing the ratio of departed TCP packets to the router’s busy time. Based on a

steady-state TCP relationship: , can be estimated

by measuring the packet drop probability in the steady state, i.e., . We make use of the results in [12] to collect the network parameters. The upper bound of the stable range of (i.e., ) is then computed based on the collected network parameters. If , which means the upper bound of the target delay is larger than five milliseconds, the optimal value of can be obtained at the minimum of and

. Finally, the target delay is updated accordingly so that CoDel is run with the updated target delay. Note that, if

, the target delay is set to the minimum value.

IV. PERFORMANCE EVALUATION In this section, we present our simulation results. We

compare our proposed Adaptive CoDel with CoDel [3] and ARED [4] using Network Simulator version 2.35 (ns-2) [13].

A. Simulation Settings The simulation topology is shown in Fig. 2. TCP sources

are connected to Router , while the destinations of the TCP flows are connected to Router . and are connected via the bottleneck link. TCP Reno [7] is used as the TCP algorithm. The AQM algorithms are run in Routers and .

In the simulation network, there is a mix of traffic that contains long-lived TCP flows, short-lived HTTP flows, and constant bit rate (CBR) flows. However, we focus on the long-

Algorithm 1: Adaptive CoDel 1: Initialize ; 2: while an update period starts do 3: Collect the network parameters , , , and ; 4: Compute ; 5: if then 6: Update ; 7: Update target ; 8: else 9: Update target ; 10: end if 11: Run CoDel with the updated target delay; 12: end while

Al i h 1 Ad i C D l

lived TCP flows in this paper. In the performance evaluation, we consider the following metrics: instantaneous queue length, queueing delay, and the aggregate TCP goodput. We compare Adaptive CoDel, CoDel, and ARED for various numbers of TCP flows and bottleneck link capacities . The capacity of an access link (i.e., a link connecting a TCP source or destination to a router) is ten times that of the bottleneck link. The propagation delay (i.e., ) is 100 milliseconds. The size of TCP data packets is 1000 bytes. An update period in Adaptive CoDel is five seconds and the simulation time is 900 seconds.

B. System Stability and Delay Control

In this subsection, we validate our analytical model for the stability of CoDel and show that Adaptive CoDel improves system stability and adapts to changing network conditions.

Recall that, in Section II, we analyze the stability of CoDel based on the Routh-Hurwitz stability criterion. This criterion is a necessary and sufficient condition for bounded-input bounded-output (BIBO) stability. A system is said to have BIBO stability if every bounded input results in a bounded output [10]. In the case of the CoDel feedback control system, the output (i.e., the queue length or the queueing delay) is always bounded in reality because the buffer sizes are limited. Therefore, we cannot see an unbounded output even if such CoDel system is determined to be unstable. However, we can use the evolution and fluctuation of the queue length or the queueing delay as indicators for system stability. In the simulations, we observe how the queueing delay evolves and is affected by the selection of the target delay. We measure the mean and standard deviation of queueing delay and use them as the metrics for analyzing system stability.

First, we verify our model for the stability of CoDel by using two different values for the target delay. That is, one is within the stable range, while the other is beyond it. Suppose that the number of TCP flows is 20 and the bottleneck link capacity is 20 Mbps (i.e., = 2500 packets/second). The stable range of the target delay is: target seconds. We then run CoDel with the target delay of 0.06 and 0.15 seconds, respectively. Fig. 3(a) shows the queueing delay in CoDel with the target delay of 0.15 seconds. In Fig. 3(a), there is a very large fluctuation in queueing delay (with mean: 0.136 seconds, and standard deviation: 0.022) and the mean queueing delay significantly deviates from the target delay. This is because the target delay is beyond its stable range, such that the system stability is compromised. In contrast, the stable case for the target delay of 0.06 seconds is shown in Fig. 3(b). It can be seen that the queueing delay (with mean: 0.057 seconds, and standard deviation: 0.015) fluctuates around the target delay with quite small amplitude. Therefore, these two cases verify our analytical model for the stability of CoDel.

Fig. 3. Queueing delay in CoDel.

(a) Target delay beyond stable range (b) Target delay within stable range

Next, we compare Adaptive CoDel with CoDel and thus

conduct Simulation 1, which keeps unchanged and varies . In Simulation 1, the bottleneck link capacity is 10 Mbps. Initially, there are 100 TCP flows (i.e., = 100), where the network is heavily loaded at the beginning. At the 300th second, is reduced to 10, where many connections are closed due to service completion. At the 600th second, five new flows start, such that is increased to 15. The simulation ends at the 900th second. In this setting, we found that CoDel with the default five-millisecond target delay drops 11% of all packets during the first 300 seconds. Thus, it is necessary to increase the target delay for heavy traffic cases, so as to prevent the dropping rate from going too high. Suppose that we have a loose queueing delay requirement in this simulation, i.e., = 80 milliseconds. At the beginning, both CoDel and Adaptive CoDel set the target delay to 80 milliseconds. However, once the target delay is set, CoDel cannot change it during the simulation.

Fig. 4(a) shows how the queueing delay evolves in CoDel in Simulation 1. From the 0th to 300th second (Phase I), the queueing delay is stable in the sense that it fluctuates around the target delay with small amplitude. This is because the target delay is in the stable range in Phase I. From the 300th to 600th second (Phase II), reduces dramatically, which narrows down the stable range according to (19). Then, the target delay of CoDel actually exceeds the new stable range. Consequently, the mean queueing delay in Phase II deviates from the target delay, and the fluctuation gets much larger. From the 600th to 900th second (Phase III), although is increased by five, the target delay is still beyond the stable range. Therefore, the mean queueing delay keeps on deviating from the target delay and the fluctuation is still large. The large and irregular fluctuation in queueing delay can significantly degrade TCP performance. From Simulation 1, we can see that a drawback of CoDel is that it uses a static target delay and hence cannot adapt to changing network conditions.

Fig. 4(b) presents the evolution of the queueing delay in Adaptive CoDel in Simulation 1. It can be seen that the queueing delay is always stable around the target delays and has small fluctuations. Furthermore, Adaptive CoDel effectively controls the target delay based on changing network conditions. Therefore, it is more robust against changes in network environment than the original CoDel. Table II gives the mean and standard deviation of queueing delay in Simulation 1. Note that CoDel exhibits much larger standard deviation of queueing delay in Phases II and III, where its target delay is beyond the stable range.

.

.

.

R1 R2

.

.

.bottleneck link

Fig. 2. Simulation topology.

.

.

.

Fig. 4. Queueing delay comparison for Adaptive CoDel and CoDel.

(a) Queueing delay shows large fluctuation in CoDel when N varies.

(b) Controllable queueing delay in Adaptive CoDel when N varies.

TABLE II. MEAN AND STANDARD DEVIATION OF QUEUEING DELAY

AQM Schemes Mean (Second) Standard Deviation Phase

I Phase

II Phase

III Phase

I Phase

II Phase

III CoDel 0.081 0.070 0.073 0.010 0.020 0.023

Adaptive CoDel 0.081 0.009 0.038 0.010 0.007 0.017

C. Goodput Performance We then compare Adaptive CoDel with CoDel and ARED

in terms of goodput performance. To this end, we conduct Simulation 2, which consists of several rounds of simulations. In each round, we vary and keep unchanged. Initially, the bottleneck link capacity is 100 Mbps. At the 300th second, it is reduced to 20 Mbps. At the 600th second, it returns to 100 Mbps. The simulation ends at the 900th second. For different rounds of simulations, we use different values of , increasing from 20 to 60. To be fair and comparable, we tune the parameters to achieve the same average queueing delay for the three algorithms, and then observe the goodput achieved.

Fig. 5 shows the goodput comparison in Simulation 2. It demonstrates that Adaptive CoDel consistently achieves the highest goodput among the three algorithms. Specifically, Adaptive CoDel can obtain up to 19% and 37% goodput gain over CoDel and ARED, respectively. This is because it is more robust and effectively adapts to changing network conditions, thereby avoiding unnecessary packet drops. Note that the goodput gain of Adaptive CoDel is obtained without compromising the queueing delay because we keep the average queueing delay the same for all three algorithms. As we know, there exists a tradeoff between the target delay and the TCP goodput in the system. If we relax the delay requirement, Adaptive CoDel can achieve an even better goodput gain.

Fig. 5. Goodput comparison for Adaptive CoDel, CoDel, and ARED.

V. CONCLUSION In this paper, we have proposed a framework to adaptively

control the target delay with changing network conditions, so as to overcome bufferbloat. First, we have presented a theoretical model to analyze the stability of CoDel using control theory. Based on this model, we have derived the range of the target delay in which the CoDel feedback control system is stable. We then proposed an Adaptive CoDel algorithm as a showcase to adaptively tune the target delay, so as to improve system stability and performance. Adaptive CoDel dynamically selects an optimal value of the target delay in the stable range to maximize the aggregate TCP goodput with changing network conditions. By performing extensive ns-2 simulations, not only have we validated our theoretical model for analyzing the stability of CoDel, but we have also shown that Adaptive CoDel effectively controls the queueing delay and maximizes the aggregate TCP goodput. Therefore, Adaptive CoDel significantly contributes to the solution of bufferbloat.

For future research, we consider to extend our work to networks with multiple bottleneck links. In fact, the performance and stability of AQM schemes, especially CoDel, are not well studied in such scenarios. Therefore, having studied the single-bottleneck case for CoDel, our next step is to investigate the multi-bottleneck problem for AQM.

REFERENCES [1] J. Gettys and K. Nichols, “Bufferbloat: Dark buffers in the Internet,”

Communications of the ACM, Vol. 55, No. 1, pp. 57-65, January 2012. [2] S. Floyd and V. Jacobson, “Random early detection gateways for

congestion avoidance,” IEEE/ACM Trans. Networking, Vol. 1, pp. 397-413, August 1993.

[3] K. Nichols and V. Jacobson, “Controlling queue delay,” ACM Queue, Vol. 10, No. 5, pp. 1-15, May 2012.

[4] S. Floyd, R. Gummadi, and S. Shenker, “Adaptive RED: An algorithm for increasing the robustness of RED’s active queue management,” Berkeley, CA, Technical Report, August 2001.

[5] N. Xiong, A.V. Vasilakos, L.T. Yang, C.-X. Wang, R. Kannan, C.-C. Chang, and Y. Pan, “A novel self-tuning feedback controller for active queue management supporting TCP flows,” Information Sciences, Vol. 180, No. 11, pp. 2249-2263, June 2010.

[6] C. Lai, S. H. Low, K.-C. Leung, and V. O. K. Li, “Pricing link by time,” ACM SIGMETRICS Performance Eval. Review, Vol. 42, No. 1, pp. 421-433, June 2014.

[7] V. Jacobson, “Congestion avoidance and control,” ACM SIGCOMM Computer Comm. Review, Vol. 18, No. 4, pp. 314-329, August 1988.

[8] V. Misra, W.-B. Gong, and D. Towsley, “Fluid-based analysis of a network of AQM routers supporting TCP flows with an application to RED,” ACM SIGCOMM Computer Comm. Review, Vol. 30, No. 4, pp. 151-160, August 2000.

[9] S.K. Goel and D.M. Rodriguez, “A note on evaluating limits using Riemann sums,” Mathematics Magazine, Vol. 60, No. 4, pp. 225-228, October 1987.

[10] G. F. Franklin, J. D. Powell, and A. Emami-Naeini, Feedback Control of Dynamic Systems. Addison-Wesley. Reading, Massachusetts, 1994.

[11] J. Padhye, V. Firoiu, D. Towsley, and J. Kurose, “Modeling TCP Reno performance: A simple model and its empirical validation,” IEEE/ACM Trans. Networking, Vol. 8, No. 2, pp. 133-145, April 2000.

[12] H. Zhang, D. Towsley, C. V. Hollot, and V. Misra, “A self-tuning structure for adaptation in TCP/AQM networks,” ACM SIGMETRICS Performance Eval. Review, Vol. 31, No. 1, pp. 302-303, June 2003.

[13] The ns-2 Network Simulator, http://www.isi.edu/nsnam/ns.