发明名称 一种基于组合优化的虚拟机调度方法
摘要 本发明公开了一种基于组合优化的虚拟机调度方法,该方法可用于虚拟集群中实时的虚拟机调度决策,能够根据虚拟集群当前的资源使用情况实时地决策虚拟机的开启位置,使得被占用的物理主机的数量最小,这样既可以提高资源利用率又可以减少能源的消耗。本发明所涉及的虚拟机调度方法采用简单的数学计算,可在有限次比较次数内获得调度结果,比较次数与虚拟机种类以及物理主机种类有关。与传统解决组合优化问题时所采用的人工智能算法相比,本发明所涉及的虚拟机调度方法具有较高的实时性,可以实时决策出虚拟机的放置位置,满足对虚拟机调度系统高实时性的要求。
申请公布号 CN104536803A 申请公布日期 2015.04.22
申请号 CN201410814536.7 申请日期 2014.12.23
申请人 西安电子科技大学 发明人 马建峰;刘旭启;李金库;卢笛
分类号 G06F9/455(2006.01)I;G06F9/50(2006.01)I 主分类号 G06F9/455(2006.01)I
代理机构 西安通大专利代理有限责任公司 61200 代理人 徐文权
主权项 一种基于组合优化的虚拟机调度方法,其特征在于,包括以下步骤:1)集群状态建模1.1)统计集群中资源种类数量N,并为每种资源编号,依次为1~N;1.2)统计集群中物理主机的资源向量,每一台物理主机均提供N种资源供运行在该主机上的多台虚拟机共享;1.3)对虚拟机进行分类,统计虚拟机的种类总数I,并为每一种虚拟机类型进行编号,依次为1~I;1.4)统计每种虚拟机对资源的请求,每种虚拟机对资源的请求均为一个N维的向量,与物理主机的资源向量对应;1.5)计算物理主机能够同时运行的虚拟机的组合种类,使用一个I维的向量k表示物理主机的负载情况;1.6)将集群中的物理主机按资源配置向量分类,统计各种资源配置物理主机的数量;其中,资源配置为k的物理主机的数量为X<sub>k</sub>;所有X<sub>k</sub>组成一个|K|维的向量X,X为集群状态向量;2)虚拟机调度2.1)解析虚拟机请求,获得虚拟机所属的种类编号i;2.2)构造一个权重函数:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msup><mi>w</mi><mi>r</mi></msup><mrow><mo>(</mo><mi>X</mi><mo>)</mo></mrow><mo>=</mo><mi>min</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mfrac><mi>X</mi><msup><mi>r</mi><mi>p</mi></msup></mfrac><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000641761520000011.GIF" wi="530" he="146" /></maths>其中r为系统中虚拟机的总数,p为一常数且p∈(1/2,1);w<sup>r</sup>(X)的反导函数为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msup><mi>f</mi><mi>r</mi></msup><mrow><mo>(</mo><mi>X</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mfrac><msup><mi>X</mi><mn>2</mn></msup><msup><mrow><mn>2</mn><mi>r</mi></mrow><mi>p</mi></msup></mfrac><mo>,</mo><mi>ifX</mi><mo>&Element;</mo><mo>[</mo><mn>0</mn><mo>,</mo><msup><mi>r</mi><mi>p</mi></msup><mo>]</mo><mo>;</mo></mtd></mtr><mtr><mtd><mi>X</mi><mo>-</mo><mfrac><msup><mi>r</mi><mi>p</mi></msup><mn>2</mn></mfrac><mo>,</mo><mi>ifX</mi><mo>></mo><msup><mi>r</mi><mi>p</mi></msup><mo>.</mo></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000641761520000021.GIF" wi="771" he="298" /></maths>定义近似函数F<sup>r</sup>(X)=∑<sub>k∈K</sub>f<sup>r</sup>(X<sub>k</sub>),近似地表示物理主机的数量总和∑<sub>k∈K</sub>X<sub>k</sub>;2.3)k为集合K中的元素,集群中资源配置向量为k的物理主机数量为X<sub>k</sub>;向量e<sub>i</sub>也是一个资源配置向量,是集合K中的单位向量,表示仅有一台类型为i的虚拟机;向量k‑e<sub>i</sub>与向量k的分别表示物理主机在虚拟机实例开启前后的资源配置向量;集群中资源配置向量为k‑e<sub>i</sub>的物理主机的数量为<img file="FDA0000641761520000025.GIF" wi="156" he="80" />定义一个权重差来表示F<sup>r</sup>(X)的一阶变化量,其中:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msubsup><mi>&Delta;</mi><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>)</mo></mrow><mi>r</mi></msubsup><mrow><mo>(</mo><mi>X</mi><mo>)</mo></mrow><mo>=</mo><msup><mi>w</mi><mi>r</mi></msup><mrow><mo>(</mo><msub><mi>X</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>-</mo><msup><mi>w</mi><mi>r</mi></msup><mrow><mo>(</mo><msub><mi>X</mi><mrow><mi>k</mi><mo>-</mo><msub><mi>e</mi><mi>i</mi></msub></mrow></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000641761520000022.GIF" wi="808" he="98" /></maths>w<sup>r</sup>(X<sub>k</sub>)为集群状态X<sub>k</sub>的权重函数,<img file="FDA0000641761520000026.GIF" wi="255" he="83" />为集群状态<img file="FDA0000641761520000027.GIF" wi="137" he="80" />的权重函数,X<sub>k</sub>和<img file="FDA0000641761520000028.GIF" wi="136" he="80" />分别为调度操作前后的集群状态;2.4)选取<img file="FDA0000641761520000023.GIF" wi="214" he="99" />最小的值对应的k‑e<sub>i</sub>值作为目标资源配置;<img file="FDA0000641761520000024.GIF" wi="221" he="94" />为F<sup>r</sup>(X)的一阶变化量,近似的表示虚拟机调度前后集群中物理主机数量的变化;2.5)在资源配置为k‑e<sub>i</sub>的物理主机中选取一台作为目标主机,在该主机上创建虚拟机实例。
地址 710071 陕西省西安市太白南路2号