平均聚类系数_聚类方法排除CPU用量误报警

Ji Xue-16,主动工单管理

论文Ji Xue (威廉和玛丽学院), Robert Birke(IBM苏黎世研究院),等,Managing data center tickets: prediction and active sizing,2015

I.介绍

通过预测未来将要发生的行为来降低工单数量,通过引入动态VM伸缩来调整资源用来,从而避免激活工单。环境包含8万VM,构建在6000物理机之上。

之前的工作[7],提出用神经网络可以有效预测用量,但训练成本高。解决方案:挖掘用量时间序列的空间依赖性,开发敏捷预测机制。Signature VM序列,用量序列子集,可以代表所有其他序列。

II统计和观察

A 用量工单

数据来自IBM生产数据中心,不同UNIX主机(AIX,HPUX,Linux,Solaris等),大多数VM是VMWare虚机。采样自2015-4-3到2015-4-9,从6000台物理机,8万台VM的CPU/内存,以及用量数据,每15分钟一个采样点。

当用量值超过阀值,触发用量工单。考虑三个阀值:60%, 70%, 80%。图2展示了2015-4-3的CPU/RAM用量序列。

f071bce94c485732f38d41bde4f5b4d6.png

图(a)至少有1个VM生成用量工单的物理机个数(百分比)。

图(b)每个物理机上CPU和内存工单数的均值和标准差。

图(c)物理机中生成80%工单的VM均值。

因为肇事的VM在物理机中只有1-2台,所以给这1-2台VM增加CPU或内存,可以降低总体工单量。否则,如果工单在物理机中的VM是平均分布的,那重设规格没什么用。

B 空间依赖性

计算物理机内的VM的CPU,Memory的Pearson相关系数:

1)每对CPU用量之间

2)每对内存用量之间

3)任意CPU-内存对

4)同VM的CPU-内存对

对每个物理机,我们计算这些数据的中值;然后考虑所有物理机上的累计分布函数CDF。结果见图3。图3可见,1),2),3),4)的均值分别为0.26,0.24,0.3,和0.62。可见同一物理机内的VM的CPU-Memory用量是高度相关的。

2e12faa84c023713dee324d26152f8c8.png

III空间时间预测模型

资源需求序列是实际用量序列加上资源配额序列。,这里的M是物理机内VM个数,N是考虑的资源个数。

标志序列:通过时序模型来预测的最小序列个数。

依赖序列:需求序列的其他部分。

给定,所有依赖序列的可用标志序列的线性组合来表示:

cf6f70b6d23fbe1300db3d8bd8d7c776.png

A搜索标志序列

第一步,定义初始标志序列集合,可以用DTW,或者基于相关系数的聚类CBC来实现。

第二步,定义标志序列的最终集合。用VIF(variance inflation factor)和逐步回归,来侦测和消除初始集合中的共线性序列。见图4

ad6277462eea7f277f495a3a7f6daac0.png

第一步,时间序列聚类

DTW动态时间封装法,找到时间序列聚类,让聚类内的距离最短。对大序列有问题。对图1所示的4个序列做DTW,DTW提供给了三个聚类:聚类1 VM1,聚类2 VM2,和聚类3 VM3,VM4。而CBC会把VM1,VM3,和VM4放到一个聚类。事实上,VM1的序列,VM4的序列,,都可以表示为VM3的序列的线性模型:

13d8a16ceb125ad3bdafab674128ee34.png

74ba3fe463aaec1511590ba40a6c17e7.png

DTW计算细节如下:

两个序列:和

首先构造按对距离的平方矩阵。

两个序列的距离差异度,包装了矩阵内累积距离最小化,计算如下:

9f6c3665e47fc4ac279be823ced48286.png

下一步用层次化聚类法【13】对任意给定的序列进行聚类,从2到。目标是把初始集合减掉一半。

用平均侧影值【14】来决策优化的聚类数。

每个序列i的侧影数:

1a2c3d3752a40229de6e5c9cb9bb529f.png

a(i)表示序列i与同一个聚类内部的所有其他序列的平均距离差异度。

b(i)表示序列i与不同聚类的所有序列的最小平均距离差异度。

对一个给定的聚类个数,可以计算当前聚类条件下,所有序列侧影数的平均值。

选取不同的聚类个数,使得侧影数平均值最大,就是我们要找的聚类数。

CBC基于相关系数的聚类

把相关系数高的序列归到一类上。

对于每台物理机,首先对所有个序列两两配对,计算每个配对的相关系数,记为。

这样,对于一个需求序列,存在对。

为了形成一个聚类,首先对每个序列排序,首先根据大于阀值的的总个数,然后再按大于阀值的的均值。【15】建议阀值

排完序后,找到排头的,把这个序列,以及和它相关系数大于阀值的序列构成一个新聚类。这个新聚类中,排头的序列作为标志序列。

递归选择下一个排序列表中的排头序列,循环上述步骤,直到排序列表为空。

第二步,逐步回归

对标志序列集合的每个序列,我们用其余的标志序列对它做回归,并计算VIF值【15】。实践经验是VIF大于4就表示该序列可以用初始集中其他序列线性表示。找到至少一个VIF大于4的序列之后,我们用标准的逐步回归来去掉这个序列,该序列可以由其他标志序列的线性组合来表示。

B 预测模型

为了预测所有的需求序列,首先用神经网络模型和历史数据【7】来预测标志序列。然后,对每一个依赖序列,用标志序列做线性回归,用最小二乘估计来得到相关系数。

C 结果

1)DTW与CBC的区别

1315a0cbe20a7b8c75d2e41e816d399d.png

DTW,70%的物理机都只有2-3个聚类,其余有4-31个聚类。

CBC,有更多的聚类,因此有更多的标志序列。

2)两步方法的有效性

db0fdebfe30430a32ce83be759ba4ca8.png

比较每一步的标志集合缩减和预测精确度。用横线表示25%,50%,75%。用虚线表示最极端的数据点。

(a)6000台物理机的每一台,标志序列占全部序列的百分比。DTW在两个步骤中把标志序列减少到26%。对于CBC,第一步减少到82%,第二步到66%。

(b)预测精确性。APE(绝对百分比误差)定义为:

bcdc974d2d3fc7f4b95f4f0872b8fcd0.png

DTW的APE是28%,而CBC只有20%多。

两步过程对精确度没有影响。

3)Inter-和Intra-资源模型

ee084bed8e9c750c1435a0d06a0897bf.png

CBC(DTW)的平均APE:

inter模型是20%(28%);intra-CPU是21%(26%);intra-内存是23%(31%)。

平均标志序列数:CBC(DTW):

inter模型是66%(26%);intra-CPU是81%(41%);intra-内存是90%(45%)

总体上,inter模型比intra模型结果要好。

IV 资源规格重置

最小化目标:使用阀值超限异常的最小化。多选项背包问题。

分别考虑CPU和RAM。

下文中,定义的下标i为VM的索引。

A 工单优化问题的形式化

对一台物理机中的VM进行重新规格设置。

最重要的限制:所有的虚拟资源之和小于物理资源:

a112cacaae425be6223322aef8e846b2.png

表示VM-i分配的虚拟资源量。

预测模块提供整个resizing窗口的所有需求序列,对每个VM i,T个工单窗口,

6119eb0732f201d3730d9a38fa4881f4.png

引入一个指示变量,表示VM i在t时刻有工单,由于需求超过了特定的用量阀值,。

因此优化过程可以写成:

0fe5fcce217bc60ca92d071ca008076a.png

限制(6)保证了当需求超过工单阀值时,必为1;否则,目标函数使趋向为0。

这个优化问题是一个典型的混合整数线性规划问题(MILP)。

1)Resizing算法

把原始问题转换成MCKP的原因是:

存在大量的MCKP有效解法。

允许整数变量数量的缩减。

用引理4.1把原始问题转换为MCKP问题。

引理4.1:对于VM i,优化的size

包含原始需求序列中的降序排列,加上0。例如,给定

5f5b298c7988c970045a1ffe726931c9.png

,则缩减为

1c8fef4b284185046fb29810a0babb0f.png

仅包含不重复值和0。

引入新变量,表示选择唯一值作为VM i的量。

下一步是定义当选择作为VM i的量,即之后,观察到的工单数,表示为。

举例,当前量=70,工单阀值=60%,

a1eec6df9cc5c9067bdf927b4d33e3d9.png

一台物理机的全部工单数可以写作:

7f79a9e77dc6da867fbef59066e5eb4a.png

全部容量的资源限制可以写作:

a3f75b5f6d1f1b4ca6ba91c6619bcaad.png

总结,我们归结成一个multi-choice 背包问题,原始背包问题的item被分成subgroup,每个group只能选择一个item。把我们的问题类比成多选问题,我们有M组VM需求,我们需要为每一组选择一个需求作为他们的capacity。

决策变量是,定义一个特定的需求是否可以选择作为VM i的容量。

工单数可以作为“权重”。

于是可以把问题改写为:

4668e440ad84a75e95a71d516e88bccc.png

为了解MCKP,我们用最小化算法【19】。

Ji Xue-16, 异常检测+VM克隆

论文,同作者,同年,Tale of Tails: Anomaly Avoidance in Data Center,

I 介绍

异常VM分为两个类型:暂态异常,和持续异常。见图1。

9c88ca88e5450a39efd6682a07e4d020.png

TailGuard包含两个步骤:

Tail用量预测

VM克隆策略,把物理机的CPU、RAM负载重分布。

1)CPU持续异常的元凶是虚机整合(VM consolidation)。

2)CPU tail用量与物理机的CPU用量高度相关,且服从正态分布。

3)RAM异常与VM consolidation相关度不如CPU高。

II 数据特征

生产数据中心的trace记录,包含CPU和RAM利用率,每15分钟采样一次。6000台物理机,8万台VM,从2015年4月3日到9日。每台物理机上平均10台VM。

A,总览

异常VM的按天统计,CPU阀值60%,RAM阀值80%。

8acedc86fe5f1553723d6a4c6fe3e032.png

图2(a),物理机CPU按天超阀值次数平均值的概率密度函数。

图2(b),这些超阀值的行为是暂态异常还是持续异常。多数异常持续时间超过了1个时间窗口。

图2(c),物理机平均CPU用量超过阀值,和异常类型,之间的关系。

图2(d-f),相似结论,对RAM。

B. 物理机异常VM的根因分析

af3b5917c8f3231bf9aa8f801f2440e0.png

VM的聚集程度与CPU/RAM异常的关系。VM聚集程度定义为单物理机的VM个数。

图3(a),x轴是不同的VM聚集度,y轴是CPU用量超阀值的次数分布。

图3(b),RAM

图3(c-d),物理机中至少一台VM有一次用量超限的概率。

说明物理机CPU超限,依赖于VM的CPU超限

C. CPU用量是否平衡

6d894d8c820319a21c2203de773de8ea.png

图4(a),多数租户的平均物理机用量都很低,90%的租户平均CPU用量少于35%。

72e42b912759624078a745525ed8bcb6.png

CV等于均值除以标准差。

图5(a),按天物理机用量的CV均值,和95%用量的CV均值的累计分布函数。物理机的长尾用量显示高CV值,均值0.5;而平均用量CV值低,均值0.12。说明均值用量随时间较稳定。

图5(b),预测误差APE的累计分布函数。

通过last value预测均值用量,而通过均值用量来预测长尾用量。

5ffb159c015a7aa14ae17ac7b35e4daa.png

根据均值用量,把物理机分为若干bin。在每个bin内,计算CPU的长尾用量。图6,CPU的95%用量的累计分布函数,bin宽度为正负3%。

图6显示,在每个bin内,长尾用量分布近似于正态分布。例如,对于(60+3)%的bin,95%ileCPU用量的均值和标准差是79.9%,和8.2%。

III TailGuard

两个关键步骤:

预测CPU长尾用量;

物理机负载重分配,通过VM克隆和负载在线监控。

图7描述了工作流程

453893225fb8760245f68a546f62b325.png

TailGuard首先为需要降低负载的主机主动创建VM克隆,把克隆放到空间较富裕的主机上。

然后,在原始VM和克隆VM之间分配CPU负载。

克隆完成后,在线监控CPU,RAM用量。

36f002bab4d670ff909626e9f644ad87.png

A) 预测物理机CPU Trail用量

目标是预测长尾用量L,对于一个给定的物理机,长尾分布的均值和标准差已知。

b48f660ae660d0f092b15e4ce5f10adb.png

和表示物理机所属的长尾分布的均值和标准差。

是安全边界。

1)找到长尾分布

如何把物理机划分到bin,根据其平均用量。

对每个物理机和所有的租户,计算(M,T),M表示均值用量,T表示长尾用量。根据M划分bin。

Bin的宽度设为1%已经足够了,所有的bin至少有30个长尾样本。

对每个bin,抽取两组:

(i),bin的均值,和T的均值。

(ii),bin的均值,和T的标准差。

我们把这两组元组都放到图9(a)和(b)中。

bffe98792099bcf720c12f8652311297.png

Bin的均值,和bin中tail usage的均值存在线性关系。

Bin的均值,和tail的标准差存在二次关系。

我们用公式2-3来拟合上面的图9:

9a160ed17b822722c7b4fae5c4bc5b05.png

2)TRA 长尾预测

对某个tenant i,有一个优化的均值,令目标值=优化状态下得到的平均长尾用量。于是可以计算:

83160f93f643cdf833a856dd8c48eb24.png

从而得到优化的。

最终,租户i的物理机j的预测值是:

b85ec23d69251c439cdbcc66e7913816.png

B)VM克隆

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值