[发明专利]一种多核环境下的Xen虚拟机调度控制方法有效
申请号: | 201110172852.5 | 申请日: | 2011-06-24 |
公开(公告)号: | CN102253857A | 公开(公告)日: | 2011-11-23 |
发明(设计)人: | 曾令仿;刘景宁;冯丹;张灿群;李家祥 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/50;G06F9/455 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 李佑宏 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多核 环境 xen 虚拟机 调度 控制 方法 | ||
1.一种多核架构下的Xen虚拟机调度控制方法,包括如下步骤:
(一)调度初始化
(1.1)首先,枚举所有逻辑cpu,将属于同一物理cpu并且核号相同的逻辑cpu分为一组,每个分组中的逻辑cpu共享同一个调度时间片长度;然后分配并初始化每个分组内各个cpu共享的用于组织和维护虚拟cpu的红黑树;
(1.2)数据结构和调度参数的初始化
首先,初始化cpu分组中所有逻辑cpu的时间片定时器,该时间片定时器用于控制相应逻辑cpu进行调度的时间间隔;
然后,初始化调度方法的调度参数,即设置虚拟机的默认权重、基准负载以及基准时间片的初始值;
(1.3)初始化每个cpu分组所拥有的定时器,该定时器用于根据负载情况动态调整相应cpu分组时间片的长度;
(二)调度信息统计的初始化,即对管理域(domain0)中的虚拟cpu进行监控,并实时地向虚拟机监控器(VMM)发送监控结果,具体过程为:
(2.1)在向客户域(domainU)发送数据过程中,后端驱动判断正在执行的虚拟cpu编号,并且向虚拟机监控器传输该cpu编号;
(2.2)虚拟机监控器将收集的编号存储在cpu位图中;
(三)创建虚拟机并分配虚拟cpu,同时将虚拟cpu依照优先级级别和credit值存放到相应cpu分组的红黑树上,并且启动初始化阶段设置的所有定时器;
(四)虚拟机调度
首先查询cpu位图,判断cpu位图中当前逻辑cpu正在执行的虚拟cpu的编号所对应的位是否已经置位;如果已经置位,则取消此次调度,如果没有置位,就从该逻辑cpu所在分组的红黑树中取最高优先级的虚拟cpu进行切换,实施调度。
2.根据权利要求1所述的调度控制方法,其特征在于,所述的步骤(四)中,对于被切换出来的虚拟cpu需要重新插入红黑树中,该过程具体为:
(4.1)对于under级和over级的虚拟cpu,根据优先级级别和credit值进行插入放回;
(4.2)对于boost级虚拟cpu,采用如下过程插入放回:
(I)将虚拟cpu放置到上一次所处的红黑树上;
(II)查询该红黑树对应的cpu分组中的所有逻辑cpu,判断是否所有的逻辑cpu正在执行boost级任务,如果所有的逻辑cpu都在执行boost级任务,就跳转到下一步,如果一旦找到一个逻辑cpu没有执行boost级任务,则停止查找,并触发该逻辑cpu的调度,完成插入放回;
(III)查询与该cpu分组具有相同物理号的其他cpu分组中的所有逻辑cpu,如果所有的逻辑cpu都在执行boost级任务,就跳转到下一步;如果找到某个逻辑cpu没有执行boost级任务,则将该虚拟cpu迁移到该逻辑cpu对应的红黑树结构中,并触发该逻辑cpu的调度,完成插入放回;
(IV)查询与该cpu分组具有不同物理号的所有其他cpu分组中的所有逻辑cpu,如果找到一个逻辑cpu没有执行boost级任务,则将虚拟cpu迁移到该逻辑cpu对应的红黑树结构中,并触发该逻辑cpu的调度,完成插入放回;如果没有找到,则返回。
3.根据权利要求1或2所述的调度控制方法,其特征在于,所述步骤(一)中,调整每个cpu分组时间片的长度的具体原则如下:
当定时器到期后,计算每个cpu分组的负载信息,然后按照如下公式计算新的每个cpu分组调度时间片:
其中,每个cpu分组负载为每个cpu分组中所有cpu负载之和的平均值。
4.根据权利要求2或3所述的调度控制方法,其特征在于,所述步骤(4.1)中,具体插入放回的过程为:如果待插入的当前节点的优先级低于红黑树根节点的优先级,则插入左子树中,否则,就插入右子树中;其中,所述优先级的比较原则为:首先对虚拟cpu的优先级级别进行比较,如果两者不等,可以直接找出高优先级者,如果相等,继续对credit值按大小进行比较。
5.根据权利要求1-4之一所述的调度控制方法,其特征在于,所述步骤(一)中,所述cpu分组可以根据物理cpu编号再进行分组,即将各cpu分组中属于相同物理号的cpu分组再形成组,并将形成的组以链表的形式组织起来。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110172852.5/1.html,转载请声明来源钻瓜专利网。