[发明专利]一种虚拟CPU调度方法有效
申请号: | 201210523614.9 | 申请日: | 2012-12-06 |
公开(公告)号: | CN103049332A | 公开(公告)日: | 2013-04-17 |
发明(设计)人: | 童薇;冯丹;刘景宁;张炬;李宇 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/455 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 方放 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟 cpu 调度 方法 | ||
1.一种虚拟CPU调度方法,包括如下步骤:
(1)初始化步骤,包括下述子步骤:
(1.1)将每个虚拟机的虚拟CPU信用值初始化,其中第i个虚拟机的第j个虚拟CPU信用值Cij为:
Cij=CT×Wi/(WT×Mi),
其中,CT为总信用值,WT为总权重,Wi为第i个虚拟机的权重,由用户设定,为正整数;Mi为第i个虚拟机的虚拟CPU个数,由用户设定,为小于P的整数;i=1~V,虚拟机的总数V=1~100,j=1~Mi,物理CPU的个数P=1~64;
CT=P×300,
(1.2)初始化各虚拟机的IO请求位图;
将各虚拟机的IO请求位图各位初始化为0;
IO请求位图为一维的N位数组,数组中不同的位,表示由不同IO设备产生的IO请求,“1”表示有IO请求,“0”表示无IO请求,N=10~40;
(1.3)初始化调度时间片表;
调度时间片表为一维的N字节数组,每字节8位,数组中每字节与各虚拟机的IO请求位图中的一位对应,表示IO请求位图中对应位的调度时间片;
判断是否N≤T0-1,T0=20~40,是则将调度时间片表中第q字节的值初始化为qms,q=1~N,转子步骤(1.4);否则将调度时间片表中第q字节的值初始化为qms,q=1~T0-1,再将调度时间片表中第T0字节~第N字节的值初始化为T0ms,转子步骤(1.4);
(1.4)将各虚拟CPU的优先级初始化为1;
(2)更新虚拟CPU信用值步骤:
置当前虚拟CPU信用值=当前虚拟CPU信用值-10×T1,
T1为当前虚拟CPU从上次开始运行至今经历的时间,单位为ms;
判断当前虚拟CPU信用值是否小于或者等于0,是则将当前虚拟CPU的优先级设置成0,转步骤(3);否则直接转步骤(3);
(3)加入队列步骤:
从物理CPU的运行队列队首开始,比较当前虚拟CPU的优先级是否大于运行队列中的虚拟CPU优先级,是则将当前虚拟CPU插入运行队列中相应虚拟CPU之前,否则顺序往后比较,直至运行队列队尾;
(4)选取运行虚拟CPU步骤,包括如下子步骤:
(4.1)从当前虚拟CPU所在物理CPU的运行队列中,检查队首虚拟CPU信用值是否小于或者等于0,是则转子步骤(4.2),否则从运行队列中取出队首虚拟CPU,转步骤(5);
(4.2)从其它各物理CPU上的运行队列中,检查队首虚拟CPU信用值是否均小于或者等于0,是则转子步骤(4.3);否则取出第一个信用值大于0的队首虚拟CPU,转步骤(5);
(4.3)将每个虚拟机的虚拟CPU优先级重新设置为1,每个虚拟机的虚拟CPU信用值重新初始化,其中第i个虚拟机的第j个虚拟CPU信用值Cij为:
Cij=Cij+CT×Wi/(WT×Mi);
(4.4)选择空闲虚拟CPU运行,运行时间为T0,当达到运行时间,转步骤(2);
(5)处理IO请求位图步骤,包括如下子步骤:
(5.1)检查所取出的队首虚拟CPU所属虚拟机的IO请求位图,判断该IO请求位图中是否各位都为“0”,是则转步骤(5.2),否则转步骤(5.3);
(5.2)设置该队首虚拟CPU的调度时间片为T0,转步骤(6);
(5.3)遍历该IO请求位图和调度时间片表,找到该IO请求位图中值为“1”的位并且在调度时间片表中找到相应各字节,从相应各字节中找到其值最小的字节;
将所述队首虚拟CPU的调度时间片设置为其值最小的字节的值,并且置其所属虚拟机的IO请求位图中对应该字节的位为“0”,转步骤(6);
(6)运行步骤:将所述队首虚拟CPU从所在运行队列中删除,并开始运行,运行时间为该虚拟CPU的调度时间片,当达到运行时间,转步骤(2)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210523614.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种万向扳手
- 下一篇:一种互感器测试线端夹持装置