CloudSim-主机过载检测

过载检测


过载检测的工作是为了后面时候准备的,也就是说t时刻完成的检测是便于提前进行迁移,防止在t+1以及后续时刻过载而性能下降。

1、iqr(InterQuartileRange)四份位法【动态阈值方法】


1)初始化一个PowerVmAllocationPolicyMigrationStaticThreshold对象(此对象并非C4中所述的VM选择算法对象,继承自PowerVmAllocationPolicyMigrationAbstract):

a、表示即将进行的是Power-aware的,基于VM迁移的、基于静态固定迁移过载阈值[0.7]的策略的Vms资源分配操作;

b、用于当iqr传入的PowerVmSelectPolicy失效时使用,作为iqr分配算法的的备用分配函数;

c、并定义了自己的主机过载检测isHostOverUtilizated和利用率过载阈值设置函数。

2)产生一个PowerVmAllocationPolicyMigrationInterQuartileRange(继承自VmAllocationPolicyMigrationAbstract)对象,与PowerVmAllocationPolicyMigrationStaticThreshold同族:

a、该对象传入基本的VmSelectionPolicy对象和PowerVmAllocationPolicyMigrationAbstract对象,即PowerVmAllocationPolicyMigrationStaticThreshold作为备用分配策略;

b、过载检测算法核心getHostUtilizationIqr(PowerHostUtilizationHistory)

countNonZeroBeginning(list_data):返回---从后往前看第一个非0数的位置,即从前往后数到最后一个非0位置的元素个数,源码中以大于等于12个为“iqr函数的安全计算元素个数”;

iqr(list_data):返回升序排列后,3/4位置的值与1/4位置的值的差值;

upperThreshold阈值上界设置为:1 - safetyParameter(安全系数,源码里设置该阈值为[1.5])* iqr返回值;

比较PowerHost对象资源利用率与上界的大小,超过即为过载。

3)返回VmAllocationPolicy对象

⚠️ 由于PowerHostUtilizationHistory是动态增加(或者变化的),也就是说得到的iqr值也是变化的,即规定的阈值也是随着历史“负载数据”动态调整的。

⚠️ VmAllocationPolicyMigrationAbstract(默认的阈值为0.9)抽象集成了一个完整的VM分配过程,包括所谓的需迁移的VMs选择和具体分配,每一个继承VmAllocationPolicyMigrationAbstract的类都需要实现自己的isHostOverUtilizated,可以额外实现阈值设置和阈值获取方法,以表示自己的不同。

2、mad(PowerVmAllocationPolicyMigrationMedianAbsoluteDeviation)中位法【动态阈值方法】


1)与iqr同样会有一个PowerVmAllocationPolicyMigrationStaticThreshold作为备用的分配策略;

2)与iqr同理,只是把MathUtil.iqr(list_data)换成MathUtil.mad(list_data),即不是求4份位差值,而是返回"list_data中位数与其他数之间差值的绝对值,所构成的列表的中位数";

3)同样,安全系数mad设置为[2.5]。

3、lr(PowerVmAllocationPolicyMigrationLocalRegression)局部回归法【动态阈值方法】


1)getParameterEstimates(utilizationHistoryReversed):采用简单的局部加权的办法拟合(loess)历史位置和历史负载数据[10个]之间的关系(最小二乘估计参数),其中历史位置根据TriCube办法进行调整,返回估计的回归参数;

2)计算迁移间隔:向上取整 (主机中最大VMs迁移时长【Vm内存占用/带宽】 / 调度周期);

3)预测利用率:estimates[0]+estimates[1]*(10+迁移间隔);

4)过载检测返回:预测的利用 >= 1。

4、lrr(PowerVmAllocationPolicyMigrationLocalRegressionRobust)【动态阈值方法】


5、thr(PowerVmAllocationPolicyMigrationStaticThreshold)【静态阈值方法】


1)纯静态阈值方法;

2)安全系数,源码里面设置的为[0.8],不是默认的0.9。

6、dvfs


1)仅采用:即动态电压频率调整来节点,不采用任何动态Vms资源分配策略

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值