发明名称 一种基于处理器分区技术的CPU虚拟化方法
摘要 本发明提出了一种基于处理器分区技术的CPU虚拟化方法,针对多核或众核平台,首先将CPU核心划分为管理核H-Core分区与多个通用核G-Core分区,然后将VMM中的管理任务与特权Domain部署到H-Core分区中运行,将VMM上运行的通用客户机Domain按照自身特性,划分到不同的虚拟化任务子集中,并将这些虚拟化任务子集部署到对应的G-Core分区中运行;在不同的CPU分区中,可针对不同类型的虚拟化任务实现不同的调度策略与资源分配策略。本发明提高了多核或众核平台上虚拟化系统的安全性与可靠性,降低了CPU虚拟化的复杂度,同时也简化了全局的资源分配和调度的复杂性,提高了VMM对计算资源的分配与调度的能力,是一种安全、可靠、高效、高性能的CPU虚拟化方法。
申请公布号 CN101788920A 申请公布日期 2010.07.28
申请号 CN201010108081.9 申请日期 2010.02.05
申请人 北京航空航天大学 发明人 张炯;龙翔;吕紫旭;高小鹏;白跃斌
分类号 G06F9/455(2006.01)I;G06F9/50(2006.01)I 主分类号 G06F9/455(2006.01)I
代理机构 北京永创新实专利事务所 11121 代理人 周长琪
主权项 一种基于处理器分区技术的CPU虚拟化方法,其特征在于,具体步骤包括:步骤1:虚拟机监视器VMM对多核或众核平台的处理器资源分区,提供H-Core分区和多个G-Core分区;系统启动时,虚拟机监视器VMM将多核或众核平台中的处理器核心,划分为管理核H-Core与通用核G-Core两类CPU分区,其中通用核G-Core类分区,根据系统预期需要运行的通用客户机Domain的约束条件的不同类型,划分为对应数量的通用核G-Core分区,VMM为每个CPU分区构建数据结构CPU分区BITMAP,在CPU分区BITMAP中记录该分区拥有的物理处理器ID,通过遍历CPU分区BITMAP来创建不同的CPU分区,不同CPU分区分配有数量不等的CPU核心,由VMM统一管理,其中Domain代表域,BITMAP代表位图;步骤2:从VMM与Domain的管理相关功能与代码中分离出VMM中的管理任务H-Task与特权Domain H-Domain,将它们部署到步骤1中的管理核H-Core分区;步骤3:对多核或众核平台上运行的通用客户机Domain进行分类,并部署到对应的通用核G-Core分区;通用客户机Domain启动时,根据其自身的约束条件,被划分到不同的虚拟化任务子集中,然后,VMM将各虚拟化任务子集部署到步骤1中所划分的对应的通用核G-Core分区中;步骤4:通用核G-Core分区中构建调度子模块,并设计符合的调度策略;在系统运行过程中,VMM在每个通用核G-Core分区中构建调度子模块,各通用核G-Core分区的调度子模块,具有各自独立的调度队列与调度策略,负责调度分区内通用客户机Domain的运行,并负责维护本分区内的通用客户机Domain的资源分配,并配置符合其上运行的通用客户机Domain约束条件的各种策略;步骤5:在系统的运行过程中,VMM对通用核G-Core分区和虚拟化任务子集进行负载均衡;各通用核G-Core分区内任务调度、资源分配工作,由各分区内的调度子模块来完成,当通用核G-Core分区内计算资源出现故障或虚拟化任务子集发生变化的时候,VMM将虚拟化任务子集在通用核G-Core分区间进行调整,或者重新划分通用核G-Core分区,将虚拟化任务子集部署到新的通用核G-Core分区中。
地址 100191 北京市海淀区学院路37号