一种基于模糊神经网络的虚拟机能耗预测方法及系统的制作方法

文档序号:10612714阅读:188来源:国知局
一种基于模糊神经网络的虚拟机能耗预测方法及系统的制作方法
【专利摘要】本申请公开了一种基于模糊神经网络的虚拟机能耗预测方法及系统,该方法包括:预先基于模糊神经网络,对虚拟机的历史运行参数以及与虚拟机配套的物理机的历史运行参数进行模型训练,得到虚拟机能耗预测模型;然后将待预测虚拟机的运行参数以及与待预测虚拟机配套的物理机的运行参数输入虚拟机能耗预测模型,得到待预测虚拟机的能耗预测值。本申请是基于模糊神经网络来构建预测模型的,能避免硬阈值分区间模拟所产生的误差;同时神经网络具有对非线性函数的良好逼近能力,能更好模拟虚拟机能耗与各相关参数之间的非线性关系。另外,本申请是对虚拟机和物理机的历史运行参数进行模型训练的,使得预测模型能更加全面准确地对能耗进行预测。
【专利说明】
一种基于模糊神经网络的虚拟机能耗预测方法及系统
技术领域
[0001] 本发明涉及虚拟机技术领域,特别涉及一种基于模糊神经网络的虚拟机能耗预测 方法及系统。
【背景技术】
[0002] 当前,随着互联网和云计算的发展,虚拟机技术得到了越来越广泛的应用。而对虚 拟机工作能耗的预测,不仅关乎云计算的成本和定价,而且还直接影响了虚拟机的调度和 管理。
[0003] 现有常用的虚拟机能耗预测方法可分为线性预测和非线性预测。其中,线性预测 方法是基于统计学思想,采用的是基于最小二乘的多元线性回归模拟,不适用于多虚拟机 的复杂非线性预测,导致预测误差较大。而在现有的非线性预测方法中,仅仅是简单地根据 虚拟机CPU利用率来进行硬阈值分段模拟,对在多虚拟机的复杂环境下虚拟机的能耗预测 准确率较低。
[0004] 综上所述可以看出,如何提高虚拟机能耗预测的准确性是目前有待解决的问题。

【发明内容】

[0005] 有鉴于此,本发明的目的在于提供一种基于模糊神经网络的虚拟机能耗预测方法 及系统,提高了虚拟机能耗预测的准确性。其具体方案如下:
[0006] -种基于模糊神经网络的虚拟机能耗预测方法,包括:
[0007] 预先基于模糊神经网络,对虚拟机的历史运行参数以及与所述虚拟机配套的物理 机的历史运行参数进行模型训练,得到虚拟机能耗预测模型;
[0008] 将待预测虚拟机的运行参数以及与所述待预测虚拟机配套的物理机的运行参数 输入所述虚拟机能耗预测模型,得到所述待预测虚拟机的能耗预测值。
[0009] 优选的,所述预先基于模糊神经网络,对虚拟机的历史运行参数以及与所述虚拟 机配套的物理机的历史运行参数进行模型训练,得到虚拟机能耗预测模型的过程,包括:
[0010] 获取所述虚拟机的历史运行参数以及与所述虚拟机配套的物理机的历史运行参 数,得到初始训练参数集;
[0011] 对所述初始训练参数集进行参数筛选,将筛选出的参数作为特征值,得到相应的 特征集;
[0012] 利用预先训练好的隶属函数,对所述特征集中所有的特征值进行模糊化处理,得 到相应的模糊集;
[0013] 利用所述模糊集进行BP神经网络的权值训练,得到相应的模糊BP神经网络,并将 所述模糊BP神经网络确定为所述虚拟机能耗预测模型。
[0014] 优选的,所述虚拟机的历史运行参数和与所述虚拟机配套的物理机的历史运行参 数均至少包括CPU利用率、内存利用率、单位时间内的执行指令数和单位时间内丢失的 cache 数。
[0015] 优选的,所述对所述初始训练参数集进行参数筛选,将筛选出的参数作为特征值, 得到相应的特征集的过程,包括:
[0016] 基于主成分分析,对所述初始训练参数集进行降维处理,以对所述初始训练参数 集进行参数筛选,并将筛选出的参数作为特征值,相应地得到所述特征集。
[0017]优选的,所述隶属函数为基于聚类的高斯型隶属函数。
[0018] 优选的,所述高斯型隶属函数的训练过程,包括:
[0019] 分别对所述特征集中的每一特征值进行聚类,并计算每一个聚类对应的均值和方 差,生成得到高斯型隶属函数。
[0020] 优选的,所述利用所述模糊集进行BP神经网络的权值训练的过程,包括:
[0021 ]步骤S71:对BP神经网络的权值进行初始化;
[0022]步骤S72:获取当前的BP神经网络,并将所述模糊集中每一模糊参数输入当前的BP 神经网络,以相应地输出虚拟机能耗估算值;
[0023] 步骤S73:计算所述虚拟机能耗估算值与虚拟机实际能耗值之间的差值;
[0024] 步骤S74:判断该差值是否小于预设阈值,如果是,则结束训练,如果否,则根据该 差值,对BP神经网络的权值进行相应的修正,以对BP神经网络进行更新,并进入步骤S72。
[0025] 本发明还公开了一种基于模糊神经网络的虚拟机能耗预测系统,包括:
[0026] 模型训练模块,用于预先基于模糊神经网络,对虚拟机的历史运行参数以及与所 述虚拟机配套的物理机的历史运行参数进行模型训练,得到虚拟机能耗预测模型;
[0027] 能耗预测模块,用于将待预测虚拟机的运行参数以及与所述待预测虚拟机配套的 物理机的运行参数输入所述虚拟机能耗预测模型,得到所述待预测虚拟机的能耗预测值。 [0028]优选的,所述模型训练模块包括:
[0029] 训练参数获取单元,用于获取所述虚拟机的历史运行参数以及与所述虚拟机配套 的物理机的历史运行参数,得到初始训练参数集;
[0030] 参数筛选器,用于对所述初始训练参数集进行参数筛选,将筛选出的参数作为特 征值,得到相应的特征集;
[0031] 模糊处理单元,用于利用预先训练好的隶属函数,对所述特征集中所有的特征值 进行模糊化处理,得到相应的模糊集;
[0032] 神经网络权值训练器,用于利用所述模糊集进行BP神经网络的权值训练,得到相 应的模糊BP神经网络,并将所述模糊BP神经网络确定为所述虚拟机能耗预测模型。
[0033] 优选的,所述神经网络权值训练器包括:
[0034] 权值初始化单元,用于对BP神经网络的权值进行初始化;
[0035] 能耗估算单元,用于获取当前的BP神经网络,并将所述模糊集中每一模糊参数输 入当前的BP神经网络,以相应地输出虚拟机能耗估算值;
[0036] 差值计算单元,用于计算所述虚拟机能耗估算值与虚拟机实际能耗值之间的差 值;
[0037] 判断单元,用于判断该差值是否小于预设阈值,如果是,则结束训练,如果否,则根 据该差值,对BP神经网络的权值进行相应的修正,以对BP神经网络进行更新,并将更新后的 BP神经网络发送至所述能耗估算单元。
[0038] 本发明中,虚拟机能耗预测方法包括:预先基于模糊神经网络,对虚拟机的历史运 行参数以及与虚拟机配套的物理机的历史运行参数进行模型训练,得到虚拟机能耗预测模 型;然后将待预测虚拟机的运行参数以及与待预测虚拟机配套的物理机的运行参数输入虚 拟机能耗预测模型,得到待预测虚拟机的能耗预测值。可见,本发明是基于模糊神经网络来 构建虚拟机能耗预测模型的,由于模糊神经网络能够对参数进行模糊化表示,所以能够避 免现有技术中硬阈值分区间模拟所产生的误差,有利于提高能耗预测准确性;同时由于神 经网络具有对非线性函数的良好逼近能力,从而能够更好地模拟虚拟机能耗与各相关参数 之间的非线性关系,提升了能耗预测准确性。另外,本发明是同时对虚拟机和物理机的历史 运行参数进行模型训练的,这表明本发明不仅考虑到虚拟机的历史运行参数对虚拟机能耗 的影响,还考虑到相关物理机的历史运行参数对虚拟机能耗的影响,从而使得最终得到的 虚拟机能耗预测模型能够更加全面准确地对虚拟机的能耗进行预测。综上可见,本发明公 开的技术方案有效地提高了虚拟机能耗预测的准确性。
【附图说明】
[0039] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 提供的附图获得其他的附图。
[0040] 图1为本发明实施例公开的一种基于模糊神经网络的虚拟机能耗预测方法流程 图;
[0041 ]图2为本发明实施例公开的虚拟机能耗预测模型构建流程图;
[0042] 图3为本发明实施例公开的BP神经网络的权值训练流程图;
[0043] 图4为本发明实施例公开的一种基于模糊神经网络的虚拟机能耗预测系统结构示 意图。
【具体实施方式】
[0044]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0045] 本发明实施例公开了一种基于模糊神经网络的虚拟机能耗预测方法,参见图1所 示,该方法包括:
[0046] 步骤S11:预先基于模糊神经网络,对虚拟机的历史运行参数以及与虚拟机配套的 物理机的历史运行参数进行模型训练,得到虚拟机能耗预测模型;
[0047]步骤S12:将待预测虚拟机的运行参数以及与待预测虚拟机配套的物理机的运行 参数输入虚拟机能耗预测模型,得到待预测虚拟机的能耗预测值。
[0048] 需要说明的是,本实施例中的模糊神经网络可以选择模糊径向基神经网络,也可 以采用模糊BP神经网络(BP,即Back Propagation,反向传播)。
[0049] 另外,本实施例在基于模糊神经网络来进行模型训练时,不仅仅是对虚拟机的历 史运行参数进行模型训练,同时还对物理机的历史运行参数进行模型训练,这样使得本发 明实施例不仅考虑到虚拟机的历史运行参数对虚拟机能耗的影响,还考虑到相关物理机的 历史运行参数对虚拟机能耗的影响,从而使得最终得到的虚拟机能耗预测模型能够更加全 面准确地对虚拟机的能耗进行预测。
[0050] 在利用上述模型训练方法训练出虚拟机能耗预测模型后,当需要对待预测虚拟机 的能耗进行预测,则只需将待预测虚拟机当前的运行参数以及与该待预测虚拟机配套使用 的物理机当前的运行参数输入上述虚拟机能耗预测模型中,便可得到该待预测虚拟机的能 耗预测值。
[0051] 可见,本发明实施例是基于模糊神经网络来构建虚拟机能耗预测模型的,由于模 糊神经网络能够对参数进行模糊化表示,所以能够避免现有技术中硬阈值分区间模拟所产 生的误差,有利于提高能耗预测准确性;同时由于神经网络具有对非线性函数的良好逼近 能力,从而能够更好地模拟虚拟机能耗与各相关参数之间的非线性关系,提升了能耗预测 准确性。另外,本发明实施例是同时对虚拟机和物理机的历史运行参数进行模型训练的,这 表明本发明实施例不仅考虑到虚拟机的历史运行参数对虚拟机能耗的影响,还考虑到相关 物理机的历史运行参数对虚拟机能耗的影响,从而使得最终得到的虚拟机能耗预测模型能 够更加全面准确地对虚拟机的能耗进行预测。综上可见,本发明实施例公开的技术方案有 效地提高了虚拟机能耗预测的准确性。
[0052] 本发明实施例公开了一种具体的基于模糊神经网络的虚拟机能耗预测方法,相对 于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
[0053]参见图2所示,上一实施例步骤S11中,预先基于模糊神经网络,对虚拟机的历史运 行参数以及与虚拟机配套的物理机的历史运行参数进行模型训练,得到虚拟机能耗预测模 型的过程,具体可以包括:
[0054] 步骤S111:获取虚拟机的历史运行参数以及与虚拟机配套的物理机的历史运行参 数,得到初始训练参数集;
[0055] 步骤S112:对初始训练参数集进行参数筛选,将筛选出的参数作为特征值,得到相 应的特征集;
[0056] 步骤S113:利用预先训练好的隶属函数,对特征集中所有的特征值进行模糊化处 理,得到相应的模糊集;
[0057]步骤S114:利用模糊集进行BP神经网络的权值训练,得到相应的模糊BP神经网络, 并将模糊BP神经网络确定为虚拟机能耗预测模型。
[0058]可以理解的是,上述虚拟机的历史运行参数和与虚拟机配套的物理机的历史运行 参数均至少包括CPU利用率、内存利用率、单位时间内的执行指令数和单位时间内丢失的 cache数(cache,即高速缓冲存储器)。
[0059] 另外,上述步骤S112中,对初始训练参数集进行参数筛选,将筛选出的参数作为特 征值,得到相应的特征集的过程,具体可以包括:基于主成分分析,对初始训练参数集进行 降维处理,以对初始训练参数集进行参数筛选,并将筛选出的参数作为特征值,相应地得到 特征集。当然,本实施例也可以采用相关性分析,来对上述初始训练参数进行参数筛选。
[0060] 上述步骤S113中的隶属函数可以为基于聚类的高斯型隶属函数
[0061] 其中,高斯型隶属函数的训练过程,包括:分别对特征集中的每一特征值进行聚 类,并计算每一个聚类对应的均值和方差,生成得到高斯型隶属函数。其中,高斯型隶属函 数的表达式为:
[0062]
[0063] 其中,Xl表示第i个特征值,表示特征集中第i个特征值的第j个聚类的均值 表示特征集中第i个特征值的第j个聚类的方差。需要说明的是,一个特征值对应的聚类个 数可以是1个,也可以大于1。
[0064] 当然,本实施例除了采用高斯型隶属函数,也可以采用同样基于聚类的三角形隶 属函数。
[0065]另外,参见图3所示,上述步骤S114中,利用模糊集进行BP神经网络的权值训练的 过程,具体包括:
[0066]步骤S1141:对BP神经网络的权值进行初始化;
[0067]步骤S1142:获取当前的BP神经网络,并将模糊集中每一模糊参数输入当前的BP神 经网络,以相应地输出虚拟机能耗估算值;
[0068] 步骤S1143:计算虚拟机能耗估算值与虚拟机实际能耗值之间的差值;
[0069] 步骤S1144:判断该差值是否小于预设阈值,如果是,则结束训练,如果否,则根据 该差值,对BP神经网络的权值进行相应的修正,以对BP神经网络进行更新,并进入步骤 S1142〇
[0070] 可见,本实施例在进行BP神经网络的权值训练时,是通过反复比较虚拟机能耗估 算值与虚拟机实际能耗值之间的差值,如果该差值大于或等于预设阈值,则对BP神经网络 的权值进行相应的修正,否则认为此时训练出来的BP神经网络已经符合误差要求,停止训 练便可。
[0071] 相应的,本发明实施例公开了一种基于模糊神经网络的虚拟机能耗预测系统,参 见图4所示,该系统包括:
[0072] 模型训练模块41,用于预先基于模糊神经网络,对虚拟机的历史运行参数以及与 虚拟机配套的物理机的历史运行参数进行模型训练,得到虚拟机能耗预测模型;
[0073] 能耗预测模块42,用于将待预测虚拟机的运行参数以及与待预测虚拟机配套的物 理机的运行参数输入虚拟机能耗预测模型,得到待预测虚拟机的能耗预测值。
[0074] 具体的,上述模型训练模块可以包括训练参数获取单元、参数筛选器、模糊处理单 元和神经网络权值训练器;其中,
[0075] 训练参数获取单元,用于获取虚拟机的历史运行参数以及与虚拟机配套的物理机 的历史运行参数,得到初始训练参数集;
[0076] 参数筛选器,用于对初始训练参数集进行参数筛选,将筛选出的参数作为特征值, 得到相应的特征集;
[0077] 模糊处理单元,用于利用预先训练好的隶属函数,对特征集中所有的特征值进行 模糊化处理,得到相应的模糊集;
[0078] 神经网络权值训练器,用于利用模糊集进行BP神经网络的权值训练,得到相应的 模糊BP神经网络,并将模糊BP神经网络确定为虚拟机能耗预测模型。
[0079] 另外,本实施例中的神经网络权值训练器具体可以包括权值初始化单元、能耗估 算单元、差值计算单元和判断单元。其中,
[0080] 权值初始化单元,用于对BP神经网络的权值进行初始化;
[0081] 能耗估算单元,用于获取当前的BP神经网络,并将模糊集中每一模糊参数输入当 前的BP神经网络,以相应地输出虚拟机能耗估算值;
[0082] 差值计算单元,用于计算虚拟机能耗估算值与虚拟机实际能耗值之间的差值;
[0083] 判断单元,用于判断该差值是否小于预设阈值,如果是,则结束训练,如果否,则根 据该差值,对BP神经网络的权值进行相应的修正,以对BP神经网络进行更新,并将更新后的 BP神经网络发送至能耗估算单元。
[0084] 可以理解的是,上述判断单元将更新后的BP神经网络发送至能耗估算单元时,还 会通知能耗估算单元利用更新后的BP神经网络进行能耗估算。
[0085]可见,本发明实施例是基于模糊神经网络来构建虚拟机能耗预测模型的,由于模 糊神经网络能够对参数进行模糊化表示,所以能够避免现有技术中硬阈值分区间模拟所产 生的误差,有利于提高能耗预测准确性;同时由于神经网络具有对非线性函数的良好逼近 能力,从而能够更好地模拟虚拟机能耗与各相关参数之间的非线性关系,提升了能耗预测 准确性。另外,本发明实施例是同时对虚拟机和物理机的历史运行参数进行模型训练的,这 表明本发明实施例不仅考虑到虚拟机的历史运行参数对虚拟机能耗的影响,还考虑到相关 物理机的历史运行参数对虚拟机能耗的影响,从而使得最终得到的虚拟机能耗预测模型能 够更加全面准确地对虚拟机的能耗进行预测。综上可见,本发明实施例公开的技术方案有 效地提高了虚拟机能耗预测的准确性。
[0086]最后,还需要说明的是,在本文中,术语"包括"、"包含"或者其任何其他变体意在 涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些 要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设 备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除 在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0087]以上对本发明所提供的一种基于模糊神经网络的虚拟机能耗预测方法及系统进 行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施 例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人 员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明 书内容不应理解为对本发明的限制。
【主权项】
1. 一种基于模糊神经网络的虚拟机能耗预测方法,其特征在于,包括: 预先基于模糊神经网络,对虚拟机的历史运行参数以及与所述虚拟机配套的物理机的 历史运行参数进行模型训练,得到虚拟机能耗预测模型; 将待预测虚拟机的运行参数以及与所述待预测虚拟机配套的物理机的运行参数输入 所述虚拟机能耗预测模型,得到所述待预测虚拟机的能耗预测值。2. 根据权利要求1所述的基于模糊神经网络的虚拟机能耗预测方法,其特征在于,所述 预先基于模糊神经网络,对虚拟机的历史运行参数以及与所述虚拟机配套的物理机的历史 运行参数进行模型训练,得到虚拟机能耗预测模型的过程,包括: 获取所述虚拟机的历史运行参数以及与所述虚拟机配套的物理机的历史运行参数,得 到初始训练参数集; 对所述初始训练参数集进行参数筛选,将筛选出的参数作为特征值,得到相应的特征 集; 利用预先训练好的隶属函数,对所述特征集中所有的特征值进行模糊化处理,得到相 应的模糊集; 利用所述模糊集进行BP神经网络的权值训练,得到相应的模糊BP神经网络,并将所述 模糊BP神经网络确定为所述虚拟机能耗预测模型。3. 根据权利要求2所述的基于模糊神经网络的虚拟机能耗预测方法,其特征在于,所述 虚拟机的历史运行参数和与所述虚拟机配套的物理机的历史运行参数均至少包括CPU利用 率、内存利用率、单位时间内的执行指令数和单位时间内丢失的cache数。4. 根据权利要求2所述的基于模糊神经网络的虚拟机能耗预测方法,其特征在于,所述 对所述初始训练参数集进行参数筛选,将筛选出的参数作为特征值,得到相应的特征集的 过程,包括: 基于主成分分析,对所述初始训练参数集进行降维处理,以对所述初始训练参数集进 行参数筛选,并将筛选出的参数作为特征值,相应地得到所述特征集。5. 根据权利要求2所述的基于模糊神经网络的虚拟机能耗预测方法,其特征在于,所述 隶属函数为基于聚类的高斯型隶属函数。6. 根据权利要求5所述的基于模糊神经网络的虚拟机能耗预测方法,其特征在于,所述 高斯型隶属函数的训练过程,包括: 分别对所述特征集中的每一特征值进行聚类,并计算每一个聚类对应的均值和方差, 生成得到高斯型隶属函数。7. 根据权利要求2所述的基于模糊神经网络的虚拟机能耗预测方法,其特征在于,所述 利用所述模糊集进行BP神经网络的权值训练的过程,包括: 步骤S71:对BP神经网络的权值进行初始化; 步骤S72:获取当前的BP神经网络,并将所述模糊集中每一模糊参数输入当前的BP神经 网络,以相应地输出虚拟机能耗估算值; 步骤S73:计算所述虚拟机能耗估算值与虚拟机实际能耗值之间的差值; 步骤S74:判断该差值是否小于预设阈值,如果是,则结束训练,如果否,则根据该差值, 对BP神经网络的权值进行相应的修正,以对BP神经网络进行更新,并进入步骤S72。8. -种基于模糊神经网络的虚拟机能耗预测系统,其特征在于,包括: 模型训练模块,用于预先基于模糊神经网络,对虚拟机的历史运行参数以及与所述虚 拟机配套的物理机的历史运行参数进行模型训练,得到虚拟机能耗预测模型; 能耗预测模块,用于将待预测虚拟机的运行参数以及与所述待预测虚拟机配套的物理 机的运行参数输入所述虚拟机能耗预测模型,得到所述待预测虚拟机的能耗预测值。9. 根据权利要求8所述的基于模糊神经网络的虚拟机能耗预测系统,其特征在于,所述 模型训练模块包括: 训练参数获取单元,用于获取所述虚拟机的历史运行参数以及与所述虚拟机配套的物 理机的历史运行参数,得到初始训练参数集; 参数筛选器,用于对所述初始训练参数集进行参数筛选,将筛选出的参数作为特征值, 得到相应的特征集; 模糊处理单元,用于利用预先训练好的隶属函数,对所述特征集中所有的特征值进行 模糊化处理,得到相应的模糊集; 神经网络权值训练器,用于利用所述模糊集进行BP神经网络的权值训练,得到相应的 模糊BP神经网络,并将所述模糊BP神经网络确定为所述虚拟机能耗预测模型。10. 根据权利要求9所述的基于模糊神经网络的虚拟机能耗预测系统,其特征在于,所 述神经网络权值训练器包括: 权值初始化单元,用于对BP神经网络的权值进行初始化; 能耗估算单元,用于获取当前的BP神经网络,并将所述模糊集中每一模糊参数输入当 前的BP神经网络,以相应地输出虚拟机能耗估算值; 差值计算单元,用于计算所述虚拟机能耗估算值与虚拟机实际能耗值之间的差值; 判断单元,用于判断该差值是否小于预设阈值,如果是,则结束训练,如果否,则根据该 差值,对BP神经网络的权值进行相应的修正,以对BP神经网络进行更新,并将更新后的BP神 经网络发送至所述能耗估算单元。
【文档编号】G06N7/04GK105975385SQ201610279167
【公开日】2016年9月28日
【申请日】2016年4月28日
【发明人】赵雅倩
【申请人】浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1