基于控制理论的主动队列管理的研究
来源:岁月联盟
时间:2010-08-30
1 引言
由于Internet数据本质上是突发的,因此允许传输突发的数据非常必要,而路由器中队列的重要作用就是吸收突发的数据包。较大的队列能够吸收更多突发的数据包,提高吞吐量,但TCP机制往往会保持较高的队列占用,从而增加了数据包的排队延迟。主动队列管理机制就是要维持一个较小的队列长度以降低排队延迟,提高吞吐量,其中最著名的就是RED算法[1],然而RED算法对网络环境敏感,可能导致队列振荡、吞吐量下降、延迟等问题。为了解决这个问题,业界提出了各种改进算法,但是大部分算法都在很大程度上依赖于参数的设置。不合适的参数很容易导致网络性能的下降,甚至导致系统的不稳定性。近些年来,人们将控制理论引入到主动队列的管理中,通过建立拥塞控制器,使队列长度尽快的达到期望值,从而减小延迟时间,保持高的链路利用率。本文针对主动队列管理中控制理论的应用进行了研究。
2 经典控制理论在AQM中的应用
2.1 PI控制器
在随机早期检测(RED)算法中,当分组到来时,主要按照以下处理方式来进行: (1)若平均队列长度小于最小阈值minth,则分组进入队列排队。 (2)若平均队列长度位于minth和maxth之间,则以概率P丢弃到来的包。 (3)若平均队列大于最大阈值maxth,则丢弃到来的所有包。 从控制论的角度分析,RED算法等价于比例控制器加上低通滤波(LPF)。低通滤波的存在降低了网络对拥塞的快速响应能力。而参数的选择必须要考虑队列的稳定裕度和快速性的折衷。比例控制器的缺点是存在“稳态误差”,稳态误差的大小依赖于网络的环境,这是平均队列随网络流量增长的主要原因。有时可能出现误差超过缓冲的大小,从而引起振荡现象的发生。 Misra等人基于流体流理论建立了AQM作用下的TCP连接上拥塞窗口的动态模型[2],它可以用下面的一组非线性微分方程来描述:
图1 TCP/AQM系统 基于上面的TCP/AQM控制理论模型,Hollot进行了合理的线性化处理,提出了用比例控制器和积分控制器来产生反馈控制系统(如图2所示)。积分(I)控制器有一个很重要的属性:能够使稳态误差为0。如果在AQM中引入积分控制器,就可以解除队列长度和丢弃概率之间的直接耦合,从而消除稳态误差。
图2 AQM控制系统(PI) PI控制器建立在TCP流量模型基础上,与RED相比性能大大提高,能够将队列长度控制在预期的范围内,同时保持良好的稳态和瞬态性能。但是在缓冲区较小或者路由器上负载较大时,队列需要较长时间才能收敛到期望值附近。在AQM算法中使用PI控制器虽然可以消除稳态误差,但同时也会减慢系统的反应速度。当网络中的流量发生很大变化时,PI控制器需要的收敛时间远远长于比例控制器。2.2 PID控制器
为了解决PI控制器的调节时间过长,对路由器缓存大小的依赖性过强的问题,又引入了微分环节,设计用于主动队列管理的PID控制器[3](如图3所示),可以缩短控制器的调节时间,使队列尽快趋于期望值附近,提高网络的性能。
图3 模拟PID控制系统原理框图 PID控制器是一种线性控制器,其控制为:
或写成传递函数的形式:
2.3 PI控制器与PID控制器的比较
(1)主动队列管理不仅关心如何保持高链路利用率,而且还要控制分组在路由器队列中的排队时间,PID控制器可以迅速地将队列长度调节到期望值附近,保证以上两个目标的实现,但PI控制器却要花费相当长的时间。 (2)队列的波动必然导致排队时延的抖动,实验发现PID控制的队列对负载变化的敏感程度没有PI那么强,可以很快地将队列调节到期望值附近。 (3)针对中响应流和非响应流共存的情况,PID控制器的反应速度仍然比PI控制器快,同时其平均队列长度也要短些,从而减少了延迟时间。3 智能控制理论在AQM中的应用研究
经典控制理论对问题的解决在很大程度上依赖于被控对象的数学模型精度,但要得到实际对象的精确模型较难,往往需要许多假设和限制。智能控制是控制理论的高级阶段,它主要解决经典控制理论难以解决的复杂系统的控制问题,研究对象是不确定的模型,呈高度的非线性,任务复杂。模糊控制和神经网络控制作为智能控制的两大分支,今年来在网络拥塞控制中得到了广泛的应用。3.1 模糊控制在AQM中的应用
在实际网络中,AQM算法存在不稳定性,同时对参数的变化很敏感,而AQM算法所依据的模型也是忽略了许多因素后得到的,与实际系统有较大的距离。对此类复杂、时变、不确定性的网络,模糊控制则能解决这一问题。模糊控制系统采用如图4所示的结构,其中输入变量为队列长度和队列长度的变化率,输出变量为丢包率。
图4 基于模糊控制的主动队列管理系统 1)模糊理论用于队列长度管理 Chrysostomou[4]等人提出了一种基于TCP/IP best-effort网络的AQM新方案——Fuzzy Explicit Marking (FEM)。该方法通过预先设定一个目标队列长度(TQL)来调节IP路由器中的队列长度,同时获得较高的网络利用率和较低的平均延时。 2)模糊理论用于不同连接的处理 [5]提出的算法是根据缓冲队列长度大小,采用模糊理论得出丢包概率。该模糊算法采用局部拥塞控制和全局拥塞控制相结合的策略对队列的丢包进行控制。这种方法解决了RED算法不在拥塞状态的连接也可能出现丢包的现象,使得路由器能够在发生拥塞时智能地分清各连接的状态,并能正确处理处于拥塞状态的数据包,保护和隔离非拥塞状态的TCP连接,优化网络利用率。 参考文献[6]是基于加权公平队列(WFQ)原理提出的模糊控制算法,能够根据各连接的权值分配相应的队列长度和带宽。同时,当局部拥塞时可部分增加某队列长度,使队列推出拥塞状态,以免在网络负载较轻时,长队列流过早受到阻塞。 3)模糊理论用于丢包方法的处理 现有的AQM算法基本都沿用了RED的概率丢弃机制。但分组概率丢弃机制中随机数的生成需要大的开销,不利于优化网络设备性能。参考文献[7]提出一种利用模糊逻辑决定是否丢包的方法,以进一步优化路由器的传输性能。同时,又定义了拥塞指数这个新的测量变量来量化描述网络的拥塞状态。在此基础上,利用模糊逻辑设计了一种智能分组丢弃机制。离线的合成推理使得分组丢弃判定仅需要简单查表和比较运算即可完成。