[发明专利]虚拟机实时任务的调度方法、装置和虚拟机有效
申请号: | 201310684535.0 | 申请日: | 2013-12-13 |
公开(公告)号: | CN103677990B | 公开(公告)日: | 2018-01-16 |
发明(设计)人: | 郑纬民;武永卫;姜进磊;赵勋 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/455 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙)11201 | 代理人: | 张大威 |
地址: | 100084 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出一种虚拟机实时任务的调度方法、装置和虚拟机。其中,所述方法包括以下步骤当任务的执行周期开始时,分别初始化多个虚拟处理器VCPU,并为每个VCPU分配预设大小的信用值,其中,信用值为自然数;分别为每个VCPU分配指定的紧急度Urgency值;以及分别获取每个VCPU的状态信息,并根据状态信息和Urgency值生成优先级队列,以使物理处理器PCPU根据优先级队列选择对应的VCPU执行任务。本发明实施例方法,会在每个周期优先切换具有urgent状态的VCPU,由此,实时任务可以被及时响应。实验使用ping延迟与web服务器的吞吐量表明这种调度方法可以及时处理实时任务,并提高了响应时间的稳定性。 | ||
搜索关键词: | 虚拟机 实时 任务 调度 方法 装置 | ||
【主权项】:
一种虚拟机实时任务的调度方法,其特征在于,包括以下步骤:当任务的执行周期开始时,分别初始化多个虚拟处理器VCPU,并为每个VCPU分配预设大小的信用值,其中,所述信用值为自然数;分别获取每个所述VCPU的状态信息,并为每个所述VCPU分配指定的紧急度Urgency值;根据所述状态信息和所述Urgency值生成优先级队列,以使物理处理器PCPU根据所述优先级队列选择对应的所述VCPU执行任务;当所述VCPU执行任务完成后,从所述VCPU分配的所述预设大小的信用值中减去对应的信用值,并根据剩余信用值和所述VCPU的状态信息获取所述VCPU更新后的状态信息,其中,如果所述VCPU处于boost状态,且所述VCPU的剩余信用值大于0,且所述VCPU的所述Urgency值等于0,则将所述VCPU的状态信息更新为under状态;如果所述VCPU处于boost状态,且所述VCPU的剩余信用值大于0,且所述VCPU的所述Urgency值大于0,则将所述VCPU的状态信息更新为urgent状态;如果所述VCPU处于boost状态,且所述VCPU的剩余信用值等于0,则将所述VCPU的状态信息更新为over状态;如果所述VCPU处于urgent状态,且所述VCPU接收到I/O事件,则将所述VCPU的状态信息更新为boost状态;如果所述VCPU处于urgent状态,且所述VCPU的剩余信用值等于0,则将所述VCPU的状态信息更新为over状态;如果所述VCPU处于urgent状态,且所述VCPU的I/O阻塞,则将所述VCPU的状态信息更新为idle状态;如果所述VCPU处于under状态,且所述VCPU的剩余信用值等于0,则将所述VCPU的状态信息更新为over状态;如果所述VCPU处于under状态,且所述VCPU的I/O阻塞,则将所述VCPU的状态信息更新为idle状态;如果所述VCPU处于over状态,且所述VCPU重新分配信用值,且所述VCPU的所述Urgency值等于0,则将所述VCPU的状态信息更新为under状态;如果所述VCPU处于over状态,且所述VCPU重新分配信用值,且所述VCPU的所述Urgency值大于0,则将所述VCPU的状态信息更新为urgent状态;如果所述VCPU处于idle状态,且所述VCPU接收到I/O事件,则将所述VCPU的状态信息更新为boost状态。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310684535.0/,转载请声明来源钻瓜专利网。
- 上一篇:在电子装置上产生掩蔽信号
- 下一篇:一种广告播放方法及装置