Quadratic exponential random early detection: a new enhanced random early detection-oriented congestion control algorithm for routers

Network congestion is still a problem on the internet. The random early detection (RED) algorithm being the most notable and widely implemented congestion algorithm in routers faces the problems of queue instability and large delay arising from the presence of an ineffectual singular linear packet dropping function. This research article presents a refinement to RED, named quadratic exponential random early detection (QERED) algorithm, which exploits the advantages of two drop functions, namely quadratic and exponential in order to enhance the performance of RED algorithm. ns-3 simulation studies using various traffic load conditions to assess and benchmark the effectiveness of QERED with two improved variants of RED affirmed that QERED offers a better performance in terms of average queue size and delay metrics at various network scenarios. Fortunately, to replace/upgrade the implementation for RED algorithm with QERED’s in routers will require minimal effort due to the fact that nothing more besides the packet dropping probability profile got to be adjusted.


INTRODUCTION
In today's world, the internet has been described as an advanced technology which drives speedy development of the society as it supports contemporary communication, information sharing and services [1], [2]. Congestion control still continues as an active research area in the current internet due to huge magnitude of traffic triggered by users accessing internet services [3]- [7]. Network congestion refers to a condition in which the amount of generated traffic grows and exceeds network's resources processing capacity [3], [8]. It is one of the crucial problems that affect quality of network service [9], [10]. Therefore, to make certain of a better network performance, it is imperative to develop algorithms that avoid network traffic congestion [9], [11]- [13].
Aside the well-known responsibility of packet forwarding, the router plays an important role of implementing algorithms needed for congestion control in the network. Traditionally, drop-tail queue management algorithm, as its name implies, operates the first-in, first-out (FIFO) procedure which accepts all incoming packets into the queue of router's buffer until full capacity is reached [14]. The weaknesses of drop-Tail algorithm include full queues, high packet loss rate, and large delay in data delivery, network deadlock and global synchronization [14]- [16].
Zeng et al. [17] described the active queue management (AQM) algorithm employed by routers as a more efficient way to relieve congestion. AQM algorithm detects congestion at an early stage and delivers a feedback signal (through dropping of packets) to traffic sources to slow down their transmission rate before the buffer is fully occupied [18]- [20]. AQM algorithms aimed at reducing packet loss rate, keeping average queue size small, increasing throughput and reducing delay [15]. The internet engineering task force (IETF) has recommended the widespread deployment of AQM algorithms in internet devices (in particular, the router) as a solution for controlling congestion [14].
One notable representative AQM is the random early detection (RED) [21], as it is called. RED detects incipient congestion by determining the average queue size (ave) using a low pass filter exponential weighted moving average (EWMA) method (according to (1)). The result is compared with two pre-determined queue thresholds for average queue size, namely minimum threshold (minTh) and maximum threshold (maxTh).
where refers to the current queue size, ′ refers to the previously calculated , and is a pre-configured weight parameter to calculate and ranges between 0 and 1. Further, when the computed is less than ℎ threshold, all incoming packets are enqueued. When is between minTh and maxTh thresholds, incoming packets are dropped with a probability that increases linearly from 0 to Pmax (that is, the maximum packet dropping probability). However, when is greater than maxTh, all arriving packets are dropped with a probability equal to 1. Therefore, the initial dropping probability (Pb) strategy of RED (dependent on ) is given as (2).
Finally, the packet dropping probability (Pa) is computed as (3): where count refers to the number of admitted packets since the last packet dropped.
To tackle the delay problem of RED, Abu-Shareha [22] proposed a delay-controller RED (DcRED) algorithm. The algorithm extends RED by computing a delay parameter (which relies on the queue size, departure rate, and arrival rate), at every packet arrival into the router's buffer to determine the dropping probability. Gentle RED (GRED) algorithm [23] aimed at increasing the throughput performance of RED. GRED utilizes three queue thresholds, namely minTh, maxTh, and two times maxTh. A linear packet dropping function is applied when ave varies between minTh and maxTh. Similarly, a linear packet dropping function is applied when ave is between maxTh and two times maxTh thresholds. QRTRED algorithm [24] relies on the computation of a metric named QRT which is used to determine the state of the network traffic and dynamically adjust the minTh and maxTh thresholds. The algorithm obtained improved link utilization.
Nonlinear RED (NLRED) algorithm [7] operates similar to RED except that a quadratic packet drop function is utilized when ave varies between minTh and maxTh queue thresholds and increased Pmax by a factor of 1.5. This was done with the intention of addressing the aggressive problem of RED at heavy congestion. NLRED achieved an improved throughput performance. Double slope RED (DSRED) algorithm [25] is an enhanced version of RED such that it utilizes three queue thresholds which are minTh, maxTh, and a mid-point threshold (set as (minTh + maxTh)/2). When ave is between minTh and mid-point thresholds, a linear dropping function is used. When ave is between the mid-point and maxTh thresholds, another linear dropping function is used. The slopes of these two linear functions are complementary and adjustable by a mode selector. The algorithm obtained an improved throughput performance. Feng et al. [26] improved RED by employing three dropping functions, which are nonlinear, linear, and nonlinear between minTh and maxTh thresholds. TRED exhibits a trade-off between two performance metrics: delay and throughput.
MRED algorithm [27], an improved version of GRED applied a quadratic drop function when ave varies between minTh and maxTh threshold values (instead of a linear function used in GRED). MRED achieved an increased throughput performance. Baklizi et al. [28] proposed a dynamic GRED (DGRED) which is a modified version of GRED. The algorithm aimed at stabilizing ave at a computed specified value between minTh and maxTh while dynamically adjusting the queue thresholds: maxTh and two times maxTh in order to provide an improved performance in terms of packet loss rate. Baklizi et al. [29] suggested the stabilized DGRED (SDGRED) algorithm, a modified version of DGRED whereby the maxTh and two times maxTh queue thresholds were dynamically adjusted and aimed at stabilizing ave at a computed specified value between minTh and two times maxTh queue thresholds in order to obtain a reduced packet loss rate and queuing delay. Weight queue dynamic AQM (WQDAQM) algorithm [30] is an improvement over SDGRED algorithm. Based on the traffic load, WQDAQM dynamically adjust the queue weight and the two queue thresholds, namely maxTh and two times maxTh in order to perform packet dropping. The algorithm aimed at stabilizing the queue weight between minTh and maxTh. Therefore, the algorithm obtained an improved performance in terms of average queue size, packet loss rate and delay. VRED algorithm [31] relies on the computation of the queue size growth velocity which is utilized as an indicator for congestion instead of average queue size (as in RED). VRED achieved an improved utilization. RED exponential (RED_E) algorithm [4] is an improved RED in the sense that the linear packet dropping function was replaced with an exponential (nonlinear) packet drop function which does not require Pmax parameter. RED_E was reported to obtain an improved performance in terms of delay especially at heavy congestion scenario. Adamu [3] developed the self-adaptive RED (SARED) algorithm which relies on the computation of average queue size and current network traffic condition as indicators for congestion. Therefore, at low and moderate network traffic scenarios, a nonlinear packet dropping function is utilized in order to improve the throughput performance. However, at heavy network traffic scenario, a linear packet dropping function is utilized in order to improve the link utilization.
Mohammed et al. [10] developed the dynamic queue RED (DQRED) algorithm which operates by classifying incoming packets into the router's buffer into three different virtual queues: one for user data protocol (UDP)-based video applications, another for UDP-based audio applications, and the last third queue for transmission control protocol (TCP) based applications. Packets from these queues are dynamically scheduled with regards to the number of enqueued packets in each. The RED algorithm is implemented in each queue. Attiya and El-Khobby [32] proposed an algorithm which employs a classifier in order to split incoming packets into the router's buffer using three virtual queues, namely high priority UDP-based video traffic, medium priority UDP-based audio traffic, and low priority TCP-based traffic. Packets from these queues are scheduled according to ratio 3:2:1. All the three queues have RED algorithm implementation. The modified algorithm obtained an improved performance in terms of delay and packet loss which are essential for real-time applications. Su et al. [33] employed the Q-learning algorithm to determine and adjust Pmax parameter for deployment in RED. The modified version was named q-learning RED (QRED). The algorithm obtained an improved throughput and packet loss rate.
Flexible RED (FXRED) algorithm [12] operates a self-adaptive mechanism similar to SARED except that a nonlinear packet dropping function is utilized for a low and moderate network traffic conditions in order to obtain an improved throughput and link utilization while a linear packet dropping function for a high network traffic condition in order to obtain an improved delay. The former conditions refer to a situation where ave is between minTh and a mid-point threshold set as (minTh + maxTh)/2 while the latter condition refers to a situation where ave is between the mid-point and maxTh thresholds. Smart RED (SmRED) algorithm [34] improved RED by using three queue thresholds, namely minTh, Target (set as minTh + (maxTh-minTh)/2) and maxTh. SmRED utilizes a nonlinear (quadratic) packet drop function when ave is between minTh and Target in order to obtain an improved link utilization; utilizes a (symmetric) square root packet drop function when ave is between Target and maxTh in order to obtain a reduced delay.
MultiRED (MRED) [35] utilizes a classifier to split incoming packets into the router queue using two virtual queues: one for TCP-type traffic applications, and the other for UDP-type traffic applications. Each of these queues has RED algorithm implementation. MRED achieved a reduced packet loss rate especially for sensitive traffic flows. Kumhar et al. [36] proposed a quadratic RED (QRED) algorithm. To overcome instability problem of RED, QRED replaced the linear drop function of RED with a quadratic drop function (expressed in (4) and (5)): where maxQ indicates the buffer size. To tackle the instability issue of RED algorithm, Gimenez et al. [37] developed the Beta RED algorithm which utilizes a (nonlinear) Beta distribution packet drop function in lieu of the linear packet drop function utilized by RED. Suwannapong and Khunboa [38] deploys two dropping functions which are linear (between minTh and maxTh) and exponential (between maxTh and K: in which K is the size of buffer). While RED directly applies the linear dropping function between minTh and maxTh, the model suggested in [39] does not. It instead exploits the count variable and drop packets based on (6): in which p1 refers to RED's linear dropping function as (7).
Enhanced congestion control-RED (CoCo-RED) [40] is a refined version of CoCo-RED algorithm in which minTh and maxTh are adjusted depending on the congestion level. Kar et al. [20] described the dropping probability as the central part of an AQM algorithm. Also, Koo et al. [41] developing an AQM algorithm with a good drop probability was described as the hallmark of congestion control. Therefore, the main contribution of this paper is to propose an improved, RED-based algorithm named quadratic exponential random early detection (QERED), which utilizes a quadratic and an exponential packet dropping functions to distinguish between light-and moderate-network traffic load scenarios and a heavy network traffic load scenario with the aim of addressing the instability of queue size and large delay shortcomings of RED.

QUADRATIC EXPONENTIAL RANDOM EARLY DETECTION
In this section, we present a detailed description of a refined algorithm, referred to as QERED. Like RED algorithm, QERED works by measuring congestion level through the computation of the average queue size (earlier given in (1)). However, QERED as its name implies, replaces the RED's linear relationship between the packet dropping probability and average queue size with an interplay of a quadratic and an exponential drop function. The packet drop probability function for QERED algorithm is depicted in Figure 1. The proposed QERED algorithm distinguishes between two traffic scenarios: one is light and moderate loads, the other is heavy load. The distinction between these two network traffic load situations was accomplished through the introduction of a Target threshold parameter given in (8).
Specifically, the light-and moderate-traffic load scenarios account for situations when ave is close to the minimum threshold and when ave is near Target, respectively. Therefore, a quadratic drop function (expressed in (9)) is applied to drop packets because network congestion is not yet serious. Thus, a smaller packet dropping probability is achieved.
Also, heavy traffic load scenario refers to conditions when ave is between Target and the maximum threshold. Therefore, an exponential drop function (expressed in (10)) is applied to drop packets because network congestion is serious. Thus, there is a need to ease congestion in the network through the use of a higher packet dropping probability.
In other words, the initial dropping probability strategy of QERED is expressed as (11): 4: For every incoming packet 5: Calculate the average queue size ave according to (1) 6: if ave < minTh then 7: The packet will be admitted into queue of router's buffer 8: else if minTh ≤ ave < Target then 9: A quadratic function (given in (9)) is employed to calculate the packet dropping probability 10: The incoming packet is dropped based on the calculated probability 11: else if Target ≤ ave < maxTh then 12: An exponential function (given in (10)

Simulation configuration
We implement the proposed QERED algorithm in network simulator version 3 (ns-3) [42]. The network topology considered in our simulation experiment is depicted in Figure 2. The topology has two intermediate devices-routers (which are R1 and R2), primarily for the purpose of directing data packet flows. Traffics are generated from N TCP/New-Reno sources. The bottleneck link is between router R1 and router R2, it has a bandwidth of 10 Mbps and a propagation delay of 100 ms. Every other link (either connecting the sources to router R1 or connecting router R2 to destination device, D) has a capacity of 100 Mbps and 3 ms propagation delay. The size of packets by default is 1000 bytes. AQM algorithms are implemented and deployed in the queue of router R1 with a specified buffer size of 250 packets. For SmRED, we set minTh=30 packets, Target=60 packets, maxTh=90 packets, Pmax=0.1, and wq=0.002. For RED_E, we set minTh=30, maxTh=90 packets, and wq=0.002. For QERED, we set minTh=30 packets, Target=70 packets, maxTh=90 packets, Pmax=0.1, and wq=0.002. Simulation time is specified as 100 sec.
Based on Figure 2, three experiments involving light, moderate and heavy traffic loads were conducted in order to evaluate the performance of RED_E, SmRED, and QERED algorithms. Comparison was done using average queue size, throughput, and delay as performance measures. The light, moderate, and heavy traffic loads involve N=5, N=20, and N=50 TCP flows respectively.

Scenario 1: light traffic
From Figure 3(a), we see that the proposed QERED algorithm regulates the oscillatory behavior of average queue size better than RED_E and SmRED algorithms. Statistical results presented in Table 1 shows that QERED obtained the lowest value in terms of average queue size. Therefore, in terms maintaining the average queue size at a stable and small value, QERED clearly outperformed RED_E and SmRED. It can be observed from Figure 3(b) that the oscillation in delay is better controlled with QERED. Analysis presented in Table 1 further confirms that QERED achieved the least value. Thus, QERED has greater benefit in terms of delay. Figure 3(c) presents the throughput performance. From the figure, it can be seen that SmRED obtained the best performance in terms of throughput among all the three algorithms. However, QERED obtained a better result than RED_E. Table 1 confirms this result.   Figure 4(a) presents the average queue size performance of SmRED, RED_E and QERED algorithms. It is clearly seen that QERED better regulates and keeps the average queue size smaller than SmRED and RED_E algorithms. Analysis presented in Table 2 also confirms that the proposed QERED algorithm obtained the best performance in regard to average queue size metric.

Scenario 2: moderate traffic
From the delay graph plotted in Figure 4(b), it can be observed that the proposed QERED algorithm obtained a better performance than SmRED and RED_E algorithms. In fact, it can be confirmed from the statistical results in Table 2 that QERED has a superior delay performance. The throughput results presented in Figure 4(c) shows that RED_E algorithm has the best performance. Table 2 shows the analysis. This result is a pointer to the fact that under this scenario, QERED obtained a reduced delay at the expense of throughput.

Scenario 3: heavy traffic
The graph shown in Figure 5(a) compares the average queue size for RED_E, SmRED, and QERED algorithms. As illustrated, at heavy traffic load when congestion is aggravated, QERED algorithm significantly reduces and stabilizes the average queue size. As presented in Table 3, QERED obtained the lowest value when compared with the other two algorithms. The reason is because, the exponential drop function utilized by QERED rises faster. As a result, more packets are dropped with QERED when heavy congestion occurs. The plot depicted in Figure 5(b) compares the performance of the three algorithms in terms of delay. As demonstrated, QERED algorithm outperformed both RED_E and SmRED. Analysis provided in Table 3 confirms that QERED reduces the delay better than RED_E and SmRED. Also, the variance in delay is lowest with QERED. Figure 5(c) compares the throughput performance of RED_E, SmRED and QERED under heavy traffic load condition. It is evident that SmRED obtained the best performance. Analysis provided in Table 3 confirms that QERED obtained the least value among the three algorithms. Again, this throughput result is a pointer to the fact that under this scenario, QERED obtained a reduced delay at the expense of throughput.

CONCLUSION
In this paper, the RED algorithm is re-investigated, and an improved, RED-oriented algorithm named QERED has been proposed. QERED utilizes the mixture of quadratic and exponential packet dropping strategy in lieu of an ineffectual linear packet dropping strategy utilized in RED. Demonstrations in ns-3 simulator revealed that QERED algorithm evidently outperformed two representative AQM algorithms which are RED_E and SmRED in terms of average queue size stability and delay performance measures under three traffic load conditions (which are light, moderate, and heavy). In future work, we plan to validate QERED's algorithm implementation in Linux kernel and eventually assess its performance alongside some selected AQM algorithms on a real network.