IaaS云平台服务商为用户提供高性能服务的同时,必须考虑如何在不违反SLA(Service Level Agreement)的前提下,节约云平台的能耗成本。而虚拟机迀移技术是在物理服务器过载时,保证服务器性能的有效手段,也是考虑节能的关键技术之一。
服务器的过载和欠载是物理主机的两个运行状态,过载会造成违反SLA的可能性,而欠载会造成物理主机资源利用率低,造成额外的能耗浪费。通过分配CPU资源来研究主机过载检测,CPU利用率的上限和下限被定义为将物理主机分为三类:欠载、正常和过载。
一、总体架构方案
二、过载检测算法
2.1 基于静态利用率阈值的算法
有固定的CPU利用率阈值
优点:简单
缺点:不适合动态环境
例子:静态阈值算法(THR)
2.1.1 三阈值节能算法(TESA)
通过设置三个阈值,根据负载情况,数据中心的主机类型分为:轻负载主机,负载适当主机,中负载主机,负载较重主机。基于 TESA,提出五种虚拟机选择策略(基于 TESA 的最小化迁移策略(MIMT),基于 MAMT 的最大化迁移策略,基于 TESA 的最高潜在增长策略(HPGT),基于 TESA 的最低潜在增长策略(LPGT)和基于 TESA(RCT)的随机选择策略,它可能在每两个阈值之间获得最佳间隔。
2.2 统计分析历史数据算法
对虚拟机历史数据进行统计和分析
优点:适合动态环境
缺点:不能很好预测主机什么时候过载
例子:绝对中位差算法(MAD)、四分位差算法(IQR)
2.2.1 自适应利用率阈值:中值绝对偏差MAD
根据 CPU 利用率偏差的强度来调整利用率上限的值。偏差越大,利用率上限阈值越低,偏差越大,CPU 利用率越可能达到 100% 并导致违反 SLA。
自适应利用率阈值:四分位距
优点:简单
缺点:不适合动态环境
2.2.2 四分位差算法(IQR)
反映了中间 50%数据的离散程度,与在整个范围相比,四分位数范围是一个稳健的统计量,其分解点为 25%的地方,因此通常优于整个范围内求平均值。
2.3 基于回归的算法
对CPU将来利用率进行预测
优点:对主机什么时候过载具有良好预测
缺点:复杂
例子:局部回归算法(LR)、鲁棒性局部回归(LRR)
2.3.1 局部回归LR
简单模型拟合到局部数据子集,以建立一条近似原始数据的曲线。
稳健的局部回归
局部回归方法的主要思想是将局部数据子集拟合成简单模型,建立近似原始数据的曲线。
2.3.2 鲁棒性局部回归算法(LRR)
局部回归容易受到尖峰的或重尾分布引起的异常
值得影响。为了使他更健壮,将鲁棒性的估计方法双平方加到最小二乘法上来拟合参数
三、欠载检测算法
3.0 欠载主机检测方法
将该主机中的虚拟机迁移到其它主机中,并保证要迁移进去的主机不会过载,重复这一过程,直到没有合适的主机能被找到为止。
系统找到与其他主机相比利用率最低的主机;
并尝试将来自该主机的 VM 放置在其他主机上,并且目标宿主机不会过载。如果可以做到这一点,则将 VM 设置为迁移到确定的目标主机,并在所有迁移完成后将源主机切换到睡眠模式。如果源主机中的所有虚拟机都不能放在其他主机上,则主机保持活动状态。对所有未被认为过载的主机迭代地重复此过程。
四、虚拟机迁移模型/虚拟机选择算法
4.1 最短时间迁移算法(MMT)
找出主机分配给 VM 的 RAM 除以主机可用的网络带宽商最小的虚拟机。
4.2 最大相关性算法(MC)
主要思想是超额服务器上运行的应用程序的资源使用之间的相关性越高,服务器过载的概率就越高。
4.3 随机选择算法(RC)
该方法最简单,直接在要迁移的虚拟机列表中随机挑选一个。
五、热阈值指标
该指标的值是动态计算的,并基于物理主机的当前信息进行比较。比较 PM 和选择最佳物理主机的基础是每秒执行的最大指令数。 所提出的用于检测过载物理主机的策略基于最优物理主机,以便根据 CPU 利用率和最优物理主机的消耗功率(以每时间单位执行指令)的方式来估计 PM 的热量,考虑到其中 CPU 利用率为 90%。热值被假定为最大阈值,并且是评估和检测其他 PM 过载的基础。