[发明专利]一种动态分配配额的方法和装置有效
申请号: | 201510537019.4 | 申请日: | 2015-08-27 |
公开(公告)号: | CN105183559B | 公开(公告)日: | 2019-05-24 |
发明(设计)人: | 闫晓峰;吴楠 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 解婷婷;曲鹏 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态分配 配额 方法 装置 | ||
本发明公开了一种动态分配配额的方法和装置,包括:确定CPU上运行的各个任务的是忙任务还是闲任务;为确定出的各个忙任务分配带宽以及为确定出的各个闲任务分配带宽;各个忙任务和各个闲任务按照分配的带宽运行。本发明技术方案实现了调度系统中配额的动态分配,更加合理的使用带宽。
技术领域
本发明涉及操作系统调度领域,尤指一种动态分配配额的方法和装置。
背景技术
目前的操作系统中的调度系统,在实时调度中主要采用以deadline为优先级的调度机制,这种调度机制是没有动态配额的机制,这导致忙的任务只能运行指定的配额,而不能从系统中得到更多的配额。从宏观的角度看就是忙的任务由于得不到更多的配额,因此导致总是不能及时的处理业务。具体如图1所示:假设一个CPU上运行2个任务,分别为T1(忙任务)和T2(闲的任务),假定每个任务初始占用CPU的带宽均为30%。在目前的dealine为优先级的调度中,T1和T2不能超过指定的带宽,在图1中可以得到一开始的时候两个任务的带宽之和为T1+T2=30%+30%=60%。运行时T2会让出一部分带宽,因为T2闲任务,它会主动让出CPU,但是T1得不到T2让出的带宽。所以T1仍然按照30%的带宽运行。如果有动态配额T1会得到T2剩余的配额,这样T1将以超过30%的带宽得以运行,从宏观上看忙任务T1业务量处理就变快了。
发明内容
为了解决上述技术问题,本发明提供了一种动态分配配额的方法和装置,能够实现调度系统中配额的动态分配,能够更加合理的使用带宽。
为了达到本发明目的,本发明提供了一种动态分配配额的方法,包括:
确定CPU上运行的各个任务的是忙任务还是闲任务;
为确定出的各个忙任务分配带宽以及为确定出的各个闲任务分配带宽;
各个忙任务和各个闲任务按照分配的带宽运行。
进一步地,所述为确定出的各个忙任务分配带宽,包括:
计算所述CPU的当前可用带宽;
获取确定出的各个忙任务的初始带宽并计算获得的各个忙任务的初始带宽之和;
根据计算出的所述CPU的当前可用带宽和计算出的各个忙任务的初始带宽之和为确定出的各个忙任务分配带宽。
进一步地,通过以下公式为确定出的各个忙任务分配带宽:
其中,u(i)aim1是为忙任务i分配的带宽,u(i)def是忙任务i的初始带宽,uava是所述CPU的当前可用带宽,ucompt是各个忙任务的初始带宽之和。
进一步地,所述计算所述CPU的当前可用带宽,包括:
确定所述CPU的总带宽;
获取各个闲任务的上次运行时的实际运行带宽并计算获得的各个闲任务的上次运行时的实际运行带宽之和;
所述确定出的所述CPU的总带宽与计算出的获得的各个闲任务的上次运行时的实际运行带宽之和的差值为该CPU的当前可用带宽。
进一步地,通过以下公式确定所述CPU的总带宽:
其中,utotal为所述CPU的总带宽,udef为该CPU上运行的各个忙任务的初始带宽之和,ulimit为调度系统占用所述CPU的带宽上限。
进一步地,为确定出的各个闲任务分配带宽,包括:获取记录的各个闲任务上次运行时的实际运行带宽、各个闲任务本次运行时的剩余带宽和各个闲任务的最小运行带宽;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510537019.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种资源分配方法和系统
- 下一篇:计算机软件远程自动化装调方法及系统