You are on page 1of 12

Variable Length Virtual Output Queue Based Fuzzy

Adaptive RED for Congestion Control at Routers


Pramod Kumar Singh and Santosh Kumar Gupta
Computational Intelligence and Data Mining Reasearch Laboratory
ABV-Indian Institute of Information Technology & Management Gwalior, India
pksingh@iiitm.ac.in, shanty.santosh@gmail.com

Abstract. Internet routers play an important role during the time of network
congestion. All the Internet routers have some buffer at input and output ports,
which hold the packets at the time of congestion. Many queue management
algorithms have been proposed but they focus on fixed queue limit.
Recognizing the fact that active queue management algorithms have fixed
maximum queue limit, we direct our attention to variable length queue limit for
Combined Input Output Queued (CIOQ) switches. We incorporated our
proposed technique, which is a fuzzy logic control based generic variable length
active queue management scheme in TCP/IP networks, to the drop-tail and the
Adaptive RED (A-RED) algorithm. The empirical results show low packet loss
and high queue utilization in modified algorithms (augmented with variable
length active queue management scheme) in comparison to the original droptail, RED and A-RED algorithms.
Keywords: Congestion Control, Fuzzy Logic Controller (FLC), Active Queue
Management (AQM), Virtual Output Queue (VOQ), Combined Input Output
Queued (CIOQ) Switch, Adaptive RED (A-RED).

1 Introduction
Congestion is a critical issue as it reduces the overall throughput of the network and
users experience greater delay. Though the routers play an active role in its resource
allocation to effectively control/prevent congestion, it is still a major cause of concern
because of ever growing Internet and ever growing number of users; they increase the
amount of data to be carried over the Internet. Todays Internet routers have some
buffer at input and output ports. The buffer size of the router should be large enough
to accommodate the packets during the time of congestion but, at the same time,
should also take care of the queuing delay. It demands for an optimum size and
efficient management of buffers at the input/output ports. This is known as active
queue management (AQM) [6].
Most of the Internet routers run drop-tail gateways. However, drop-tail buffer
management introduces large queuing delays in bursty traffic [13]. The RED
algorithm [4] [12] [14] manages the (buffer) queue more effectively and monitors the
average queue length. The average queue length is compared with minimum threshold
(minth) and maximum threshold (maxth). If the queue length is less than minth then all
S. Aluru et al. (Eds.): IC3 2011, CCIS 168, pp. 123134, 2011.
Springer-Verlag Berlin Heidelberg 2011

124

P.K. Singh and S.K. Gupta

the incoming packets are accepted. If the queue length is in between minth and maxth
then packets are dropped with a probability that increases linearly up to maximum
drop probability (maxp) and if the queue length exceeds the maxth then all the
incoming packets are dropped. The most important advantage of RED is that it keeps
the average queue length low to allow occasional burst of packets in queue. However,
it has several shortcomings, e.g., a high degree of sensitivity towards its operating
parameters, unfairness to flows with different round-trip times, the problem of global
synchronization. A related weakness of RED is that throughput is also sensitive to the
traffic load and the RED parameter. In particular RED does not perform well when
the average queue length becomes larger than maxth. It results in a significant decrease
in throughput and a significant increase in the drop rate [5] [17].
The A-RED [11] [13], proposed by one of the authors of RED, attempts to solve
the problem of need for continuously (re)tuning RED parameters. In particular, ARED adjusts the value of maximum drop probability (maxp) to keep average queue
length within a target range half way between the minth and maxth. It is shown in
Figure 1. Though A-RED attempts to tune the RED parameters for a robust behavior,
it fails to do so in various dynamic cases as A-RED retains REDs basic linear
structure.
Every interval seconds:
if (avg > target and maxp 0.5)
increase maxp ;
maxp maxp+ ;
else if (avg < target and maxp > 0.01)
decrease maxp:
maxp maxp * ;
Variables:
avg: average queue length
Fixed parameters:
Interval: time; 0.5 seconds;
target : target for avg ;
[minth +0.4*( maxth minth ), minth + 0.6*(maxth - minth)].
: increment; min (0.01, maxp / 4)
: decrease factor; 0.9
Fig. 1. Adaptive RED algorithm

Many other active queue management schemes are also reported in the literature,
e.g., Random Exponential Marking (REM) [2], fuzzy Proportional Integral (PI) [19],
and Adaptive Virtual Queue (AVQ) [15]. All these existing active queue management
schemes are based on the equation model. These equation models use various control
parameters, which are dependent on different network parameters, e.g., number of
flows, round trip time. However, it is very difficult to set these parameter as TCP/IP
network is dynamic in nature. Many researchers, e.g., [3], [7], [8], [10], adopted fuzzy
logic controller (FLC) to set these parameters dynamically in the congestion control
algorithms because of its strength in controlling highly nonlinear, complex systems.
In this paper, we design a fuzzy logic controller (FLC) based on fuzzy logic set
theory [23], [24] for computing the change in virtual output queue (VOQ) length [1],

Variable Length Virtual Output Queue Based Fuzzy Adaptive RED

125

[21], [18] according to its instantaneous queue length. It is a generic variable length
active queue management scheme, which may be incorporated to any VOQ based
active queue management congestion control mechanism to improve its performance
while keeping the basic structure of the original algorithm same. In this paper, we
incorporate our proposed generic method to the drop-tail and the A-RED and obtained
encouraging results.
Rest of the paper is organized as follows. Section 2 discusses about variable length
VOQ. In Section 3, we present our proposed generic variable length active queue
management method and its application to drop-tail (Fuzzy drop-tail) and A-RED
(Fuzzy A-RED). The rule base design of FLC is presented in Section 4. We discuss
the performance of proposed method through a set of extensive simulation and
compare the obtained results with well-known methods in Section 5. Finally in
section 6, we present our conclusion.

2 Variable Length VOQ


The combined input and output queuing scheme uses buffers at both input and output
modules of a switch, and a switch that employs this queuing scheme is called a CIOQ
switch [9]. Every input port maintains a virtual queue, known as virtual output queue
(VOQ), at its input buffer for each output port. In other words, for an NN switch,
each input port i (1 i N) maintains a separate set of FIFO queues for each output
port j (1 j N), named as VOQi,j. Therefore, there are N sets of VOQi,j queues at
each input port. The incoming packets are stored in appropriate VOQ according to
their destination address; the VOQi,j buffers packet at input port i, which is destined to
output port j. The buffer space of an input port is divided according to the number of
VOQs and each VOQ has a fixed maximum queue limit to store the incoming
packets. If there is no space for incoming packet at VOQ, the packet is dropped.
However, it is desirable and a good strategy to vary (increase or decrease) the address
space of VOQs at run time as per the requirement for efficient utilization of the queue
while the buffer size at the input port is fixed.

Fig. 2. In Case 1, the maximum queue limit of both VOQs is equal; in case 2, the maximum
queue limit for VOQ11 is less than the VOQ12 and in case 3, the maximum queue limit for
VOQ11 is greater than the VOQ12

126

P.K. Singh and S.K. Gupta

Our approach is based on the fact that we can vary the buffer size of the VOQ
during the processing time as per the requirement. Figure 2 shows three possible cases
for 22 switch. We can modify any VOQ based active queue management algorithm
which uses a fixed queue limit. The amount of variation in the maximum queue limit
of VOQs (while the total buffer size of an input port is fixed) is calculated by using
the fuzzy logic controller.

3 Fuzzy Logic Controller


The fuzzy Controller is a controller which is based on the fuzzy logic based rules and
often contains nonlinear mapping. The idea of FLC was initially introduced by Zadeh
[24] and first applied by Mamdani [16] in an attempt to control systems that are
difficult to model mathematically. FLC may be viewed as a way of designing
feedback controllers where it is convenient and effective to build a control algorithm
without relying on formal models of the system. The control algorithm is
encapsulated as a set of commonsense rules. FLC has been applied successfully in
control system for which analytical models are not easily obtained or the model itself,
if available, is too complex and highly non-linear.
Our approach is to design a non-linear fuzzy logic controller, which operates at
each input port of the router. For example, in a 22 switch at input port1 the fuzzy
controller has two virtual queues, namely VOQ11 and VOQ12, which may be in the
low, average and high queue length states (refer, Figure 3). The low, average and high
represent the status of input variables in linguistic form, which change dynamically
over time. In order to determine the linguistic values of input and output, we
partitioned the input and output space. The controller changes the maximum queue
limit (varies the maximum buffer size of each VOQ) according to status of the inputs.
Each of the input variables is represented by a fuzzy set.

Fig. 3. Fuzzy Logic Controller for Queue Management System Model

Variable Length Virtual Output Queue Based Fuzzy Adaptive RED

127

A notation convention for fuzzy sets [22], when the universe of discourse, X, is
discrete and finite, is shown in Eq. 1. Here, A is a fuzzy set.
A= {

.}={

(1)

For our algorithm, the fuzzy sets are represented as follows (refer, Eq. 2):
VOQ11= {
VOQ12= {

}
}

(2)

Where VOQ11 and VOQ12 are fuzzy variables; low, average, and high are the
possible values for fuzzy variables, and 1, 2, and 3 are the membership functions
of the fuzzy variable.
3.1 Variable Length VOQ for Drop-Tail Algorithm
In modified drop-tail algorithm the maximum queue limit of each VOQ is not fixed.
The FLC uses the instantaneous queue length as feedback, which is measured
periodically, to compute new limit of the queue length. In other words, the controller
varies the maximum queue length limit (refer, manipulated variable in Figure 3) as
per sampled queue length of each VOQ. Variation in queue limit gives the low loss
rate in comparison to simple drop-tail algorithm while the average queue length of
both the algorithm is approximately same. It means modified drop-tail algorithm
gives higher queue utilization in comparison to original drop-tail.
3.2 Fuzzy Adaptive RED
The overall guideline for fuzzy A-RED algorithm is same as A-RED algorithm except
the variable target. In A-RED algorithm (refer, Section 1) the target value is fixed
and is calculated as follows:
Target value:
[minth + 0.4*( maxth minth ), minth + 0.6*(maxth - minth)]
In modified A-RED algorithm, which has the variable length VOQ, the value of
maxth and minth is not fixed. As a result the target value of the A-RED algorithm
changes in each time interval with the varying values of minth and maxth according to
fuzzy logic controller. For nth time interval the target value is calculated as follows:
Target value:
[minth (n) + 0.4*( maxth (n) minth (n)), minth (n) + 0.6*(maxth(n) - minth(n))]
Here the minth(n) and maxth(n) is the minimum and maximum threshold at nth time
interval respectively. Fuzzy A-RED removes A-REDs dependence on target value.
Adapting the target value results in low packet loss and low average queue length in
comparison to A-RED.

128

P.K. Singh and S.K. Gupta

4 Rule Based Design


The FLC uses some linguistic rules for each input port. These linguistic rules control
the system under different operating conditions. Usually multi-input FLC makes it
easier to describe the system dynamics linguistically. We expect that we can tune the
system and improve the behavior of active queue management algorithm, e.g., droptail, A-RED, by using variable length VOQs. The fuzzy rule base (IF-THEN rules) for
the 22 CIOQ switch is presented linguistically in Figure 4 and same is represented in
tabular form in Table. 1. The control surface defined by the FLC rules is shown in
Figure 5.
Usually to define the linguistic rules of a fuzzy variable, Gaussian, triangular or
trapezoidal shaped membership function are used. Since triangular and trapezoidal
shaped function offer more computational simplicity, we have selected them for our
rule base. The rule base is fine-tuned by observing the progress of simulation, such as
packet loss occurrences and number of buffered packets at each VOQ.
/* linguistic rules for each Input port */
/* initially voq11 and voq12 queue limit is equal and set to maximum queue limit.*/
/* if voq11 queue limit increases, then the voq12 queue limit decreases to make input port buffer
size fixed */
/* Set of linguistic rules defining the control surface of FLC */
if voq11 is low and voq12 is low then voq11_modified_queue_ length is equal to max queue limit.
if voq11 is average and voq12 is low then voq11_modified _queue_ length is greater than max
queue limit.
if voq11 is high and voq12 is low then voq11_modified _queue_ length is greater than max queue
limit.
if voq11 is low and voq12 is average the voq11_modified_queue_length is lesser than max queue
limit.
if voq11 is average and voq12 is average then voq11_modified_queue_length is equal to max
queue limit.
if voq11 is high and voq12 is average then voq11_modified_queue_length is greater than the max
queue limit.
if voq11 is low and voq12 is high the voq11_modified_queue_length is lesser than max queue
limit.
if voq11 is average and voq12 is high then voq11_modified_queue_length is lesser than max
queue limit.
if voq11 is high and voq12 is high then voq11_modified_queue_length is equal to max queue
limit.
Fig. 4. Fuzzy rule base for 22 CIOQ switch

Variable Length Virtual Output Queue Based Fuzzy Adaptive RED

129

Fig. 5. Control decision surface of the Fuzzy Logic Controller shaped by rule base and
linguistic variables
Table 1. Rule base of fuzzy controller
Input variable
VOQ11 VOQ12
low
low

Output (manipulated variable)


VOQ11 Queue limit
VOQ12 Queue limit
equal to max queue limit
equal to max queue limit

average
high

low
low

greater than max queue limit


greater than max queue limit

less than max queue limit


less than max queue limit

low
average
high
low
average
high

average
average
average
high
high
high

less than max queue limit


equal to max queue limit
greater than max queue limit
less than max queue limit
less than max queue limit
equal to max queue limit

greater than max queue limit


equal to max queue limit
less than max queue limit
greater than max queue limit
greater than max queue limit
equal to max queue limit

5 Simulation Result
In this Section, We compare our scheme with the original drop-tail, RED and A-RED
algorithm.
5.1 Experimental Setup
We perform our simulation on 22 CIOQ [21] switch as shown in Figure 6. The size
of the buffer at input and the output port is 120 and 100 respectively. Buffer size at
the input port is segmented according to the number of VOQs. Each input port carries
multiplexed TCP Reno flows. The TCP flows are generated at separate source nodes
and then multiplexed into the backbone before reaching at the input port of the switch.
In this experiment, we use 4 source nodes at each input port, hence, total 8 source
nodes generates TCP flows in the range of 50 to 500 sessions to the input ports of the
switch. The size of the packets is 1000 bytes. The queue monitoring interval is set to
0.0001 sec. In A-RED algorithm is set to 0.01 and is set to 0.9.

130

P.K. Singh and S.K. Gupta

Fig. 6. 22 CIOQ switch

5.2 Input Queue Length


Figure 7 displays the average input queue length in the queue management unit when
we use the Variable length VOQ based drop-tail and Fuzzy A-RED. The
corresponding simulation results of original RED, drop-tail and A-RED are also
shown for the comparison. For this simulation, the number of TCP sessions is 250 and
speedup varies from 0.5 to 2.0. For RED, the minimum threshold is set to 19 packets
and the maximum threshold is set to 59 packets for each VOQ. We use drop-tail
algorithm at output ports for all the comparative algorithms.

Fig. 7. Average input queue length v/s speedup for 22 Switch (load 200 TCP sessions)

On the input port, the drop-tail algorithm has the longest queue Length as it drops
packets only when the buffer overflows. The suggested change in drop-tail algorithm,
i.e., the variable length VOQs, has the same average queue length as original drop-tail

Variable Length Virtual Output Queue Based Fuzzy Adaptive RED

131

algorithm whereas the RED algorithm has lower queue length as it drops packets even
before buffer is overflow.
As A-RED keeps the average queue length away from maxth, the input queue
length for A-RED is less than RED algorithm. As mentioned in section 3, the target
value is not fixed in the Fuzzy A-RED algorithm; hence the result is even better than
original A-RED algorithm.
5.3 Loss Rate
Loss rate is the ratio of the number of packets dropped and the number of packets
sent. In this experiment, the speedup is fixed at 1.1whereas the load varies from 50 to
500 TCP sessions. Figure 8 shows that the loss rate of the fuzzy A-RED algorithm is
lowest. Adjusting the maxp and target value of the Fuzzy A-RED algorithm avoids the
higher packet loss as the average queue length oscillates near to the target value. We
observe that the performance of fuzzy A-RED is comparatively better than the droptail, RED and the original A-RED because of the efficient management of the buffer
space among the VOQs as per the requirement and the variation in the target value as
well.

Fig. 8. Loss Rate of the 22 Switch at speedup 1.1

5.4 Buffer Size Variation


We investigate the buffer size of drop-tail with fixed length VOQs (maximum queue
limit for drop-tail is set to 60 packets) over time. Figure 9 shows the buffer size
variation of VOQ11 and VOQ12 respectively. The buffer size of the both VOQs is not
more than the 60 packets at any time instant.
Figure 10 shows the buffer size variation of proposed algorithm. The result shows
that maximum queue limit of VOQ11 and VOQ12 is varying from 54-65 packets
according to suggested approach, but at any instant of time the number of packets in

132

P.K. Singh and S.K. Gupta

Fig. 9. Buffer size variation of VOQ11& VOQ12 over time (for drop-tail algorithm)

both of the VOQs simultaneously is not more than 60. The reason is that at that
instant of time the other VOQ had relatively less queue length hence it could
relinquish a portion of its unused address space to share with other heavily loaded
VOQ. Therefore, the proposed variable length VOQ algorithm minimizes the packet
loss and provides efficient management of the buffer space at input ports.

Fig. 10. Buffer size variation of VOQ11&VOQ12 over time (variable length VOQ for drop-tail)

As fuzzy A-RED algorithm has the basic structure of the A-RED algorithm, the
size of the buffer oscillates near to the target value. Figure 11 shows that the number
of packets buffered is half way between maximum and minimum threshold.

Variable Length Virtual Output Queue Based Fuzzy Adaptive RED

133

Fig. 11. Buffer size variation of VOQ11&VOQ12 over time (Fuzzy A-RED)

6 Conclusion
Our proposed scheme is a generic concept which may be used to improve the
performance of any active queue management scheme. In this paper, we have
incorporated variable length VOQ with the active queue management algorithms, e.g.,
drop-tail, A-RED algorithm, which improves the performance in terms of queuing
delay, average queue length and loss rate. Variable length VOQ for drop-tail is the
improvement over simple drop-tail algorithm which utilizes the queue more
efficiently. In fuzzy A-RED target value dynamically change with change in VOQ
length which gives improvement over A-RED algorithm in dynamic network
environment. We formulate an effective and efficient technique for queue
management using the fuzzy logic control, to solve the problem of congestion in
TCP/IP networks. We have demonstrated that in the real world for the non-linear and
complex system the fuzzy logic control gives the acceptable solution with the help of
linguistic models. Additionally, it does not require any change in the switch hardware.
In future work, we plan to explore the proposed scheme on other active queue
management algorithms such as REM, AVQ and in other network scenario like DiffServ, and in different types of traffic condition. We also plan to check the stability
and performance of the proposed method on the larger switches.

References
1. Anderson, T.E., et al.: High Speed Switch Scheduling for Local Area Networks. ACM
Trans. on Computer System 11, 319352 (1993)
2. Athuraliya, S., Li, V.H., Low, S.H., Yin, Q.: REM: active queue management. IEEE
Network Magazine 15(3), 4853 (2001)
3. Behrouz, S., Amir, M.R., Mahdipour, E.: A New Fuzzy Congestion Control Algorithm in
Computer Networks. In: International Conference on Future Computer and
Communication, pp. 314318 (2010)

134

P.K. Singh and S.K. Gupta

4. Bonald, T., May, M., Bolot, J.C.: Analytic Evaluation of RED Performance. In:
proceedingof the 19thAnnual Joint Conference of the IEEE Computer and Communications
Societies (INFOCOM), vol. 3, pp. 14151424 (2000)
5. Brandauer, C., Iannaccone, G., Diot, C., et al.: Comparison of Tail Drop and Active Queue
Management Performance for Bulk-data and Web-like Internet Traffic. In: Proceedings
of6thIEEE Symposium on Computers and Communications(ISCC), pp. 122129 (2001)
6. Braden, B., Clark, D., Crowcroft, J., Davie, B., Deering, S., Estrin, D., Floyed,
S., Jacobson, V., Minshall, G., Partidge, C., Peterson, L., Ramakrishnan, K., Shenker,
S., Wroclawski, J., Zhang, L.: Recommendation on Queue Management and Congestion
Avoidance in the Internet. RFC 2309 (1998)
7. Chrysostomou, C., Pitsillides, A., Sekercioglu, Y.A.: Fuzzy Explicit Marking: A Unified
Congestion Controller for Best-Effort and Diff-ServNetworks. Computer Networks 53(5),
650667 (2009)
8. Chrysostomou, C., Pitsillides, A., Rossides, L., Sekercioglu, A.: Fuzzy Logic Controlled
RED: Congestion Control in TCP/IP Differentiate Services Networks. Soft
Computing 8(2), 7992 (2003)
9. Chuang, S.T., Goel, A., McKeown, N., Prabhakar, B.: Matching Output Queuing with a
Combined Input/Output-Queued Switch. IEEE Journal On Selected Areas in
Communications 17(6), 10301039 (1999)
10. Douligeris, C., Develekos, G.: A fuzzy Logic Approach to Congestion Control in ATM
Networks. In: Proceedings of IEEE ICC 1995, Seattle, vol. 3, pp. 19691973 (1995)
11. Feng, W.C., Kandlur, D.D., Saha, D., et al.: A Self-Configuring RED Gateway. In:
proceedings of 18thAnnual Joint Conference of the IEEE Computer and Communications
Societies (INFOCOM), vol. 3, pp. 13201328 (1999)
12. Floyd, S., Jacobson, V.: RandomEarly Detection Gateways for Congestion Avoidance.
IEEE/ACM Trans. on Networking 1(4), 397413 (1993)
13. Floyd, S., Gummadi, R., Shenker, S.: Adaptive RED: An Algorithm for Increasing the
Robustness of REDs Active Queue Management. Technical Report, ICSI (2001)
14. Hollot, C.V., Misra, V., Towsley, D., et al.: Analysis and Design of Controllers for AQM
Routers Supporting TCP Flows. IEEE Trans. on Automatic Control 47, 945959 (2002)
15. Kunniyur, S., Srikant, R.: An Adaptive Virtual Queue (AVQ) Algorithm for Active Queue
Management. IEEE/ACM Trans. on Networking 12(2), 286299 (2004)
16. Mamdani, E.H.: Application of Fuzzy Algorithm for Simple Dynamic Plant. Proceedings
of IEEE 121(12), 15851588 (1974)
17. May, M., Bolot, J., Diot, C., Lyles, B.: Reasons Not to Deploy RED. In: 7th International
Workshop on Quality of Service, IWQoS 1999, pp. 260262 (1999)
18. McKeown, N.: The iSLIP Scheduling Algorithm for Input-Queued Switches. IEEE/ACM
Trans. on Networking 7(2), 188201 (1999)
19. Misir, D., Malki, A., Chen, G.: Design and Analysis of a Fuzzy Proportional-Integral
Derivative Controller. Fuzzy Sets and System 79, 297314 (1996)
20. Network Simulator, NS-2, http://nsnam.isi.edu/nsnam/
21. Sundararajan, J., Zhao, K., Pamela, F., Muriel, M.Y.,, M.: A Modification to RED AQM
for CIOQ Switches. In: IEEE Global Communication Conference (Globecom), Dallas,
vol. 3, pp. 17081712 (2004)
22. Timothy, J.R.: Fuzzy Logic with Engineering Application. John Wiley, Chichester (2004)
23. Zadeh, L.A.: Fuzzy sets. Information and Control 8, 338353 (1965)
24. Zadeh, L.A.: Outline of a New Approach to the Analysis of Complex System and Decision
Process. IEEE Trans. on Systems, Man, and Cybernetics 3(1), 2844 (1973)

You might also like