[发明专利]虚拟机实时任务的调度方法、装置和虚拟机有效
申请号: | 201310684535.0 | 申请日: | 2013-12-13 |
公开(公告)号: | CN103677990B | 公开(公告)日: | 2018-01-16 |
发明(设计)人: | 郑纬民;武永卫;姜进磊;赵勋 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/455 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙)11201 | 代理人: | 张大威 |
地址: | 100084 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟机 实时 任务 调度 方法 装置 | ||
技术领域
本发明涉及虚拟机调度领域,尤其涉及一种虚拟机实时任务的调度方法、装置和虚拟机。
背景技术
随着云计算的快速发展,业内公司提供了越来越多的基于虚拟化技术的服务。它们逐步使用虚拟机代替了传统的物理机,这种方式能够充分利用物理资源,并且提供更好的服务,成为了一种主要发展趋势。
目前,最常被使用到的虚拟机是VMware ESX和Xen(VMware ESX是由VMware公司研发的软件产品,Xen则是剑桥大学创建的开放源代码虚拟机监视器)。Xen作为虚拟机监控程序,使得多个操作系统可以同时运行在单个计算机上,并且支持半虚拟化和虚拟机的在线迁移。在Xen虚拟机中,管理程序会提供区域来运行虚拟机。Dom0是特殊的驱动区域,类似底层物理硬件与其他区域之间的抽象层。因此,Dom0将处理所有I/O(input/output,输入/输出端口)请求。当某个虚拟机产生I/O请求,就会产生虚拟中断,然后将该请求提交给Dom0。类似于进程的上下文切换,在调度器切换虚拟机时,也需要完成相应的上下文切换(例如,运行中虚拟机的状态将被保存,而其它虚拟机的状态将被恢复)。由于上下文切换会带来额外的开销,因此需要根据不同的应用属性做出良好的决策,避免不合理的切换,从而更好的利用物理机。
为此,Xen虚拟机监控程序提供了三种CPU调度算法,Borrowed Virtual Time调度算法、Simple Earliest Deadline First调度算法以及信用调度算法。例如,在信用调度算法中,由于在MapReduce程序中有很多I/O操作,Kang等推迟Dom0来聚集更多的I/O事件一并处理,这大大减少了虚拟处理器VCPU上下文切换的频率。其中还引入了group_id与group_credit的定义,并提供了一种组调度策略,使得在虚拟集群中能更好的运行MapReduce(映射规约编程模型,一种用于大规模数据集的并行运算的编程模型)程序。基于Xen信用调度器、Hu等针对多核机器将核进行分类以处理不同类型的任务(驱动,I/O密集型,计算密集型),而减少上下文切换的开销。
然而目前存在的问题是,上述的两种方法均将VCPU上下文切换开销作为主要考虑因素,从而加速了计算密集型任务的运行。但是不同于物理处理器PCPU,VCPU并不会一直在线,这将带来大量的自旋锁spinlock阻塞。虽然Weng等使用VCRD衡量VCPU之间的关系,并且使用机器学习的方法来预测未来使用情形,但是对于某些实时任务来说,由于实时任务的响应时间需要被限制在毫秒甚至微秒级别,VCPU在执行实时程序时,需要及时反馈信息。然而,Xen的调度策略并不单独标识运行实时任务的VCPU,这不仅导致了切换策略的结果不准确性,也推迟了实时计算的运行。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的第一个目的在于提出一种虚拟机实时任务的调度方法。该方法会在每个周期优先切换具有urgent状态的VCPU,由此,实时任务可以被及时响应。实验使用ping延迟与web服务器的吞吐量表明这种调度方法可以及时处理实时任务,并提高了响应时间的稳定性。
本发明的第二个目的在于提出一种虚拟机实时任务的调度装置。
本发明的第三个目的在于提出一种虚拟机。
为了实现上述目的,本发明第一方面实施例的虚拟机实时任务的调度方法,包括以下步骤:当任务的执行周期开始时,分别初始化多个虚拟处理器VCPU,并为每个VCPU分配预设大小的信用值,其中,所述信用值为自然数;分别为每个所述VCPU分配指定的紧急度Urgency值;以及分别获取每个所述VCPU的状态信息,并根据所述状态信息和所述Urgency值生成优先级队列,以使物理处理器PCPU根据所述优先级队列选择对应的所述VCPU执行任务。
本发明实施例的虚拟机实时任务的调度方法,添加了新的VCPU的状态信息urgent状态用以标识实时任务,使其在单一的PCPU的运行队列中优先级高于under状态。因此,调度方法会在每个周期优先切换具有urgent状态的VCPU,由此,实时任务可以被及时响应。实验使用ping延迟与web服务器的吞吐量表明这种调度方法可以及时处理实时任务,并提高了响应时间的稳定性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310684535.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:在电子装置上产生掩蔽信号
- 下一篇:一种广告播放方法及装置