基于数据中心的VM迁移算法总结(1)

来源:互联网 发布:淘宝客服美女头像 编辑:程序博客网 时间:2024/06/01 20:33

《基于负载特征的虚拟机迁移调度策略》

特点:多阀值(CPU,带宽,内存),算法简单,问题描述很清晰

迁移策略一般通过集中的控制器管理迁移,以宿主机CPU的利用率作为触发源节点启动迁移和选择目标节点的条件,本文提出一种基于负载特征进行虚拟机迁移的调度策略。

设所有宿主机节点的集合为P={p1,p2,…,pA};源节点的集合为S={s1,s2,…,sL};每个源节点可以看成其虚拟机的集合si={vi1,vi2,…,viM};目标节点的集合为D={d1,d2,…,dN};且P=S+D。

迁移调度策略为四元组<S, D,f, Q>,解释如下:

(1)S、D 分别表示源节点与目标节点集合;

(2)f:表示为S—>D,即从S 到D 的映射,实现确定迁移时机、选择迁移虚拟机以及目标节点的策略;

(3)Q={<si, vij, dk>| si属于S, vij属于si, dk属于D},迁移匹配三元组的集合,包括源节点、源节点中拟迁移的虚拟机和目标节点,由f 确定。

迁移时机:以CPU,内存,带宽的利用率作为性能参数,以多阀值来确定迁移虚拟机的源节点主机以及迁移的时机。每隔周期T进行采集参数与三个阀值进行比较,当任意参数连续多次超过阀值,立即自动触发虚拟机迁移。

迁移虚拟机选择:选出超过阀值的主机中CPU使用最多,内存使用最多,带宽使用最多的虚拟机,根据触发类型选择要进行迁移的虚拟机。

目标主机的选择:根据迁移虚拟机的特征,选择特定资源丰富的目标主机进行迁移。为了避免多个源节点并发选择同一目标主机,使用应答,互斥锁机制

《基于工作负载预测的虚拟机整合算法》

         在整合过程中提倡,尽可能减少虚拟机迁移次数和迁移时间,缩短停机时间减少服务等级协议违例。目标是满足服务等级协议,提升负载均衡能力,减少能源消耗这些角度出发来制定调度策略。

         基于工作负载预测未来工作负载情况,从而预先分析物理服务器发生过载或低载的可能性,再根据算法进行虚拟机整合。

         预测过程是收集各虚拟机运行过程中使用的资源信息,在根据预测算法预测下一时刻工作负载,推算出服务器在下一时刻的工作负载,从而能够判断出服务器负载情况。

         预测算法:时间序列预测、反向传播(BackPropagation, BP)神经网络、灰色预测模型,自回归预测模型和指数平滑预测模型。

文章中选择两种预测算法进行比较,1)自回归预测模型AR(3)是自回归滑动平均模型ARMA(p,q)模型选择p=3,q=0时的特殊形式。它是利用前面3 个时刻的工作负载变量的线性组合来描述以后未来时刻负载数值的线性回归模型。其数学表达式为W(t+1) =αW(t)+βW(t −1)+γW(t −2) ,其中α =0.5,β =0.3,γ =0.2

2)指数平滑预测模型是一种特殊的加权移动平均法,其通过赋予离预测期近的工作负载较大权数,并使得权数由近到远按指数规律递减的方法来预测未来工作负载,其数学表达式为W(+1) =αW(t) +α(1-α)W(t-1)+α(1-α)(1-α)W(t-2).......,其中α=0.5。

整个过程:

1、 每个VM负载数据的实时收集

2、 根据预测算法预测每个VM下一时刻的资源需求,得到每个服务器下一时刻的资源需求

3、 根据下一时刻服务器负载情况判断是否进行迁移,若负载超过80%,则将VM部分进行迁移,迁移的VM是使用资源最多的,直到负载小于80%;若负载低于20%,则将全部VM进行迁移

4、 将要迁移的VM放置到所有服务器上,判断下一时刻是否会超过负载的80%,没有超过则为候选迁移服务器;将下一时刻负载减少的服务器,放置在负载减少的集合(以剩余资源进行降序排列),否则放置在负载增加的集合(以剩余资源进行降序排列),并选择出一台服务器进行放置。

(a)计算各物理主机上的资源需求伸缩量,其值为本主机上所有虚拟机未来时刻工作负载的总量减去当前时刻工作负载总量,它反应了虚拟机资源需求的变化趋势。

(b)通过主机资源总量减去当前时刻工作负载总量来计算未分配资源量,筛选出未分配资源量与资源需求伸缩量之间的差值即预计剩余资源量大于零的主机列表,形成候选主机列表。

(c)如果资源需求伸缩量为负值,则加入资源需求缩小队列,并计算剩余资源量与资源伸缩量的差值以降序排列。若为正值,则加入资源需求扩大队列,计算资源需求伸缩量与剩余资源量的比值作为安全调度因子,并依据该因子数值将队列按升序排列。如果一方队列为空,则直接选择另一方排位第一的主机做为安置主机,若都不为空,则进一步比较两个队列的首位主机,选择剩余资源多的那台主机。

《虚拟计算环境下虚拟机资源负载均衡方法》

         迁移虚拟机,迁移粒度大,迁移时传输的数据量大,迁移开销就不可忽略。瞬间负载峰值会触发迁移,导致造成不必要的迁移。多个节点选择同一个节点机作为目标节点,导致选中目标节点负载急剧增加,造成群聚效应。

         为了防止瞬间值触发,只有当负载超过设定的阈值持续一段时间后才触发迁移。当主机负载大于某个阈值时,对它未来的n个负载值进行观测,如果至少有k个值也大于阈值,则对它的下一个负载值进行预测,预测值大于阈值时才触发迁移。其中利用自回归模型进行预测。

         为了减少迁移的开销,定义一个USR,表示VM的CPU利用率/内存大小的值。选择USR值最大的虚拟机作为迁移对象。

         为了防止群聚效应,根据剩余资源/总剩余资源的比值作为转移到该主机的概率,随机产生[0,1]的数看是落在哪台主机上,则选择那台主机。

《云环境下面向能耗降低的资源负载均衡方法》

         迁移粒度大,导致迁移开销不可忽视,需要考虑带宽,时间等条件。

         迁移时机:一种基于预测机制的双阀值触发策略,只有当CPU利用率超过设定阀值且持续一段时间才触发迁移。

         迁移虚拟机选择:本文决定当触发迁移节点的内存使用率过高时,选择迁移内存使用率和CPU使用率都较高的虚拟机,反之,则迁移内存使用率较低而CPU使用率较高的虚拟机。该物理节点的内存使用率阈值为Mthershold,当前内存使用率为Mnow,该物理节点中的虚拟机i的CPU利用率为Ci,内存使用率为Mi,当Mnow>Mthershold时,选择Ri=CiMi的最大值虚拟机迁移,否则选择URi=Ci/Mi最大值虚拟机迁移。

         迁移主机选择:考虑迁移虚拟机与目标节点的匹配程度(cpu消耗/内存消耗)。以匹配程度概率,来产生[0,1]的随机数看落在哪台主机上,则选择那台主机进行迁移。


0 0
原创粉丝点击