[发明专利]一种多虚拟处理器同步调度的方法及计算机有效
申请号: | 200710304034.X | 申请日: | 2007-12-24 |
公开(公告)号: | CN101470635A | 公开(公告)日: | 2009-07-01 |
发明(设计)人: | 王凯;刘春梅 | 申请(专利权)人: | 联想(北京)有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52;G06F9/445 |
代理公司: | 北京银龙知识产权代理有限公司 | 代理人: | 许 静 |
地址: | 100085北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟 处理器 同步 调度 方法 计算机 | ||
技术领域
本发明主要涉及虚拟机技术领域,尤其涉及一种多虚拟处理器(VCPU, Virtual CPU)同步调度的方法及计算机。
背景技术
现有虚拟机环境下,对于多数客户操作系统(GOS,Guest Operation System)来说,属于同一个GOS中的多个VCPU并没有同步运行。虽然目前 多数操作系统和应用程序都不太关心多核CPU中的每个CPU是否都同时可 用,但是属于同一个GOS中的多个VCPU的不同步运行会引起下列问题。
首先是超时(Timeout)问题。在同一个GOS运行过程中,虚拟机管理器 (VMM,Virtual Machine Monitor)将时钟中断仅发给该GOS中的虚拟引导处 理器(VBSP,Virtual Bootstrap Processor),如果该GOS中的虚拟应用处理器 (VAP,Virtutal Application Processor)的调度与该GOS中的VBSP的调度不 同步,则VAP的定时器的超时问题将不可避免。其原因在于,当GOS中的负 责程序执行和应用的VAP被调度运行时,GOS中负责系统初始化启动的VBSP 已经接收了虚拟机管理器发送的多个时钟中断,这些多个时钟中断使整个 GOS的系统时间已经前进了一大段时间,因此,当VAP开始运行时,相对于 VAP的运行时间,整个GOS的系统时间已经跳跃了一大段,从而使VAP的时 间等待队列上的多个定时器超时。尤其在时钟中断补偿机制情况下,超时问题 更容易出现。
另外是并发程序执行性能问题。对于并发程序而言,多个线程或进程不但 需要并发执行,而且需要相互同步。例如,当第一个线程需要等待第二个线程 的执行结果才能继续执行,此时,就需要第二个线程能尽快得到执行结果;而 多个线程会在多个不同的CPU上执行以达到并发。这种情况如果发生在多个 不同步的VCPU上,将很可能出现因一个VCPU上的线程或进程未及时运行 而带来在其它VCPU上的线程或进程无法运行的现象。显然,这将大大降低 并发程序的执行性能。
发明内容
有鉴于此,本发明的实施例的目的在于提供一种多虚拟处理器同步调度的 方法及计算机,通过该方法及计算机实现了对同步GOS的多个VCPU的同步 调度。
一方面,提供了一种多虚拟处理器同步调度的方法,包括:
确定第一物理CPU调度到的第一虚拟处理器需要与第二虚拟处理器同步 运行;
采用同步方式通知所述第二虚拟处理器对应的且包含有调度队列的第二 物理CPU;
所述第二物理CPU在所述调度队列中搜索到所述第二虚拟处理器;
将所述第二虚拟处理器从所述调度队列中调出并在所述第二物理CPU上 运行。
该方法所述采用同步方式通知所述第二虚拟处理器对应的且包含有调度 队列的第二物理CPU具体为:
向所述第二物理CPU发送同步请求;或者,
向所述第一物理CPU发送同步请求,由所述第一物理CPU以预定方式转 发所述同步请求给所述第二物理CPU。
该方法所述预定方式为处理器间中断方式。
该方法所述第一虚拟处理器与所述第二虚拟处理器属于同一个客户操作 系统,所述客户操作系统为同步客户操作系统。
该方法中,在所述确定第一物理CPU调度到的第一虚拟处理器需要与第 二虚拟处理器同步运行前包括:
为所述同步客户操作系统标记同步标识;
根据所述同步标识确定运行的客户操作系统为所述同步客户操作系统。
该方法包括:
根据所述同步客户操作系统的多个虚拟处理器的运行情况布署多个虚拟 处理器在对应的多个物理CPU的调度队列中的位置。
另一方面,还提供了一种多虚拟处理器同步调度的装置,所述计算机包括:
同步通知模块,用于确定第一物理CPU调度到的第一虚拟处理器需要与 第二虚拟处理器同步运行,并采用同步方式通知所述第二虚拟处理器对应的且 包含有调度队列的第二物理CPU;
同步调度模块,当所述第二物理CPU在所述调度队列中搜索到所述第二 虚拟处理器时,用于将所述第二虚拟处理器从所述调度队列中调出并在所述第 二物理CPU上运行。
该装置所述同步通知模块包括:
第一同步通知单元,用于向所述第二物理CPU发送同步请求;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联想(北京)有限公司,未经联想(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710304034.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:单端串口实现多功能复用的方法
- 下一篇:一种积木式架构应用于系统开发的装置