1.一种基于Rendezvous哈希算法的虚拟机放置策略方法,其特征在于:包括以下步骤:第一步:首先定义数据中心存在的物理主机集合PM={pm1,pm2,…,pmn},其中主机数量为n,需要初始化放置的虚拟机集合VM={vm1,vm2,…,vmm},其中虚拟机数量为m,设定虚拟机数量m大于或等于主机n;
第二步:对于给定的虚拟机vmi,定义Vpesi为虚拟机vmi所需的CPU资源,Vrami为虚拟机vmi所需的内存资源,Vi-pes为虚拟机vmi的CPU利用率,Wi-ram为虚拟机vmi的内存利用率,对于给定的主机pmj,定义Ppesj为主机pmj当前的CPU空闲资源,Pramj为主机pmj的内存空闲资源,Uj-pes为主机pmj的CPU利用率,Uj-ram为主机pmj的内存利用率,则定义主机pmj的资源利用率Uj为:Uj=α*Uj-pes+β*Uj-ram
其中0<α<1,0<β<1,且α+β=1;
定义Tagij为当前时刻,主机pmj能否满足虚拟机vmi的资源要求,即
Tagij=(Ppesj-Vpesi)>0∧(Pramj-Vrami)>0
第三步:给定主机pmj,定义该主机在t时刻的电源能耗表示为:
ej(t)=cj+k*fj3(t)*uj(t)
其中cj为静态能耗标记,fj(t)为t时刻主机pmj的频率,uj(t)为t时刻主机pmj的功率(Watt),k为线性常量;
则在T时间内,主机pmj的能耗Ej:
第四步:主机数量n小于4,即无法满足构建最小双层虚拟结构的数量2*2时,则对于任意虚拟机vmi,定义其对应每个主机具有一个分配权重得分集合Wi={wi1,wi2,…,wik},其中k≥n;定义wij为虚拟机vmi在主机pmj上的权重得分,wij=h(vmi,pmj),其中h()内包含约定的哈希函数;然后直接通过Rendezvous哈希算法将虚拟机vmi分配给权重wij最大的主机pmj;如果主机pmk的性能是其他主机的h倍,则简单的表示pmkh次;
第五步:主机数量n大于等于4,即满足构建最小双层虚拟结构的数量时,建立虚拟分层结构,虚拟分层结构包含虚拟分层节点和真实主机节点簇两部分,虚拟分层节点之间以树的形式分布,其中,将虚拟分层节点的所有叶子节点称为虚拟叶子节点扇区,虚拟分层节点构成的树的高度称为虚拟分层结构深度;真实主机节点簇是由多个真实主机构成的集合,与虚拟分层节点底部虚拟叶子节点相关联。
2.如权利要求1所述的一种基于Rendezvous哈希算法的虚拟机放置策略方法,其特征在于:所述虚拟机放置策略方法还包括以下步骤:第六步、出现各种人为或自然原因导致物理主机宕机或删除、或者由于计算需求增大需要增加物理主机的情况,处理过程如下::
6.1、对于给定虚拟机,若最终选择的真实主机节点资源不够分配导致不可用或已经宕机,选择权重值略高的同一簇中的真实主机节点完成分配;
6.2、对于给定虚拟机,若最终选择的真实主机节点资源不够分配导致不可用或已经宕机,且同簇下无法找到可用的真实主机节点进行分配,这种情况下,可以在虚拟分层结构中往上上升一个或多个层级,并从该层的同级虚拟节点中选择一个作为代替,再次将该层级降级到真实节点簇,寻找可用的真实主机节点;
6.3、当最后的主机簇还未满z时,直接将主机加入至该主机簇中;
6.4、当最后的主机簇的节点数为z时,且虚拟分层结构最底层未满时,增加一个主机簇;
6.5、当最后的主机簇的节点数为z时,且虚拟分层结构最底层也满时,将该主机增加至第一个主机簇,这时,主机簇的常量z=z+1。
3.如权利要求1或2所述的一种基于Rendezvous哈希算法的虚拟机放置策略方法,其特征在于:所述第五步中,建立虚拟分层结构的过程如下:
5.1主机簇群划分,首先选择一个常数z,将主机集合按照c=ceiling(n/z)组织成簇,其中ceiling函数表示将n除以z的值向上舍入为最接近的整数,C0={cpm1,cpm2,…,cpmz},C1={cpmz+1,cpmz+2,…,cpm2z},…直至每个主机都归属于一个簇,每个簇为虚拟分层结构中的最底层节点;
5.2虚拟叶子节点扇区以及虚拟分层结构深度确定,选择虚拟分层结构中每个子节点扇区的叶子数f,即从根节点出发,每个节点有f个子虚拟节点;根据节点扇区的叶子数f以及主机簇个数c,得到虚拟分层结构的深度H:H
f≥c
其中H是最小正整数,使得上述公式成立;
5.3各虚拟叶子节点扇区编号,一般采用自然编号对每个扇区分别统一编号,例如从0,
1,2,…,f-1;
5.4对于某一虚拟机vmi,对于任意一个虚拟节点s,都有一个对应的权重wis=h(vmi,s),在虚拟分层结构的每一层叶子扇区,都可通过Rendezvous哈希算法计算各虚拟节点权重,选择得分最高的节点继续向下分层,直到选择至最底层的真实主机节点簇Cl;
5.5当虚拟机vmi选中真实主机节点簇Cl后,在进行真实节点选择时,假设对于任意在真实节点簇Cl中的主机节点cpmlz+j,都有一个对应的权重得分Wi(lz+j)=H(vmi,cpmlz+j)*Tagi(lz+j),若Tag为false,则为0,若为true默认为1;其中,将虚拟机vmi分配给主机cpmlz+j之后,H(vmi,cpmlz+j)为在相同T时间段内,Eold与分配虚拟机vmi后的真实主机节点簇Cl的总体能耗的比值,以及主机pmlz+j的资源利用率Ulz+j与1的差方和对应权重常数的乘积的和:其中Ei+lz为T时间段内主机cpmlz+j的能耗,Eold是指相同T时间段内,未分配新虚拟机时,真实主机节点簇Cl的能耗,γ、δ是表示两者的权重;
因此,虚拟机vmi最终会选择使权重得分Wi(lz+j)最高的主机节点完成分配。
4.如权利要求3所述的一种基于Rendezvous哈希算法的虚拟机放置策略方法,其特征在于:在虚拟分层结构中,虚拟节点的选择从任意层级进行,若从根节点开始选择,则直到选择到真实主机节点的过程中,一共需要的哈希值数量为count=f*H次,其中f为每个子节点扇区的叶子数,H为虚拟分层结构的。