上下文感知的虚拟机监视器衰退分析方法

文档序号:6547056阅读:154来源:国知局
上下文感知的虚拟机监视器衰退分析方法
【专利摘要】本发明公开一种上下文感知的虚拟机监视器衰退分析方法,包括以下步骤:步骤1,关键衰退因子识别过程;步骤2,负载状态划分过程;步骤3,上下文感知的衰退预测模型构建过程;步骤4,自适应的衰退分析过程。本发明的目的在于以基于虚拟化技术的计算系统为研究对象,采用基于度量的方式,提供一种上下文感知的虚拟机监视器衰退分析方法用于诊断虚拟机监视器的性能异常,具备较高的检测率和较低的误警率。
【专利说明】上下文感知的虚拟机监视器衰退分析方法
【技术领域】
[0001]本发明属于性能诊断技术,特别是一种基于负载特征和资源使用特征的上下文感知的虚拟机监视器衰退分析方法。
【背景技术】
[0002]近年来,为了有效地满足面向互联网的复杂应用对大规模计算能力、海量数据处理和信息服务的需求,国际学术界和工业界开始借助于虚拟化技术实现异构环境中资源的可共享、可管理和可协同,并支持应用大规模部署、迁移和运行维护。虚拟化技术通过在软、硬件之间引入虚拟层,屏蔽硬件平台的动态性、分布性和异构性,支持硬件资源的共享和复用,并为每个普通用户提供独立的、隔离的计算环境,同时为管理员提供软硬件资源的集中管理。实现虚拟化技术的中间件软件称之为虚拟机监视器VMM (Virtual Machine Monitor)或hypervisor,如VMWare和Xen等;而通过VMM为应用提供的独立运行环境称之为虚拟机VM(Virtual Machine),如运行在VMware中的Linux系统和应用程序构成一个VM,且把VM中的操作系统称之为客户操作系统G0S(Guest Operating System),VMM称为VM的宿主。在基于虚拟化技术构建的虚拟计算环境中,VMM作为虚拟化技术的实现载体,起着核心作用,其本质上是在VM和底层硬件平台之间引入的软件层。然而,对于任何软件而言,在其运行时不可避免地经历软件衰退,VMM自然也不能例外。
[0003]软件衰退现象是指一个长时间持续运行的软件系统会发生状态退化或性能降低,最终导致系统崩溃。软件衰退现象的出现与软件缺陷的存在是密不可分的。更准确的说,是一种类型为“Aging-related bugs”的软件缺陷的存在导致了软件衰退的出现。由Aging-related bugs引发的软件衰退现象往往表现为系统资源缓慢泄漏、未释放的文件锁、数据损坏等形式,且随着时间推移,系统错误状态逐步累积,导致系统性能下降,或者瞬时失效。不同于Bohrbugs类型的软件缺陷,Aging-related bugs难于定位,通过软件测试手段难以消除,也不同于Heisenbugs类型的软件缺陷,Aging-related bugs在软件长时间运行后必然导致衰退现象,且由衰退导致的性能下降、瞬时失效也需通过重启等事后维护手段来消除,不仅维护成本较高,而且降低了系统可用性。
[0004]为了有效应对软件衰退现象导致的性能下降和瞬时失效,提高系统可用性,并降低维护成本,贝尔实验室的研究人员提出了“软件自愈”(software re juvenation),国内的一些研究人员有时也称之为“软件再生”。有别于传统的容错技术,软件自愈是一种预防性维护技术,其核心思想是通过适时地暂停软件的运行,采用适当的方法清除系统内部状态,使之重新恢复到初始状态或“健康的”中间状态,以预防将来可能发生的更为严重的故障。虽然软件自愈是一种降低软件衰退影响的有效方法,然而不合时宜的自愈操作也可能造成额外的成本,如可用性的降低,更长的宕机时间等。因此,通过衰退分析确定合适的自愈时间点显得尤为重要。
[0005]目前,衰退分析方法主要可以分为基于模型的方法和基于度量的方法。基于模型的方法的主要思路是借助于数学工具建立刻画虚拟化系统运行时状态变迁的模型,以最大化系统可用性等性能指标为优化目标,应用数学方法求解获取最优的自愈时间间隔,并以该时间间隔周期性地实施自愈操作。Garg S.等采用马尔可夫再生随机Petri网MRSPN(Markov Regenerative Stochastic Petri Net)描述状态变迁,并进行定量分析,使得状态转移和驻留时间的关系得到更准确的刻画,同时首次提出一种周期性自愈的思想,即把连续两次实施自愈操作的时间间隔作为自愈周期,且时间间隔是固定的。通过MRSPN建模时间和状态转换关系,以最小化稳态的停机时间为优化目标,用数学工具求解模型获得最优的自愈周期,按照此自愈时间间隔周期性地实施自愈操作,后续基于模型的方法很多都沿袭此思路(Garg S., Puliafito A., Trivedi K.S.Analysis of SoftwareRejuvenation using Markov Regenerative Stochastic Petri Net.1n:Proceedings ofISSRE1995, Toulouse, France, 1995:180-187)。然而,Okamura, H 等首次在模型中采用 了的非周期性自愈策略,在一个模型中刻画了具备自愈和检查点功能的计算系统动态行为,在假设自愈成本低于检查点成本,自愈的优先级高于检查点的前提下,研究发现自愈时间间隔会逐渐递减,即自愈操作的实施会越来越频繁,而检查点的设置间隔是有界的,甚至在自愈成本为零的情形下也成立(Okamura, H., Dohi, T.Availability optimization inoperational software system with aperiodic time-based rejuvenation scheme.1n: Supplemental Proceedings of19th International Symposium on SoftwareReliability Engineering, Los Alamitos:1EEE Computer Society Press, 2008:6)。
[0006]而基于度量的方法的主要思想是在系统运行过程中,持续监测表征系统性能的可测量参数,通过统计方法学、时序分析方法、MSET、分形分析、数据挖掘和机器学习等方法识别出资源耗费和系统性能衰退的模式,建立数据模型来量化软件衰退程度,确定最佳的自愈时间点。基于度量的方法无需系统的先验知识因而被广泛关注,已被广泛应用于传统计算系统的衰退分析工作中,本发明沿袭了这一思路并应用于虚拟化系统,通过无监督学习方法建立系统衰退模型,识别和预测VMM衰退。
[0007]Jiang GF等认为在系统正常状态时,系统度量间存在着稳定的关联关系,当关系被打破时则认为出现了异常,故提出采用无监督学习方法学习系统正常状态,获得度量间关联关系的方法。然而,该方法仅适用于度量之间存在线性关系的情形,且只能建立两个度量间的关联,而事实上通常存在多个度量,度量间关联关系较为复杂,因而多度量关联的问题无法角军决(Jiang GF, Chen HF, Kenji Y.Modeling and tracking of transaction flowdynamics for fault detection in complex systems.1EEE Trans, on Dependable andSecure Computing, 2006, 3(4):312-326.)。
[0008]王焘等针对动态变化的负载模式影响系统度量,难以准确检测异常的问题,提出一种基于负载模式识别的在线异常检测方法。该方法基于在线增量式聚类算法,运行时识别动态变化的负载模式,根据特定负载模式对应的度量空间,利用局部异常因数检测异常状态和量化异常程度,并通过学生t测试方法计算度量异常值(王焘,魏峻,张文博,钟华.基于负载模式识别的Web应用在线异常检测方法.软件学报,2012,23(10):2705-2719)。但上述方法中由于负载动态变化会导致资源使用特征值波动进而影响衰退分析的精度。
[0009]关健等提出了一种基于多层感知机MLP的无监督异常检测方法,在最小均方误差原则下学习样本的主要特征,经过压缩和还原的互逆过程后能最大限度地复制样本信息,从而根据均方误差的差异检测出异常信息(关健,刘大昕.一种基于多层感知机的无监督异常检测方法.哈尔滨工程大学学报,2004, 25 (8):495-498)。

【发明内容】

[0010]本发明的目的在于以基于虚拟化技术的计算系统为研究对象,采用基于度量的方式,提供一种上下文感知的虚拟机监视器衰退分析方法用于诊断虚拟机监视器的性能异常,为采取适当的预防性维护措施提供决策支持。
[0011]实现本发明目的的技术解决方案为:一种上下文感知的虚拟机监视器衰退分析方法,包括以下步骤:
[0012]步骤I,关键衰退因子识别过程,过程如下:
[0013]给定由q个连续的等间隔采样的训练样本,其特征空间为fi, f2,..., fn.ri,r2,...,rs,其中 A, f2,...,fn 为 n 个刻画负载的特征和!T1, r2,...,rs 为 s个刻画资源使用的特征;选取其中s个资源使用的特征刻画虚拟机监视器VMM资源使用情况,采集VMM资源使用特征观测样本;以q个资源使用特征观测样本作为输入,采取最大最小归一化方法和滑动平均法对样本数据进行预处理,采用主成分分析方法识别影响VMM性能的关键衰退因子,将任意资源使用特征观测样本转化为由关键衰退因子表示的样本;
[0014]步骤2,负载状态划分过程,过程如下:
[0015]给定与步骤I中相同的q个训练样本,选取其中η个负载特征刻画VMM的负载,采集VMM负载特征观测样本,对q个负载特征观测样本采取最大最小归一化方法和滑动平均法对样本数据进行预处理;给定负载状态的个数P,I ( P〈q,对q个预处理后的负载特征观测样本采用经典的k-means聚类算法进行负载状态划分;将q个训练样本通过负载状态划分为P个子样本集;
[0016]步骤3,上下文感知的衰退预测模型构建过程,过程如下:
[0017]遍历ρ个子样本集,对于每个子样本集建立与负载状态对应的基于自组织映射SOM的衰退预测模型;
[0018]步骤4,自适应的衰退分析过程,步骤如下:
[0019]给定h个待预测样本,其特征空间与训练样本的特征空间完全相同;执行步骤I的最大最小归一化方法和滑动平均法对样本数据进行预处理,采用主成分分析方法将待预测样本的资源使用特征转化为关键衰退因子,提取待预测样本中的资源使用特征观测样本;采集带预测样本中的负载特征观测样本,采取最大最小归一化方法和滑动平均法对样本数据进行预处理;计算预处理后的待预测样本与负载状态之间的欧几里德距离,确定预处理后的待预测样本所隶属的负载状态,从而确定使用衰退预测模型预测待预测样本对应的VMM状态;计算待预测样本对应的资源使用观测样本与衰退预测模型中所有SOM神经元之间的欧几里德距离,找出一个距离最近的神经元作为该样本映射到的获胜神经元;计算获胜神经元的r-近邻的区域大小,并给定r-近邻的区域大小阈值,二者进行比较确定VMM系统的状态。
[0020]本发明与现有技术相比具有显著优点:(I)把资源使用特征向量作为衰退因子,提出的关键衰退因子识别方法用于确定若干关键资源使用特征作为衰退建模方法的输入,能有效降低误警率;(2)考虑负载特征这一系统运行时上下文信息,能够有效降低由于负载动态变化所导致的资源使用特征值波动影响衰退分析的精度,同时根据负载模式,划分出不同的负载状态,并为每种负载状态都建立一个衰退分析模型,能消除了歧义有效提高检测率;(3)采用SOM捕获系统行为模型,能有效预测衰退状态,具备较高的检测率和较低的误警率,且能在线学习。
[0021] 下面结合附图对本发明作进一步详细描述。
【专利附图】

【附图说明】
[0022]图1是一种上下文感知的虚拟机监视器衰退分析方法的流程图;
[0023]图2是关键衰退因子识别方法的流程图;
[0024]图3是基于SOM的上下文无关衰退预测方法学习阶段的流程图;
[0025]图4是基于SOM的预测阶段的流程图;
[0026]图5是基于k-means聚类方法的负载建模过程;
[0027]图6是虚拟机监视器衰退分析方法的检测率和误警率变化关系图;
【具体实施方式】
[0028]下面结合附图,通过实施方式详细地描述上下文感知的虚拟机监视器衰退分析方法。
[0029]一种上下文感知的虚拟机监视器衰退分析方法,包括以下步骤:
[0030]步骤1,关键衰退因子识别过程,具体过程如下:
[0031]步骤1.1,结合图1、图2,给定的q个连续的等间隔采样的训练样本,其特征空间为f\,f2,...,fn, r1; r2,...,rs,其中f\,f2,...,fn为n个刻画负载的特征和ri,r2,...,rsS s个刻画资源使用的特征;选取其中s个资源使用的特征刻画虚拟机监视器VMM资源使用情况,采集VMM资源使用特征观测样本;选取q个资源使用特征观测样本,记为对于任意一个资源使用特征观测样本,Λ(%) = [>](!:.(?),...,≤?)], I ≤ b ≤ q, I ≤ I1 ≤ s,其中/: (0表示在 tb 时刻第 L 个 VMM资源使用特征的观测值;
[0032]步骤1.2,对资源使用特征观测样本进行预处理,先去除资源使用特征观测样本的噪声,而后消除资源使用特征的值域差异,具体方法为:对于任意的资源使用特征
先采用登权平滑方法计算该特征降噪后的值
【权利要求】
1.一种上下文感知的虚拟机监视器衰退分析方法,其特征在于,包括以下步骤: 步骤1,关键衰退因子识别过程,过程如下: 给定由q个连续的等间隔采样的训练样本,其特征空间为f2, , fn) f1; r2,..., rs,其中fp f2,...,fn为n个刻画负载的特征和Ir1, r2,...,rs为s个刻画资源使用的特征;选取其中s个资源使用的特征刻画虚拟机监视器VMM资源使用情况,采集VMM资源使用特征观测样本;以q个资源使用特征观测样本作为输入,采取最大最小归一化方法和滑动平均法对样本数据进行预处理,采用主成分分析方法识别影响VMM性能的关键衰退因子,将任意资源使用特征观测样本转化为由关键衰退因子表示的样本; 步骤2,负载状态划分过程,过程如下: 给定与步骤I中相同的q个训练样本,选取其中η个负载特征刻画VMM的负载,采集VMM负载特征观测样本,对q个负载特征观测样本采取最大最小归一化方法和滑动平均法对样本数据进行预处理;给定负载状态的个数P,I ( P〈q,对q个预处理后的负载特征观测样本采用经典的k-means聚类算法进行负载状态划分;将q个训练样本通过负载状态划分为P个子样本集; 步骤3,上下文感知的衰退预测模型构建过程,过程如下: 遍历P个子样本集,对于每个子样本集建立与负载状态对应的基于自组织映射SOM的衰退预测模型; 步骤4,自适应的衰退分析过程,步骤如下: 给定h个待预测样本,其特征空间与训练样本的特征空间完全相同;执行步骤I的最大最小归一化方法和滑动平均法对样本数据进行预处理,采用主成分分析方法将待预测样本的资源使用特征转化为关键衰退因子,提取待预测样本中的资源使用特征观测样本;采集待预测样本中的负载特征观测样本,采取最大最小归一化方法和滑动平均法对待预测样本中的负载特征观测样本数据进行预处理;计算预处理后的待预测样本与步骤2中的负载状态之间的欧几里德距离,确定预处理后的待预测样本所隶属的负载状态,从而确定使用衰退预测模型预测待预测样本对应的VMM状态;计算待预测样本对应的资源使用观测样本与衰退预测模型中所有SOM神经元之间的欧几里德距离,找出一个距离最近的神经元作为该样本映射到的获胜神经元;计算获胜神经元的r-近邻的区域大小,并给定r-近邻的区域大小阈值,二者进行比较确定VMM系统的状态。
2.根据权利要求1所述的上下文感知的虚拟机监视器衰退分析方法,其特征在于步骤I的关键衰退因子识别过程,具体步骤如下: 步骤1.1,选取q个资源使用特征观测样本,记为{R U1),R (t2) ,...,R (tq)},对于任意一个资源使用特征观测样本
3.根据权利要求1或2所述的上下文感知的虚拟机监视器衰退分析方法,其特征在于步骤2的负载状态划分过程,步骤如下:步骤2.1,给定与步骤I中相同的q个训练样本,根据负载特征可获得q个负载特征观测样本,记为{L U1^La2),...,L (t,)},对于任意一个负载特征观测样本,L(tb) = Lf1Ub),f2 (tb),..., fr (tb),...,fs (tb) ], Kb < q, K i,≤ n,其中 fr (tb)表示在 tb 时刻第 i’ 个VMM负载特征的观测值; 步骤2.2,采用与步骤I中最大最小归一化方法和滑动平均法相同的方式对负载特征观测样本进行预处理,经预处理后的任意一个负载特征观测样本可表示为L’ (tb) = [f/ (tb),f2" (tb),...,fr " (tb),..., fs" (tb)],I Sb ;^q, I Si’ Sn, q 个预处理后的负载特征观测样本记为 IL’(tlL’(t2),...,L’ (tq)};步骤2.3,给定负载状态的个数p,I <p〈q,对q个预处理后的负载特征观测样本{L’(tlL’(t2),...,L’ (tq)}采用经典的k-means聚类算法进行负载建模,满足的收敛条件是簇的内聚度Coh最小,即
4.根据权利要求1所述的上下文感知的虚拟机监视器衰退分析方法,其特征在于步骤3的上下文感知的基于自组织映射SOM的衰退预测模型构建,步骤如下: 步骤3.1,遍历P个子样本集(Q1, Q2,..., Qv,..., Qp}, Ψ的初始值为I ; 步骤3.2,对于给定的子样本集Qv,建立基于SOM的衰退预测模型1¥,具体方法为:步骤3.2.1,SOM初始化,选取SOM神经元个数为TXT个,每个神经元为δ维向量;为每个神经元设置初始权重,每个维度初始化方法是从区间[0,100]上随机选取一个整数值作为该维度的初始值; 步骤3.2.2,学习阶段,将子样本集Qv通过步骤I中最大最小归一化方法和滑动平均法相同的方式进行预处理转换成集合
5.根据权利要求1或3所述的上下文感知的虚拟机监视器衰退分析方法,其特征在于步骤4的自适应的衰退分析过程,步骤如下: 步骤4.1,对于给定的h个待预测样本,其特征空间与训练样本的特征空间完全相同;执行步骤I中的最大最小归一化方法和滑动平均法,将待预测样本的资源使用特征转化为待预测样本的关键衰退因子,提取待预测样本的关键衰退因子表示的样本;执行步骤2的方法提取待预测样本中的负载特征观测样本记为!Lf’ U1),Lf’ (t2),...,Lf’ (th)}; 步骤4.2,预测每个样本对应的VMM状态,VMM状态划分为健壮态和衰退态,具体的状态预测算法如下: 步骤4.2.1,遍历h个待预测样本,设当前是第ξ个样本待预测,ξ初始值O; 步骤4.2.2,计算Lf’ (t,)与步骤2.3中获得的ρ个负载状态之间的欧几里德距离,依据最近距离原则确定该样本Lf’ (?ξ)所隶属的负载状态wlv (1≤ Ψ≤P),从而确定使用衰退预测模型Μψ进行VMM状态预测; 步骤4.2.3,计算R" (tv)与衰退预测模型^中所有SOM神经元之间的欧几里德距离,找出一个距离最近的神经元作为该样本映射到的获胜神经元,记为N。; 步骤4.2.4,获取获胜神经元N。的所有r-近邻神经元集合N,选取获胜神经元N。的r-近邻神经元中的任意一个Ντ,Ντ εΝ,Ν<^ΡΝτ的权重向量分别为W。= [w1;0, w2;0,...,wk;0]和 Wt = [w1; τ, w2; τ,..., wk; τ ],计算两者间的曼哈坦距离通
【文档编号】G06F9/455GK103984867SQ201410214809
【公开日】2014年8月13日 申请日期:2014年5月20日 优先权日:2014年5月20日
【发明者】徐建, 吴旺文, 张宏, 张琨, 衷宜, 马超逸 申请人:南京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1