Comparative Analysis and Comparison of Various AQM Algorithm for High Speed

Congestion deteriorates the network performance. In this paper various congestion control AQM algorithm are analyzed and surveyed with their shortcomings and their advantages. The main objective of the paper is to study existing AQM algorithm and develop a new AQM algorithm that gives better result than the existing algorithm. AQM are the router based mechanism for early detection of congestion in the computer network. The basic idea of AQM is to sense and detect congestion in advance and to inform the sender to reduce its sending rate, thereby reducing the number of packets sent in the network and control the congestion. There are several AQM algorithms that controls the congestion. In this paper, we have surveyed, compared and analyzed Random Early Detection (RED), Flow Random Early Detection (FRED), Stabilized Random Early Detection (SRED), Stochastic Fair Queuing (SFQ), Random Exponential Marking (REM), BLUE, Stochastic Fair BLUE (SFB) AQM algorithms. Performance parameter are tested and evaluated in NS2 simulator. After analyzing it was found that RED AQM compared with SFQ and REM achieved best result in terms of delay. SFQ had minimum average ratio and RED had max loos ratio. REM algorithm showed the best result with respect to throughput loss ratio and link utilization. Improvement: After analyzing and comparing several AQM algorithm it was found that no single algorithm can solve all the problems. Hence a research is needed to develop a new AQM algorithm that has good link utilization, is fair enough, has less loss ratio, require less space and easy for configuration. Comparative Analysis and Comparison of Various AQM Algorithm for High Speed Uma R. Pujeri1, V. Palaniswamy1, P. Ramanathan2, Ramachandra Pujeri3* 1Anna University, Chennai 600025, Tamil Nadu, India; umaresearch81@gmail.com, v.palaniswamy81@gmail.com 2Info Instistute of Technology, Coimbatore 641107, Tamil Nadu, India; pramanathan2509@)gmail.com 3Pune university, Pune – 411007, Maharashtra, India; sriramu.vp@gmail.com


Introduction
AQM algorithm are congestion control algorithm which increases throughput, link utilization and decreases the delay and packet loss. The first AQM algorithm called RED (Random Early Detection) provides the mechanism for congestion avoidance. This technique had several drawback and one among which was inability to deal with busty traffic. RED algorithm is studied, analyzed by many researchers and RED has been the basis for the development for new AQM algorithm. The major objective of RED algorithm are:

RED OBJECTIVES
To monitor the queue length • High link utilization • Early congestion detection • Minimize queuing delay • Decrease packet loss • Achieve fairness • Avoid global synchronization • RED algorithm monitors the average queue size and drop the packet based on the statistical probability. Unlike RED FRED does not make the dropping of packet decision on queue length but FRED monitors each active flow within the buffer and usage of bandwidth of each flow and takes the dropping decision depending on the usage of bandwidth of active flow. Cost of FRED is independent from number of flow but is proportional to the buffer size. SRED algorithm is stabilized RED algorithm with additional features added to the RED algorithm.
The goal of SRED algorithm is to trace the active flow in queue that take more bandwidth share and allocate equal fair share of bandwidth to all the active flow in the queue was proposed by Jhon Nagle in 1987 which is fair queuing algorithm. SFQ is called "stochastic" because SFQ algorithm divides the traffic over a number of queues using hashing and round robin algorithm. REM is an AQM algorithm which achieves both high utilization and negligible loss and delay in a simple and scalable manner. REM algorithm has two specific key features and they are:

Match Rate Clear Buffer •
-Stabilizes the queue around small target regardless of number of user that is it matches the user rate with network capacity while clearing the buffer.

Sum Prices •
-It is sum of link prices (congestion measures), summed over all the router in the route of the packet from source to destination to estimate endto-end marking or dropping probability.
In BLUE AQM algorithm the congestion is managed through packet loss and link utilization history. BLUE maintains only a single marking probability variable. When the queue continuously starts to drop the packet due to congestion or buffer overflow, marking probability is incremented by 1 else when the queue is empty or idle this marking probability is decremented. SFB is an AQM algorithm which identifies and rate limits non responsive flow using very small amount of state information.
The purpose of this survey is to revisit different AQM algorithm like RED, SFQ, REM, FRED, SRED, BLUE and SFB, outline different consideration in their design and also highlight their disadvantages and limitations which will help in design of new algorithm that can take maximum advantages of the existing algorithm and dilute the limitations.
The paper is organized in following manner Section 2 discusses AQM algorithms in details with step by step algorithm for each AQM algorithm considered in this paper. Section 3 compares each algorithm with respect to link utilization, fairness, space requirement, per flow state information, advantages and disadvantages. Section 4 discusses conclusion and future work.

AQM Algorithm
AQM algorithm senses the network congestion in advance and inform the sender to reduce its sending rate thus minimizing the number packets in the network. There are several AQM algorithms but in this paper we have considered following AQM algorithm they are:

Random Early Detection (RED)
RED is an AQM algorithm which is also known as Random Early Detection or Random Early Discard or Random Early Drop that provides mechanism for congestion avoidance. Traditional drop tail algorithm drop the packets if the buffer is full. Drop tail algorithm does not fairly distribute the buffer space among the traffic flow. Drop tail algorithm can also lead to global synchronization. This problem is overcome in TCP RED.
TCP RED monitors queue size depending on the queue RED takes the decision of dropping the packet, that is if the queue is empty all the packets are accepted, as queue becomes full the probability of dropping the packet also increases. When the queue becomes full all the incoming packets are dropped.

Random Early Detection (RED) Algorithm
Step

Stochastic Fair Queuing (SFQ)
SFQ -Stochastic Fairness Queuing (SFQ) is an AQM algorithm that uses hashing and round robin algorithm. In SFQ algorithm a traffic flow is identified by four options they are source address, destination address, source port and destination port. These parameters are used by SFQ hashing algorithm to classify the packet into 1024 sub-streams. Bandwidth is distributed equally to all the sub-stream using round robin algorithm. Round robin algorithm allocates a SFQ-allot bytes of traffic on each round thus fairly distributing the available bandwidth among all the sub-stream.SFQ queue contains 1024 sub-stream and 128 packets SFQ algorithm Parameters int maxqueue max queue size in packets int buckets number of queues

Steps for Enqueue Function
Step

Steps for Dequeue Function
Step

Random Exponential Marking (REM)
Random Exponential Marking is an active queue management algorithm which decouples the congestion measures with performance measure such as delay, Packet delivery ratio, throughput packet loss etc and stabilizes the performance measure around the target independently of the number of users.
REM has two important key features.
Match the rate clear buffer, • Sum Prices. • Match rate clear buffer: REM algorithm stabilizes the input rate with the total capacity and the queue length with small target irrespective of the number of user sharing the link. REM output queue uses a variable called "price" which is used to estimate marking probability. The value of price variable is updated periodically or asynchronously in two cases: When there is difference between the input rate and • link capacity. When there is difference between queue length and • target.
The weighted sum is positive if the input rate exceeds the link capacity else the weighted sum is negative. When the weighted sum of these mismatches (that is difference between input rate and link capacity and the difference between queue length and target) is positive the value of the price variable is incremented else the value of the price variable is decremented.
Case 1: When number of users increases the input rates grows hence weighted sum is positive the price is incremented and so is the marking probability. In such case a strong congestion signal is sent to the sender to reduce their sending rate. Case 2: When input rate is too low than the link capacity the weighted sum will be negative the price and marking probability is decremented which raises the source rate until the mismatches are driven to zero.
Thus REM explicitly control the value of price. Value of price is updated for queue length l in time period t with the following formula Where γ> 0 Small constants α1 > 0 bl(t) is buffer occupancy at queue l in period t. bl * (t)>=0 target queue length xl(t) is input rate cl(t) is available bandwidth of queue l in period t xl(t)-cl(t) is rate mismatch bl(t)-bl * is queue mismatch α can be set by each queue depending on the bandwidth utilization and queuing delay. γ controls the responsiveness of the REM to control the network condition. When the weighted sum and queue mismatches are positive which are weighted by α the price value is increased else the price value is decreased.
Price can be stabilized when weighted sum is zero that is α1(bl-bl * ) + (xl-cl) = 0 this can happen only when input rate equals the link capacity (xl = cl) and the queue length equals the target that is (bl = bl * ) When the target queue length b * is non zero the mismatch rate xl (t)-cl (t) can be bypassed to update the price xl (t)-cl (t) grows when queue length and buffer is nonempty. Hence approximate this term by change in backlog bl (t+1)-bl (t) it becomes: Hence it is observed that REM algorithm the prices increases while the queue length is stabilized around the target bl * regardless of the increase in number of users.
Sum Prices: Sum Prices is the sum of all the link prices along the path from source to destination to estimate end-to-end marking probability.
Suppose a packet traverse links l = 1,2,3,------l that have price pl (t) in time period t then the marking probability ml (t) at queue l in time period t is calculated as: where Φ > 1 is a constant End-to-end marking probability is calculated as: End-to-end marking probability is high when congestion in its path is large .When the link marking probability ml (t) are small hence the link prices pl (t) are small, the end-to-end marking probability is approximately proportional to the sum of the link prices in the path: end-to-end marking probability

Function Reset
It computes the "packets time constant" if link bandwidth is known ptc is the max number of packets per second which can be placed on link

Steps for Reset Function
Step

Function to Compute Average Input Rate Price and Marking Probability
This function compute average input rate, price and marking probability. Link price is computed by following formula: Where remv_.v_pl is a link price stored in variable pl. Input rate is calculated by the formulas: where remv_.v_count contains number of packets arriving at link stored in a variable in marking probability is calculated by following formulas.
where pr is marking probability.

Steps for Enqueue of Packets
Step

Stabilized RED (SRED)
SRED is called as stabilized RED AQM algorithm which is derived from RED AQM algorithm by adding some feature to it. The goal of SRED algorithm is to identify the flow that take more bandwidth and to allocate the fair share of bandwidth without performing much computation .To achieve this SRED algorithm uses Zombie list which is small list of recently seen active flows with additional information for each flow in the list "count" and timestamps.
The zombie list initially is empty whenever a new packet arrives its packet identifier (source address, destination address) is added to the list. Count is set to zero and time stamp is set to arriving time of packet.
Once the zombie list is full SRED algorithm compare the arriving packet with the random selected zombie in the zombie list. After this comparison one out of two actions can be taken from the following: Whenever the arriving packet matches with the 1.
packet in the zombie list it is a hit the variable count is increased by one and timestamps is set to latest packet arrival time. Whenever the new arriving packet do not match with 2.
random selected packet (zombie) in the zombie list it is no hit or miss then zombie list is replaced or over written by the new arriving packet. Count is set to zero and time stamp is set to the arrival time at the buffer with probability p.
SRED estimates p (t) for hit frequency of tth packet at the buffer.
where 0<α<1 SRED estimates p (t)-1 for effective number of active flow. Suppose there are many flows numbered 1,2,3.....n. Suppose that every time the packet arrives it belongs to the same flow flowi with the probability Therefore every arriving packet the probability that it cause a hit is: To reduce the overhead SRED update p (t): 0<=p(t)<=1/256 SRED calculates drop probability with following formula.

Flow RED (FRED)
FRED is Flow based Random Early Detection which is modified version of RED, which was developed by lin and Morris which uses per active flow accounting to make dropping decision for different active flow accounting to make dropping decision for different active flow in the queue depending on their bandwidth usage. FRED keeps a track of each flow and bandwidth usage of each flow that are inside the queue hence the cost of FRED is independent from number of flows but is proportional to the buffer size. FRED was developed as an alternative to RED algorithm to protect from number of fragile flow and to maintain high degree of fairness.
Additional parameters that are included in FRED are: Min q: Min q represents minimum number of packet that each flow i is allowed to buffer in the queue.
Max q: Max q represents maximum number of packets that each flow i is allowed to buffer in the queue.
Avgcq -Is a global variable that estimates the per flow packets to be buffered in the queue. The flow i have less packets to be queued in buffer that avgcq is favored than the flows whose packet count to queued is greater than avgcq. Strike (i) -For each flow i strike (i) is a count for number of times the flow has failed to respond to congestion notification.
If the strike (i) value for the flow increases FRED penalizes such flow.
Nactive -FRED estimates active scavenger service flow number by the variable nactive in FRED.

BLUE
BLUE is an AQM algorithm in which queue management is done base on the link utilization and number of packets dropped. BLUE maintains variable pm to estimate marking probability for either marking the packet or dropping the packet. When queue becomes full it starts dropping the packets. When queue becomes full it starts dropping the packet and pm is incremented by factor δ1. If the queue is empty pm is decremented by the factor δ2. The value of δ1 is set such a way that δ1 > δ2.
BLUE uses one more parameter called freeze time which determines the time interval between two successive updates of freeze time.

BLUE Algorithm
Step

Stochastic Fair BLUE (SFB)
SFB is another AQM algorithm which protects the TCP flows against the non-responsive flow using BLUE AQM algorithm. SFB algorithm identifies and rate limits the non-responsive flow and mechanism used to identify this non-responsive flow is same as the accounting mechanism used in BLUE algorithm. SFB maintains N*L accounting bins where L is the number of level and N is the number of bins in each level. SFB also maintains L independent hash functions each associated with one level of accounting bin.
SFB maintains a variable called pm which keep a track of marking/dropping probability in each bin. When a new packet arrives it is mapped into one of N bins in each of the l levels. When the number of packets mapped to a bin goes above certain threshold value pm is increased. If the number of packets drops to zero the pm is decreased.  algorithm greatly reduces the buffer requirement needed to support differentiate service. FRED AQM algorithm records per active flow information. SFB statistically multiplex buffer to bins, but need to be reconfigured with large number of non-responsive flows. This paper tries to compare each AQM algorithm and projects the desirable quality and short comings that exists in each algorithm of their performance. After performing a comparative analysis it was observed that no single congestion control can solve all of the problems hence more research is needed to be carried out in this area.

Future Work:
We have planned to develop a new algorithm by doing hybridization of RED, REM, SFB, BLUE AQM algorithm so that the new algorithm can take the advantages of the existing algorithms and provide a better result.