发明名称 一种多核环境下的虚拟机调度方法
摘要 本发明提出了一种多核环境下的虚拟机调度方法,该方法是在系统启动时将CPU资源按照调度策略类型进行分区,并在系统运行时实时监控各分区的CPU负载情况,动态调整分区CPU资源的大小。本发明中,使用相同调度策略的虚拟机在同一个分区中进行调度,这样提高了调度的效率,通过动态调整分区CPU资源的大小达到资源负载均衡的目的,实现了资源的充分利用,减少了资源的浪费。
申请公布号 CN101706743B 申请公布日期 2012.09.05
申请号 CN200910241371.8 申请日期 2009.12.07
申请人 北京航空航天大学 发明人 龙翔;陈贤钦;王素梅;张炯;白跃斌
分类号 G06F9/50(2006.01)I;G06F9/455(2006.01)I 主分类号 G06F9/50(2006.01)I
代理机构 北京永创新实专利事务所 11121 代理人 赵文利
主权项 一种基于多核环境下的虚拟机调度方法,其特征在于,该方法在现有的虚拟机监视器VMM中加入了调度初始化模块、CPU状态监控模块、调度决策模块以及CPU动态分区模块,具体包含以下执行步骤:步骤1:加电启动初始化;系统启动时调度初始化模块加载,做好初始化工作,本步骤包含以下两个操作:步骤1.1枚举CPU并读取预设调度策略类型;在系统加电完成启动的时候,调度初始化模块加载,并将系统中的所有CPU枚举出来,同时读取系统中预设的调度策略类型;步骤1.2为系统进行初始分区;调度初始化模块在获得调度策略类型后,由CPU动态分区模块为每种调度策略类型分得资源最小值的分区,同时建立空闲分区用以放置剩下的CPU资源,完成系统初始分区;步骤2:创建虚拟机;当系统创建虚拟机时,调度决策模块会读取虚拟机的调度参数,将虚拟机加入到相应的分区,本步骤包含以下两个操作:步骤2.1调度决策模块读取调度参数;当新创建虚拟机时,系统会根据虚拟机应用的类型在配置文件中制定调度参数,调度决策模块会主动读取虚拟机的配置文件获得调度参数;步骤2.2将虚拟机加入到相应的分区;当调度参数获得后,调度决策模块通过调度参数查找相应的分区,当相应的分区存在时,CPU动态分区模块直接将该虚拟机加入到相应的分区调度,当调度参数对应的分区不存在时,CPU动态分区模块从空闲分区中分出一个新的分区用作该调度策略类型分区,并将该虚拟机加入调度;步骤3:虚拟机调度;系统运行时,本步骤具体包括以下操作:步骤3.1虚拟机在各自分区内调度;运行的虚拟机只能在指定的CPU分区中进行调度,调度决策模块根据各个分区的调度算法对各分区中的虚拟机进行调度;步骤3.2监控各分区负载情况并动态调整分区大小;CPU状态监控模块监视着各分区的CPU资源利用情况,当某个分区的CPU负载过大时,CPU状态监控模块触发CPU动态分区模块,CPU动态分区模块从空闲分区中分出CPU资源到负载过大的分区,当空闲分区为空时,从负载较小的分区中分出CPU资源到负载过大的分区中,当有分区的CPU负载过小时,CPU动态分区模块会将负载小的分区资源回收到空闲分区,缩小负载小的分区资源。
地址 100083 北京市海淀区学院路37号