一种基于鲲鹏处理器的调度方法、装置及介质制造方法及图纸

技术编号:24330720 阅读:27 留言:0更新日期:2020-05-29 19:30
本说明书实施例公开了一种基于鲲鹏处理器的调度方法,包括:虚拟机监控器监测所述虚拟机监控器对应的各VCPU运行的指令流,确定至少一个VCPU运行的指令流中包含的预设指令的次数超出预设值,将所述至少一个VCPU所属鲲鹏处理器对应的虚拟机内的所有VCPU调度出去,其中,VCPU调度出去是指在所述虚拟机中所述鲲鹏处理器对应的物理CPU暂停执行所述VCPU;将所述鲲鹏处理器对应的物理CPU,执行其他虚拟机中的VCPU。本说明书实施例通过虚拟机监控器监测虚拟机监控器对应的各VCPU运行的指令流,若确定出VCPU运行的指令流中包括的预设指令的次数超出预设值,则需要将该VCPU所属鲲鹏处理器对应的虚拟机内的所有VCPU调度出去,以提高多核虚拟机的调度效率。

A scheduling method, device and medium based on Kunpeng processor

【技术实现步骤摘要】
一种基于鲲鹏处理器的调度方法、装置及介质
本申请涉及计算机
,尤其涉及一种基于鲲鹏处理器的调度方法、装置及介质。
技术介绍
虚拟化技术是一种将计算机物理资源进行抽象、转换为虚拟的计算机资源提供给程序使用的技术,向上呈现虚拟硬件接口,使得多个操作系统能够在同一物理设备上运行。利用虚拟化技术,将原本运行于多台物理设备的服务整合到同一台物理服务器,提高物理资源利用率的同时减少了企业在IT基础设施上的管理维护成本。另一方面通过虚拟化技术对物理资源的管理,能够对资源进行动态配置,对于各种业务适应性更强。同时虚拟化技术能够对虚拟机进行监控和隔离,确保虚拟机的正常运行以及虚拟机之间能够相互独立。此外,虚拟机能够更快捷的进行复制转移,提高可用性以及灾难恢复速度。因此,虚拟化技术成为云计算以及数据中心不可或缺的一部分。目前主流的虚拟化技术包括虚拟机监控器(VirtualMachineMonitor,VMM)。虚拟机监控器的引入,使得很多在传统操作系统中已经解决的问题出现了新的变化,同时也使得传统操作系统中现有的调度机制出现新的问题。调度机制在多核物理服务器上运行良好,但是在多核虚拟机中却存在调度效率低的问题,导致虚拟机性能的下降。
技术实现思路
有鉴于此,本说明书实施例提供了一种基于鲲鹏处理器的调度方法、装置及介质,用于解决现有技术中在多核虚拟机中调度效率低的问题。本说明书实施例采用下述技术方案:本说明书实施例提供一种基于鲲鹏处理器的调度方法,所述方法包括:虚拟机监控器监测所述虚拟机监控器对应的各VCPU运行的指令流,确定至少一个VCPU运行的指令流中包含的预设指令的次数超出预设值,将所述至少一个VCPU所属鲲鹏处理器对应的虚拟机内的所有VCPU调度出去,其中,所述VCPU调度出去是指在所述虚拟机中所述鲲鹏处理器对应的物理CPU暂停执行所述VCPU;将所述鲲鹏处理器对应的物理CPU,执行其他虚拟机中的VCPU。进一步的,所述虚拟机监控器监测所述虚拟机监控器对应的各VCPU运行的指令流,确定至少一个VCPU运行的指令流中包含的预设指令的次数超出预设值,具体包括:在所述虚拟机运行时,所述虚拟机监控器周期性监测所述虚拟机监测器对应的VCPU运行的指令流,得到每个所述VCPU发出预设指令的次数;确定是否存在至少一个VCPU发出预设指令的次数超出预设值;若确定出至少一个VCPU发出预设指令的次数超出预设值,则执行步骤所述将所述至少一个VCPU所属鲲鹏处理器对应的虚拟机内的所有VCPU调度出去。进一步的,所述预设指令至少包括WFE指令。进一步的,所述虚拟机包括用户态与内核态。进一步的,所述将所述至少一个VCPU所属鲲鹏处理器对应的虚拟机内的所有VCPU调度出去前,所述方法还包括:确定所述VCPU是否处于内核态;在确定所述VCPU处于内核态的情况下,执行所述至少一个VCPU所属鲲鹏处理器对应的虚拟机内的所有VCPU调度出去的步骤。进一步的,所述将所述至少一个VCPU所属鲲鹏处理器对应的虚拟机内的所有VCPU调度出去后,所述方法还包括:将所述虚拟机内的所有VCPU排列在调度队列的队尾。进一步的,将所述鲲鹏处理器对应的物理CPU执行其他虚拟机中的VCPU后,所述方法还包括:确定所述鲲鹏处理器对应的物理CPU执行完其他虚拟机中的VCPU后,将所述虚拟机的所有VCPU同时调度回来,其中,所述调度回来是指在虚拟机中所述鲲鹏处理器对应的物理CPU继续执行VCPU。进一步的,在所述虚拟机监控器监测所述虚拟机监控器对应的各VCPU运行的指令流的之前或者过程中,所述方法还包括:所述鲲鹏处理器对应的虚拟机内的VCPU,获取自旋锁;在获取所述自旋锁失败情况下,调用所述预设指令,其中,所述预设指令用于使所述VCPU进入等待状态;在等待预设时间后,所述VCPU再次获取所述自旋锁,直到获取所述自旋锁成功。本说明书实施例还提供一种基于鲲鹏处理器的调度装置,所述装置包括:调度单元,用于虚拟机监控器监测所述虚拟机监控器对应的各VCPU运行的指令流,确定至少一个VCPU运行的指令流中包含的预设指令的次数超出预设值,将所述至少一个VCPU所属鲲鹏处理器对应的虚拟机内的所有VCPU调度出去,其中,所述VCPU调度出去是指在所述虚拟机中所述鲲鹏处理器对应的物理CPU暂停执行所述VCPU;执行单元,用于将所述鲲鹏处理器对应的物理CPU,执行其他虚拟机中的VCPU。本说明书实施例还提供一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以执行下述的步骤:虚拟机监控器监测所述虚拟机监控器对应的各VCPU运行的指令流,确定至少一个VCPU运行的指令流中包含的预设指令的次数超出预设值,将所述至少一个VCPU所属鲲鹏处理器对应的虚拟机内的所有VCPU调度出去,其中,所述VCPU调度出去是指在所述虚拟机中所述鲲鹏处理器对应的物理CPU暂停执行所述VCPU;将所述鲲鹏处理器对应的物理CPU,执行其他虚拟机中的VCPU。本说明书实施例还提供一种基于鲲鹏处理器的调度设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发下述装置:调度单元,用于虚拟机监控器监测所述虚拟机监控器对应的各VCPU运行的指令流,确定至少一个VCPU运行的指令流中包含的预设指令的次数超出预设值,将所述至少一个VCPU所属鲲鹏处理器对应的虚拟机内的所有VCPU调度出去,其中,所述VCPU调度出去是指在所述虚拟机中所述鲲鹏处理器对应的物理CPU暂停执行所述VCPU;执行单元,用于将所述鲲鹏处理器对应的物理CPU,执行其他虚拟机中的VCPU。本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:本说明书实施例通过虚拟机监控器监测虚拟机监控器对应的各VCPU运行的指令流,若确定出VCPU运行的指令流中包括的预设指令的次数超出预设值,则需要将该VCPU所属鲲鹏处理器对应的虚拟机内的所有VCPU调度出去,以提高多核虚拟机的调度效率。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本说明书实施例一提供的基于鲲鹏处理器的调度方法的流程示意图;图2为本说明书实施例二提供的基于鲲鹏处理器的调度方法的流程示意图;图3为本说明书实施例三提供的基于鲲鹏处理器的调度装置的结构示意图。具体实施方式虚拟机监控器介于硬件与传统操作系统之间,负责管理计算机的物理资源,物理资源包括内存、CPU以及I/O设备等硬件资源,并虚拟出硬件接口供上层使用,使得多个操作系统能够在同一个物理设备上运行。同时为了能够更好地提升虚拟化服务器的性能,硬件上也添加了对虚本文档来自技高网...

【技术保护点】
1.一种基于鲲鹏处理器的调度方法,其特征在于,所述方法包括:/n虚拟机监控器监测所述虚拟机监控器对应的各VCPU运行的指令流,确定至少一个VCPU运行的指令流中包含的预设指令的次数超出预设值,将所述至少一个VCPU所属鲲鹏处理器对应的虚拟机内的所有VCPU调度出去,其中,所述VCPU调度出去是指在所述虚拟机中所述鲲鹏处理器对应的物理CPU暂停执行所述VCPU;/n将所述鲲鹏处理器对应的物理CPU,执行其他虚拟机中的VCPU。/n

【技术特征摘要】
1.一种基于鲲鹏处理器的调度方法,其特征在于,所述方法包括:
虚拟机监控器监测所述虚拟机监控器对应的各VCPU运行的指令流,确定至少一个VCPU运行的指令流中包含的预设指令的次数超出预设值,将所述至少一个VCPU所属鲲鹏处理器对应的虚拟机内的所有VCPU调度出去,其中,所述VCPU调度出去是指在所述虚拟机中所述鲲鹏处理器对应的物理CPU暂停执行所述VCPU;
将所述鲲鹏处理器对应的物理CPU,执行其他虚拟机中的VCPU。


2.根据权利要求1所述的基于鲲鹏处理器的调度方法,其特征在于,所述虚拟机监控器监测所述虚拟机监控器对应的各VCPU运行的指令流,确定至少一个VCPU运行的指令流中包含的预设指令的次数超出预设值,具体包括:
在所述虚拟机运行时,所述虚拟机监控器周期性监测所述虚拟机监测器对应的VCPU运行的指令流,得到每个所述VCPU发出预设指令的次数;
确定是否存在至少一个VCPU发出预设指令的次数超出预设值;
若确定出至少一个VCPU发出预设指令的次数超出预设值,则执行步骤所述将所述至少一个VCPU所属鲲鹏处理器对应的虚拟机内的所有VCPU调度出去。


3.根据权利要求1所述的基于鲲鹏处理器的调度方法,其特征在于,所述预设指令至少包括WFE指令。


4.根据权利要求1所述的基于鲲鹏处理器的调度方法,其特征在于,所述虚拟机包括用户态与内核态。


5.根据权利要求4所述的基于鲲鹏处理器的调度方法,其特征在于,所述将所述至少一个VCPU所属鲲鹏处理器对应的虚拟机内的所有VCPU调度出去前,所述方法还包括:
确定所述VCPU是否处于内核态;
在确定所述VCPU处于内核态的情况下,执行所述至少一个VCPU所属鲲鹏处理器对应的虚拟机内的所有VCPU调度出去的步骤。


6.根...

【专利技术属性】
技术研发人员:石磊刘春张辉李铭
申请(专利权)人:山东乾云启创信息科技股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1