一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于双队列的5G动态调度方法与流程

2022-05-06 04:53:28 来源:中国专利 TAG:

一种基于双队列的5g动态调度方法
技术领域
1.本发明涉及5g通信技术领域,尤其是涉及一种基于双队列的5g动态调度方法。


背景技术:

2.5g通信技术主要包括更高的数据流量业务,用户体验速率,以及更低时延等。随着用户对高质量服务的需求不断增长,网络资源的管理愈加成为一个挑战性的任务。而为了提高网络的性能,需要更合理地设计资源调度策略。在传统的3/4g调度领域,甚至作者之前对5g调度的研究,都集中在调度单队列,利用诸如多因素评估等方式来满足不同场景下的业务指标要求。这种方式易实现,但对业务指标要求变化的敏感度不够。因此,本发明重新设计一种基于双队列的动态调度方法,将不同指标需求的业务编入不同队列,通过调节队列的属性来实现差异化的调节。


技术实现要素:

3.本发明的发明目的是为了在一定5g系统资源的前提下通过将业务归类而更直观地得到不同业务属性的输出。设置两个独立的队列,每个队列对系统资源的索取通过场景需求设置,队列内部的调度则根据待服务的业务量实施动态调节,由此,能保障不同层级调度的实施,满足不同业务的指标要求。
4.为了实现上述目的,本发明采用以下技术方案:一种基于双队列的5g动态调度方法,其特征是,包括s个业务svrs={svr1,svr2,

,svrs},当前业务申请速率{vlc1,vlc2,

,vlcs},时延{dly1,dly2,

,dlys},时延容忍{dlt1,dlt2,

,dlts},轮空次数为{zr1,zr2,

,zrs};包括如下步骤:步骤一、业务队列标定:设定第1业务数据表、第一队列q1、定第二队列q2、业务标签门限,计算每个业务的标签判定值,根据标签判定值将业务放入第一队列q1或第二队列q2;步骤二、第一队列管理:设定单位轮片时间、q1队列一次性累计调度轮片数m,计算q1队列优先级;步骤三、第二队列演算:设定q2队列一次性累计调度轮片数n,计算q2队列优先级;步骤四、轮空控制:设定轮空门限,将轮空次数大于轮空门限的业务优先级置1;步骤五、总体调度:调度器在双队列q1和q2间进行循环调度,完成周期内q1队列调度后转向队列q2,然后重新转向q1,启动下一个调度周期。
5.本发明的一种基于双队列的5g动态调度方法dqds(double queue based 5g dynamic scheduling algorithm),首先根据业务属性将不同业务归类,设置两个独立的业务队列,分别放置不同场景下具备类似属性的业务。根据场景需求的差异化,设置不同的队列周期来申请系统资源。在队列内部则根据业务属性的不同动态地实施不同准则的调度,从而满足多场景的业务需求。同时,通过轮空控制行为来保证所有业务不会被遗忘,保障调
度机制的公平性。
6.作为优选,所述步骤一包括以下内容:(1-1)设定第1业务数据表,第1业务数据表包括业务名称,当前申请速率,业务时延,时延容忍,轮空次数等;(1-2)设定第一队列q1,装载时延敏感类业务,适用于urllc场景,设定第二队列q2,装载其它业务,适用于emmb等场景;设定业务标签门限svr
th
;对于svrs={svr1,svr2,

,svrs}中的每个业务svri,计算标签判定值jdgi=dlt
i-svr
th
,i=1,2,

,s;若满足jdgi≤0,则视svri为时延敏感类业务,放入队列q1中,否则置于队列q2中。
7.作为优选,所述步骤二包括以下内容:(2-1)设定单位轮片时间δτ,即调度器每隔δτ时间调度一次业务;设定q1队列一次性累计调度轮片数m,即在q1执行完m*δτ时间后才会转至q2队列;(2-2)核算q1队列中的业务数lensvr
q1
,计算q1队列中业务的时延剩余dlsj=dly
j-dltj,其中svrj∈q1;若满足case1条件m≥lensvr
q1
,队列q1采取rr(round-robin,轮循)调度准则,即q1中的所有业务交替被调度,计算优先级若满足case2条件m<lensvr
q1
,计算优先级ρ2j=exp(dlsj/100)=exp((dly
j-dltj)/100),其中,exp(
·
)表示以自然常数e为底的指数函数;(2-3)合算q1队列优先级
8.作为优选,所述步骤三包括以下内容:(3-1)设定q2队列一次性累计调度轮片数n,即在q2执行完n*δτ时间后才会转至q1队列;(3-2)核算q2队列中的业务数lensvr
q2
,计算q2队列中业务的总吞吐量其中svrk∈q2;若满足case3条件n≥lensvr
q2
,队列q2采取rr(round-robin,轮循)调度准则,即q2中的所有业务交替被调度,计算优先级其中,max(
·
)表示最大值函数;若满足case4条件n<lensvr
q2
,计算优先级(3-3)合算q2队列优先级
9.作为优选,所述步骤四包括以下内容:设定轮空门限zr
thr
>0;针对svrs={svr1,svr2,

,svrs}中业务svri的轮空次数{zr1,zr2,

,zrs},若满足zri≥zr
thr
,则将svri的优先级置1。
10.作为优选,所述步骤五包括以下内容:调度器在完成一个时间片δτ,或完成一个业务调度,或系统环境如参数和资源改变时更新调度优先级;调度器在以t=(m n)*δτ为一个周期在双队列q1和q2间进行循环调度;设定m
t
为当前q1队列轮片次数,m
t
≤m;初始调度从q1队列开始,m
t
置0;以优先级ρj每调度一次,m
t
加1,直至m,完成t周期内的q1队列调度,m
t
重新置0,然后转向队列q2,以同样的方式以优先级σk完成t周期内的q2调度并重新转向q1,启动下一个调度周期。
11.因此,本发明具有如下有益效果:在队列间,根据不同业务的不同属性,能够个性化地分配不同的调度资源;即使在队列内具备类似属性的业务之间,也能够根据业务量的大小动态调整业务优先级,从而满足不同的5g场景化需求。
附图说明
12.图1是本发明的流程图。
13.图2是本发明与其它算法的吞吐量对比图。
14.图3是本发明与其它算法的时延对比图。
15.图4是本发明与其它算法的调度公平性对比图。
具体实施方式
16.下面结合附图与具体实施方式对本发明做进一步的描述。
17.实施例1:如图1所示的实施例是一种基于双队列的5g动态调度方法,包括s个业务svrs={svr1,svr2,

,svrs},当前业务申请速率{vlc1,vlc2,

,vlcs},时延{dly1,dly2,

,dlys},时延容忍{dlt1,dlt2,

,dlts},轮空次数为{zr1,zr2,

,zrs};步骤1:业务列队标定;步骤1-1:设定第1业务数据表,第1业务数据表包括业务名称,当前申请速率,业务时延,时延容忍,轮空次数等;步骤1-2:设定第一队列q1,装载时延敏感类业务,适用于urllc场景,设定第二队列q2,装载其它业务,适用于emmb等场景;设定业务标签门限svr
th
;对于svrs={svr1,svr2,

,svrs}中的每个业务svri,计算标签判定值jdgi=dlt
i-svr
th
,i=1,2,

,s;若满足jdgi≤0,则视svri为时延敏感类业务,放入队列q1中,否则置于队列q2中;步骤2:第一队列管理;步骤2-1:设定单位轮片时间δτ,即调度器每隔δτ时间调度一次业务;设定q1队列一次性累计调度轮片数m,即在q1执行完m*δτ时间后才会转至q2队列;步骤2-2:核算q1队列中的业务数lensvr
q1
,计算q1队列中业务的时延剩余dlsj=dly
j-dltj,其中svrj∈q1;若满足case1条件m≥lensvr
q1
,队列q1采取rr(round-robin,轮循)调度准则,即q1中的所有业务交替被调度,计算优先级
若满足case2条件m<lensvr
q1
,计算优先级ρ2j=exp(dlsj/100)=exp((dly
j-dltj)/100),其中,exp(
·
)表示以自然常数e为底的指数函数;步骤2-3:合算q1队列优先级步骤3:第二队列演算;步骤3-1:设定q2队列一次性累计调度轮片数n,即在q2执行完n*δτ时间后才会转至q1队列;步骤3-2:核算q2队列中的业务数lensvr
q2
,计算q2队列中业务的总吞吐量其中svrk∈q2;若满足case3条件n≥lensvr
q2
,队列q2采取rr(round-robin,轮循)调度准则,即q2中的所有业务交替被调度,计算优先级其中,max(
·
)表示最大值函数;若满足case4条件n<lensvr
q2
,计算优先级步骤3-3:合算q2队列优先级步骤4:轮空控制设定轮空门限zr
thr
>0;针对svrs={svr1,svr2,

,svrs}中业务svri的轮空次数{zr1,zr2,

,zrs},若满足zri≥zr
thr
,则将svri的优先级置1;步骤5:总体调度调度器在完成一个时间片δτ,或完成一个业务调度,或系统环境如参数和资源改变时更新调度优先级;调度器在以t=(m n)*δτ为一个周期在双队列q1和q2间进行循环调度;设定m
t
为当前q1队列轮片次数,m
t
≤m;初始调度从q1队列开始,m
t
置0;以优先级ρj每调度一次,m
t
加1,直至m,完成t周期内的q1队列调度,m
t
重新置0,然后转向队列q2,以同样的方式以优先级σk完成t周期内的q2调度并重新转向q1,启动下一个调度周期。
18.实施例2:下面以s=7为例对本发明进行具体说明,5g系统当前时刻所开展的业务情况如表格1:表格1业务申请速率(mpbs)时延(ms)时延容忍(ms)轮空次数
svr12701004svr2815501svr331301503svr4111803000svr5450752svr6620606svr791302002基础数据如表2所示:表格2项目数据工作频率(ghz)2.6工作带宽(mhz)100子载波带宽指数1业务标签(ms)100q1队列时间片m2q2队列时间片n3轮空门限5本实例描述的一种基于双队列的5g动态调度方法,包括如下步骤:业务队列标定,第一队列管理,第二队列演算,轮空控制,总体调度;步骤1:业务列队标定;对于svrs={svr1,svr2,

,svr7}中的每个业务svri,计算标签判定值jdgi=dlt
i-svr
th
={0,-50,50,200,-25,-40,100};满足jdgi≤0的时延敏感类业务为{svr1,svr2,svr5,svr6},放入队列q1中,{svr3,svr4,svr7}置于队列q2中;步骤2:第一队列管理;q1队列中的业务数lennsvr
q1
=4,计算q1队列中业务的时延剩余dlsj=dly
j-dltj={-30,-35,
″″

″″
,-25,-40,
″″
};m=2<lensvr
q1
,满足case2条件,计算优先级合算q1队列优先级ρj=ρ2j;步骤3:第二队列演算;q2队列中的业务数lensvr
q2
=3,计算q2队列中业务的总吞吐量若满足case3条件n=3≥lensvr
q2
,队列q2采取rr(round-robin,轮循)调度准则,计算优先级合算q2队列优先级σk=σ1k;步骤4:轮空控制轮空门限zr
thr
=5;针对svrs={svr1,svr2,

,svrs}中业务svri的轮空次数{zr1,zr2,

,zrs},满足zri≥zr
thr
的业务为{svr6},则将svr6的优先级置1;
步骤5:总体调度由于svr6轮空,优先级升置1,调度器先按优先级ρj={0.74,0.7,
″″

″″
,0.78,1,
″″
}调度q1队列中的{svr1,svr2,svr5,svr6},调度顺序是{svr6,svr5,svr1,svr2},小计m=2个时间片,{svr1,svr2}轮空;然后以σk={
″″

″″
,0.48,0.48,
″″

″″
,0.48}调度q2队列中的{svr3,svr4,svr7},小计n=3个时间片。在完成5个时间片的调度后,启动下个调度周期。
19.仿真实验:将本发明的dqds方法,rr(round robin,轮询),fb(feedback queue,反馈队列)以及hrrn(highest response ratio next,高响应比优先)等四种方法进行matlab平台仿真,随机撒入一定的用户,并配置随机的业务,所得的吞吐量,时延和公平性分别参见附图2至4所示。
20.如图2所示,dqds能够针对吞吐量属性的非时延类业务队列设置较高的调度时长,从而获得更高的系统吞吐量,fb也类似,只不过队列的优先级依次递减,相对而言,hrrn更多考虑业务的调度时间,总体上与rr方法对系统的吞吐量贡献偏低;如图3所示,rr在机制上对时延顾及的不多,fb在队列越多优先级越低,时延越大,而dqds比较弹性,可以通过设置时延业务队列的分配资源数来缩短时延,同时可通过轮空控制行为来限制长时间的未调度行为而导致的长时延;但在用户数量增多的情况下,考虑作业时间的hrrn会逐渐展现优势;如图4所示,毫无疑问,rr算法的公平性最好,dqds在队列占用资源数充裕的前提下,采取rr调度机制,因此,公平性占优;用户数越多,占用调度队列越长,优先级越低,fb的公平性逐渐降低;与队列机制的dqds与fb相比,hrrn的公平性稍逊一筹。
21.上述实施例对本发明的具体描述,只用于对本发明进行进一步说明,不能理解为对本发明保护范围的限定,本领域的技术工程师根据上述发明的内容对本发明作出一些非本质的改进和调整均落入本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献