基于速率分组调度算法模型探究

基于速率分组调度算法模型探究

ID:5606643

大小:33.50 KB

页数:10页

时间:2017-12-19

基于速率分组调度算法模型探究_第1页
基于速率分组调度算法模型探究_第2页
基于速率分组调度算法模型探究_第3页
基于速率分组调度算法模型探究_第4页
基于速率分组调度算法模型探究_第5页
资源描述:

《基于速率分组调度算法模型探究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于速率分组调度算法模型探究  [摘要]分组调度算法是为网络提供服务质量保证的一项重要措施。本文提出了一种具有良好通用性的分组调度算法模型,该模型为实现各种基于速率的调度算法提供基本框架,模块化的设计方式使得算法的实现简便易行。[关键词]分组调度;服务质量;速率;算法;模型doi:10.3969/j.issn.1673-0194.2014.05.023[中图分类号]TP301.6[文献标识码]A[文章编号]1673-0194(2014)05-0038-030引言随着网络的飞速发展,其承载的业务逐渐向多媒体方向发展。视频点播、远程会议等实时性业务需要网络

2、为用户提供QoS(QualityofService)保证。分组调度算法克服了传统网络无法提供QoS保证的缺点,其中基于速率的分组调度算法由于可以为用户提供时延保证和良好的公平性,已成为近年来人们研究的重点。基于速率的分组调度算法主要包括:GPS(GeneralizedProcessorSharing)、VC(VirtualClock)、SFQ(Start-timeFairnessQueuing)、WFQ(WeightedFairQueuing)、WF2Q(Worst-caseWeightedFair10Queuing)和SCFQ(Self-Clocke

3、dFairQueuing)等。本文总结以上算法的公共特征提出了一种分组调度算法模型。该模型具有很好的通用性,可以作为载体实现各种基于速率的调度算法。同时,模块化的设计方式为算法的实现提供了统一的框架,使得算法实现简便易行。本文首先介绍了几种经典调度算法的原理,在此基础上提出了一种算法模型并给出了模型的模块化实现方法,最后以模型为基础实现了WFQ和VC两种算法。1算法简介GPS和VirtualClock是两种具有代表性的基于速率的分组调度算法。经过严格数学证明的GPS算法为许多后续算法提供了理论依据。GPS定义为:■≥■(j=1,2,…,n)(1)对每个

4、连接i均成立。其中Si(t1,t2)表示连接i在[t1,t2]内获得的服务量,?准i是和连接i相对应的非负实数[1]。GPS能够同时调度n个连接的数据并为每个连接提供一个最小的服务速率gi=r·?准i10/■?准i。它可以为每个连接提供严格的端到端时延保证和绝对的公平性,但它是一种理想的算法(同时为n个连接提供服务且调度的数据无限可分)。实际中,调度器在某一时刻只能为一个连接服务且数据包作为一个传输实体不是无限可分的。为了实现GPS算法的各项性能指标,人们提出了许多逼近GPS的算法,其中WFQ[2]和WF2Q[3]最具代表性。二者都是按照数据包在GPS

5、中完成时间的递增顺序来转发各个连接的数据包。不同的是:WFQ从已经到达的所有数据包中选择在相应的GPS中具有最小完成时间的数据包来转发;而WF2Q是从GPS中已经开始接受服务的数据包中选择完成时间最小的数据包发送即{Pik

6、bikGPS≤?子≤b■■},bik表示连接i的第k个数据包在GPS系统中开始接受服务的时刻[3]。VirtualClock算法为每个连接定义了两个虚拟时钟:Virtualclock和auxVC[4]。数据包到达后被打上一个由虚拟时钟根据连接速率计算出来的时间戳。调度器按照时间戳的递增顺序转发各个连接的数据包。2基于速率的分组调度模

7、型在基于速率的调度算法中速率是一个关键的概念。调度器中带宽的分配、流量的调节等操作都是以速率为参数执行的。2.1模型概述10网络中的每个连接在完成一次通信的过程中都要经历3个状态:Idle、Enabled和Blocked(如图1所示)。连接建立后首先进入Idle状态等待数据包的到达。当第一个数据包到达后连接被标记为eligible,进程模型调用函数choose_connection()在所有标记为eligible的连接中选择一个连接发送数据。如果该连接得到发包权,进程由Idle转入Enabled状态。进入Enabled状态的进程调用函数dequeue(

8、)发送数据,之后调用函数choose_connection()确定状态转移方向:(1)如果该连接队列中仍有待发的数据包且连接有权发包,状态转移到自身;(2)如果队列中仍有待发的数据包但连接无权发包,状态转移到Blocked;(3)如果队列为空则转移到Idle状态。处于Blocked状态的连接随着时间的推移可以重新获取发包权,此时进程状态由Blocked转移到Enabled并发送数据。2.2模型的模块化实现为了更加精确地说明进程的原理,为每个连接定义了一个数据结构,如表1所示。连接建立时会提供一个速率参数rq。re是调度器为连接提供的服务速率的最大值,它

9、是根据rq的值计算得到的,计算的方法由具体的算法指明。rm是连接实际得到的服务速率。对于有包待

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。