# Self-Tuning Random Early Detection Algorithm to Improve Performance of Network Transmission

Authors: Jianyong Chen; Cunying Hu; Zhen Ji
Journal: Mathematical Problems in Engineering
 (2011)

---

## Abstract

We use a discrete-time dynamical feedback system model of TCP/RED to study the performance of Random Early Detection (RED) for different values of control parameters. Our analysis shows that the queue length is able to keep stable at a given target if the maximum probabilitypmax and exponential averaging weight w satisfy some conditions. From the mathematical analysis, a new self-tuning RED is proposed to improve the performance of TCP-RED network. The appropriate pmax is dynamically obtained according to history information of both pmax and the average queue size in a period of time. And w is properly chosen according to a linear stability condition of the average queue length. From simulations with ns-2, it is found that the self-tuning RED is more robust to stabilize queue length in terms of less deviation from the target and smaller fluctuation amplitude, compared to adaptive RED, Random Early Marking (REM), and Proportional-Integral (PI) controller.


---

## Body

## 1. Introduction

In computer network, congestion control has been a serious problem since the traffic always appears complex nonlinear phenomena [1–3]. Especially, since multimedia communication becomes more and more popular [4, 5], lack of effective management of congestion significantly affects the performance of the network system, such as degradation of link utilization, more round-trip time, and even makes a network inaccessible. At the same time, various approaches have been proposed to solve the issue. These schemes can be divided into two categories. One category strengthens congestion management at the sources while making few changes to internet [6, 7]. The other one is to adapt Active Queue Management (AQM) at each router, and eventually control congestion level, such as Random Early Detection (RED) [8], Random Early Marking (REM) [9, 10], and Adaptive Virtual Queue (AVQ) [11]. Among them, RED is the most prominent and well-studied AQM scheme. Also, RED is used in wireless network to increase TCP throughput [12]. Although RED can prevent global synchronization, reduce packet loss, and achieve high throughput, its performance of both QoS and security is suspected by many researcher [13–17]. In particular, it is difficult to parameterize RED to achieve good performance in various networks.The main goal of AQM is to keep queue length stable while making a good tradeoff between high throughput and low delay. As a queue management policy, RED gateway manages queue by monitoring the average queue sizeqave. When qave exceeds the preset lower threshold qmin, the arriving packets are randomly dropped or marked with a certain probability. In that case, some connections can sense the early congestion, and the window sizes are changed to avoid serious congestion. Once the average queue size is larger than the upper threshold qmax, the RED gateway drops/marks every arriving packet to keep qave below qmax. Although the RED algorithm is an effective mechanism to achieve high throughput and low delay, some researchers note that RED is very sensitive to traffic load and control parameters [13–16]. In particular, when qave becomes larger than qmax, lots of packets are dropped and the throughput of the congested link decreases seriously. Many modified RED algorithms are proposed to improve its robustness by optimizing either drop probability function or control parameters.Among these algorithms, one approach is to modify the packet drop probability function to improve the performances of RED and its robustness. In [18], Hollot et al. propose a PI controller (Proportional-Integral controller) to response quickly to the change of TCP/RED dynamics, and some research also study new adaptive schemes to improve the performance of PI controller in recent years [19, 20]. Besides that, SPI-RED (Self-tuning PI-RED) and NPD-RED (autonomous Proportional and Differential RED algorithm) are developed based on the thought of PI controller in [21, 22]. In [23, 24], the authors analyze a decentralized network congestion control algorithm and its local stability and propose E-RED to get high link utilization in which the packet drop rate increases exponentially with qave. In [25], LRED (Loss Ratio-based RED) is proposed, which takes the packet loss rate and queue length into account to compute the dropping probability. In [26], some appropriate tools from feedback control theory are used to design a novel AQM with the delay information of all the links. Also, some studies attempt to use neural network for early congestion prediction [27, 28]. Although the performances of these modified algorithms are much better than the original RED with higher throughput and lower queuing delay, they always induce additional parameters that are needed to be optimized to accommodate different network scenarios.Another approach does not change the basic idea of RED, but tunes the control parameters to improve its robustness. Feng et al. have argued that there is no single set of RED parameters which can work well under various congestion. In [14], original ARED is proposed, which merely tunes the parameter pmax based on network traffic to keep qave in the expected range [qmin,qmax]. To get better performance, Floyd et al. present a revised version, also called Adaptive RED [15], which adopts AIMD mechanism (Additive-Increase-Multiplicative-Decrease) to changes pmax slowly, ensuring qave in a smaller target range between qmin and qmax. At the same time, they also provide some insights to set other control parameters. In [29], SARED (Stabilized ARED) is proposed to increases the effect of instant queue on average queue size by using a larger queue weight when the queue size is out of the target area. By this way, SARED reacts much faster to queue changes which further improves the robustness and throughput. In [30], an improved ARED is developed to enhance the robustness of RED by adapting more proper range of pmax, and the weight w is also adjusted according to a linear stability condition. Besides that, Sun et al. proposed PD-RED (Proportional Derivative controller) to improve the performance of RED [31, 32]. However, PD-RED does not consider the past history information. It is sensitive to the short-lived and non-TCP traffics. In [33, 34], based on TCP channel model and traffic characteristics, a framework is developed to get the bounds of pmax and the optimal weight, respectively. In [35], the authors propose an AP-RED (Autoparameterization RED) based on a fluid-flow model which stabilizes the instantaneous queue size under various networks by adjusting qmin, qmax, pmax, and w. In [36–38], the authors also attempted to adjust pmax to achieve better performance in some network conditions. In recent years, other control parameters except pmax and w are also studied to improve the performance of RED [39]. Simulations demonstrated that these algorithms can maintain the queue length at the target in specific network scenarios by tuning control parameters.Although RED is sensitive to control parameters and network parameters, few of the above reports concern its robustness affected from the control parameters. The setting of parameters is still a problem in applications. In this paper, we analyze the performance of RED with different values of control parameters for a given target and network scenario. Based on the analysis, an improved algorithm, named self-tuning RED, is proposed whose control parameterspmax is dynamically adjusted and the weight w is properly chosen according to a linear stability condition [16]. A set of experiments demonstrate that the self-tuning RED can keep queue length stable at the target value with smaller standard deviation and less deviation from the target.The rest of the paper is organized as follows. In Section2, we describe a network topology and then introduce the gentle RED algorithm and a discrete-time TCP-RED model. In Section 3, based on the discrete-time network model, we analyze the impacts of the control parameters on queue length and discuss the proper values of control parameters in detail when the queue length stabilizes at a given target. In Section 4, a self-tuning RED algorithm is described, and the setting of parameters is also discussed. Section 5 presents simulations results and compares the self-tuning RED with various AQM schemes.


## 2. Discrete-Time Feedback Model for TCP-RED

In this paper, the network topology used is a dumbbell with a single bottleneck as shown in Figure1. There are N connections sharing a single link with the capacity C. It is assumed that these connections are identical, long-lived TCP Reno connections and have the same round-trip propagation delay d. The main purpose is to stabilize the nonlinear traffic and thus improve the throughput [40, 41].Figure 1
Structure of the network.


### 2.1. Random Early Detection

RED is a recommended scheme of AQM to avoid network congestion by the Internet Engineering Task Force (IETF) [8]. In order to better control network congestion, the RED gateway always measures its average queue size qave, and drops/marks the arriving packets with the probability p to notify TCP ends of the incipient congestion when qave exceeds the expected lower threshold qmin. When qave exceeds the expected upper threshold qmax, RED gateway drops every arriving packet, so that it can control the average queue size within the expected range [qmin, qmax], even in the absence of cooperating sources.Gentle RED is a revised version of RED proposed by Floyd [42]. The main difference of the two versions lies in the value of the drop probability pwhen qave varies from qmax to double qmax. In the case, the original RED sets p to 1, while Gentle RED increases p linearly from pmaxto 1. By doing so, Gentle RED prevents the system from large oscillation due to dropping a lot of packets suddenly. In the study, Gentle RED is used, which can be described by the following piecewise function(2.1)p={0qave≤qmin,1qave≥2qmax,qave-qminqmax-qminpmaxqmin<qave<qmax,2pmax-1+1-pmaxqmaxqaveqmax<qave<2qmax.
Here, pmax is the drop probability when qave is equal to qmax and is also called the maximum drop probability. qmax and qmin are the expected upper and lower thresholds of qave, respectively. At the time of packet arrival, qave is updated with [8](2.2)qave=(1-w)qave′+wq.
Here, qave′ is average queue size at the previous time. q is instantaneous queue length. w is the exponential averaging weight which is limited in the range [0,1].


### 2.2. Discrete-Time Feedback Model for TCP-RED

To better understand and analyze the nonlinear interaction between RED and TCP, some research propose different network model to analyze the property of real network [16, 43, 44]. In the paper, a discrete-time dynamical feedback TCP-RED model developed by Ranjan et al. is used [16]. It is assumed that ECN (Explicit Congestion Notification) mechanism is implemented at the RED gateway to provide the ends with congestion signals. According to the model, q can be determined by some network parameters, such as the buffer size B, mean packet size M, the number of connections N and a constant K within the range [1, (8/3)0.5]. qave can be expressed mathematically as [16](2.3)qave=f(qave′){(1-w)qave′,qave≥q1,(1-w)qave′+w·B,qave≤q2,(1-w)qave′+w·(NKp-CdM),otherwise.
Here, q1=p1(qmax-qmin)/pmax+qmin, where p1=(NMK/(dC))2 is the smallest drop rate that leads to an empty queue at next time. q2=p2(qmax-qmin)/pmax+qmin, where p2=(NMK/(dC+BM))2 is the biggest drop probability with full queue B at next time. C is the capacity of the shared link, and d is round-trip propagation delay. Based on the discrete-time model, the drop probability of Gentle RED algorithm is shown in Figure 2.Figure 2
Gentle RED algorithm.In the discrete-time model, it is noted thatqave is updated over time scale of approximately one RTT (Round-Trip Time) [16, 45], which is much longer than typical interarrival times of packets in practice. Therefore, win the model is much larger than the value inns-2 simulations. Given that wred is the exponential averaging weight at a RED gateway, and that n is the number of packets transmitted over the link in one RTT, w≈1-(1-wred)n≈n·wred in the model.


## 2.1. Random Early Detection

RED is a recommended scheme of AQM to avoid network congestion by the Internet Engineering Task Force (IETF) [8]. In order to better control network congestion, the RED gateway always measures its average queue size qave, and drops/marks the arriving packets with the probability p to notify TCP ends of the incipient congestion when qave exceeds the expected lower threshold qmin. When qave exceeds the expected upper threshold qmax, RED gateway drops every arriving packet, so that it can control the average queue size within the expected range [qmin, qmax], even in the absence of cooperating sources.Gentle RED is a revised version of RED proposed by Floyd [42]. The main difference of the two versions lies in the value of the drop probability pwhen qave varies from qmax to double qmax. In the case, the original RED sets p to 1, while Gentle RED increases p linearly from pmaxto 1. By doing so, Gentle RED prevents the system from large oscillation due to dropping a lot of packets suddenly. In the study, Gentle RED is used, which can be described by the following piecewise function(2.1)p={0qave≤qmin,1qave≥2qmax,qave-qminqmax-qminpmaxqmin<qave<qmax,2pmax-1+1-pmaxqmaxqaveqmax<qave<2qmax.
Here, pmax is the drop probability when qave is equal to qmax and is also called the maximum drop probability. qmax and qmin are the expected upper and lower thresholds of qave, respectively. At the time of packet arrival, qave is updated with [8](2.2)qave=(1-w)qave′+wq.
Here, qave′ is average queue size at the previous time. q is instantaneous queue length. w is the exponential averaging weight which is limited in the range [0,1].


## 2.2. Discrete-Time Feedback Model for TCP-RED

To better understand and analyze the nonlinear interaction between RED and TCP, some research propose different network model to analyze the property of real network [16, 43, 44]. In the paper, a discrete-time dynamical feedback TCP-RED model developed by Ranjan et al. is used [16]. It is assumed that ECN (Explicit Congestion Notification) mechanism is implemented at the RED gateway to provide the ends with congestion signals. According to the model, q can be determined by some network parameters, such as the buffer size B, mean packet size M, the number of connections N and a constant K within the range [1, (8/3)0.5]. qave can be expressed mathematically as [16](2.3)qave=f(qave′){(1-w)qave′,qave≥q1,(1-w)qave′+w·B,qave≤q2,(1-w)qave′+w·(NKp-CdM),otherwise.
Here, q1=p1(qmax-qmin)/pmax+qmin, where p1=(NMK/(dC))2 is the smallest drop rate that leads to an empty queue at next time. q2=p2(qmax-qmin)/pmax+qmin, where p2=(NMK/(dC+BM))2 is the biggest drop probability with full queue B at next time. C is the capacity of the shared link, and d is round-trip propagation delay. Based on the discrete-time model, the drop probability of Gentle RED algorithm is shown in Figure 2.Figure 2
Gentle RED algorithm.In the discrete-time model, it is noted thatqave is updated over time scale of approximately one RTT (Round-Trip Time) [16, 45], which is much longer than typical interarrival times of packets in practice. Therefore, win the model is much larger than the value inns-2 simulations. Given that wred is the exponential averaging weight at a RED gateway, and that n is the number of packets transmitted over the link in one RTT, w≈1-(1-wred)n≈n·wred in the model.


## 3. Control Parameters of RED

In the section, we discuss the effect ofpmax on the queue length and analyze the value of pmax when qconverges to the given target. Then, the effect of w on performance is also studied. Finally, according to the linear stability condition, the maximum value of w that keeps q stable is obtained.


### 3.1. Maximum Drop Probabilitypmax

An important objective of AQM is to stabilize the queue length at a given target so that the network performance can be improved. First, the throughput of network can be improved. Without stable queue, the queue size may be too short, leading to waste of bandwidth, or become too long, which means serious congestion and more packets to be dropped. Second, stable queue size means stable end-to-end delay and better QoS. However, the control parameterpmax directly impacts the aggressiveness of RED [14]. If a small value of pmax is used in heavily-congested networks, then early detection is too conservative to provide sufficient congestion signals. As a result, qave oscillates around qmax. By contrast, a large pmax in light congestion networks may lead to lots of packets lost, and qave may fluctuate around qmin. Figure 3 presents the average queue size and queue length with RED when pmax is varied from 0.01 to 1.0. The result is in the agreement with the general results in [14]. In simulations, the parameters are the same as in [16]: C=75 Mb/s, K=(3/2)0.5, M=4,000b, d=0.1s, N=250, qmax=750 packets, qmin=250 packets, B=3750 packets, and w=0.02.(a) Average queue size and (b) queue length with respect to the maximum drop probability.
(a)(b)From Figure3, we can see that different values of pmax result in both qave and q either oscillating or stabilizing at the same values. When pmax is set to 0.01, qave is very large and oscillates around qmax=750, and q oscillates more seriously. As pmax increases, both qave and q stabilize at the same value within [qmin,qmax]. We also find that when pmax is larger than 0.95, qave andq fluctuate with the same oscillation center qmin=250. To sum up the results, if pmax is set appropriately with other proper control parameters, it is possible to stabilize qave and q at a desired value within [qmin,qmax]. In other words, if qave is stable, it means that q is also stable. Therefore, only qave is necessary to be examined. In the following section, configuration of pmax is studied to get robust value of qave at a given target queue length.Suppose thatqave stabilizes at the point qave*, the point satisfies the equation qave*=f(qave*) from (2.3). By substituting (2.1) into (2.3), we have [45](3.1)CM(qmax-qmin)r1.5pmax+(CMqmin+dC2)(pmaxr)0.5-NMKC=0.
Here, r=(qmax-qmin)/(qave*-qmin). pmax can be obtained from above equation,(3.2)pmax=r(NMK)2(Mqave*+dC)2.From (3.2), one can see that pmax not only depends on some fixed network parameters, such as the number of connections N, mean packet size M, and the round-trip propagation delay d, but also depends on the value of the fixed point qave*. In other words, when network parameters are unchanged, there exists a unique value of pmax to keep qave at the given expected value. Suppose that the target queue length qtarget is the fixed point, pmax that yields to qave=qtarget can be configured by (3.2). In that case, r=(qmax-qmin)/(qtarget-qmin).


### 3.2. The Properties ofpmax

In (3.2), there is a constant K, which relies on network scenarios used in practical application [43], such as TCP version, ACK ways. Therefore, it is necessary to get the value of K before pmax is configured. In the discrete-time model, given RTT withR and drop probability with p, the throughput of a TCP Reno connection can be simply expressed as [16](3.3)T(p,R)=MKpR.By solving the above equation, the constantK can be obtained. However, the configuration of each user may be different, and K is different. To capture the whole network character, we use the mean throughput (the total throughput of the congested link/the number of connections ratio) to represent the throughput of each connection.In order to smooth out burst traffic, time is firstly divided into consecutive sampling period with each of sizeδt, and then qave~ is taken as the mean value of qave in δt. It can be regarded as the fixed point at which the queue length stabilizes in δt. If qave~ is larger than 0, the link utilization is 100%. In the case, K can be calculated by(3.4)MKp(d+qave*M/C)=CN.From the drop probability function (2.1), it is noted that the RED gateway drops every arriving packet if qave>qmax, while it does not drop any one if qave<qmin. Therefore, qave cannot be always above qmax or below qmin. When a small pmax is adapted, qave oscillates around qmax, but a large pmax leads qave oscillating around qmin. Therefore, if other control parameters are proper except pmax, qave~∈[qmin,qmax] at most time. Given that pmax* is the maximum drop probability used in the last period δt, we have p=pmax*(qave~-qmin)/(qmax-qmin) by (2.1), therefore K can be expressed as follows:(3.5)K=((qave~-qmin)/(qmax-qmin))pmax*(dC+Mqave~)NM.By substitutingqave*=qtarget,r=(qmax-qmin)/(qtarget-qmin) and (3.5) into (3.2), we have(3.6)pmax=pmax*qave~-qminqtarget-qmin(d+Mqave~/CMqtarget/C+d).From (3.6), it is found that pmax is independent of the load of the network (the number of connections N). This is a desirable property as a good AQM scheme since the number of connections accessing a link is out of network manager’s control. In particular, when one packet needs to go through different sets of bottlenecks, the traffic load may vary dramatically. However, we can adjust pmax according to (3.6) as long as we monitor the variation of qave in recent δt and degrade the sensitivity to traffic load to some extent.In order to simultaneously achieve low average queuing delay and high throughput, one rule of thumb is to require that the average queuing delaydtarget is only a fraction of round-trip time R, [15]. Thus, the end-to-end delay is mainly caused by d, and dtarget is also a fraction of d, that is, dtarget≪d. In order to ensure qave∈[qmin,qmax],qtarget is generally set to (qmin+qmax)/2 in applications, that is, r=2 [15]. Since r=2, dtarget=qtarget*M/C and qave~∈[qmin,qmax], we have(3.7)Mqave~C≪2MqtargetC≪d.According to (3.6), the maximum drop probability can be approximately rewritten as follows:(3.8)pmax≈pmax*qave~-qminqtarget-qmin.As you can see thatpmax, to a large extent, is determined by the lower threshold qmin, the expected queue length qtarget, the prior network state qave~ and pmax*. Therefore, pmax tends to be less sensitive to the round-trip propagation delay d and more stable for a large value of d. In other words, pmax determined by (3.6) is suitable to be used for a wider variety of scenarios.


### 3.3. Exponential Averaging Weightw

Based on the above analysis in Section3.2, it is concluded that if other parameters are configured properly, the value of pmax given by (3.6) can yield to a stable queue length of qtarget. Besides pmax, there are also various system parameters (d,M,C) and control parameters (qmin,qmax,qtarget,w). Since system parameters are fixed once the network topology is determined, network managers usually adjust control parameters to achieve stable queue length. The thresholds (qmin,qmax) and qtarget refer to the tradeoffs between throughput and delay, which are constants in general and should be set in advance. To sum up, the weight wbecomes the only parameters to be adjusted besides pmax. As discussed in Section 3.1, stabilizing q at a target queue size can be obtained by maintaining qave at the point. By this means, we study the effect of w on qavein the following section.The linear stability of a fixed pointqave* can be achieved, as long as the absolute value of the associated eigenvalue λ is not larger than 1 [16](3.9)|λ|=|∂f(qave′)∂qave′|qave*|=|1-wwNK2v(qave*-qmin)3/2|.Here,v=pmax/(qmax-qmin) means the increase factor of p. Figure 4 plots the average queue size for the fixed point qave*=345.1 when w varies from 0.12 to 0.2. In simulations, we set pmax=0.1, and other parameters are the same as those described in Section 3.1.Figure 4
Bifurcation diagram of average queue size with respect tow.Forw<0.1578,qave converges to the fixed point qave*=345.1. At the same time, |λ| also stays below 1 that can be got from (3.9). As w increases, PDB (Period Doubling Bifurcation) emerges from the fixed point, and then chaos appears with |λ|>1. It implies that if |λ|>1, qave will be unstable. In other words, if qave is on the point, the system oscillates and even becomes chaotic. In the following section, we discuss the case |λ|<1Because all the parameters in (3.9) are positive, λ must be smaller than 1. The linear stability condition can be rewritten as λ>-1.(3.10)λ=1-w-wNK2v(qave*-qmin)3/2>-1.Now, we consider the case thatqave stabilizes the target queue length qtarget. By substituting qave*=qtarget, r=(qmax-qmin)/(qtarget-qmin) and (3.2) into (3.10), we have(3.11)λ=1-w-wNK2(r(NMK)2/(Mqtarget+dC)2)·(1/(qmax-qmin))·((qmax-qmin)/r)3=1-w-12wrMqtarget+dCM(qmax-qmin)>-1.Solving the above inequality withr=(qmax-qmin)/(qtarget-qmin), we have(3.12)w<21+(1/2)r(Mqtarget+dC)/M(qmax-qmin)=43+(qmin+dC/M)/(qtarget-qmin).The inequality (3.12) shows that whether qave is stable at qtarget or not is determined by control parameters (qmin,qtarget) as well as network system parameters (d,C,M). For example, it is evident that the maximum value of w is 0.1578 by (3.12) for qtarget=345.1in the above simulation, which is consistent to the result of Figure 4. In applications, the exponential averaging weight at gateway can be approximately expressed as wred=w/n,as discussed in Section 2.2.It is noteworthy that the inequality (3.12) is the linear stability condition of qave rather than q. If w is set properly (not too small) by (3.12), qave can reflect the current network congestion level and the variation of q. In the case, stable average queue length at the target means stable queue length at the point, which is verified in Section 3.1. If w is too small, the effect of instant queue length on qave can be ignored, and qave cannot accurately represent the network congestion level. Therefore, the queue length may oscillate even though qave is stable. The inequality (3.12) provides the upper threshold of w, we still need further study the case with lower bound of the weight in future.


## 3.1. Maximum Drop Probabilitypmax

An important objective of AQM is to stabilize the queue length at a given target so that the network performance can be improved. First, the throughput of network can be improved. Without stable queue, the queue size may be too short, leading to waste of bandwidth, or become too long, which means serious congestion and more packets to be dropped. Second, stable queue size means stable end-to-end delay and better QoS. However, the control parameterpmax directly impacts the aggressiveness of RED [14]. If a small value of pmax is used in heavily-congested networks, then early detection is too conservative to provide sufficient congestion signals. As a result, qave oscillates around qmax. By contrast, a large pmax in light congestion networks may lead to lots of packets lost, and qave may fluctuate around qmin. Figure 3 presents the average queue size and queue length with RED when pmax is varied from 0.01 to 1.0. The result is in the agreement with the general results in [14]. In simulations, the parameters are the same as in [16]: C=75 Mb/s, K=(3/2)0.5, M=4,000b, d=0.1s, N=250, qmax=750 packets, qmin=250 packets, B=3750 packets, and w=0.02.(a) Average queue size and (b) queue length with respect to the maximum drop probability.
(a)(b)From Figure3, we can see that different values of pmax result in both qave and q either oscillating or stabilizing at the same values. When pmax is set to 0.01, qave is very large and oscillates around qmax=750, and q oscillates more seriously. As pmax increases, both qave and q stabilize at the same value within [qmin,qmax]. We also find that when pmax is larger than 0.95, qave andq fluctuate with the same oscillation center qmin=250. To sum up the results, if pmax is set appropriately with other proper control parameters, it is possible to stabilize qave and q at a desired value within [qmin,qmax]. In other words, if qave is stable, it means that q is also stable. Therefore, only qave is necessary to be examined. In the following section, configuration of pmax is studied to get robust value of qave at a given target queue length.Suppose thatqave stabilizes at the point qave*, the point satisfies the equation qave*=f(qave*) from (2.3). By substituting (2.1) into (2.3), we have [45](3.1)CM(qmax-qmin)r1.5pmax+(CMqmin+dC2)(pmaxr)0.5-NMKC=0.
Here, r=(qmax-qmin)/(qave*-qmin). pmax can be obtained from above equation,(3.2)pmax=r(NMK)2(Mqave*+dC)2.From (3.2), one can see that pmax not only depends on some fixed network parameters, such as the number of connections N, mean packet size M, and the round-trip propagation delay d, but also depends on the value of the fixed point qave*. In other words, when network parameters are unchanged, there exists a unique value of pmax to keep qave at the given expected value. Suppose that the target queue length qtarget is the fixed point, pmax that yields to qave=qtarget can be configured by (3.2). In that case, r=(qmax-qmin)/(qtarget-qmin).


## 3.2. The Properties ofpmax

In (3.2), there is a constant K, which relies on network scenarios used in practical application [43], such as TCP version, ACK ways. Therefore, it is necessary to get the value of K before pmax is configured. In the discrete-time model, given RTT withR and drop probability with p, the throughput of a TCP Reno connection can be simply expressed as [16](3.3)T(p,R)=MKpR.By solving the above equation, the constantK can be obtained. However, the configuration of each user may be different, and K is different. To capture the whole network character, we use the mean throughput (the total throughput of the congested link/the number of connections ratio) to represent the throughput of each connection.In order to smooth out burst traffic, time is firstly divided into consecutive sampling period with each of sizeδt, and then qave~ is taken as the mean value of qave in δt. It can be regarded as the fixed point at which the queue length stabilizes in δt. If qave~ is larger than 0, the link utilization is 100%. In the case, K can be calculated by(3.4)MKp(d+qave*M/C)=CN.From the drop probability function (2.1), it is noted that the RED gateway drops every arriving packet if qave>qmax, while it does not drop any one if qave<qmin. Therefore, qave cannot be always above qmax or below qmin. When a small pmax is adapted, qave oscillates around qmax, but a large pmax leads qave oscillating around qmin. Therefore, if other control parameters are proper except pmax, qave~∈[qmin,qmax] at most time. Given that pmax* is the maximum drop probability used in the last period δt, we have p=pmax*(qave~-qmin)/(qmax-qmin) by (2.1), therefore K can be expressed as follows:(3.5)K=((qave~-qmin)/(qmax-qmin))pmax*(dC+Mqave~)NM.By substitutingqave*=qtarget,r=(qmax-qmin)/(qtarget-qmin) and (3.5) into (3.2), we have(3.6)pmax=pmax*qave~-qminqtarget-qmin(d+Mqave~/CMqtarget/C+d).From (3.6), it is found that pmax is independent of the load of the network (the number of connections N). This is a desirable property as a good AQM scheme since the number of connections accessing a link is out of network manager’s control. In particular, when one packet needs to go through different sets of bottlenecks, the traffic load may vary dramatically. However, we can adjust pmax according to (3.6) as long as we monitor the variation of qave in recent δt and degrade the sensitivity to traffic load to some extent.In order to simultaneously achieve low average queuing delay and high throughput, one rule of thumb is to require that the average queuing delaydtarget is only a fraction of round-trip time R, [15]. Thus, the end-to-end delay is mainly caused by d, and dtarget is also a fraction of d, that is, dtarget≪d. In order to ensure qave∈[qmin,qmax],qtarget is generally set to (qmin+qmax)/2 in applications, that is, r=2 [15]. Since r=2, dtarget=qtarget*M/C and qave~∈[qmin,qmax], we have(3.7)Mqave~C≪2MqtargetC≪d.According to (3.6), the maximum drop probability can be approximately rewritten as follows:(3.8)pmax≈pmax*qave~-qminqtarget-qmin.As you can see thatpmax, to a large extent, is determined by the lower threshold qmin, the expected queue length qtarget, the prior network state qave~ and pmax*. Therefore, pmax tends to be less sensitive to the round-trip propagation delay d and more stable for a large value of d. In other words, pmax determined by (3.6) is suitable to be used for a wider variety of scenarios.


## 3.3. Exponential Averaging Weightw

Based on the above analysis in Section3.2, it is concluded that if other parameters are configured properly, the value of pmax given by (3.6) can yield to a stable queue length of qtarget. Besides pmax, there are also various system parameters (d,M,C) and control parameters (qmin,qmax,qtarget,w). Since system parameters are fixed once the network topology is determined, network managers usually adjust control parameters to achieve stable queue length. The thresholds (qmin,qmax) and qtarget refer to the tradeoffs between throughput and delay, which are constants in general and should be set in advance. To sum up, the weight wbecomes the only parameters to be adjusted besides pmax. As discussed in Section 3.1, stabilizing q at a target queue size can be obtained by maintaining qave at the point. By this means, we study the effect of w on qavein the following section.The linear stability of a fixed pointqave* can be achieved, as long as the absolute value of the associated eigenvalue λ is not larger than 1 [16](3.9)|λ|=|∂f(qave′)∂qave′|qave*|=|1-wwNK2v(qave*-qmin)3/2|.Here,v=pmax/(qmax-qmin) means the increase factor of p. Figure 4 plots the average queue size for the fixed point qave*=345.1 when w varies from 0.12 to 0.2. In simulations, we set pmax=0.1, and other parameters are the same as those described in Section 3.1.Figure 4
Bifurcation diagram of average queue size with respect tow.Forw<0.1578,qave converges to the fixed point qave*=345.1. At the same time, |λ| also stays below 1 that can be got from (3.9). As w increases, PDB (Period Doubling Bifurcation) emerges from the fixed point, and then chaos appears with |λ|>1. It implies that if |λ|>1, qave will be unstable. In other words, if qave is on the point, the system oscillates and even becomes chaotic. In the following section, we discuss the case |λ|<1Because all the parameters in (3.9) are positive, λ must be smaller than 1. The linear stability condition can be rewritten as λ>-1.(3.10)λ=1-w-wNK2v(qave*-qmin)3/2>-1.Now, we consider the case thatqave stabilizes the target queue length qtarget. By substituting qave*=qtarget, r=(qmax-qmin)/(qtarget-qmin) and (3.2) into (3.10), we have(3.11)λ=1-w-wNK2(r(NMK)2/(Mqtarget+dC)2)·(1/(qmax-qmin))·((qmax-qmin)/r)3=1-w-12wrMqtarget+dCM(qmax-qmin)>-1.Solving the above inequality withr=(qmax-qmin)/(qtarget-qmin), we have(3.12)w<21+(1/2)r(Mqtarget+dC)/M(qmax-qmin)=43+(qmin+dC/M)/(qtarget-qmin).The inequality (3.12) shows that whether qave is stable at qtarget or not is determined by control parameters (qmin,qtarget) as well as network system parameters (d,C,M). For example, it is evident that the maximum value of w is 0.1578 by (3.12) for qtarget=345.1in the above simulation, which is consistent to the result of Figure 4. In applications, the exponential averaging weight at gateway can be approximately expressed as wred=w/n,as discussed in Section 2.2.It is noteworthy that the inequality (3.12) is the linear stability condition of qave rather than q. If w is set properly (not too small) by (3.12), qave can reflect the current network congestion level and the variation of q. In the case, stable average queue length at the target means stable queue length at the point, which is verified in Section 3.1. If w is too small, the effect of instant queue length on qave can be ignored, and qave cannot accurately represent the network congestion level. Therefore, the queue length may oscillate even though qave is stable. The inequality (3.12) provides the upper threshold of w, we still need further study the case with lower bound of the weight in future.


## 4. The Self-Tuning RED Algorithm

From the analysis in the previous sections, it is evident that that bothpmax and w are key factors to make qave approach to qtarget. Once the network sceneries (d,C,M), the control parameters (qmin,qmax) and the expected target queue length qtarget are determined, the maximum value of w can be obtained by (3.12), while pmax can also be got indirectly by monitoring the performance of the network in (3.6). Based on the above conclusions, a new self-tuning RED can be developed to improve the robustness of RED, as shown in Algorithm 1.Algorithm 1:Self-tuning RED algorithm.
setw by the inequality(3.12)everyqave updateSum = sum +qave;n=n+1;If now>L time + δtqave~ = sum/n;updatepmax by formula  (3.6)sum = 0;n = 0;L time = now;Parameters:now: current timeL time: the last time pmax was calculatedδt: sampling periodsum: the sum ofqave in the period of δtn: the total number of qave sampled during δtThere are two parametersδtandw to be configured in the self-tuning RED. The inequality (3.12) gives the upper threshold of w, but there is not a theoretical method to choose a better value. Simulations in Section 5.1 also show that the queue length keeps close to the target for all the given different values of w once (3.12) is satisfied. Considering that RED is used in congestion control, it is necessary to respond fast to network congestion, especially, in heavy congestion. In addition, with a large value of w, the average queue size is more sensitive to the change of queue length. Therefore, the value of wshould be large enough to response to the variation of the queue length.δt is related to the accurate estimation of K and qave~. If δtis too short, the estimation of qave* may be affected by temporary burst traffic or instability of queue length. However, if δt is set too long, it will take a long time to respond to network congestion. In our improved algorithm, it is reasonable to observe qave and pmax for several RTTs. There are two reasons: (1) the connections need more time than one RTT to react effectively to the current congestion level, so the system needs at least such long time to become stable; (2) if pmax* is adjusted slowly and infrequently, the queue may be more stable that has been verified in Adaptive RED [15]. In the following simulations, we set δt≈10RTTs.There are some parameters (qmin,qtarget,d,C, and M) in (3.6) and (3.12). In application, the control parameters (qmin,qtarget) are configured according to the expected queuing delay and the capacity of the link [15]. The link capacity C and mean packet size M is known for RED gateway. The round-trip propagation delay dmay be difficult to know.However, d can be replaced by RTT in (3.12), since the linear stability condition is also satisfied. For the maximum drop probability, d has less effect on it as discussed in Section 3.2. Therefore, we do not need the accurate value of d, and we can estimate the value of d based on statistics. In the following section, we randomly generate propagation delay of the links except the shared one, and adapt approximate value d=150 ms to simulate. The results show that the self-tuning RED can performs well with the estimated value.


## 5. Simulations

In this section, we evaluate the performance of the proposed RED algorithm by a number of simulations usingns-2 simulator. Other RED variants such as REM, Adaptive RED, and PI-controller are used to compare with the self-tuning RED. The network topology used in simulations is a dumbbell topology with a single bottleneck link and many identical, long-lived TCP Reno flows, as shown in Figure 1. The parameters used are the same as those in [16]: the capacity and delay of the common link are set to 150 Mb/s and 30 ms, respectively. Other links have a capacity of 30 Mb/s, and the propagation delays are randomly selected from [10 ms,35 ms]. Given these parameters, the average round-trip propagation delay is about 150 ms. All sources are ECN-capable, and mean packet size is 500 bytes. The buffer size B between R1 and R2 is set to 7500 packets (about bandwidth-delay product). The window size of each TCP connection is 1125 (the bandwidth-delay product of the link). Therefore, the maximum window size will not restrict the sending rate of packet in all scenarios, and it can trigger congestion even with small connections.The basic parameters of adaptive RED and the self-tuning RED are set atqmin=750 packets, qmax=2250 packets, and pmax=0.01. For adaptive RED, the parameters are set the same as [15]: α=0.01, β=0.9, w=0.000014305 and interval =2s. For PI controller, PI coefficients a and b are 1.822 × 10-5 and 1.816 × 10-5, respectively [18]. For REM, φ=1.001, α=0.1, γ=0.001, and the sampling interval is 2 ms. For the self-tuning RED, δt=2s and w=0.00048814. In the following simulations, the target queue size is 1500 packets. The simulations run for 100 s, and the results are recorded every 0.1 s.


### 5.1. Performance under Extreme Conditions

In this experiment, we test the performance of the self-tuning RED for a constant number of TCP connections under two extreme cases: (1) light congestion with N=200, (2) heavy congestion with N=1000.In order to clearly present the variation of the instantaneous queue length, the range ofy-axis is reduced to [750,2250]. At the same time, the range of x-axis is also reduced. Figures 5 and 6 demonstrate the dynamic change of the instantaneous queue length with N=200 and N=1000, respectively. From Figures 5 and 6, one can see that in both cases, the queue length stabilizes near the target of 1500 packets after about 4 s and 10 s, respectively. The mean value of instantaneous queue length is 1499.4 for N=200 versus 1500.0 for N=1000, and the standard deviations is 44.8 for N=200 versus 48.3 for N=1000. It implies that the queue length can be basically stable at the target with only small steady-state errors. However, it seems to take a bit long time to become stable. The reason is that the large window size of connections leads to slow response. From the two experiments, it can be seen that the time to keep queue length stable does not increase greatly as the load increases (the number of connections). In addition, the fluctuation amplitude of queue length is very small under the above conditions. To some extent, the results show that the self-tuning RED overcomes the sensitivity to the load and shows good robustness.Figure 5
Instantaneous queue length (N=200).Figure 6
Instantaneous queue length (N=1000).


### 5.2. Response with a Variable Number of Connections

In the experiment, the performance of the self-tuning RED is examined when the number of TCP connections varies. In initialization, the number of connections is set to 500. 100 additional TCP connections join the link at 50.0 s. Figure7 shows that the instantaneous queue length becomes relatively stable near the queue target of 1500 packets. After 100 additional flows starting at 50.0 s, the queue first oscillates with a period of 2 s and then quickly becomes stable with about 1500 packets. The result is got with large window size. If small window size is adapted, it may take shorter time to approach robustness. From Figure 7, we can find that the self-tuning RED achieves a short response time and good robustness with variation of the number of connections.Figure 7
Instantaneous queue length with changeable number of connections.


### 5.3. Comparisons with Existing AQM Schemes

To investigate the performance of various AQM schemes in real network, we implement the following experiments: (1) adding short-lived TCP flows, (2) adding unresponsive UDP flows, and (3) changing the number of the long-lived TCP flows.Table1 gives the average value (mean in Table 1) and the standard deviation (STD in Table 1) of the instantaneous queue length for the four AQM schemes in every experiment. To compare the steady-state performance, we calculate the average and the standard deviation of queue length for second half (50 s).Table 1
Comparison of simulation results.
AQM schemesExperiment1Experiment2Experiment3MeanSTDMeanSTDMeanSTDMeanSTDREM1511.5136.39451503.0222.61981512.9133.78021500.6138.6165Adaptive RED1421.441.12141393.956.20611480.154.14011383.247.2175PI1498.261.19631501.861.42241501.857.88781490.558.8450IRED1499.539.39471499.059.96361503.143.83531495.846.0050Experiment 1.
Adding short-lived TCP flows. There exist some short-lived flows as burst traffic in networks, which can affect the performance of an AQM scheme. In the experiments, the impact of the short-lived flows is investigated for various AQM schemes. In the first, the initial number of connections is set to 500, and then 500 short-lived TCP flows randomly arrive in interval [0,100]s. The duration of the short-lived flows is uniformly distributed in [1s,2s]. Other parameters are the same as those in the above simulations.
From Table1, it is evident that the performance of REM scheme is the worst since the algorithm cannot maintain the queue length at 1500, and its standard deviation is the largest. With adaptive RED, the fluctuation amplitude of the average queue length is smaller than those with REM, which shows that Adaptive RED behaves much better than REM in the experiments. Although adaptive RED has less standard deviation than PI controller, the deviation from the target is larger than the latter. Thus, adaptive ARED performs worse than PI controller. It is found that the self-tuning RED has less standard deviation with 39.3947 versus PI controller with 61.1963. Evidently, the self-tuning RED is more stable. To sum up the results, the self-tuning RED clearly performs better than the other schemes in the experiment.Experiment 2.
Adding unresponsive UDP flows. In this experiment, we study the performance of the AQM schemes with the UDP flows. According to the study in [46], long-lived TCP connections account for 95% of the traffics in Internet. It is necessary to examine the effect from the UDP flow. In the experiment, 50 UDP flows are added besides 500 long-lived TCP connections. These UDP flows start at random time uniformly distributed in [0,100] s, so the UDP flows can be regarded as 25 long-lived TCP connections. Each UDP is CBR (Constant Bit Rate) at the rate of 300 Kb, and the mean packets size is 500 bytes. When the queue is not empty, the sending rate of each UDP flows is nearly equal to that of TCP. By this means, the total traffic of the UDP flows account for about 5% of the traffic, which is enough to study its impact on the performance of the network.
From Table1, we can find that with Adaptive RED, the queue cannot converge to the target value of 1500 packets (it does at about 1393), but the standard deviation with 56.2 is smaller than other algorithms. By comparing the magnitudes of oscillation for the four AQM schemes, it is found that REM leads to a largest oscillation, which implies its weak robustness. When the self-tuning RED is compared with PI controller, it can be seen that the two schemes are successful to get stable queue size with only small fluctuation at the target value. We can also see that the self-tuning RED has a little better performance than PI controller with less deviation from the target and smaller fluctuation amplitude. To sum up, the self-tuning RED is better than other algorithms in terms of robustness when the UDP flows exist.Experiment 3.
Change the number of the TCP connections. In the following experiments, the self-tuning RED is compared with REM, adaptive RED, and PI controller in cases that the number of TCP connections varies. In the first simulation, the initial number of connections is set to 500, and then 100 TCP flows start at a random time in the range [0,100] s. In the second simulation, the initial number of connections is set to 600, and 100 of them stop at the time uniformly distributed over a period of 100 s.
In both cases, the four AQM schemes perform as similarly as in the two above simulations. Due to large fluctuation, REM performs poorly in terms of robustness. With adaptive RED, the fluctuation amplitude of the queue size is very small, but it has a smaller mean queue length. PI controller outperforms Adaptive RED and REM because of less fluctuation amplitude with about 58 and smaller deviation with 10 packets from the target value. Since there are no other contenders, the self-tuning RED is compared with PI controller. In the first experiment, the mean queue length is 1503.1 with the self-tuning RED versus 1510.8 with PI controller. The standard deviation of queue length is 43.8353 with the self-tuning RED versus 57.8878 with the PI controller. In the second experiment, the mean queue length is 1495.8 with the self-tuning RED versus 1490.5 with the PI controller. The standard deviation of queue length is 46.0050 with the self-tuning RED versus 58.8450 with the PI controller. It is evident that the self-tuning RED is slightly closer to the 1500 target with smaller fluctuation amplitude, and performs much better than PI controller, adaptive RED, and REM.


## 5.1. Performance under Extreme Conditions

In this experiment, we test the performance of the self-tuning RED for a constant number of TCP connections under two extreme cases: (1) light congestion with N=200, (2) heavy congestion with N=1000.In order to clearly present the variation of the instantaneous queue length, the range ofy-axis is reduced to [750,2250]. At the same time, the range of x-axis is also reduced. Figures 5 and 6 demonstrate the dynamic change of the instantaneous queue length with N=200 and N=1000, respectively. From Figures 5 and 6, one can see that in both cases, the queue length stabilizes near the target of 1500 packets after about 4 s and 10 s, respectively. The mean value of instantaneous queue length is 1499.4 for N=200 versus 1500.0 for N=1000, and the standard deviations is 44.8 for N=200 versus 48.3 for N=1000. It implies that the queue length can be basically stable at the target with only small steady-state errors. However, it seems to take a bit long time to become stable. The reason is that the large window size of connections leads to slow response. From the two experiments, it can be seen that the time to keep queue length stable does not increase greatly as the load increases (the number of connections). In addition, the fluctuation amplitude of queue length is very small under the above conditions. To some extent, the results show that the self-tuning RED overcomes the sensitivity to the load and shows good robustness.Figure 5
Instantaneous queue length (N=200).Figure 6
Instantaneous queue length (N=1000).


## 5.2. Response with a Variable Number of Connections

In the experiment, the performance of the self-tuning RED is examined when the number of TCP connections varies. In initialization, the number of connections is set to 500. 100 additional TCP connections join the link at 50.0 s. Figure7 shows that the instantaneous queue length becomes relatively stable near the queue target of 1500 packets. After 100 additional flows starting at 50.0 s, the queue first oscillates with a period of 2 s and then quickly becomes stable with about 1500 packets. The result is got with large window size. If small window size is adapted, it may take shorter time to approach robustness. From Figure 7, we can find that the self-tuning RED achieves a short response time and good robustness with variation of the number of connections.Figure 7
Instantaneous queue length with changeable number of connections.


## 5.3. Comparisons with Existing AQM Schemes

To investigate the performance of various AQM schemes in real network, we implement the following experiments: (1) adding short-lived TCP flows, (2) adding unresponsive UDP flows, and (3) changing the number of the long-lived TCP flows.Table1 gives the average value (mean in Table 1) and the standard deviation (STD in Table 1) of the instantaneous queue length for the four AQM schemes in every experiment. To compare the steady-state performance, we calculate the average and the standard deviation of queue length for second half (50 s).Table 1
Comparison of simulation results.
AQM schemesExperiment1Experiment2Experiment3MeanSTDMeanSTDMeanSTDMeanSTDREM1511.5136.39451503.0222.61981512.9133.78021500.6138.6165Adaptive RED1421.441.12141393.956.20611480.154.14011383.247.2175PI1498.261.19631501.861.42241501.857.88781490.558.8450IRED1499.539.39471499.059.96361503.143.83531495.846.0050Experiment 1.
Adding short-lived TCP flows. There exist some short-lived flows as burst traffic in networks, which can affect the performance of an AQM scheme. In the experiments, the impact of the short-lived flows is investigated for various AQM schemes. In the first, the initial number of connections is set to 500, and then 500 short-lived TCP flows randomly arrive in interval [0,100]s. The duration of the short-lived flows is uniformly distributed in [1s,2s]. Other parameters are the same as those in the above simulations.
From Table1, it is evident that the performance of REM scheme is the worst since the algorithm cannot maintain the queue length at 1500, and its standard deviation is the largest. With adaptive RED, the fluctuation amplitude of the average queue length is smaller than those with REM, which shows that Adaptive RED behaves much better than REM in the experiments. Although adaptive RED has less standard deviation than PI controller, the deviation from the target is larger than the latter. Thus, adaptive ARED performs worse than PI controller. It is found that the self-tuning RED has less standard deviation with 39.3947 versus PI controller with 61.1963. Evidently, the self-tuning RED is more stable. To sum up the results, the self-tuning RED clearly performs better than the other schemes in the experiment.Experiment 2.
Adding unresponsive UDP flows. In this experiment, we study the performance of the AQM schemes with the UDP flows. According to the study in [46], long-lived TCP connections account for 95% of the traffics in Internet. It is necessary to examine the effect from the UDP flow. In the experiment, 50 UDP flows are added besides 500 long-lived TCP connections. These UDP flows start at random time uniformly distributed in [0,100] s, so the UDP flows can be regarded as 25 long-lived TCP connections. Each UDP is CBR (Constant Bit Rate) at the rate of 300 Kb, and the mean packets size is 500 bytes. When the queue is not empty, the sending rate of each UDP flows is nearly equal to that of TCP. By this means, the total traffic of the UDP flows account for about 5% of the traffic, which is enough to study its impact on the performance of the network.
From Table1, we can find that with Adaptive RED, the queue cannot converge to the target value of 1500 packets (it does at about 1393), but the standard deviation with 56.2 is smaller than other algorithms. By comparing the magnitudes of oscillation for the four AQM schemes, it is found that REM leads to a largest oscillation, which implies its weak robustness. When the self-tuning RED is compared with PI controller, it can be seen that the two schemes are successful to get stable queue size with only small fluctuation at the target value. We can also see that the self-tuning RED has a little better performance than PI controller with less deviation from the target and smaller fluctuation amplitude. To sum up, the self-tuning RED is better than other algorithms in terms of robustness when the UDP flows exist.Experiment 3.
Change the number of the TCP connections. In the following experiments, the self-tuning RED is compared with REM, adaptive RED, and PI controller in cases that the number of TCP connections varies. In the first simulation, the initial number of connections is set to 500, and then 100 TCP flows start at a random time in the range [0,100] s. In the second simulation, the initial number of connections is set to 600, and 100 of them stop at the time uniformly distributed over a period of 100 s.
In both cases, the four AQM schemes perform as similarly as in the two above simulations. Due to large fluctuation, REM performs poorly in terms of robustness. With adaptive RED, the fluctuation amplitude of the queue size is very small, but it has a smaller mean queue length. PI controller outperforms Adaptive RED and REM because of less fluctuation amplitude with about 58 and smaller deviation with 10 packets from the target value. Since there are no other contenders, the self-tuning RED is compared with PI controller. In the first experiment, the mean queue length is 1503.1 with the self-tuning RED versus 1510.8 with PI controller. The standard deviation of queue length is 43.8353 with the self-tuning RED versus 57.8878 with the PI controller. In the second experiment, the mean queue length is 1495.8 with the self-tuning RED versus 1490.5 with the PI controller. The standard deviation of queue length is 46.0050 with the self-tuning RED versus 58.8450 with the PI controller. It is evident that the self-tuning RED is slightly closer to the 1500 target with smaller fluctuation amplitude, and performs much better than PI controller, adaptive RED, and REM.


## 6. Conclusions

In this paper, we study the effect of control parameters on queue length for a given target. Based on theoretical analysis, a self-tuning RED algorithm is proposed, which can keep queue length stable at the target value by adjusting the maximum drop probability and setting a proper exponential averaging weight. A number of simulations show that the self-tuning RED performs better than various AQM algorithms in term of deviation from the target and the fluctuation of queue length. In addition, the self-tuning RED does not change the basic principle of the RED algorithm, and can be simply applied in practice. For future work, it is necessary to further study the issue under wider network scenarios with various bandwidths and multiple bottleneck links.



---

*Source: 872347-2010-10-13.xml*