Multimedia. I. INTRODUCTION. Today's Internet traffic is dominated by TCP flows. TCP uses several mechanisms to handle network congestion such as: AIMD.
FAFC: Fast Adaptive Fuzzy AQM Controller For TCP/IP Networks Yassine HADJADJ AOUL, Abdelhamid NAFAA, Daniel NEGRU, Ahmed MEHAOUA Laboratoire CNRS-PRISM 45, Avenue des Etats Unis. 75035 Versailles, France {yana, anaf, dan, mea}@prism.uvsq.fr
Abstract—Recently, many Active Queue Management (AQM) algorithms have been proposed to address performance degradations of end-to-end congestion control. However, these AQM algorithms present weaknesses for stabilizing delays in heavy loaded networks. In this paper, we describe a novel adaptive fuzzy control algorithm to improve best effort TCP/IP Networks performance. Comparing to traditional AQM algorithms (RED, PID and others), our proposal avoids buffer overflows/underflows, and minimizes packets dropping. We propose an on-line adaptation mechanism that captures fluctuating network conditions, while classical AQM algorithms require static tuning. The algorithm stability is mathematically proven. Simulation results show that for the same link utilization, FAFC provides better performance than RED and PID. Keywords-component; AQM; QoS; Fuzzy; Adaptive; Multimedia.
I.
INTRODUCTION
Today’s Internet traffic is dominated by TCP flows. TCP uses several mechanisms to handle network congestion such as: AIMD (Additive Increase and Multiplicative Decrease), slow start, congestion avoidance, fast retransmit and fast recovery. Besides, streaming audio and video on the Internet is, presently, well accepted and largely deployed (e.g. CDN “Content Delivery Networks”). There also exist more and more multimedia applications with integrated congestion control behavior known as “TCP-Friendly” (e.g. TFRC, DCCP). This rapid expansion underlines a new challenge for efficient handling of network traffic. Especially, there is a growing need to fairly regulate competing network flows while maintaining a bounded end-to-end latency. Real-time media communication is characterized by data that have strict delivery constraints (delays, jitter, packets loss, bandwidth and so on). For example, when receiving a streaming media session, data that arrive late is useless (i.e. if a packet delay is too high and the playout deadline is missed, a late loss occurs). Therefore, it is necessary to design and to deploy network QoS mechanisms. There are three major approaches commonly used to ensure end-to-end QoS in networks: (1) Intserv based on firm perflow resource reservations, (2) Diffserv that provides statically perclass guarantees and (3) AQM (Active Queue Management) designed for router queue management. The first two techniques are basically established on flows distinction assumption, whereas AQM can fairly regulate network traffics without any flows discrimination. This is particularly prevalent in best effort networks where all streams have the same network access right.
Several AQM techniques have been proposed for congestion avoidance [14]. Among these, we have: Random Early Detection “RED” [4] and its variants, and Proportional Integral Derivative controllers “PID” [8]. RED mechanisms are widely deployed on today’s IP routers. These mechanisms are often disabled due to their drawbacks [12]. On the other hand, PID mechanisms emerge from control theory. They perform in a better way the control of end-to-end delays. Nevertheless, compared to RED, PID involves more queue length oscillation, which increases the delays fluctuation. Using a large queue size, in AQM techniques, leads usually to high packet delays. As pointed out in this paper, the main drawback of common AQM algorithms is that they still induce high packet loss ratio when the buffer size is not large. In addition, the classical AQM algorithms are sensitive to network parameters changes (e.g. number of flows), which have devastating consequences on router throughput and packets latency (late losses). Our main concern in this study is to design an AQM that maintains the queue size stability while minimizing dropped packets. There are two main contributions. First, we elaborate the design of an efficient Fuzzy-based queue controller through the use of heuristic information (from Fuzzy Control Theory [18]). Second, we introduce a fast on-line adaptive mechanism. It makes the AQM algorithm more robust towards network parameters variations, noises (i.e. non adaptive flows), modeling errors, and model nonlinearities. The rest of this paper is organized as follows: Section II relates previous works on the common AQM techniques issues. In Section III, we present our proposed fast adaptive Fuzzy controller (FAFC). Section IV is devoted to the performance evaluation and results analysis. Finally, we conclude our paper in Section V.
II.
RELATED WORKS
The internet dynamics research show that the TCP congestion avoidance mechanisms, while essential and powerful, are not sufficient to avoid the congestion since it’s detected only after a packet dropping. Moreover, this mechanism is inadequate in some circumstances since it often implies large packets delay [1]. Usually, we can prevent the high delay at network level by introducing two distinct mechanisms “Queue Management” and “Scheduling Algorithms”. The first technique, addressed in this paper, manages the length of packet queues by dropping the out of traffic (excess load) or even by controlling the queue length [2][3]. The second technique orders the packets in the queues. These two mechanisms are related nevertheless they address different aspect
of QoS provisioning. In this section, we review AQM related works highlighting their QoS capabilities.
A. Random Early Detection: RED The main role of the RED is to avoid network congestions by controlling the average queue length [4][5]. It permits also to maintain the system stability through adopting a Drop Tail behavior when the queue reaches a certain threshold. RED permits to determine the signature of the congestion (the transient congestion is accommodated by a temporary increase in the queue size and the baseline congestion is reflected by an increase in the computed average queue length). Besides this, the RED algorithm permits a statistical fairness among sources with different burstiness. RED recalculates the average queue length with a low pass filter named EWMA “Exponential Weighted Moving Average”. It is particularly useful to adjust the smoothness/aggressivity of RED. It was shown in [7] that RED is stable. However its performance is sensitive to the parameters tuning (specifically wq, minth and maxth). From this fact, several researches were carried out for improving the basic RED algorithm. The most important variants is Adaptive-RED [6] that automatically tunes the RED parameters. Since the RED-based algorithms control the macroscopic behavior of the queue length (average), they often cause sluggish response and fluctuation in the instantaneous queue length. As a result, an important variation in end to end delays is observed. As a consequence, RED and its variants provoke dramatic consequences on sensitive flows.
computing) a proportional control for a faster response, and a derivative control for anticipated congestion avoidance. The theoretic control in the network management domain brings a new alternative permitting good performance in router throughput and better queue length management. Note that the plant model is strongly uncertain, nonlinear (see equation 11), and subject to additive noises (the noise consist of non adaptive flows e. g. UDP). This leads to parameterization problems under realistic traffic environment characterized by intrinsic bursty nature and time-variable structure. From this fact, it is much suitable to deploy an adaptive/auto-tuned control that tackles the changing network conditions.
III.
FAFC: FAST ADAPTIVE FUZZY CONTROLLER FOR AQM
Fuzzy Control provides a formal methodology for representing, manipulating and implementing a human heuristic knowledge for systems controlling. In fact, fuzzy control focuses on gaining an intuitive understanding of how to control the process. Contrary to the conventional control approaches, those focus on constructing a controller by using the system model. This permits to the fuzzy controller to be less sensitive to model uncertainties, nonlinearities and noises; it then allows controlling a more complex system. In this section, we first extract stability criterions through Lyapunov’s stability analysis and proofs. This is an efficient way to guarantee a stable controller. Afterwards, we use the stability criterions to design a Mamdani-based model that better captures the network nonlinearities. Last, we propose a fast adaptation Fuzzy controller in order to preserve the performance in varying network conditions.
B. Control-Theoretic to Flow Control The control theoretic techniques have been lately introduced in flow control and congestion avoidance [14]. These recently developed mechanisms outperform the existing works by presenting formal proofs, whereas the classical approaches are rather informal behavior approaches; they give the means to explicitly specify multi criterions performance. These alternative methods model the AQM algorithm as a feedback control system that tunes the router queue length as a plant variable. Qref
+−
AQM
Q TCP
Controller
Delay
Queue
Plant Feedback
Fig. 1. Feedback control modeling of congestion control with AQM
In the system above, Qref represents the reference value of the queue length. The Plant represents a combination of subsystems such as TCP sources, TCP receivers, routers ... and others. Among the contributions in the control-theoretic to flow control field, [8][10] proposed the use of the PID controller (PID is the widely used controller in Automatic area). In [5] a feedback compensation element was introduced in order to provide a more robust controller under time-varying network conditions. Beside that, in [16] a variable structure based control scheme was used in order to take into account the model uncertainties and the number of active TCP connections. These controllers permit better performance compared to REDs. For instance, the PID controller adds to the integral control (present in REDs through the EWMA
A. Stability analysis Basically, the mathematical model is employed to find the most suitable control for a given system or to deduce the optimized parameters. In our work, we use the stability study so that we extract different criterions needed to design a correct shape of the fuzzy controller. Note that, the correct shape represents a control surface stabilizing the system. We use the Lyapunov’s Direct Method for the stability analysis of the fuzzy controller [18]; it permits to obtain a stable plant using the deduced constraints. The Lyapunov’s Direct Method is the most popular technique for the stability analysis of nonlinear systems. By replacing the marking probability P (t ) with the fuzzy control Φ (x 1 , x 2 ) in the model developed by Frank Kelly [15] and generalized to support multiple TCP sessions by Crowcroft and Oechslin [20], we obtain the following system:
⎧x& 1 = x 2 2 ⎪ (1) ⎨x& = M − ⎛⎜ M + (x 2 + C 0 ) ⎞⎟Φ (x , x ) 2 1 2 2 2 ⎜ ⎟ ⎪ τ 2M ⎝τ ⎠ ⎩ Where M is the number of TCP sessions, τ the RTTs, C 0 the link capacity, x1 the error queue length and x 2 the derivative of x1 . We choose: ⎛ ⎡x 1 ⎤ ⎞ 1 1 1 V (x ) = V ⎜⎜ ⎢ ⎥ ⎟⎟ = x T x = x 12 + x 22 2 2 ⎝ ⎣x 2 ⎦ ⎠ 2
(2)
So that
V& (x ) = ∇V (x ) = x& 1 x 1 + x& 2 x 2
(3)
By replacing (11) in (13) we obtain: 2 ⎛ M ⎛ M (x + C 0 ) V& (x ) = x 2 ⎜⎜ x 1 + 2 − ⎜⎜ 2 + 2 τ 2M ⎝τ ⎝
⎞ ⎞ ⎟⎟Φ (x 1 , x 2 )⎟ ⎟ ⎠ ⎠
(4)
Since we aim to prove asymptotic stability, it is sufficient to have V& (x ) < 0 . It is then sufficient to find a fixed β > 0 such as: 2 ⎛ M ⎛ M (x + C 0 ) x 2 ⎜⎜ x 1 + 2 − ⎜⎜ 2 + 2 τ 2M ⎝τ ⎝
⎞ ⎞ ⎟⎟Φ (x 1 , x 2 )⎟ < − β ⎟ ⎠ ⎠
(5)
While x 2 ≠ 0 , we have two cases: x 2 > 0 and x 2 < 0 . If x 2 > 0 we obtain:
β M +x1 + 2 x2 τ Φ (x 1 , x 2 ) > 2 M (x 2 + C 0 ) + τ2 2M
(6)
Else:
β M +x1 + 2 τ x2 Φ (x 1 , x 2 ) < 2 M (x 2 + C 0 ) + τ2 2M
(7)
When x ∈ B (h ) = {x ∈ ℜ n : x < h , h > 0 } the system is asymptotically stable (this corresponds to a ball centered at the origin with a radius of h ). Thus, the design of the fuzzy controller Φ (x 1 , x 2 ) must respect the equations (6) and (7). Note that the theory doesn’t say how large is h .
B. Design of the Fuzzy Controller During the controller design, we constrained ourselves to the two inputs Proportional-Derivative Fuzzy Controller (MISO, Multi Inputs Single Output). The first input represents the tracking error “e” (compared to the desired queue length) and the second input “de” represents the derivative of the first input. We graphically design the fuzzy controller output “P” in accordance with the equations (6) and (7) in order to obtain a stable controller. The control surface of our PD-Fuzzy controller is as follows:
we use different gains as in the PD controller [8]. In FAFC, we use a proportional gain superior to one (amplifying the input) in order to permit a very small tracking error (static error). We observe that a large proportional gain involves a fast convergence while making the system more oscillatory. The controller implements only these three obvious fuzzy laws: If e is high and de is high then P is high If e is medium and de is medium then P is medium If e is low and de is low then P is low The shape and range of the fuzzy membership functions should be tuned according to the mean number of active TCP connections. This simple choice works well for any number of TCP connections after adding our adaptive mechanism (explained in the section below).
C. Fast Adaptation Mechanism Fuzzy controllers give the way to control uncertain and noisy systems. However, the TCP model variation is complicated, making difficult the design of fuzzy controllers able to give high performance when the number of flows fluctuates. Hence, the use of an adaptive control is much suitable. One of the most popular approaches is to use equally space triangular membership functions and common rules. Then, find a technique to “modify”, “tune” or “adapt” them to the plant variation, the unmodeled dynamics, and the external disturbances. There are lots of adaptive Fuzzy controllers in literature [17]. Most of them require tremendous resources in term of memory requirements and computing time and are not adapted to real-time systems especially in the AQM case, where the router must handle thousands of packets per second. In our approach, we avoid the membership functions modification in order to use the memory saving scheme [18]. Our proposal just makes a global translation in the membership functions. This has a direct impact on the controller robustness when network conditions vary, by smoothly increasing/decreasing the probability dropping level. The translation mechanism is done thanks to the classical PID controller (see equation 18). We apply the EWMA function as input to tune the Fuzzy controller balancing. This will permit a smooth adaptation avoiding fluctuations in the controller response.
K ⎞ ⎛ P = ⎜ K p + K d s + i ⎟e s ⎠ ⎝
(8)
K p , K d and K i represent respectively the proportional gain, the derivative gain and the integral gain. e represents the PID controller input while P represents the output (the balancing
0.8 0.7 0.6
P
0.5
value).
0.4 0.3 0.2 0.1
Qref
200 100 0 0 -100 de
-200
-150
-100
50
100
150
200
+−
Q
Gp
du dt
Plant
Gd
FC
-50
-200 e
Fig. 2. The control surface of the fuzzy controller
In our case, the fuzzy controller behaves similarly to the PD controller, with the exception that the linear PD controller is unable to achieve a nonlinear control surface (see figure 2). In addition,
EWMA
PID Feedback
Fig. 3. Feedback Adaptive control modeling of congestion control with AQM algorithm
The gains Gp and Gd represent respectively the proportional gain and the derivative gain. The PID makes an additive action at the fuzzy controller output in order to perform the balancing. At the output of our controller a saturation block is added, which sets the dropping probability value between 0 and 1.
Note that the maximal throughput of our router is 10 Mbps, which means that any traffic excess involves a buffering at the router queue, and even higher drop rate when the buffer queue length is reached (figure 6).
PERFORMANCE EVALUATION
A. Simulation Model In order to evaluate the performance and robustness of our proposal, we performed simulations using the topology depicted in figure 4. The bottleneck is located at the central router level that implements one of the three AQM algorithms: RED, PID or Adaptive Fuzzy (our proposal). Its capacity is 10 Mbps (2621 packets/s, default packet size is 500 bytes), and delay is 20 ms. Each queue may contain up to 400 packets. However, the most performing queue length is of 80 packets. In our simulation, the number of TCP connections changes in accordance with the curve in figure 5. RTT = 0.2 s + delay in the queue
200 FAFC RED PID
180
160
Instantaneous queue length (KB)
IV.
permits only good performance in respect to the throughput (see Table 1). We can see in figure 7 that the three controllers permit good performance. However, FAFC gives a constant and maximal throughput value which is showed in figure 6 by the stability of the queue size.
140
120
100
80
60
D1
S1
40
Router
S2
20
D2
10 Mbp
0
0
20
40
60
80
100
120
140
Time (s)
RED/PID & Adaptive Fuzzy
Fig. 6. Instantaneous queue length ( q inst )
DM
SN
4
3
x 10
FAFC RED PID
Fig. 4. Simulation Network Topology 2.5 800
700
Throughput (KB)
2
Number of TCP sessions
600
500
1.5
1 400
300
0.5
200
0 100
0
20
40
60
80
100
120
140
0
20
40
60
80
100
120
140
Time (s)
Time (s)
Fig. 5. Variations in time of TCP sessions number ( M inst )
Note that the parameters of recommended respectively in [4] controller, we choose kp = 3 and precised results. The static error adaptive control action.
RED and PID are set as and in [8]. For the fuzzy kd = 2 in order to get more is eliminated thanks to the
B. Experimental Results Figure 6 presents the queue evolution, which shows that the FAFC controller regulates quickly the queue to the reference value despites the work-load variation (figure 5). Contrary to FAFC, the PID controller converges slowly and is very disturbed with the variation of the number of TCP sessions. The statistics in Table 1 show that, in the case of the PID controller, the static error decreases and the queue length converges to the referenced value asymptotically with the stabilization of the work-load. Figure 6 shows that RED doesn’t guarantee the stability of the queue; it
Fig. 7. Throughput ( r inst )
From figure 7 and 8, we clearly see that the queuing delays in FAFC are constant. RED and PID controllers are sensitive to the number of session’s variations. Besides, the fluctuation in queuing delay implies a deep deterioration of Multimedia communications that have strict requirements in term of end to end delay and jitter. So, in order to provide QoS guarantees, the elimination of the queuing delay fluctuation is a must. Our controller reaches this objective. Furthermore, from statistics tables, we see that FAFC induces a maximum delay of 0.0041 s, while the RED and PID controllers reach 0.0200 s each. Looking at figure 10, we see that the dropping probability in FAFC is not regular. It increases quickly when the number of TCP sessions increase (see figure 5). Moreover, we see clearly that the dropping probability value in FAFC is better than in PID.
queue is proven thanks to Lyapunov theory. The obtained controller is very simple to implement and improves network performance in terms of delay, jitter and packet loss rate, which is very important for multimedia applications requirements.
0.22 FAFC RED PID
0.218
0.216
The simulation experiments demonstrated that FAFC permits to stabilize quickly the queue length despites the variations of the TCP sessions. Moreover, the performance obtained demonstrated the FAFC’s capacity to capture the network model nonlinearities.
0.214
Queuing delay (s)
0.212
0.21
0.208
Future works will focus on extending FAFC to deal with heterogeneous traffics requirements, thus providing differentiated dropping probabilities in real networks.
0.206
0.204
0.202
0.2
REFERENCES 0
20
40
60
80
100
120
140
Time (s)
Fig. 8. Queuing delay ( d inst ) 0.25 FAFC RED PID
Dropping probability
0.2
0.15
0.1
0.05
0
0
20
40
60
80
100
120
140
Time (s)
Fig. 10. Dropping probability ( p inst )
The FAFC algorithm shows much better performance than RED and PID controllers. In fact, the performances of RED and PID are sensitive to network configurations. In addition, RED and PID can make a buffer overflow in a transient period which results in packets losses. All these remarks are summarized in Table II, which briefly describes advantages and drawbacks of each AQM algorithm treated in this paper. TABLE I. CURVES STATISTICS FAFC max 40.53
mean 39.11
min 0
RED Max 200
mean 196..9
min
PID Max 200
q inst
min 0
mean 41.4
r inst
0
1.0e+4
0.99e+4
0
1.0e+4
1.0e+4
0
1.0e+4
0.95e+4
d inst
0
0.2041
0.2039
0
0.22
0.2197
0
0.22
0.2041
TABLE II. A CLASSIFICATION OF AQM ALGORITHMS IN TERMS OF OBJECTIVES FAFC good
Characteristics Router Throughput Sensitivity to network parameters Response Queue stability Delay Buffer overflow/underflow Steady state error Control Type
V.
RED good
PID good
no
yes
yes
very fast stable small no/no