主动队列管理中的 PID类控制器
摘要 在这篇论文里我们使用控制理论方法提出了一套分析各种主动队列管理机制的通用框
架,即比例-积分-微分控制器模型。然后我们在 PID算法的基础上提出了一种自适应机制,
提高了系统在不断变化的网络条件下的稳定性和可靠性。我们对这种基于控制的 PID类主动
队列管理算法进行了详细的分析,并在相同的网络配置条件下通过仿真实验进行了性能的比
较,由此得到这类算法的优点和不足
关键词 主动队列管理 PID控制器 拥塞控制
1. 引言
自 1988年 V. Jacobson提出了 TCP端到端的基于窗口的拥塞控制算法以来,TCP流量
控制算法经过了 Tahoe, Reno, New Reno, SACK等多个版本的增强与改进,但所有这些工作
都将研究的注意力集中到了终端系统上,通过源端对网络当前状态的感知和探测来响应调整
控制发送分组的窗口大小,对于网络中间节点所能发挥的作用考虑较少。毋庸置疑,这一原
则提供的可扩展性促进了 Internet早期的快速发展。但随着应用要求的日益丰富和技术的
不断发展,要想完全依赖实现在终端系统上的策略与算法是很难满足诸如 QoS这样复杂的应
用需求的。于是,很多的研究注意力开始转向网络中的路由器等中间节点设备,期望通过增
强它们的功能来实现主机端无法达到的技术目标。就拥塞控制而言,网络中间节点有可能更
及时,甚至提前准确了解网络的拥塞状态,并依次实施有效的资源管理策略,使网络能有效
地避免拥塞或尽早从严重地拥塞状态中恢复过来。现有的路由器的队列管理功能通过控制缓
存与队列的占用间接影响带宽的分配,达到拥塞控制的目标。具体分析,AQM解决的问题主
要包括以下 4个方面:
(1)早期探测路由器可能发生的拥塞,并通过随机丢弃或标记分组来通知源端采取措
施避免可能发生的拥塞。
(2)公平的处理包括突发性、持久性和间歇性的各种 TCP业务流。
(3)避免多个 TCP连接由于队列溢出而造成同步进入“慢启动”状态。
(4)避免较小的队列长度,在高吞吐量和低时延之间做出合理平衡。
等人用小信号理论对 给出的 TCP流量控制模型进行线性化处理后,用
经典线性控制理论分析了 RED的稳定性给出了一种用于主动队列管理的 PI控制器,增强了
对队列长度的控制能力,更有助于 AQM技术目标的实现.这种思想的最大贡献在于将 AQM
算法的设计问题转化为控制理论中典型的调节器设计问题,但因在时变的网络环境中很难确
切得到系统的临界放大倍数和临界振荡周期,但由于这种方法对路由器缓存大小的依赖过
强,调节时间过长,于是引入了可以反映队列变化速率的微分环节,提出了所谓的 PID 控
制器,但以往的 PID 类控制算法都是采用静态参数配置或者在期望的条件下整定参数,而
Internet上的各种条件都是突发性的和不确定性的,这对 PID控制算法的推广形成制约,为
此引入一种适应性控制机制,提高了系统在不断变化网络条件下的稳定性和可靠性。
2. 算法设计
线性控制模型
下面我们以随机的微分方程描述了一个 TCP的动态模型。这里,我们忽略 TCP的超时重
传机制,使用一个 TCP的简化模型。这个模型关联了关键网络参数的平均值,使用以下两个
非线性微分方程描述:
( )
( ) ( )
( )
=
+−
>+−
=
−−
−−=
•
•
.0,)(,0max
0),(
))((
))((
))((
2
)(
)(
1)(
qtW
tR
tNC
qtW
tR
tNC
q
tRtp
tRtR
tRtWtW
tR
tW
(1)
在此
•
x表示事件的微分,而且
W = TCP窗口大小的平均值(以数据包为单位)
q = 平均队列长度(以数据包为单位)
)(tR = 往返传播时间= pTC
tq +)( (以秒为单位)
C= 链路容量(以数据包/秒为单位)
pT = 传播延迟(以秒为单位)
N = 负载因素(TCP任务数)
p= 数据包的标记概率
微分方程中的第一个式子描述了 TCP窗口控制的动态特性。粗略的讲,方程右边的 R
1
项表示窗口大小按加法增加,而 2
W 项则表示窗口大小随标记概率 p按乘法减小.方程中的
第二个式子将瓶颈处队列长度的微分表示为数据到达率 R
NW 和链路容量 C 的差。队列长
度和窗口大小都是正的有界值:
∈ −qq ,0 ,
∈ −WW ,0 。 −q和 −W 分别代表缓冲器容量和
最大窗口。标记概率的取值在 [ ]1,0 之间。
平衡点线性化
为了线性化上述微分方程,我们首先假设 TCP的任务数和链路容量为常数: NtN ≡)( ,
CtC ≡)( 。将 ( )qW , 作为状态变量, p作为输入,那么,当 0=•W 、 0=•q 时,可以得到
平衡操作点 ( )000 ,, pqW ,即:
pTC
qR
N
CRWq
pWW
+==⇒=
=⇒=
•
•
0
0
0
0
0
2
0
;0
20
(2)
为了线性化(2)式,我们忽略时间延迟 Rt − 随队列长度的变化,设其为固定值 0Rt − 。
另一方面,我们保留动态参数中唤醒传播时间(RTT)关于队列长度的独立性。所以,我们
得到一个简化的动态模型:
( )
( ) ( )
( )
=
+−
>+−
=
−
+−
−−
+
=
•
•
.0,)(,0max
0),(
)(
)(
)(
2
)(
)(
1)( 0
0
0
qtW
tR
tNC
qtW
tR
tNC
q
Rtp
T
C
Rtq
RtWtW
T
C
tq
tW
pp
(3)
我们在平衡点处线性化(3)式,得到:
)(1)()(
)(
2
))()((1))()((
00
02
2
0
02
0
02
0
tq
R
tW
R
Ntq
Rtp
N
CR
Rtqtq
CR
RtWtW
CR
NW
δδδ
δ
δδδδδ
−=
−−
−+−−+−=
•
•
(4)
这里, 0WWW −=δ , 0qqq −=δ , 0ppp −=δ 代表平衡点处的扰动。
频域稳定性原理
线性控制系统中的传递函数 )(sC 代表一个线性化的 AQM控制器。闭环稳定性对于满足
AQM 控制目标是非常重要的。下面我们将给出稳定条件,相当于 )(sC 正定了低频模型
0)( sResP − 并增益稳定了高频窗口 )(s∆ 。在此,我们忽略高频扰动 )(s∆ 得到系统的标称传
递函数为:
( ) 00
0
2
0
2
12
2)( sRsRp e
R
s
CR
Ns
N
C
esPsG −−
+
+
== (5)
其频域特性为:
( ) 00
0
2
0
2
12
2)( RjRjp e
R
j
CR
Nj
N
C
ejPsG ωω
ωω
ω −−
+
+
== (6)
要使线性化的 AQM控制系统稳定,则应该使 )(sC 正定 0)( sResP − ,满足幅值裕度和相角裕度
两个条件。假定 PID控制器作用下系统的幅值裕度和相角裕度 mA 和 mP ,基于稳定性的要求,
应该有 1>mA 和 20 π<< mP ,根据稳定裕度的定义,我们有
mjP
ggp
mppp
ejCjG
AjCjG
−=
−=
)()(
1)()(
ωω
ωω
(7)
这里的 pω 和 gω 分别为相角和幅值截止频率。参数整定的目标就是通过调节 PID 系列
控制器的参数 PK 、 IK 或 DK 是使 mA 和 mP 满足给定要求。
这里为了确定 PID控制器的参数,需要增加一个额外的约束方程。在控制器的设计中,
闭环系统的带宽是应该仔细选择的,太宽则控制信号容易饱和;太窄则系统的相应缓慢。实
践中,一般选择闭环系统的带宽接近与开环带宽。因为控制器主要作用在相角截止频率以下
的范围内,通常用它近似闭环系统的带宽。所以,我们作如下选择:
cp ωω = (8)
cω 是被控对象的相角截止频率,满足: πω −=∠ )( cp jG (9)
四种控制算法的设计实现
P控制算法的实现
P控制器的传递函数为:
Pc KsQ
sPsG ==
)(
)()( (10)
所以,P控制器由队列的瞬时长度决定标记概率,控制器只需要跟踪队列长度。因此,
P控制的标记概率 p的更新方程为:
))()1(()()1( kqkqKkpkp P −++=+
即 )()()1( kKkpkp qP∆=−+ (11)
而 P控制器的频域特征为:
Pc KjG =)( ω (12)
我们可以求得控制器参数:
( )( )[ ]pmP jPAK ω1Re −= (13)
PI控制算法的实现
PI控制器的传递函数为:
s
bab
sQ
sPsGc
−+==
)(
)()( (14)
故 PI控制器则需要同时跟踪当前和上一个采样时刻的队列长度,相当于队列长度的微
分。PI控制器的标记概率在以 T为周期的采样时刻更新,在第 k+1个采样时刻,标记概率
p更新为:
也可以写作:
)()()()()1( kebakbkpkp q −+∆⋅=−+ 。 (15)
而 PI控制器的频域特征为:
ωω
bajbjGc
−−=)( (16)
我们可以求得控制器参数:
( )( )[ ]
( )( ) 1
1Re
−−−=
−=
pggppggpI
pmP
XXK
jPAK
ωωωωωω
ω
(17)
这 里 , ( )( )[ ]pmp jPAX ω1Im −= , ( )[ ]pjPg jPeX m ω−= Im 。 gω 满 足
)q1)b)(q(k(aq(k))1)b(q(kp(k)
))(())1(()()1(
0
00
−+−+−++=
−−−++=+ qkqbqkqakpkp
( )[ ] ( )[ ]pmpjP jPAjPe m ωω 1ReRe −=− ,即
( ) ( )( )
( ) ( )( ) mpp
gmp
AjPjP
jPPjP 1
cos
cos =∠
∠−
ωω
ωω
(18)
PID控制算法的实现
PID控制器的传递函数:
s
K
KsKsG IPDc ++⋅=)( (19)
给 PI控制器加上微分(D)控制可以提高系统的稳定性,减小反馈系统的超调量。D控
制意味着我们需要跟踪队列长度的二阶微分或者是队列平均数据包到达率的一阶微分。设
)(kλ 是在第K个采样时刻, KTt = 时所测量到的平均数据包到达率。那么普通 PID 控制
器中的 D控制就需要跟踪 )(kλ 的变化值。这个系统的标记概率更新机制为:
)()()1()()1( kKkKkeKkpkp DqPI λ∆+∆+++=+
即 )()()1()()1( kKkKkeKkpkp DqPI λ∆+∆++=−+ (20)
而 PID控制器的频域特征为:
ωωω
D
IPc
KjKjKjG −+=)( (21)
可以求得控制器参数:
( )( )[ ]
( )( )
( )( ) 1
1
1Re
−
−
−−=
−−=
−=
pggppggpD
pggppggpI
pmP
XXK
XXK
jPAK
ωωωωωω
ωωωωωω
ω
(22)
这 里 , ( )( )[ ]pmp jPAX ω1Im −= , ( )[ ]pjPg jPeX m ω−= Im 。 gω 满 足
( )[ ] ( )[ ]pmpjP jPAjPe m ωω 1ReRe −=− ,即
( ) ( )( )
( ) ( )( ) mpp
gmp
AjPjP
jPPjP 1
cos
cos =∠
∠−
ωω
ωω
(23)
NPID控制算法的实现
AQM 管理的一个目的就是在各种各样的网络条件下通过设置合适的参数使系统达到稳
定。然而,以前的许多 AQM控制方案都采用静态参数配置或者是在期望的条件下整定参数。
例如,在 REM和 AVQ控制中, PK 随 0p 的增加单调减小,同时 0p 又是 N 和
0
1
R
的增函数
(当 20202 2
1 RN λ<< 时 2
0
2
0
2
0
2
R
Np λ= )。因此,当N 减少或者 0R 增加时,会减小系统的相对
稳定性,而 pK 的增加导致系统更加不稳定。为了解决这个问题,我们引进一种适应性控制
机制,使得控制器得 PK 、 IK 和 DK 参数是 0p 的增函数。因此,当 N减小或者 0R 增加可能
影响系统稳定性时,控制器可以自动调节参数 PK 、 IK 和 DK 以增加稳定裕度。在这里,
我们引入一个更新函数m并将它应用到标记概率 p的动态特性中。
显示了一个非线性控制机制,这里的
∧
cG 是定常、非时变的 AQM控制器 PID。 l是单调
递增函数,
)(
1)('
pl
pm = 。那么
dt
tdqTKdttq
T
KtqKtpm DIP
)()()())(( ++⋅= ∫ (24)
在系统的操作点线性化上述方程,可得:
dt
tqdTKdttq
T
KtqKtp
dp
dm
D
I
Ppp
)()()()(|
0
δδδδ ++⋅= ∫= (25)
令 )(sP 和 )(sQ 分别为 )(tpδ 和 )(tqδ 的拉普拉斯变换。因此:
)()()(
)(
1
0
sQTsK
Ts
KKsP
pl D
I
P ⋅++= (26)
现在,我们提出一个 NPID控制器,它的传递函数为:
)()())((
)(
)()( 00 sGplTsKTs
KKpl
sQ
sPsG cDIPc
∧=⋅++== (27)
系统的离散化方程为:
)()()1())(())1(( kKkKkeKkpmkpm DqPI λ∆+∆++=−+
即 )))(()()()1(()1( 1 kpmkKkKkeKmkp DqPI +∆+∆++=+ − λ (28)
函数 l的选择决定了 PK 适应系统参数的速度。例如,当 0p 非常小时, PK 随 N 或
0
1
R
的增加而线性增加。当 xxl 2)( = , xxm =)( 时,NPID的标记概率更新方程可化为:
2))()()()1(()1( kpkKkKkeKkp DqPI +∆+∆++=+ λ (29)
NPID的参数选取同 PID控制器一致。
3. 仿真实验
仿真拓扑结构图
我们用 NS-2 仿真器做仿真,对几个 AQM 算法做比较。仿真拓扑结构图如上图所示,
定义了 3个中心路由节点 nc0、nc1和 nc2,发送端设置了 300个 FTP业务。队列缓冲器设
置为 1000max =q 分组。中心路由的链路上使用本文设计的 AQM 方案,分别为:P、PI、
PID和 NPID。nc0和 nc2之间为 100M带宽,延迟 1ms;而 nc2和 nc1之间为 40M带宽,延迟
4ms。采样时间 T=2ms,分组为 1000字节,目标队列长度 0q 设为 200个分组,默认使用策
略为标记而非丢弃。数据源同路由器之间的采用双向链路,10Mb带宽,20ms延时,并使用
弃尾策略。源端使用 TCP的 Reno控制。我们控制源端首先发送 50个 FTP业务,然后每 20
秒增加 50个 FTP业务。直到 100秒为止,最后维持恒定的 300个 FTP业务。
各 AQM算法参数的配置可设为:
: ×=PKP
66 10*,10*: −− == ip KKPI .
464 ,,: −−− ×=×=×= DIP KKKPID
465 ,,: −−− ×=×=×= DIP KKKNPID
各类 PID算法的队列变化图 各类 PID算法的丢弃概率变化图
仿真结果显示,PI 控制器能够将队列长度控制在期望值附近,相当于消除稳态误差,
控制效果优于 P控制。而 PID控制器将队列长度调到期望值附近的时间较 PI控制器小,说
明微分的加入减小了相应时间,这一点由分组丢弃概率曲线的变化过程反映的更加明显。队
列管理算法相应的迟缓性对实现主动队列管理的技术目标是不利的,主动队列管理主要关心
如何在保持高链路利用率的前提下,控制分组在路由器队列中的排队时间。如果链路相应的
出口缓存队列一直保持非空,便可达到 100%的链路利用率。因此,在任何负载状态下,将
队列长度保持在一个期望值附近,上述的两个技术目标也就自然而然地实现了。队列长度的
波动必然导致排队时延的抖动,这在强调 QoS的网络技术 研究背景下是应该避免的。而 NPID
由于考虑了网络条件的突发性变化,所以其抖动较 PID控制器要小,队列长度更加平稳,系
统性能更加良好。
4 结论
主动队列管理是作用在网络中间节点上的一种非常有效的拥塞控制策略,在保证较高吞
吐量的同时,有效地控制了缓存队列的长度,从而为要求时延保证的业务提供一种良好的实
现机制。基于经典控制理论的 P控制器加快了系统的相应时间,比作为 AQM标准的 RED算法
能够达到更好的性能。C. Hollot等人提出的 PI控制算法,在 AQM 算法中加入积分环节。
仿真结果表明,积分作用改善队列特性. 从经典控制理论上说,针对误差存在的问题,积分控
制可以有效地消除误差。PI控制器把队列长度控制在目标值附近,克服连接数目和往返时间
等扰动从而使终端很容易控制分组在网络中的排队时延。PI 控制器虽然能够消除余差,但
是调节时间过长,对路由器缓存大小的依赖也过强,所以在 PI的基础上加入微分环节形成
的 PID控制器,可以增加系统的响应能力,并能够提高系统稳定性,进一步提高系统性能。
标准 PID在配置参数时,都使用静态配置或在期望的网络条件下整定。为了能够使 AQM控制
器在各种各样的网络环境中设置合适的参数以满足系统的稳定性,这里提出了一种非线性控
制机制,控制器的参数 KP、KI和 KD都是标记概率的函数,也就是说,随着网络条件的变化
而变化,增加系统的稳定裕度,即非线性 PID控制器。另外,本文中参数配置利用频域的相
对稳定性原理,利用相角裕度和幅值裕度,增加了系统参数配置的可靠性。而仿真结果也表
明,PID系列参数对于实现 AQM的控制目标,效果较好。
但本文所涉及的系统也存在一定的缺陷。例如参数配置要考虑网络条件。每次变化网络
条件,都要重新配置参数。这对 PID控制算法的推广形成制约,因为 Internet上的各种条
件都是突发性的和不确定的。而在局域网范围内,由于网络条件相对固定,所以 PID控制器
能够达到较好的拥塞控制的效果。
参考文献
[1] V. Jacobson, M. J. Karels. Congestion avoidance and control. In Proc. of the ACM SIGCOMM’88
Conference. Stanford, CA, USA. 1988. 314~329
[2] W. Stevens. TCP slow start congestion avoidance, fast retransmit, and fast recovery. RFC 2001.
[3] Hashem E S. Analysis of random drop for gateway congestion control. Tech. Report MIT/LCS/TR-465, MIT
Lab for Computer Science, 1989
[4] B. Braden, et al. Recommendation on queue management and congestion avoidance in the Internet. RFC2309,
[5] Floyd S, Jacobson V. Random early detection gateway for congestion avoidance. ACM/IEEE Transaction on
Networking, 1993, 1(4). 397~413.
[6] M. Christiansen, K. Jeffay, D. Ott, F. D. Smith. Tuning RED for Web traffic. In Proc. of the ACM SIGCOMM
2000 Conference. Stockholm, Sweden, 2000. 139~150
[7] V. Firoiu, M. Borden. A study of active queue management for congestion control. In Proc. of
INFOCOM2000 Conference. Tel Aviv, Israel, 2000. 1435~1444
[8] Feng W, Kandlur D, Shin K. BLUE: A new class of active queue management algorithm. In: IEEE
INFOCOM 2001. Anchorage, Alaska, ~1734
[9] Athuraliya Sanjeewa, Low Steven H, Li Victor H, Yin Qinghe. REM: Active queue management. In: IEEE
Network, May 2001. 48~53
[10] Kunniyur S, Srikant R. Analysis and design of an adaptive virtual queue algorithm for active queue
management. In: ACM SIGCOMM 2001. San Diego, CA, USA, 2001
[11] Hollot C, Weibo Gong. Analysis and design of controllers for AQM routers supporting TCP flows. IEEE
Transactions on Automatic Control. 2002, 47(6)
[12] ns-2 network simulator.
[13] Mahdavi J and Floyd S. TCP friendly unicast rate based flow control. Note sent to end interest mailing list,
Jan. 1997
[14] Xidong Deng, Sungwon Yi, George Kesidis, Chita R. Das, A Control Theoretic Approach for Designing
Adaptive Active Queue Management Schemes_, Department of Computer Science and Engineering The
Pennsylvania State University State College, PA 16802 March 7, 2003
PID CONTROLLER FOR ACTIVE QUEUE
MANAGEMENT
Xiao Chun-peng Zhu Rui-jun
School of Electronic and Information Engineering of Dalian University of Technology,Dalian
116024, China
Abstract:In this paper we use a control theoretic approach to develop a generic framework for
analyzing various active queue management schemes as proportional-integral-derivative
on this PID model,we propose an adaptive control mechanism to improve the system
stability and robustness under changing network conditions. A simulation study under a wide range of
traffic conditions suggests that the proposed algorithms outperform the other AQM schemes.
Key words: AQM congestion control PID
作者简介:
朱瑞军,男,大连理工大学电子与信息工程学院 硕士生导师 博士后
肖春鹏,男,大连理工大学电子与信息工程学院 硕士研究生。