RATE CONTROL IN HIGH SPEED NETWORKS USING CONSTRAINED MODEL PREDICTIVE CONTROL Sekela M. Mwandosya Department of Electronic, Electrical and Computer Engineering University of Birmingham, Birmingham B15 2TT, UK
[email protected]
This paper studies rate based congestion control in high-speed communication networks using Model Predictive Control. A two layered structure is proposed. An upper layer for determining desired queue levels to be used by a lower level controller. Network traffic is assumed to consist of best-effort and high-priority traffic sources. Two controllers: one calculates the capacity for high-priority sources and the other calculates the input rate of best-effort sources, by tracking the desired queue level. Model Predictive Control takes into account the constraints on the finite buffer and input rate. MPC is deals well with systems with time delays. Copyright © 2007 IFAC Keywords: Congestion Control, Communication Networks, Model Predictive Control, Constraints, Feasibility.
1.
INTRODUCTION
Congestion Control is a widely studied area of research. As multimedia traffic increases the likelihood of congestion increases and there is a need to produce better algorithms to avoid undesirable network performance such as data loss. Congestion causes an increase in delay, reduced throughput, packet loss which can eventually lead to network collapse. Traffic in high-speed networks such as ATM Networks can broadly be classified into two classes; uncontrollable/high-priority (e.g. voice calls-CBR, video-VBR) and controllable/best-effort traffic (e.g. data traffic-ABR). Uncontrollable traffic has a higher priority with stringent delay requirements, while controllable traffic has a high loss tolerance. Issues affecting control are the fact that the system changes over time, the presence of random and time varying delays, user uncertainty (the number of users
changes randomly over time), bursty traffic, and constraints on buffer, traffic rates and capacity. High speed networks have a high bandwidth-delay product giving large propagation delays which can cause oscillations and controller to become unstable. A number of congestion control algorithms using control theory have been presented in literature (Benmohamed and Meerkov, 1993; Mascolo, 1999; Imer ,et al., 2001; Pitsillides ,et al., 2001; Yan and Bitmead, 2005) etc. The technologies used include PID control (Blanchini ,et al., 2002), Smith predictor (Mascolo, 1999), Optimal control (Kim and Thompson, 1998), (Imer et al., 2001), Pole placement (Zojceska, 2003), feedback control (Benmohamed and Meerkov, 1993) (Benmohamed and Meerkov, 1997) and MPC (Wang ,et al., 2001; Wang ,et al., 2002). In (Mascolo, 1999) the dynamic behaviour of each queue is modelled as the cascade of an integrator with time delays, the best effort available bandwidth is modelled as an unknown bounded disturbance. Most of the papers use this approach of assuming per-flow
buffering and modelling available bandwidth as an unknown disturbance. (Imer et al., 2001) gives three algorithms for congestion control where the disturbance is modelled as an autoregressive process. In Wang et al. 2002, they derive an expression to calculate the input rate of controllable traffic using MPC without taking into account the constraints on the buffer, input rate and capacity. The above mentioned references and references within give a good overview of the congestion control algorithms and their simulations. Stability is an issue in congestion control schemes due to the presence of large propagation delays in high-speed networks. These can cause oscillations and instability which is undesirable for network performance. Ramamurthy and Kolarov require online tuning of control parameters to ensure good performance (Tan and Yang, 2002). This is not desirable in actual network implementation. MPC has been successful in industry due to its ability to handle constraints on the input and output, and time delays. It works by selecting control actions that will produce the best predicted output over a given horizon (Rossiter, 2003). A model of the process is used to predict future outputs and the control is determined by optimising a give performance objective. 2.
NETWORK MODEL
Network traffic (λ) branches out into high-priority (λpr) and best-effort (λber) traffic. The capacity at the output of the buffer will serve high priority traffic first and any remaining capacity will be used by best- effort traffic.
λ = λ pr + λ ber
(2)
Cmax = C pr + Cber
(3)
where λ pr - High-priority traffic is unknown and considered a disturbance λ ber - Best-effort traffic is controlled
C
pr
- Capacity for high-priority traffic
C b e r - Capacity for best-effort traffic Cpr
λpr
Cmax
λ
A network consists of a set of nodes and links. Network models are used to represent the main functionalities of a node. Both nodes and transmission links can be considered as a queue and queues behave as integrators. Each link has a given transmission capacity and processing capacity. Per-flow buffering is assumed (Imer et al., 2001), (Mascolo, 1999), (Wang et al., 2001), which separates packets according to the flow to which they belong, leading to a single-input/single output (SISO) problem design. The buffer has a finite capacity ymax and output link with capacity Cmax. The dynamics of the buffer are represented using a fluid flow approximation: a discrete-time model. The time interval corresponds to the interval over which the capacity/service rate is calculated.
Input Rate
Subject to 0
Cber
λber Fig 2. Traffic decomposition
In control point of view both the traffic and capacity are inputs to the controller. 3.
PROBLEM STATEMENT
A layered control solution to the rate based congestion control problem using MPC is proposed. The upper layer will deal with looking for the optimum queue length (Reference Thresholds) to be followed by two lower level MPC controllers (MPC1 and MPC2). The objective of lower level controllers is to keep the queue length stabilized at a given reference threshold.
Service Capacity
λ
Reference Trajectories
C Buffer length
Fig 1. Buffer Model
MPC1
The buffer model equation is given by: M
y[(k +1)T] = y(kT) + ∑λi (kT −ti ) − c(kT) i=1
(1)
Best-Effort Input Rate
MPC2 Priority Capacity
Fig 3. Layered Control Structure
The task of MPC1 is to handle high-priority traffic λpr by following a reference trajectory using the capacity Cpr as a control handle. Once capacity Cpr is obtained it is taken out from Cmax to give Cber, which is then used by MPC2 to calculate the rate for besteffort traffic λber.
The prediction matrices is rearranged in the form ˆ t + B yp a st = C ∆ u fu t + D ∆ u p a st + E ∆ d A yfu ˆ t = H ∆ u fu t + P ∆ u p a st + Q yp a st + W ∆ d yfu
This paper deals with the lower level controllers only and assumes the reference trajectories are provided by higher level control.
ˆ = [ y ( k + 1), y ( k + 2),.., y ( k + ny )]T yfut
where H = A −1C , P = A −1 D , Q = − A −1 B , W = A −1 E ∆ ufut = [ ∆ u ( k ), ∆ u ( k + 1),.., ∆ u ( k + ny − 1)]T ∆ upast = [ ∆ u ( k − 1), ∆ u ( k − 2),.., ∆ u ( k − n + 1)]T ypast = [ y ( k ), y ( k − 1),.., y ( k − n )]T
4.
MODEL PREDICTIVE CONTROLLERS
MPC uses a plant model to predict the process output along a future time horizon and calculated a control sequence to optimise an objective function. The output in our case is queue length. The general expression for a transfer function model for prediction is: −1
−1
−1
A ( z ) y ( k + 1) = B ( z ) u ( k ) + C ( z ) d ( k )
(4)
where y ( k ) is the output u ( k ) is the control input/control handle d ( k ) is the disturbance A ( z −1 ) = 1 + a 1 z
−1
B ( z −1 ) = b0 + b1 z C (z
−1
) = 1 + c1 z
−1
+ .... + a n z − n −1
+ .... + bbn z − bn
+ .... + c cn z − cn
The output is predicted over a specified horizon (k+n1) to (k+ny). Using a simple example with non- delayed input based on the model: y ( k + 1) = y ( k ) + u ( k ) − d ( k )
(5) u(k) is the control input and d(k) is the disturbance input. For ny = 4 and using ∆u (k ) = u (k ) × [1 − z −1 ] y ( k + 1) = y ( k ) + u ( k ) − d ( k ) × [1 − z −1 ] y ( k + 1) − y ( k ) = y ( k ) − y ( k − 1) + ∆ u ( k ) − ∆ d ( k ) y ( k + 1) − 2 y ( k ) − y ( k − 1) = ∆ u ( k ) − ∆ d ( k )
∆ d = [ ∆ d ( k ), ∆ d ( k + 1),.., ∆ d ( k + ny − 1)]T
The control law is calculated by minimising the predicted performance using the cost function (Camacho and Bordons, 2004) ny
nu−1
j=n1
i=0
where n1 and ny are minimum an maximum prediction horizon nu is the control horizons y(k+1) is the predicted output w(k+1) is the reference set point Wy & Wu are weights and can be either constants or exponential The controller calculates the rate of change of input rather than the input. It produces a sequence of rate inputs [ ∆u(k | k ), u(k + 1| k ),..., u(k + ny − 1| k )] . Only the first element of the series of rate of change of input is used for the input to the plant. The input is given by u ( k ) = ∆ u ( k | k ) + u ( k − 1)
A∆ u ≤ b
Input rate, input and output constraints:
y ( k + 3) − 2 y ( k + 2) − y ( k + 1) = ∆ u ( k + 2) − ∆ d ( k + 2)
∆umin< ∆u< ∆umax , umin
This gives the following matrices ⎡1 ⎢ −2 ⎢ ⎢1 ⎢ ⎣0 ⎡1 ⎢0 ⎢ ⎢0 ⎢ ⎣0 ⎡ −2 ⎢1 ⎢ ⎢0 ⎢ ⎣0
0 ⎤ ⎡ y ( k + 1) ⎤ 0 ⎥⎥ ⎢⎢ y ( k + 2) ⎥⎥ = − 2 1 0 ⎥ ⎢ y ( k + 3) ⎥ ⎥⎢ ⎥ 1 − 2 1 ⎦ ⎣ y ( k + 4) ⎦ 0 0 0 ⎤ ⎡ ∆u (k ) ⎤ ⎡ 0 ⎤ ⎡ ∆ u ( k − 1) ⎤ 1 0 0 ⎥⎥ ⎢⎢ ∆ u ( k + 1) ⎥⎥ ⎢⎢ 0 ⎥⎥ ⎢⎢ ∆ u ( k − 2) ⎥⎥ + − 0 1 0 ⎥ ⎢ ∆ u ( k + 2) ⎥ ⎢ 0 ⎥ ⎢ ∆ u ( k − 3) ⎥ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ 0 0 1 ⎦ ⎣ ∆ u ( k + 3) ⎦ ⎣ 0 ⎦ ⎣ ∆ u ( k − 4) ⎦ 0 0 ⎤ ⎡ ∆d (k ) 1 ⎤ ⎡ y (k ) ⎤ ⎡ −1 0 ⎤ 0 ⎥⎥ ⎢⎢ ∆ d ( k + 1) ⎥⎥ 0 ⎥⎥ ⎢⎢ y ( k − 1) ⎥⎥ ⎢⎢ 0 − 1 0 + 0 − 1 0 ⎥ ⎢ ∆ d ( k + 2) ⎥ 0 ⎥ ⎢ y ( k − 2) ⎥ ⎢ 0 ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ 0 ⎦ ⎣ y ( k − 3) ⎦ ⎣ 0 0 0 − 1⎦ ⎣ ∆ d ( k + 3) ⎦ 0 1
0 0
(7)
The constraints are easily incorporated into the optimization equation. Constraints are represented by a set of linear inequalities (Rossiter, 2003), (Camacho and Bordons, 2004).
y ( k + 2) − 2 y ( k + 1) − y ( k ) = ∆ u ( k + 1) − ∆ d ( k + 1) y ( k + 4) − 2 y ( k + 3) − y ( k + 2) = ∆ u ( k + 3) − ∆ d ( k + 3)
(6)
J = ∑[Wy[yˆ(k + j | k) − w(k + j | k)]2 + ∑Wu[∆u(t + j −1)]2
These constraints can be expressed as: 1∆ u ≤ ∆ u ≤ 1∆ u
1U ≤ T ∆ u + u ( k − 1)1 ≤ 1U 1 y ≤ H ∆ u + P ∆ upast + Q ypast ≤ 1 y
The constraints in a single set of linear inequality are ⎡I ⎢− I ⎢ ⎢T A=⎢ ⎢ −T ⎢H ⎢ ⎣− H
⎡1∆ u ⎤ ⎤ ⎢1∆ u ⎥ ⎥ ⎢ ⎥ ⎥ ⎢1U − 1u ( k − 1) ⎥ ⎥ ⎥ ⎥b = ⎢ 1 U 1 u ( k 1) − + − ⎢ ⎥ ⎥ ⎢1 y − P ∆ upast − Qypast ⎥ ⎥ ⎢ ⎥ ⎥ ⎢⎣ − 1 y + P ∆ upast − Q ypast ⎦⎥ ⎦
where I is an identity matrix and T is a lower triangular matrix
4.1 MPC1 Controller MPC1 controller calculates the capacity of uncontrollable traffic Cpr which is the control handle and the input λpr is unknown. The controller uses the following model (8)
600 Q u e u e L e n g th
y pr (k + 1) = y pr (k ) + λprp (k ) − C pr (k )
The reference used is 300 from t=0-200, 500 from t=200350, and 300 from t=350-500. Buffer constraints are at yprmin=0 and yprmax=1000. Input constraints are at λprmin = 0 and λprmax = 730. Tuning parameters used in this simulation are output horizon ny=6, control horizon nu=4, weight on control action = 0.1, weight on output error=10.
where y pr (k ) is the output/queue level p λ pr (k ) is the prediction of unknown traffic
200 0
1000
300
400
500
600
400
500
600
In p u t
Input traffic/disturbance
500 0
100
200
300 Time(msec)
instead of λpr (k ) C a p a c it y
1000
4.2 MPC2 Controller MPC2 controller uses the capacity leftover from MPC1 Cber = Cmax - Cpr to calculate input rates for the best effort traffic. The control handle is λ b e r N
yber (k +1) = yber (k) + ∑λber j (k − t j ) −[Cmax (k) − Cpr (k)]
(9)
j =1
N
yber ( k + 1) = yber ( k ) + ∑ λber j ( k − t j ) − Cber ( k )
Constraints
Control Output
500 0 100
200
300
400
j =1
traffic) Cber (k ) is the left-over capacity.
600
Fig 4. Results for MPC1 From figure 4, the output follows the reference perfectly. And the capacity follows the input disturbance as expected and the constraints are not violated. MPC2- To calculate the input rate for the controllable traffic Three simulations (i, ii and iii) with different models are presented i) The model used for this simulation:
is the delay
yber (k +1) = yber (k) + λber (k) − cber (k)
SIMULATION RESULTS
The control problem is simulated using MATLAB to evaluate the algorithms for the two MPC controllers for uncontrollable and controllable traffic. Queue responses to constant and time-varying disturbances are studied. General Simulation Parameters used are Link Capacity= 155MBPs ≈ 730 cells per unit time (1 cell = 53bytes in ATM networks) Sampling time = 0.002 secs MPC1 – To calculate the capacity for controllable traffic Model used for simulation:
ypr (k +1) = ypr (k) +λpr (k) −cpr (k)
500
T ime(msec)
(10)
where yber (k ) is the buffer/queue level λber (k ) is the control input (traffic rate for best-effort
5.
200
T ime(msec)
traffic For prediction purposes the controller uses a prediction of the unknown traffic input λprp (k )
Constraints
400
100
C pr (k ) is the control output/capacity for high-priority
t
Buffer/Queue Length
(11)
(12)
A constant reference of 700 is used. Constraints on the output are at ymin=0 and ymax=1000, input constraints are at λbermin=0 and λbermax=730 – min(Cpr). Tuning parameters used in this simulation are output horizon ny=11, control horizon nu=4, weight on control action Wu = 0.1, weight on output error Wy=100
Buffer/Queue Length Q u e u e L e n g th
1000
500
0 50
100
150
200
250 300 Time(msec) Control Input
350
400
450
500
1000
Figure 6 shows the result of a delayed input λber(k-3), the input is delayed by 3 steps. The output follows the reference perfectly. The input rate follows the available capacity to keep the output at reference value. The delayed result is better illustrated below in figures 7 and 8 of the control produced by a non delayed input λber(k) and a delayed input λber(k-3)
In p u t
500
Control Input 1000
0 50
100
150
200
250 300 Time(msec) Available Capacity
350
400
450
900
500
800 700
600 400
600
200
500
0
50
100
150
200
250 300 Time(msec)
350
400
450
500
Input
A v a ilC a p a c it y
800
400 300
Fig 5. Results for MPC2 (i)
200
Figure 5 shows the result of a non-delayed input. The output follows the reference perfectly. The input rate follows the available capacity to keep the output at reference value. Also when Cpr is maximum i.e. 730 Cber is equal to zero, there is no available capacity for best-effort traffic to use giving λber = 0.
100 0 -100
150
200 Time(msec)
250
Fig 7. Control input without delay λber(t) Control Input 1000
ii) The model used for this simulation has a delayed input:
900 800
yber (k +1) = yber (k) +λber (k −3) −cber (k)
(13)
700 600 500 Inpu t
A constant reference of 700 is used. Constraints on the output are at ymin=0 and ymax=1000, input constraints are at λbermin=0 and λbermax=730 – min(Cpr). Tuning parameters used in this simulation are output horizon ny=11, control horizon nu=4, weight on control action Wu = 0.1, weight on output error Wy=100
400 300 200 100 0
Buffer/Queue Length -100
Q u e u e L e n g th
1000
500
150
200 Time(msec)
250
Fig 8. Control input with delay λber(t-3)
0 50
100
150
200
250 300 Time(msec) Control Input
350
400
450
500
iii) The model used for this simulation contains two inputs
In p u t
1000
yber (k +1) = yber (k) +λber (k) +λber (k −3) −cber (k)
500
(14)
0 50
100
150
200
250 300 Time(msec) Available Capacity
50
100
150
200
350
400
450
500
350
400
450
500
A v a ilC a p a c ity
800 600 400 200 0
250 300 Time(msec)
Fig 6. Results for MPC2 (ii)
A constant reference of 700 is used. Constraints on the output are at ymin=0 and ymax=1000, input constraints are at λbermin=0 and λbermax=730 – min(Cpr). Tuning parameters used in this simulation are output horizon ny=15, control horizon nu=4, weight on control action Wu = 0.1, weight on output error Wy=1000
Switching Networks: The case of multiple Congested Nodes." Int. J. Commun. Syst 10: 227-246.
Buffer/Queue Length Q ueue Length
1000
500
0 50
100
150
200
250 300 Time(msec) Control Input
350
400
450
500
Camacho, E. F. and C. Bordons (2004). Model Predictive Control, Springer-Verlag London.
1000
In p u t
Blanchini, F., R. L. Cigno, et al. (2002). "Robust Rate Control for Intergrated Services Packet Networks." IEEE/ACM Trans. Networking 10(05): 644-652.
500
0 50
100
150
200
250 300 Time(msec) Available Capacity
350
400
450
500
Imer, O. C., S. Compans, et al. (2001). Available Bit Rate Congestion Control in ATM Networks. IEEE Control Systems Magazine: 38-56.
A v a ilC a p a c it y
800
Kim, B. and C. Thompson (1998). ABR Traffic Control in ATM Networks using Optimal Control Theory. IEEE International Conference on ATM, Colmar, France.
600 400 200 0
50
100
150
200
250 300 Time(msec)
350
400
450
500
Fig 9. Results for MPC2 (iii) The output follows the reference as expected. Since there are two inputs the available capacity which is given by Cmax-Cpr= Cber is distributed equally among the inputs. This can be seen in the figure above for the input and available bandwidth. The input is less that the previous MPC2 input results. There are slight oscillations at points where the input changes value and this appears on the output. Further studies and tuning of the controller will remove this problem. 6.
CONCLUSIONS
Model Predictive Control is used in the design of congestion controllers for calculating the capacity of uncontrolled traffic and the input rate for best-effort traffic. Simulations with constraints on both the buffer and the output (queue length) have been performed. The constraints are not violated. Tuning parameters such as the prediction horizon, control horizon and the weights on the performance index have been used to produce the best results. Further research will focus on plant-model mismatch simulations, prediction error, stability and feasibility studies, and work on higher level control for finding optimal reference trajectories to be used by these lower level controllers. REFERENCES Benmohamed, L. and S. M. Meerkov (1993). "Feedback Control of Congestion in Packet Switching Networks: The Case of a Single Congested Node." IEEE/ACM Trans. Networking 1(6): 693-708. Benmohamed, L. and S. M. Meerkov (1997). "Feedback Control of Congestion in Packet
Mascolo, S. (1999). "Congestion control in high-speed communication networks using the Smith Principle." Automatica 35: 1921-1935. Pitsillides, A., P. Ioannou, et al. (2001). Congestion Control for Differentiated-Services using Non-Linear Control Theory. Proc. 6th IEEE Symposium on Computers and Communication, Hammamet, Tunisia. Rossiter, J. A. (2003). Model-Based Precictive Control: a practical approach. Austin, Texas, CRC Press. Tan, L. and S. H. Yang (2002). Rate-Based Congestion Controllers for High-Speed Computer Networks. IFAC 15th Triennial World Congress, Barcelona, Spain, IFAC. Wang, H. O., Y. Gu, et al. (2002). Robust Congestion Control in Hig Speed Communication Networks: A Model Predictive Control Approach. IFAC 15th Triennial World COngress, Barcelona, Spain. Wang, H. O., Y. Gu, et al. (2001). A Predictive Congestion Control Algorithm for High Speed Communication Networks. American Control Conference, Arlington, Virginia. Yan, J. and R. R. Bitmead (2005). "Incorporating state estimation into model predictive control and its application to network traffic control." Automatica 41: 595-604. Zojceska, A. (2003). Feedback Based Congestion Control of High Speed ATM Communication Newtorks with FIFO Queueing using Modern Control Theory Results. Electrical and Computer Engineering. Piscataway, Rutgers University. Masters Thesis.