基于粒子群优化的主动队列管理方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于粒子群优化的主动队列管理方法
王军祥;林柏钢
【摘要】针对网络拥塞现象,基于粒子群优化(PSO)提出了一种新的主动队列管理算法RQQM.该算法首先通过粒子群优化和变异算子来计算当前队列长度,并且基于到达速率和当前队列长度给出了丢包策略和丢包概率.最后,以实际数据将RQQM 算法与基于速率的早期检测公平队列管理(RFED)算法和自适应主动队列管理(ABLUE)算法进行仿真实验,发现丢包率受利用率和缓冲区影响较大;同时实验结果表明RQQM算法的公平性远远优于其他两种算法,其平均丢包率降低至
12.21%.%In order to mitigate the network congestion, a new active queue management algorithm named RQQM (Rate and Queue-based Queue Management) was proposed by Particle Swarm Optimization ( PSO). In this algorithm, the actual queue length was deducted with PSO and variation factor, and the dropping strategy and dropping rate were given based on arrival rate and actual queue length. Then, a simulation with actual data was conducted to compare the algorithm performance between RQQM algorithm and RFED ( Rate-based Fair Early Detection) algorithm, as well as ABLUE ( Adaptive BLUE) algorithm. The results show that the dropping rate is greatly influenced by the utilization rate and buffer size, and the fairness of RQQM is much better than that of the other two algorithms, its average packet loss rate is decreased to 12. 21%.
【期刊名称】《计算机应用》
【年(卷),期】2013(033)002
【总页数】4页(P390-392,396)
【关键词】主动队列管理;丢包概率;粒子群优化;队列长度;到达速率
【作者】王军祥;林柏钢
【作者单位】福建船政交通职业学院信息工程系,福州350007;网络系统信息安全
福建省高校重点实验室(福州大学),福州350108;网络系统信息安全福建省高校重点实验室(福州大学),福州350108
【正文语种】中文
【中图分类】TP393.06;TP18
0 引言
随着网络拥塞程度的日益加剧,许多主动队列管理(Active Queue Management,AQM)方法被提出。
随机早期检测(Random Early Detection,RED)算法[1]作为最早的主动队列管理方法,成功地被运用在Internet上,但是它却存在全局同步、参数设置敏感等问题。
之后,研究人员基于RED提出了大量改进算法,比如BLUE[2]、CHOKe[3]和 ECHOKe[4]等。
BLUE算法减少了丢包率和对缓存空间的需求,但在队列溢出时时延抖动剧烈,并且只适合少量连接的链路。
CHOKe算法提供了一种近似公平队列管理机制,当一个分组到达时,随机从队列中取出一个数据包进行匹配,如果两者同属于一种流,则丢弃这两个数据包。
而ECHOKe算法主要是针对CHOKe算法惩罚力度不够提出的,将取出的多个被击
中的数据包全部丢弃,如果都未发生击中,则按照RED算法处理,丢弃数量最多
的那个流的某个数据包,但是当存在丢包时会不利于公平性。
对此,国内外学者做了大量研究。
文献[5]结合Kalman滤波器和神经网络,提出了一种自适应的主
动队列管理方法,它利用队列长度的变化率来预测下一时刻的队列长度。
Zhang
等[6]针对线性化控制器难以处理实际网络系统参数的不确定性,基于鲁棒控制理论提出了解决方法。
王新生等[7]基于数据流状态信息提出了一种新的主动队列管理算法,该算法通过比较不同数据流的到达时间来衡量其到达速率,以此识别出非适应性数据流,从而提高了算法的公平性。
刘伟彦等[8]提出的BLUE算法
基于链路空闲和缓冲溢出的状况来调整丢包率,当缓冲溢出时就增大丢包率,反之就减小丢包率。
Lim等[9]基于队列阈值提出了一种新的队列管理方法,以此动态改变业务流到达率。
姜文刚等[10]提出了N次弃头的队列管理方法,通过改
善弃尾队列管理的缺陷,能够有效提高往返时延(Round Trip Time,RTT)公平性。
在上述工作基础上,本文基于到达速率和当前队列长度提出了一种新的主动队列管理方法,同时利用粒子群优化(Particle Swarm Optimization,PSO)算法[11-12]和变异算子来刻画当前队列长度,并且通过仿真实验对比研究了该方法的有
效性。
1 主动队列管理策略
假设存在如图1所示的无线网络拓扑结构,Nodei(i=1,2,…,n)为业务流源节点,S为服务节点。
Nodei所发送的业务流经过排队并通过服务节点S进行转发。
令v表示业务流到达速率,c表示链路带宽,q表示当前队列长度,b表示缓冲区大小,p表示丢包概率。
为了减少网络拥塞程度,同时保持链路较高的利用率,本文将业务流的到达速率控制在链路带宽。
同时为了保证流的公平性,兼顾考虑了链路负载和当前队列长度,对占用带宽较多的流或者当前队列长度越大,将会以较大概率进行丢包操作。
图1 网络仿真结构
本文基于到达速率和当前队列长度提出如下主动队列管理策略RQQM(Rate and Queue-based Queue Management):
1)首先判断到达速率v与链路带宽c之间的关系,如果v<c,说明当前网络比较
顺畅,不进行丢包操作,将到达的业务流插入队列等待转发,重复步骤1)。
2)如果v≥c,进一步判断当前队列长度q与缓冲区大小b之间的关系:
a)如果q≤b/3,说明当前网络轻度拥塞,那么根据式(1)按照丢包概率p进行丢包操作,否则跳转到步骤b)。
b)如果b/3<q≤2b/3,说明当前网络中度拥塞,那么根据式(2)按照丢包概率p进行丢包操作,否则跳转到步骤c)。
c)如果q>2b/3,说明当前网络拥塞程度严重,那么以丢包概率1进行丢包操作,若运行完成就跳转到步骤3),否则跳转到步骤1)。
3)算法结束。
从以上的丢包策略可以看出,其关键在于计算当前队列长度和业务流达到速率。
由于业务流到达速率可以通过定期测量来获取,那么问题的核心就集中在当前队列长度。
以往计算当前队列长度的方法很多,但是存在预测误差偏大、计算时间较长等缺点,所以本文结合粒子群算法提出了一种新的计算方法。
2 队列长度计算
队列长度是由源节点、带宽、缓冲区大小等各方面资源共同决定的,所以可以将其转化为在这一系列约束条件下的寻优操作。
这里将业务流看作粒子,采用粒子群优化算法进行研究。
为了提高网络的利用效率,在满足约束条件下更希望能够处理较多的业务流以此减少队列长度。
同时,当业务流的队列长度达到主动队列管理策略中设定的下限,就需要启动相应的丢包策略,所以这里根据整数规划建立如下队列长度模型以获得其下限值:
其中:qk为某源节点k上的业务流,rk表示源节点k上被队列接纳的业务流,ak 表示源节点k上被队列丢弃的业务流。
而函数f代表在PSO算法下获得的业务流队列长度表达式。
由于实际业务流具有长相关特性,根据文献[13]研究结果,业务流队列长度可表示为:
其中:c为链路带宽;α为方差系数;b为缓冲区大小;v为业务流到达速率;Γ为Gamma函数;H为Hurst参数,用来刻画长相关程度。
PSO通过个体间特殊的信息传递方式,使团体朝着较优的方向发展,使得群体获得最大利益。
传统的PSO算法容易导致局部极小,搜索精度不高;同时信息共享机制使得寻优过程过分集中,不能用于多态函数优化。
所以本文结合变异算子来改进PSO算法的缺陷,其基本思路是:当PSO搜索的粒子不满足条件时,采用变异算子获得的结果进行比较,若结果优于当前解则更新位置。
对比文献[14]提出的粒子群优化算法,本文基于变异算子提出一种新的PSO算法:
1)初始化网络,设置业务流到达速率v、链路带宽c、缓冲区大小b等参数。
2)令初始时刻t=0,将业务流视作粒子,确定粒子群规模n和搜索空间维数d,并产生粒子群的初始位置xi(0)和速度vi(0)(i=1,2,…,n)。
3)判断当前粒子i是否满足约束条件,如果是则跳转到4),否则按照式(6)和式(7)所示的变异算子进行计算,并替换xi(0)。
其中:xb(t)和xa(t)分别为xi(t)的上下限;η为扰动项;μ为变异分布指数;rand()为0~1的随机数。
4)按照式(8)计算粒子i的适应值λ,并将粒子i的最佳位置yi确定为当前位置,同时令y为种群的最佳位置。
其中χ和φ为正常数。
6)根据更新之后的粒子状态,判断粒子i是否满足约束条件,如果是则跳转到9);
否则以xi(t)作为初始点,重新采用变异算子计算的结果替换xi(t),并计算其适应度。
7)判断粒子i的适应度是否优于yi的适应度,如果是则令yi为粒子i的适应值。
8)判断粒子i的适应度是否优于y的适应度,如果是则令y为粒子i的适应值。
9)输入当前最优适应度对应的f(q)值,即为当前队列长度。
10)令t=t+1,判断当前系统运行时间是否结束,如果是则跳转到11),否则跳转
到5)。
11)算法结束。
3 仿真实验
根据上述方法,本文首先在OPENT中建立如图1所示的仿真结构,假设存在10
个数据源节点Noden(n=1,2,…,10),缓冲区大小为1 000 packets,各链路带宽为10 Mb/s,延时为20 ms,数据包大小为500 B。
为了验证RQQM算法
的有效性,这里将与文献[15]提出的基于速率的早期检测公平队列管理(Rate-based Fair Early Detection,RFED)算法以及和文献[16]提出的自适应主动队
列管理(Adaptive BLUE,ABLUE)算法进行对比分析。
图2显示了在100 s内三种算法的业务流丢包情况。
从图2的整体情况来看,本文的RQQM算法丢包最少,其次是ABLUE算法,性能最差的是RFED算法。
通过数据分析,RQQM算法、ABLUE算法和RFED算法的平均丢包率分别为12.21%、19.83%和24.76%。
图2 丢包情况比较
其次,在图3中给出了三种算法公平性RTT的对比情况。
RTT用来表示从各源节
点Noden发送数据起,一直到源节点收到来自节点S的确认,总共所经历的时间。
RTT由链路传播时延、系统处理时延和路由器的排队时延构成,而前两个时延对
于TCP连接来说相对固定,路由器的排队时延会随网络拥塞情况而变化。
所以RTT一定程度上反映了网络拥塞程度的变化。
图3显示了有效传输业务量与RTT
公平性之间的关系。
从图3可以看出,RQQM算法公平性优于其他两种算法;而RFED算法和ABLUE算法相比较,RFED算法在前期优于ABLUE算法,当RTT
超过60 s后,其性能劣于ABLUE算法。
图3 RTT公平性比较
为了进一步验证RQQM算法的有效性,将缓冲区大小变化之后的丢包情况进行比较,分别设置缓冲区大小b为1000 packets、2000 packets和3000 packets,其结果如图4所示。
从图4可以看出,并非缓冲区越大其丢包越小。
在仿真初期,缓冲区越大对应的丢包率越小,而在仿真后期情况发生了突变。
这是因为在开始阶段业务流达到还不密集,缓冲区越大越能更多地接纳达到的业务流,从而丢包越少;而当聚集的业务流增大后,缓冲区越大使得排队的队列越长,这将会影响RQQM
算法中的丢包概率不断增大,从而加重了丢包情况。
图4 不同缓冲区的丢包情况比较
同时,图5给出了不同缓冲区的丢包率与链路利用率ρ之间的关系(仍然以缓冲区大小 b为1 000 packets、2 000 packets和3000 packets为例),链路利用率ρ定义为业务流达到速度与链路带宽的比值。
从图5的整体趋势可以看出,随着链
路利用率的增加,丢包率是不断降低的,并且存在和图4类似的突变情况:在链路
利用率比较小的情况下,缓冲区越大对应的丢包率越小;但是当链路利用率比较大
的情况下,缓冲区越小对应的丢包率越小,其原因与图4相同。
图5 丢包率与链路利用率之间的关系
最后,将变异分布指数μ作为研究对象。
当μ分别取0.1、0.2和0.3时其传输业
务量的情况如图6所示。
根据图6的仿真结果,开始阶段μ越小对应的传输业务
量越大;而在后期情况正好相反,μ越大对应的传输业务量越大。
由式(7)可知,μ越小对应的扰动项η越大,这使得业务流到达速度朝越快的方向发展,因而在初期可以提高网络传输的利用率;但是当业务流聚集增多时,势必会增加排队队长,从而造成丢包率的增加,使得传输业务量降低。
图6 不同变异分布指数的传输业务量比较
4 结语
针对主动队列管理中处理丢包的公平性问题,本文利用到达速率和当前队列长度提出了一种新的管理方法RQQM。
该方法首先通过判断到达速率与链路带宽,以及当前队列长度与缓冲区大小之间的关系,建立了不同状态下的丢包概率。
同时,基于粒子群优化算法和变异算子来对当前队列长度进行求解。
最后通过仿真实验对比分析了该方法与ABLUE算法、RFED算法之间的性能优劣,结果表明RQQM具有较好的适应性。
在后续研究中,还可考虑结合其他主动队列管理方法(比如BLUE、PID等)来提高网络传输效率。
参考文献:
[1] CHEN W,YANG S-H.The mechanism of adapting RED parameters to TCP traffic[J].Computer Communications, 2009, 32(13/14):1525-1530.
[2]汪洋,张涛,张军.一种快速维持队列稳定的 BLUE改进算法[J].计算机工程,2010,36(22):119 -121.
[3] WEN S,FANG Y,SUN H.Differentiated bandwidth allocation with TCP protection in core routers [J].IEEE Transactions on Parallel and Distributed Systems,2009,20(1):34-47.
[4]王建新,周雄伟,杨湘.一种惩罚非适应流的无状态主动队列管理算法[J].系统工程与电子技术,2006,28(12):1935 -1939.
[5]闫巧,胡晓娟,雷琼钰.自适应卡尔曼滤波的主动队列管理算法[J].计算
机科学,2012,39(2):88 -91.
[6] ZHANG Y P,KANG S-R,LOGUINOV D.Delay-independent stability and performance of distributed congestion control[J].IEEE/ACM Transactions on Networking,2007, 15(4):838 -851.
[7]王新生,袁小波.一种改进的主动队列管理算法[J].计算机工程,2011,37(10):79 -80.
[8]刘伟彦,孙雁飞,张顺颐,等.一种参数自适应的主动队列管理算法——自适应 BLUE[J].电子与信息学报,2009,31(2):442 -446.
[9] LIM L B,GUAN L,GRIGG A,et al.Controlling mean queuing delay under multi-class bursty and correlated traffic [J].Journal of Computer and System Sciences,2011,77(5):898-916.
[10]姜文刚,孙金生,王执铨.N次弃头的被动队列管理算法[J].小型微型计算机系统,2011,32(9):1849 -1853.
[11]王勇,张伟,陈军,等.改进粒子群优化算法研究[J].计算机科学,2009,36(8):258 -259.
[12]罗金炎.连续型粒子群优化算法的均方收敛性分析[J].电子学报,2012,40(7):1364 -1367.
[13] TAN X H,HUANG Y H,JIN W D.Modeling and performance analysis of self-similar traffic based on FBM [C]//IFIP International Conference on Network and Parallel Computing
Workshops.Piscataway:IEEE,2007:543-548.
[14]张利凤,胡小兵.求解非线性约束问题的混合粒子群优化算法[J].计算机科学,2011,38(Z10):178 -180,188.
[15]邹雪兰,刘伟彦,孙雁飞.一种基于速率的公平队列管理算法[J].计算机工程,2009,35(6):29 -31.
[16]冯伟,陈元琰,胡愚,等.一种自适应主动队列管理算法ABlue[J].计算机工程,2011,37(10):84 -86.。