● 摘要
队列算法分为队列管理算法和队列调度算法。队列管理算法能够很好地减轻拥塞,被广泛地应用于拥塞控制;而队列调度算法在保障服务质量(Quality of Service,QoS)方面起到重要作用。随机早期检测算法RED和优先级队列算法PQ作为经典的队列算法,一直受到广泛关注,但仍存在一些待解决的问题,如RED算法没有考虑到业务流的优先级问题,不能较好地区分服务,而PQ算法则过于严格按照优先级调度,以致低优先级的业务流性能不高。
本文在深入调研现有的大量队列算法的基础上,针对上述提出的不足之处,对RED算法和PQ算法进行了改进,提出了两种新的队列算法,获得了如下的研究成果:
(1) 对现有的大量队列算法进行调研,分析并比较了多种经典算法,对以后的研究工作具有一定的指导意义。
(2) 在RED算法的基础上,提出了基于优先级的RED改进算法——PbRED(Priority based RED)。PbRED旨在将RED算法应用于具有优先级的场景中,通过使用优先级信息调整丢弃概率,达到对不同优先级业务流进行区分服务的目的。
(3) 在PQ算法的基础上,提出了优先级与带宽需求相结合的分组调度算法——PRQ(Priority and bandwidth Requirement Queueing)。PRQ算法使用优先级信息与带宽需求来共同决定调度概率,改善了公平性,在保证高优先级业务流的QoS的基础上,提升了低业务流的性能和整体性能。
(4) 在NS2网络仿真平台下进行了大量的算法实现和仿真实验。在现有基础上实现了几种经典队列算法,并自主实现了本文所提出的两种算法。进行了大量的仿真实验,使用丢包率、吞吐量、时延等性能评价指标,来评估本文所实现的这些算法的性能。
仿真实验结果表明,PbRED算法和PRQ算法的性能都很好。PbRED算法相比于RED算法,在队列长度和公平性基本保持不变的前提下,各优先级的丢包率和吞吐量得到较好的区分,高优先级的丢包率较低、吞吐量较高。同时,整体吞吐量比RED也有所提升。PRQ算法相比于PQ算法,整体丢包率、时延、时延抖动、吞吐量和公平性等性能都有非常显著的提升。
相关内容
相关标签