ABR Traffic Control in ATM Networks using Optimal Control Theory

0 downloads 0 Views 54KB Size Report
Developing a good rate control mechanism for ABR service is a challenging task and it has been ... bility of modern optimal control theory and to provide a formal.
ABR Traffic Control in ATM Networks using Optimal Control Theory Bo-Kyoung Kim and Charles Thompson Center for Advanced Computation and Telecommunications University of Massachusetts, Lowell, MA 01854 Email: [email protected], [email protected] Phone: +1-978-934-3360 Fax: +1-978-458-8289

Abstract- In this work we examine the problem of regulating available bit rate (ABR) traffic in an ATM network. The issue of providing control signals to throttled sources at distant locations from bottlenecked node is of particular interest. The process of modeling and design of the controller is outlined. A linear quadratic tracker is used to provide the appropriate control signal to each source. It is shown that designing the controller for minimum error energy resulted in the best tracking performance. However this result is obtained at the expense of VC buffer time delays. This situation is remedied by the addition of a simple regulator. Using a regulator one can obtain low buffer overshoot in the transient period while maintaining the good link utilization in the steady-state period. Keywords: ABR, Feedback Congestion Control, Optimal Control Theory, Linear Quadratic Tracker, Regulator

1. Introduction Available Bit Rate (ABR) service defined in ATM standards [1] is to be used to support applications that can be accommodated using excess network capacity. This is done by dynamically adjusting the source data transmission rate based on the available resources in the network. To do so, information of the current network status is returned to the source. This state-ofaffairs results in a closed-loop feedback system. For feedback control schemes, the time-delays incurred in the feedback path and the temporal variation in the link capacity are considered to be problematic features. Therefore, successful ABR source rate control will depend on the effectiveness of the controller to overcome these delays and to adapt to the temporal variations in the excess bandwidth. Developing a good rate control mechanism for ABR service is a challenging task and it has been the focus of many recent papers, especially in the ATM forum [2,4,5,6]. These proposed schemes use explicit rate indication mechanism. They differ primarily in the way one monitors the congestion and in how one computes an explicit rate which is called fairshare. Most of these algorithms pose heuristic solutions to the problem. As

such these methods do not allow one to easily relate the resulting traffic features with the control action. Analytical study has been done in [3] where the design of a proportional-derivative (PD) feedback controller was examined for the regulation of traffic at a congested node. The parameters of the controller were determined using a pole-placement. But, the pole locations of the system remain fixed as the number of sources are changed. This choice may be overly restrictive. Moreover, there is no automatic method for choosing the control parameters based on system performance. In [9], the utility of this controller handling ABR traffic congestion was examined. In our work we examine the problem of regulating available bit rate (ABR) traffic. Our objective is to examine the applicability of modern optimal control theory and to provide a formal design methodology that ensures the stability of the control loop system. The remaining paper is structured as follows. In section 2 describes the problem and the buffer and the controller model used. The control methodology is given in section 3. Section 4 presents the numerical results. Finally, section 5 summarizes the work.

2. Model Problem Statement In this paper we examine the control of ABR traffic over ATM networks. The management of ABR traffic at a bottleneck node is of particular interest. Congestion arises when the sum of the source traffic rates at an intermediate node along the transmission path exceeds either the prescribed cell delay or buffer capacity. In such a case, the congested node is required to communicate its status to up-stream sources. The status update is used to determine the appropriate source transmission rate for subsequent incoming cells. This status information is used to evaluate the degree of congestion and is comprised of the service rate, buffer occupancy and incoming traffic rate at the bottleneck node.

c − qu , x0, x Controller

0 bottleneck l 0 node

1

l1

qD, lD

delay . . . 2 D

number of sources l2 ... lD

Σ

D

q D−1 , l D−1

D−1

q D−2 , l D−2

D−2

q total node

Figure 2: Rate control of multiple sources using feedback This simplification will allow one to consider the queue as a auto-regressive moving-average system. Our problem is to determine an input source rate q to control the total input rate. We will provide a control algorithm to compute q.

Figure 1: Single bottleneck node shared by multiple sources with different delays For our propose we will consider the dynamics of the system at discrete interval, n, where wall-clock-time is given by n ⋅ δ t and δ t is the sampling time. The source traffic reaching the bottleneck node are delayed by d time units where d ranges from 0 to D. At the delay index d, l d sources are taken to have transmitted cells at a rate q d cells per unit time, where q d is taken to be the average rate, the sum of the rates all sources at delay d divided by l d . See Figure 1. Therefore the traffic entering the node at time index n + 1 is q total (n + 1) =

D

Σ l d q d (n + 1 − d) d=0

(1)

The problem at hand is to determine how one can best adjust the transmission rate of the sources at delay d, q d given the buffer occupancy and available rate at the bottleneck node. The target buffer occupancy and available rate at the bottleneck node will serve as the control inputs to system. This is illustrated in Figure 2. By doing so, one may adjust the source transmission to follow temporal variations in allocated network resources. In the steady state each source is assumed to share the available bandwidth equally (fairshare). The total traffic entering the node will be the weighed summation of the lagged fairshare rate. Therefore we will consider setting q d equal to fairshare rate in the steady state which we denote as q. This choice is supported by the need to accommodate the transmission delay in the command signal. In such a case

Buffer and Controller Equations The aggregated input rate into the bottleneck node is the sum of the input rates from sources in each delay-region. We consider D to be the largest delay, the variable l d is the number of sources delayed by d. At time n + 1 in a buffer having finite capacity X, the buffer occupancy associated with the bottleneck node is described by the difference equation D   x(n + 1) = S  x(n) + Σ l d q(n + 1 − d) + q u (n) − c ; X  (3) d=0  

where c is the total capacity for ABR sources and q u is the total input rate of unthrottled ABR sources. The saturation function S(ζ ; Ζ) is used to denote the finite capacity of the buffer. S(ζ ; Ζ) = ζ u( ζ ) − (ζ − Ζ) u(ζ − Ζ ) where u is the Heaviside step function. The controller regulates the input rate q based on the past values of the buffer occupancy x and of the input rate. The difference between x and the threshold value x 0 is used as an indication of the current congestion status, where x 0 is the target buffer occupancy or setpoint. The weighted sum of past input rates are used to compute the new input rate. Our primary goal is to utilize the link fully without buffer overflow. The rate control algorithm is defined by q(n + 1) =

q total (n + 1) =

D

Σ l d q(n + 1 − d) d=0

(4)

J

S [− Σ α j (x(n − j) − x 0 (n)) j=0

(2) + q(n) −



Σ

k=0

(5) β k q(n − k) ; Q ]

where J and Kˆ are positive integers. The first term of the righthand side of Eqn (5) corresponds to the error correction due to the difference between current buffer occupancy and setpoint. The error is used as an indicator of the degree of compliance in the source rate. The second and third terms are used for deadtime compensation of the delays in the control loop. The characteristic equation of this system contains the term by forward and backward delays, which will result in unstable poles. The idea is to choose the control gain which cancel or mediate the dead-time effects. In addition, the lag-order and magnitude of the coefficients determine the performance of the controlled system. As shown in Eqn (5), our controller has the order of J + Kˆ + 2. Cavendish et al. [8] use a Smith Predictor to provide dead-time compensation. However, their controller allows only one pole in the controlled system, which may limit the performance of the system greatly. It can be shown that for compensator delays, larger than or equal value to the real delay must be chosen to maintain stability. In our control system, Kˆ is required to satisfy the condition such as Kˆ ≥ D − 1. The control law invokes full state control on x and q and in our study Kˆ is set equal to D. The sources may follow the explicit rate q(n + 1 − d) with random error. In such a case, the error is sum of a deterministic signal and random noise. The buffer status given in the first term of the right-hand side of Eqn (5) corresponds to the moving-averge term. The error term would behave as a moving average process. The sum of the second and third terms would correspond to an auto-regressive process for the rate q. Overall, the model is an auto-regressive moving-average (ARMA) model.

3. Analysis

γ k+1

 β k − 2 + lkα k   k   1 + β k − β k−1 + Σ l i α k−i i=0  k  β −β + lα k k−1 Σ i k−i  i=0 = k  β k − β k−1 + Σ l i α k−i  i=k−J k  − β k + Σ l i α k−i  i=k−J  D  Σ liα k−i  i=k−J 

k=0 k=1 k = 2, 3, . . . , J k = J + 1, . . . , D k = D+1 k = D + 2, . . . , J + D

D In addition we impose the condition that Σk=0 β k = 0 which rendered the steady-state value of q unaltered and allows for stability of the system. Given values of l 0 , . . . , l D and γ = (γ 1 , . . . , γ J+D+1 )T , the coefficients α j and β j are determined by solving the aforementioned system of algebraic equations. The vector γ may be specified by prescribing the desired pole locations. Hence, the system parameters are determined by pole placement technique. In fact, in our controller design we need not keep the poles at a fixed location for all time. Instead, we may find new poles based on a performance criterion as the dynamics of the system changes.

State-space Representation

Pole Placement In this section we introduce the methods that we use to solve the problem. Firstly we simplify the dynamics of the model by removing the saturation nonlinearities in Eqns (3) and (5). This is due to access the linear dynamics of the system. The resulting equations are   x(n + 1) = x(n) + D l q(n + 1 − d) + q (n) − c u Σ d  d=0 (6)  J D  q(n + 1) = q(n) − Σ α j (x(n − j) − x 0 (n)) − Σ β k q(n − k)  j=0 k=0  Taking the z-transformation of Eqn (6) and setting the source terms equal to zero, the characteristic equation of this system is obtained from the determinant of the system matrix [3]. The determinant yields the polynomial z 2 1 + γ 1 z −1 + γ 2 z −2 + . . . + γ J+D+1 z −J−D−1  = 0  

where each polynomial coefficient γ i is related to a linear combination of α j , β j and l d as follows.

(7)

One may reformulate the system equations in terms of state variables. The closed loop control system described in Eqn (6) has two types of variables x which is dependent on J + 1 time lags and q on D + 1 time lags. Let us define a vector y consisting of J + D + 2 elements as follows: y = (y 1 , y 2 , . . . , y J+D+1 , y J+D+2 )T

(8)

where y i (n) ≡ x(n − J + i − 1) for i = 1, . . . , J + 1 y J+i+1 (n) ≡ q(n − D + i − 1) for i = 1, . . . , D + 1 Substituting the values of y i ’s (i = 1, . . . , J + D + 2) for x and q in Eqn (6), the system can be described in matrix notation as the system and output equations respectively: y(n + 1) = Ay(n) + Bu(n) z(n) = C y(n)

(9) (10)

where z(n) = (x(n), q(n))T .

−1

  u c = −K y = − P + BT RB BT RA y.  

(12)

Linear Quadratic Tracker The problem is find the control input u in Eqn (9) which yields the minimum error between the specified and the actual values of q and x. To do so we will determine the forced and unforced input signals, ur and u c respectively as shown in Figure 3.

The modified system incorporating closed loop control is obtained substitution of the result given by Eqn (12) into Eqn (9). y(n + 1) = [ A − BK ]y(n)

(13)

Optimal Reference Input ur

+

u

y(n + 1) = Ay(n) + Bu(n)

y

−1

  ur (n) = FV (n) = − P + BT RB BT V (n).  

uc

Figure 3: Block diagram of control system First let us assume that the reference input signal is zero, that is, ur = 0 in the system equation where u = ur + u c . Ignoring the forced input signal ur , we find the feedback control input signal u c . Now we provide a criterion to choose one among possible u c ’s which bring the given system to the desired state. We introduce a performance index which represents the cost or penalty associated with transient state errors of the system. Therefore our goal is to find the optimal control sequence u(n) which minimizes the quadratic cost function subject to satisfying the system equations. In particular, the optimal control problem of the linear system given in Eqn (9) is chosen to have the cost function given by PI =

The remaining problem is to find the proper reference input signal ur to bring y to the desired value η . The feed-forward signal ur which minimizes PI is

T  1 ∞     T  y(k) − η (k) Q y(k) − η (k) + u(k) Pu(k) (11) Σ 2 k=0  

Q = µ C C is a positive semidefinite and P is a positive definite matrix. The task at hand is to find the optimal feedback gains by minimizing the cost function. In our case tracking signal is the vector η . The vector is comprised of lagged values of the queue setpoint x 0 and the target input rate q 0 which depends on the excess bandwidth c − q u . T

The specific problem of finding the optimal feedback gains K such that u c = −K y may be regarded as an adjustment of the open loop eigenvalues. Hence the dynamics of the system are changed by modifying the pole locations in order to obtain the desired dynamic behavior. In our study K is determined using the Algebraic Riccati equation [7] for the matrix R. −1

  R = Q + AT RA − AT RB P + BT RB BT RA   In such a case the optimal unforced control input is given as

(14)

The J + D + 2 length vector V is only a function of the command signal η . −1     T T T V (n + 1) =  A − A RB R + B RB  V (n) − Qη (n) (15)    

Once V reaches its steady state value it need by only be revaluated as new values of η become available. Since u = ur + u c the system equation become y(n + 1) = [ A − BK ]y(n) + BF V (n)

(16)

Regulator In this section, we describe a regulator which is used to adjust the command input. The main purpose is to avoid cell loss due to the buffer overflow. In case of sudden decreases in available rate, we have buffer overshoot which is inevitable because of the delays in feedback path. This situation may lead to cell loss when competing sources are located far from the bottleneck node. Addressing this problem we utilize a regulator which adjusts the command input according to the amount of buffer overshoot. Ultimately it will adjust the input rate accordingly. The parameter ρ is used as weight where 0 ≤ ρ ≤ 1. If the buffer occupancy exceeds the buffer threshold, the command signal component for available rate is reduced by that exceeding difference which is then multiplied by the weight ρ . η q0 = η q0 − S (x(n) − x 0 ) × ρ ; q 0 − q min 





(17)

where S(⋅; ⋅) is the saturation function defined in Eqn (4) and η q0 and q min are the command signal component for available rate and the minimum transmission rate guaranteed for each traffic source, respectively. The weight parameter ρ represents the de-

gree of urgency in buffer management. The well-known tradeoff relationship between the buffer overflow and link utilization can be controlled using this parameter. Higher ρ will result in the lower risk of buffer overflow and the shorter overshoot period, but also it may cause lower link utilization. Overall, the control input can be described in the following Figure 4.

η

+

V

F

ur

+

u

uc regulator

−K

y Figure 4: Control input with regulator, feedback and feed-forward gains

4. Numerical Results Design Example In this section we will consider the case of multiple sources sharing a single bottleneck node. A proportional-derivative control, J = 1, will be examined and compared with the tracker obtained using the methods outlined in section 3. The most distant source experiences a delay 10 time units. There are total 18 number of sources located at various delay region. Following the notation given in section 3, we have D = 10 and l = (5, 5, 0, 0, 0, 3, 3, 0, 0, 1, 1)T where l i represents the number of sources at delay region i for i = 0, . . . , 10. For this case the queuing model and rate controller can be described in the form of Eqns (3) and (5). The initial values of α and β are determined by pole placement. Taking the z-transformation of the linearized unforced form of the resulting buffer and rate controller equations, we derived the characteristic equation of this system of the form z 2 1 + γ 1 z −1 + γ 2 z −2 + ⋅ ⋅ ⋅ + γ 11 z −11 + γ 12 z −12  = 0   For the characteristic polynomial of degree 12, we chose the desired poles to be inside of unit-circle in z-plane such as λ 1,2 = 0. 4 ± j0. 3 and λ k = 0 for k = 3, . . . , 12. Then the γ i ’s are determined. From these values, we obtained the value of the parameters α 0 , α 1 , β 0 , ... , β 9 , and β 10 . We reformulated the system in the state space form by defining state variables y i ’s (for i = 1, . . . , 12) as y(n) = ( x(n − 1), x(n), q(n − 10), q(n − 9), . . . , q(n) )T

The system can be described in matrix notation as described in Eqns (9) and (10). To find the optimal feedback gains u for this system, we use the following matrices for the performance index given in Eqn (11), Q = µ C T C and P = I 2 . In our case Q contains two nonzero elements Q2,2 and Q13,13 which are equal to µ . The matrix P is equal to a 2 × 2 identity matrix. By adjusting the value of µ one can obtain the minimum effort controller ( µ → 0), minimum error energy controller ( µ → ∞). It is desired that the input rate and queue length quickly reach the command level x 0 and q 0 . The solution matrix R of the Algebraic Riccati equation is determined by iteration until the coefficients of the matrix reach a constant value. Once R is obtained the feedback and feed-forward coefficients matrices K and F are evaluated using Eqn (12) and Eqn (14) respectively. The reference input ur (n) = FV (n) in Eqn (14) requires the evaluation of V at each time step. This is done following Eqn (15).

Simulation In our simulation, the target buffer occupancy is set to 30 cells (data units), x 0 = 30. The available link capacity c − q u is given to be time varying over the simulation interval. This is done in order to observe the transient behavior of the controller. As such at the beginning it is given as 353 (cells / unit time), at time index 200 it is changed to 80% of the previous value, at time index 400 to 75%, and at time index 600 to 120%, at time index 800 to 130%. The time-varying changes are summarized in Table 1. simulation time c − qu

1 353

200 282.4

400 211.8

600 254.2

800 330.4

Table 1: Time-varying available link capacity for throttled ABR sources For the weight parameter µ in the matrix Q used for performance index, the values of 10 × 103 and 100 × 103 are used. In Figure 5 the source rate response is shown versus time. Note that the solid line represents the desired input rate q 0 . As can be seen lower values of µ affords larger tracking error after steady state is reached. This error is on the order of %10 percent of the command signal. Also smaller values of µ result in slower convergence during transient periods when changes on service capacity occur. The optimal control result shows good agreement with the target value at µ = 10 × 103 . However, this tight tracking may cause a problem in terms of buffer management when there is a sudden decrease in available rate. The largest overshoot x(400) = 410 occurs for µ = 100 × 103 and decreases to 240 for µ = 10 × 103 . In addition to that, it takes longer to drain out the buffer for larger µ due to the same reason. This situation can be aggravated if any other decrease occurs before the buffer occupancy reaches the steady state. Therefore, the larger values of µ allow better link utilization at the expense of higher risk of buffer overflow.

20

18

18

16

16

14

14 Input Rate (cells/msec)

Input Rate (cells/msec)

20

12 10 8 6

12 10 8 6

qo mu/1000 = 10 mu/1000 = 100

4

qo mu/1000 = 10 mu/1000 = 100

4

2

2

0

0 0

200

400 600 simulation time (msec)

800

1000

0

Figure 5: Input rate with time-varying q 0 for ρ = 0. 0

200

400 600 simulation time (msec)

800

1000

Figure 7: Input rate with time-varying q 0 for ρ = 0. 1

600

500 mu/1000 = 10 mu/1000 = 100 mu/1000 = 1000

mu/1000 = 10 mu/1000 = 100

450

500 400

Buffer Occupancy (cells)

Buffer Occupancy (cells)

350 400

300

300 250 200

200 150 100 100 50 0

0 0

200

400 600 simulation time (msec)

800

1000

Figure 6: Buffer occupancy with time-varying q 0 for ρ = 0. 0 In order to obtain the low buffer occupancy, we use a regulator as examined in section 3. Our regulator adjusts the command input according to the amount of buffer overshoot, which results in decreasing the input rate accordingly. The buffer overshoot arises when there is negative tracking error between target input rate and actual input rate. Our regulator is adjusting the input rate developing positive tracking error so that the amount of queue build-up can be diminishing. Note that the diminishing rate depends on the weight parameter ρ . Higher ρ will result in the faster drain-out of buffer, but it also causes larger error in input rate from the target input rate. Our simulation results show that smaller ρ brings the reasonable performance working with large µ due to quick convergence time. Next two Figures 7 and 8 show the results of our simulation using the regulator described in Eqn (17) with ρ = 0. 1 and q min = 1. 0. The results shown in Figures 5 and 6 are same as using ρ = 0. 0

0

200

400 600 simulation time (msec)

800

1000

Figure 8: Buffer occupancy with time-varying q 0 for ρ = 0. 1 Figure 7 and 8 show the input rate and buffer occupancy versus time with ρ = 0. 1, respectively. When the available rate decreases (at time unit 200 and 400) and the buffer occupancy jumps up, our regulator drops down the input rate accordingly. It reduces the buffer overshoot dramatically as well as the overshoot interval. Compared to the results without using regulator ( ρ = 0. 0) in Figures 5 and 6, it performs the better job in terms of buffer management. This improvement is more obvious with large µ .

5. Conclusion We have examined a rate control algorithm based on a model of the queuing system. The number of throttled ABR sources l d , with delay d from the bottleneck node is taken to be known at the congested node. The initial control gains for the rate controller were chosen using a pole-placement procedure. These control gains are adjusted using a Linear Quadratic

tracker. As an aid to this end the system was reformulated in terms of state variables. The minimization of the weighted sum of the control input and error energy was performed. The problem of optimal linear quadratic regulator design is a classical one. The solution of the matrix Riccati equation is utilized to find the optimal feedback gains of the closed loop control system considered. From our numerical results, it was shown the parameters of the model can be obtained by minimizing the weighted sum of the input and state energy subject the system equation constraint. By adjusting the weight of the state energy µ the rise time can be adjusted. The minimum error energy, large µ case, resulted in the best tracking performance. In addition, we utilized a regulator in conjunction with a linear quadratic tracker. It was shown that using a regulator one can obtain the low buffer overshoot in the transient period while maintaining the good link utilization in the steady-state period.

References 1.

ATM Forum, "The ATM Forum Traffic management Specification", February 1995.

2.

A.W. Barnhart, "Baseline Performance using PRCA Rate-control," ATM Forum/94-0597, July 1994.

3.

L. Benmohamed and S. M. Meerkov, "Feedback Control of Congestion in Packet Switching Networks: The Case of a Single Congested Node," IEEE/ACM Trans. on Networking, Vol. 1, no.6, pp. 693-708, December 1993.

4.

A. Charny, D. Clark, and R. Jain, "Congestion Control with Explicit Rate Indication," Proc. of IEEE ICC ’95, June 1995.

5.

R. Jain, S. Kalyanaraman, and R. Viswanathan, "The OSU scheme for Congestion Avoidance using Explicit Rate Indication," ATM Forum/94-883, September 1994.

6.

L. Roberts, "Enhanced PRCA (Proportional RateControl Algorithm)," ATM Forum/94-0735R1, August 1994.

7.

W.L. Brogan, "Modern Control Theory," Prentice Hall, Third Edition, 1991.

8.

D. Cavendish, S. Mascolo, and M. Gerla, "ATM Rate Based Congestion Control Using a Smith Predictor: an EPRCA Implementation," Proc. of IEEE INFOCOM ’96, pp. 569-576, March 1996.

9.

G. Ramamurthy and A. Kolarov, "Application of control theory for the design of closed loop rate control for ABR service," In proc. of the 15th Internation Teletraffic Congress, 1997.