一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

虚拟机的功耗预测模型训练方法、功耗预测方法及装置与流程

2022-10-22 01:31:42 来源:中国专利 TAG:


1.本公开属于计算机技术领域,具体涉及一种虚拟机的功耗预测模型训练方法、功耗预测方法及装置。


背景技术:

2.随着云计算技术的发展,公有云以其成本低、易用性好、可弹性伸缩的特点逐渐在不同应用领域中普及,但是随着公有云应用规模的扩大,其部署与运行成本、运行功耗也逐渐提升。其中,公有云的虚拟机功耗是影响其部署与运行成本、运行功耗重要因素,而虚拟机的功耗与其负载相关。因此,通过虚拟机的负载预测其功耗,对公有云成本、功耗的评测和控制,以及公有云的资源调度具有重要意义。
3.目前,不同虚拟机基于不同用户需求建立,其负载情况差别较大,在运行过程中负载与功耗的关系变化关系复杂,因此难以准确统计具体虚拟机功耗;而且基于虚拟机负载的功耗预测常采用简单的线性模型、二维表映射模型实现,其中,线性模型由基础功耗以及随负载线性变化的功耗两部分组成,该模型不能描述多虚拟机情况下负载与功耗间复杂的非线性关系,对功耗预测不准确,二维表映射模型实时性较差,也不能及时反应功耗的变化。


技术实现要素:

4.本公开实施例的目的是提供一种虚拟机的功耗预测模型训练方法、功耗预测方法及装置,能够提高对虚拟机功耗预测的准确性和实时性。
5.为了解决上述技术问题,本公开是这样实现的:
6.第一方面,本公开提供了一种虚拟机的功耗预测模型训练方法,该虚拟机配置在公有云的物理机上,该方法可以包括:获取虚拟机的第一配置数据与第一负载动态数据,以及物理机的第一测量功耗数据;根据虚拟机的负载类型构建对应神经网络结构的功耗预测模型,并将第一配置数据与第一负载动态数据作为功耗预测模型的输入,基于第一测量功耗数据进行监督训练,获得虚拟机的功耗预测模型。
7.可选地,根据虚拟机的负载类型构建对应神经网络结构的功耗预测模型,并将第一配置数据与第一负载动态数据作为功耗预测模型的输入,基于第一测量功耗数据进行监督训练,获得虚拟机的功耗预测模型,包括:根据第一负载动态数据确定虚拟机的负载类型;根据负载类型构建对应神经网络结构的功耗预测模型;将第一配置数据与第一负载动态数据输入功耗预测模型,并获得功耗预测模型输出的第一预测功耗数据;根据第一预测功耗数据与第一测量功耗数据对功耗预测模型进行监督训练。
8.可选地,根据第一预测功耗数据与第一测量功耗数据对功耗预测模型进行监督训练,包括:根据第一预测功耗数据确定物理机的总第一预测功耗数据;在第一测量功耗数据与总第一预测功耗数据的第一差值不符合收敛条件的情况下,根据第一差值调整功耗预测模型的模型参数;在第一差值符合收敛条件的情况下,确定功耗预测模型的模型参数。
9.可选地,相同负载类型的虚拟机为两个以上,根据第一差值调整功耗预测模型的模型参数之后,还包括:在神经网络结构对应的功耗预测模型间共享模型参数。
10.可选地,根据虚拟机的负载类型构建对应神经网络结构的功耗预测模型,并将第一配置数据与第一负载动态数据作为功耗预测模型的输入,基于第一测量功耗数据进行监督训练,获得虚拟机的功耗预测模型之后,还包括:在功耗预测模型运行时长达到反馈周期的情况下,采集虚拟机的第二配置数据与第二负载动态数据,以及物理机的第二测量功耗数据;将第二配置数据与第二负载动态数据输入功耗预测模型中,获取虚拟机对应的第二预测功耗数据;根据第二预测功耗数据确定物理机的总第二预测功耗数据;在第二测量功耗数据与总第二预测功耗数据的第二差值符合调整条件的情况下,根据第二差值调整功耗预测模型的模型参数。
11.可选地,根据第一负载动态数据确定虚拟机的负载类型,包括:根据第一负载动态数据确定不同虚拟机间的相关度;根据相关度确定虚拟机所属的负载类型。
12.第二方面,本公开还提供了一种虚拟机的功耗预测方法,虚拟机配置在公有云的物理机上,该方法可以包括:获取虚拟机的第三配置数据与第三负载动态数据;将第三配置数据与第三负载动态数据输入虚拟机的功耗预测模型中,并获得功耗预测模型输出的第三预测功耗数据,功耗预测模型采用第一方面的虚拟机的功耗预测模型训练方法得到。
13.第三方面,本公开提供了一种虚拟机的功耗预测模型训练装置,虚拟机配置在公有云的物理机上,该装置可以包括:训练数据采集模块,用于获取虚拟机的第一配置数据与第一负载动态数据,以及物理机的第一测量功耗数据;预测模型训练模块,用于根据虚拟机的负载类型构建对应神经网络结构的功耗预测模型,并将第一配置数据与第一负载动态数据作为功耗预测模型的输入,基于第一测量功耗数据进行监督训练,获得虚拟机的功耗预测模型。
14.可选地,预测模型训练模块,包括:负载类型确定子模块,用于根据第一负载动态数据确定虚拟机的负载类型;预测模型构建子模块,用于根据负载类型构建对应神经网络结构的功耗预测模型;预测模型训练子模块,用于将第一配置数据与第一负载动态数据输入功耗预测模型,并获得功耗预测模型输出的第一预测功耗数据;该预测模型训练子模块,还用于根据第一预测功耗数据与第一测量功耗数据对功耗预测模型进行监督训练。
15.可选地,该预测模型训练子模块,具体用于根据第一预测功耗数据确定物理机的总第一预测功耗数据;在第一测量功耗数据与总第一预测功耗数据的第一差值不符合收敛条件的情况下,根据第一差值调整功耗预测模型的模型参数;在第一差值符合收敛条件的情况下,确定功耗预测模型的模型参数。
16.可选地,相同负载类型的虚拟机为两个以上,该预测模型训练子模块,还用于在神经网络结构对应的功耗预测模型间共享模型参数。
17.可选地,该预测模型训练模块,还用于在功耗预测模型运行时长达到反馈周期的情况下,采集虚拟机的第二配置数据与第二负载动态数据,以及物理机的第二测量功耗数据;将第二配置数据与第二负载动态数据输入功耗预测模型中,获取虚拟机对应的第二预测功耗数据;根据第二预测功耗数据确定物理机的总第二预测功耗数据;在第二测量功耗数据与总第二预测功耗数据的第二差值符合调整条件的情况下,根据第二差值调整功耗预测模型的模型参数。
18.可选地,该负载类型确定子模块,具体用于根据第一负载动态数据确定不同虚拟机间的相关度;根据相关度确定虚拟机所属的负载类型。
19.第四方面,本公开提供了一种虚拟机的功耗预测装置,该虚拟机配置在公有云的物理机上,该装置可以包括:预测数据采集模块,用于获取虚拟机的第三配置数据与第三负载动态数据;模型预测输出模块,用于将第三配置数据与第三负载动态数据输入虚拟机的功耗预测模型中,并获得功耗预测模型输出的第三预测功耗数据,功耗预测模型采用权利要求8的虚拟机的功耗预测模型训练装置得到。
20.第五方面,本公开提供了一种电子设备,该电子设备包括处理器、存储器及存储在该存储器上并可在该处理器上运行的程序或指令,该程序或指令被该处理器执行时实现如第一方面的虚拟机的功耗预测模型训练方法,或第二方面的虚拟机的功耗预测方法。
21.第六方面,本公开提供了一种可读存储介质,可读存储介质上存储程序或指令,该程序或指令被处理器执行时实现如第一方面的虚拟机的功耗预测模型训练方法,或第二方面的虚拟机的功耗预测方法。
22.第七方面,本公开提供了一种芯片,该芯片包括处理器和通信接口,通信接口和处理器耦合,该处理器用于运行程序或指令,实现如第一方面的虚拟机的功耗预测模型训练方法,或第二方面的虚拟机的功耗预测方法。
23.第八方面,本公开提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如实现如第一方面的虚拟机的功耗预测模型训练方法,或第二方面的虚拟机的功耗预测方法。
24.在本公开提供的虚拟机的功耗预测模型训练方法中,虚拟机配置在公有云的物理机上,先获取虚拟机的第一配置数据与第一负载动态数据,以及物理机的第一测量功耗数据,再构建虚拟机的负载类型对应神经网络结构的功耗预测模型,并将第一配置数据与第一负载动态数据作为功耗预测模型的输入,基于第一测量功耗数据进行监督训练,获得虚拟机的功耗预测模型。该方案能够对不同的虚拟机基于负载类型构建对应神经网络结构的功耗预测模型,以更针对性地描述不同负载下虚拟机的功耗变化情况,保证了对功耗变化预测的准确性与实时性;并且采用物理机总测量功耗数据进行监督训练,无需为每个虚拟机独立统计功耗,保证训练过程基于真实数据进行,从而更准确地描述虚拟机负载与功耗的状态,提高了功耗预测模型的准确性和实时性。
附图说明
25.图1为本公开实施例提供的虚拟机的功耗预测模型训练方法步骤流程图之一;
26.图2为本公开实施例提供的虚拟机的功耗预测模型训练方法步骤流程图之二;
27.图3为本公开实施例提供的监督训练的步骤流程图;
28.图4为本公开实施例提供的功耗预测模型周期性反馈的步骤流程图;
29.图5为本公开实施例提供的虚拟机的功耗预测方法的步骤流程图;
30.图6为本公开实施例提供的虚拟机的功耗预测架构流程示意图;
31.图7为本公开实施例提供的公有云的功耗预测模型训练装置的结构示意图;
32.图8为本公开实施例提供的公有云的功耗预测装置的结构示意图;
33.图9为本公开实施例提供的一种电子设备的结构示意图;
34.图10为本公开实施例提供的一种电子设备的硬件示意图。
具体实施方式
35.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
36.本公开的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
37.需要说明的是,公有云通常指由第三方向用户提供的云服务,核心属性在于资源共享。不同用户基于业务需求在第三方提供的物理机上建立虚拟机,以通过该虚拟机共享该物理机的计算、存储和网络等资源。因此,公有云中虚拟机运行环境复杂,在运行过程中负载以及功耗变化可控性低,变化情况难以准确描述,而且不能像私有云通过控制变量较为准确的统计各虚拟机的功耗,使得对虚拟机在运行过程中具体的功耗难以准确定统计。
38.本公开实施例中,通过构建与虚拟机负载类型对应神经网络结构的功耗预测模型,并采集虚拟机的配置数据、负载动态数据,以及物理机的总测量功耗数据进行模型训练,使得虚拟机的功耗预测模型在能够准确测量的实际数据基础上训练得到,且能够适应不同负载类型的虚拟机,保证了对虚拟机功耗预测的准确性和实时性,从而保证在虚拟机基础上对公有云准确的功耗预测。
39.另外,本公开获取的数据,包括虚拟机配置、负载,物理机功耗等数据,均在明确告知用户或相关数据所属方对数据的采集内容、数据用途、处理方式等信息后,在用户或相关数据所属方同意、授权的情况下访问、采集、存储并应用于后续分析处理,且可以向用户或相关数据所属方提供访问、更正、删除该数据的途径,以及撤销同意、授权的方法。
40.下面结合附图,通过具体的实施例及其应用场景对本公开实施例提供的虚拟机的功耗预测模型训练方法,及虚拟机的功耗预测方法进行详细地说明。
41.图1为本公开实施例提供的虚拟机的功耗预测模型训练方法步骤流程图之一。该虚拟机配置在公有云的物理机上,如图1所示,该方法可以包括如下步骤101至步骤102。
42.步骤101、获取虚拟机的第一配置数据与第一负载动态数据,以及物理机的第一测量功耗数据。
43.其中,公有云可以由物理机组成基础设施,并将物理机的计算、存储和网络资源等硬件资源抽象化后向用户提供,虚拟机可以基于配置数据在物理机上独立地配置抽象化的硬件资源,以模拟物理机的运行,实现物理机资源的调度和共享,一个物理机上可以配置一个以上的虚拟机。第一配置数据可以是虚拟机在部署及运行过程中所需的配置参数,可以包括虚拟机名称、安装位置、操作系统、存储容量、计算容量、网络参数、处理器数量等等;第一负载动态数据可以是虚拟机中基于第一配置数据配置的抽象化的硬件资源在运行过程
中的工作状态数据,可以包括内存利用率、处理器利用率、存储利用率、吞吐量等等,第一负载动态数据可以在虚拟机处于不同实际运行情况下获取,如可以在虚拟机处于启动阶段、高压环境、低压环境下时分别获取其第一负载动态数据,对采集到的第一负载动态数据还可以进行预处理,包括对数据内容及格式的变换,归一化处理等,形成可用于模型训练的训练数据集。
44.本公开实施例中,第一测量功耗数据是在获取虚拟机第一配置数据与第一负载动态数据的同时,获取的虚拟机所在物理机的实际功耗数据,第一测量功耗数据用于表征虚拟机运行过程中物理机或物理机各硬件资源实际消耗的能量,第一测量功耗数据可以通过电压和电流确定。
45.步骤102、根据虚拟机的负载类型构建对应神经网络结构的功耗预测模型,并将第一配置数据与第一负载动态数据作为功耗预测模型的输入,基于第一测量功耗数据进行监督训练,获得虚拟机的功耗预测模型。
46.本公开实施例中,可以为物理机中每一虚拟机创建一个功耗预测模型,功耗预测模型可以是神经网络模型,用于描述虚拟机的功耗与不同类型负载的关系。在此基础上,通过物理机可测量的第一测量功耗数据对物理机中所有虚拟机的功耗预测模型进行监督训练,以获得各虚拟机对应的功耗预测模型。负载类型可以是反应虚拟机负载状态的参数类型或参数变化类型,如负载类型可以是cpu使用率、内存使用率等,也可以是cpu使用率上升、内存使用率上升,根据上升幅度和上升速率,也可以是分为cpu使用率小幅度上升、cpu使用率大幅度上升、cpu使用率缓慢上升、cpu使用率快速上升等。神经网络结构可以对应虚拟机的负载类型构建,以负载类型相关的不同神经网络结构构建不同虚拟机对应的功耗预测模型可以准确描述不同负载类型下负载与功耗的相关关系,还可以有效避免功耗预测模型过拟合的问题,提高功耗预测模型的训练效果。
47.其中,功耗预测模型的输入可以包括第一配置数据与第一负载动态数据,第一配置数据可以表征不同配置的虚拟机,以使功耗预测模型有效支持不同配置的虚拟机;第一负载动态数据可以根据不同负载区分设计,以尽可能多地包含与功耗相关程度较高的负载类型,对于无法确定与功耗相关程度的第一负载动态数据,可以先作为功耗预测模型的输入,在训练过程中由功耗预测模型自动赋予权重。此时,以第一测量功耗数据进行监督训练,以使功耗预测模型基于第一配置数据和第一负载动态数据的输出结果靠近实际准确测量的第一测量功耗数据,保证功耗预测模型对虚拟机功耗的准确测量和预测。
48.在本公开提供的虚拟机的功耗预测模型训练方法中,公有云包括一个以上物理机,每个物理机上配置一个以上虚拟机,先获取每个虚拟机的第一配置数据与第一负载动态数据,以及每个物理机的第一测量功耗数据,再在公有云中分别构建每一虚拟机的负载类型对应的神经网络,并将第一配置数据与所述第一负载动态数据作为所述神经网络的输入,基于所述第一测量功耗数据对神经网络进行监督训练,获得虚拟机的功耗预测模型,其中,该功耗预测模型的网络结构与虚拟机的负载类型对应。该方案能够对不同的虚拟机基于负载类型构建对应网络结构的功耗预测模型,能够更针对性的描述不同负载虚拟机的功耗变化情况,保证了对功耗变化预测的准确性与实时性;并且采用物理机总测量功耗数据进行训练,无需为每个虚拟机独立统计功耗,保证训练过程基于真实数据进行,从而更准确地描述虚拟机负载与功耗的状态,提高了功耗预测模型的准确性和实时性。
49.图2为本公开实施例提供的虚拟机的功耗预测模型训练方法步骤流程图之二。该虚拟机配置在公有云的物理机上,如图2所示,该方法可以包括如下步骤201至步骤205。
50.步骤201、获取虚拟机的第一配置数据与第一负载动态数据,以及物理机的第一测量功耗数据。
51.本公开实施例中,步骤201可对应参照前述步骤101的相关描述,为避免重复,在此不再赘述。
52.步骤202、根据第一负载动态数据确定虚拟机的负载类型。
53.本公开实施例中,负载类型可以是第一负载动态数据的来源,也可以是第一负载动态数据的变化趋势,负载类型和第一负载动态数据可对应参照前述步骤101至102的相关描述,为避免重复,在此不再赘述。
54.在本公开一方法实施例中,步骤202可以包括如下步骤s11至s12。
55.步骤s11、根据第一负载动态数据确定不同虚拟机间的相关度。
56.其中,在多个虚拟机中,可以根据第一负载动态数据确定不同虚拟机的相关度,可以是第一负载动态数据来源的相关度,如第一负载动态数据来源相同的虚拟机相关度高,第一负载动态数据来源不同的虚拟机相关度低;也可以是第一负载动态数据变化幅度的相关度,如第一负载动态数据变化幅度相同或相近的虚拟机相关度高,第一负载动态数据变化幅度相差越大的虚拟机相关度低;也可以是第一负载动态数据变换趋势的相关度,如第一负载动态数据变化方向越相近的虚拟机相关度越高,第一负载动态数据变化速率越相近的虚拟机相关度越高。
57.步骤s12、根据相关度确定虚拟机所属的负载类型。
58.其中,在确定不同虚拟机间的相关度后,可以根据相关度确定虚拟机所属的负载类型,如可以将相关度达到一定阈值的虚拟机归属为同一负载类型,将相关度低于该阈值的虚拟机划分为不同负载类型,阈值的大小可以根据数据处理、模型训练的需求设置,本公开实施例对此不作具体限制。
59.步骤203、根据负载类型构建对应神经网络结构的功耗预测模型。
60.本公开实施例中,不同负载类型的虚拟机,其负载动态数据与测量功耗数据的关系可以采用不同神经网络结构的功耗预测模型描述,以适应虚拟机在运行过程中负载与功耗相关关系变化的状态,如cpu使用率较高的虚拟机可以使用多层全连接的神经网络结构,内存使用率较高的虚拟机可以使用卷积网络或者残差结构等神经网络结构,本公开实施例对此不作具体限制。其中,可以采用不同神经网络结构的功耗预测模型对不同负载类型的虚拟机进行训练和预测,并根据模型效果选择负载类型对应的神经网络结构,也可以根据负载动态数据变化的特征提取需求,选择对应神经网络结构。
61.步骤204、将第一配置数据与第一负载动态数据输入功耗预测模型,并获得功耗预测模型输出的第一预测功耗数据。
62.本公开实施例中,在基于虚拟机的负载类型构建对应神经网络结构的功耗预测模型后,可以获取功耗预测模型基于第一配置数据、第一负载动态数据预测得到的第一预测功耗数据,第一预测功耗数据是对该虚拟机运行过程中功耗的预测值。
63.如,基于虚拟机的负载类型,构建神经网络结构为f(x;θ)的功耗预测模型,其中,x为输入的第一配置数据与第一负载动态数据,θ为模型参数。
64.步骤205、根据第一预测功耗数据与第一测量功耗数据对功耗预测模型进行监督训练。
65.其中,监督训练指以已知结果为示例的模型训练过程,通过对物理机可准确测量的第一测量功耗数据为示例,对功耗预测模型进行监督训练,使得功耗预测模型基于第一配置数据、第一负载动态数据的预测结果,在真实、准确的数据基础上进行模型训练,保证了功耗预测模型训练的有效性,得到准确性高、实时性好的功耗预测模型。
66.在本公开的一方法实施例中,还提供了一种监督训练的步骤流程图,如图2所示,步骤205可以包括如下步骤301至303。
67.步骤301、根据第一预测功耗数据确定物理机的总第一预测功耗数据。
68.其中,物理机上可以配置一个以上的虚拟机,则物理机的实际功耗为配置在其上所有虚拟机实际功耗的累计。因此,可以根据虚拟机的第一预测功耗数据确定物理机的总第一预测功耗数据,如将物理机上处于运行状态所有虚拟机分别对应的第一预测功耗数据累计,获得物理机对应的总第一预测功耗数据。
69.如,通过下列公式(1)确定物理机的总第一预测功耗数据。
70.p'=f(x
11
,θ1) f(x
12
,θ1)

f(x
1m
,θ1)

f(x
s1
,θs) f(x
s2
,θs)

f(x
sm
,θs)
ꢀꢀꢀ
(1)
71.其中,s代表虚拟机,m代表第s个虚拟机上的第m个负载。
72.步骤302、在第一测量功耗数据与总第一预测功耗数据的第一差值不符合收敛条件的情况下,根据第一差值调整功耗预测模型的模型参数。
73.步骤303、在第一差值符合收敛条件的情况下,确定功耗预测模型的模型参数。
74.其中,在确定物理机上配置的多个虚拟机的总第一预测功耗数据后,可以以第一测量功耗数据进行监督训练。具体的,可以确定第一测量功耗数据与总第一预测功耗数据之间的第一差值,从而确定功耗预测模型的预测结果与示例结果之前的偏差,从而对模型参数进行调整以使该偏差符合模型应用的需求,即使第一差值符合收敛条件。如收敛条件为第一差值小于偏差阈值的情况下,在第一差值大于或等于偏差阈值时,可以调整模型参数以降低第一差值,在第一差值小于偏差阈值时可以确定该模型参数,从而获得对应的功耗预测模型。
75.如,第一差值m可以通过如下公式(2)计算。
76.m=(p'-(p-p0))
2 (2)
77.其中,p'为总第一预测功耗数据,p为第一测量功耗数据,p0为物理机的固定功耗值。
78.具体的,第一差值m可以以如下公式(3)表示:
[0079][0080]
在本公开的一方法实施例中,相同负载类型的虚拟机为两个以上,则如图3所示,步骤302中根据第一差值调整功耗预测模型的模型参数后,还包括:
[0081]
步骤304、在神经网络结构对应的功耗预测模型间共享模型参数。
[0082]
本公开实施例中,负载类型相同的虚拟机可以有两个以上,由于功耗预测模型的神经网络结构对应负载类型,因此多同一负载类型的虚拟机其神经网络结构也对应,在调整模型参数后可以在神经网络结构对应的功耗预测模型间共享模型参数,以扩大训练的范
围,提高模型收敛的效率,保证模型训练的效果。
[0083]
在本公开的一方法实施例中,步骤205之后,还提供了一种功耗预测模型周期性反馈的步骤流程图,如图4所示,还包括步骤401至步骤404。
[0084]
步骤401、在功耗预测模型运行时长达到反馈周期的情况下,采集虚拟机的第二配置数据与第二负载动态数据,以及物理机的第二测量功耗数据。
[0085]
步骤402、将第二配置数据与第二负载动态数据输入功耗预测模型中,获取虚拟机对应的第二预测功耗数据。
[0086]
步骤403、根据第二预测功耗数据确定物理机的总第二预测功耗数据。
[0087]
步骤404、在第二测量功耗数据与总第二预测功耗数据的第二差值符合调整条件的情况下,根据第二差值调整功耗预测模型的模型参数。
[0088]
本公开实施例中,可以周期性的校验功耗预测模型的性能,修正功耗预测模型的模型参数,以保证功耗预测模型预测结果的有效性、可靠性。如步骤401至步骤404所示,可对应参照前述步骤201至步骤205的相关描述,为避免重复,在此不再赘述。
[0089]
在本公开提供的虚拟机的功耗预测模型训练方法中,虚拟机配置在公有云的物理机上,先获取虚拟机的第一配置数据与第一负载动态数据,以及物理机的第一测量功耗数据,再构建虚拟机的负载类型对应神经网络结构的功耗预测模型,并将第一配置数据与第一负载动态数据作为功耗预测模型的输入,基于第一测量功耗数据进行监督训练,获得虚拟机的功耗预测模型。该方案能够对不同的虚拟机基于负载类型构建对应神经网络结构的功耗预测模型,以更针对性地描述不同负载下虚拟机的功耗变化情况,保证了对功耗变化预测的准确性与实时性;并且采用物理机总测量功耗数据进行监督训练,无需为每个虚拟机独立统计功耗,保证训练过程基于真实数据进行,从而更准确地描述虚拟机负载与功耗的状态,提高了功耗预测模型的准确性和实时性。
[0090]
图5公开了本公开实施例提供的一种虚拟机的功耗预测方法的步骤流程图,虚拟机配置在公有云的物理机上。如图5所示,该方法可以包括如下步骤501至步骤502。
[0091]
步骤501、获取虚拟机的第三配置数据与第三负载动态数据。
[0092]
本公开实施例中,步骤501可对应参照前述步骤101的相关描述,为避免重复,在此不再赘述。
[0093]
步骤502、将第三配置数据与第三负载动态数据输入虚拟机的功耗预测模型中,并获得功耗预测模型输出的第三预测功耗数据,功耗预测模型采用图1至图4任一的虚拟机的功耗预测模型训练方法得到。
[0094]
本公开实施例中,步骤502可对应参照图1至图4的相关描述,为避免重复,在此不再赘述。
[0095]
在本公开提供的虚拟机的功耗预测方法中,虚拟机配置在公有云的物理机上,通过获取虚拟机的第三配置数据与第三负载动态数据,再将第三配置数据与第三负载动态数据输入预先训练的功耗预测模型以获得对虚拟机的第三预测功耗数据,其中,功耗预测模型采用如下训练方法得到:
[0096]
先获取虚拟机的第一配置数据与第一负载动态数据,以及物理机的第一测量功耗数据,再构建虚拟机的负载类型对应神经网络结构的功耗预测模型,并将第一配置数据与第一负载动态数据作为功耗预测模型的输入,基于第一测量功耗数据进行监督训练,获得
虚拟机的功耗预测模型。该方案能够对不同的虚拟机基于负载类型构建对应神经网络结构的功耗预测模型,以更针对性地描述不同负载下虚拟机的功耗变化情况,保证了对功耗变化预测的准确性与实时性;并且采用物理机总测量功耗数据进行监督训练,无需为每个虚拟机独立统计功耗,保证训练过程基于真实数据进行,从而更准确地描述虚拟机负载与功耗的状态,提高了功耗预测模型的准确性和实时性。
[0097]
图6为本公开实施例提供的虚拟机的功耗预测架构流程示意图。如图6所示,该结构包括待预测的公有云601与预测服务器602。其中,公有云601包括n个物理机,每个物理机上配置有s个虚拟机。
[0098]
预测服务器602可以向公有云601请求采集每一虚拟机的第一配置数据与第一负载动态数据,以及每一物理机的第一测量功耗数据;
[0099]
预测服务器602根据第一负载动态数据确定虚拟机的负载类型,并为该虚拟机构建负载类型对应神经网络结构的功耗预测模型,再将第一配置数据与第一负载动态数据输入该功耗预测模型,以第一测量功耗数据为监督信号进行模型训练,获得功耗预测模型;
[0100]
预测服务器602在功耗预测模型的运行时长达到反馈周期的情况下,重新向公有云601请求第二配置数据与第二负载动态数据,以及每一物理机的第二测量功耗数据,并将第二配置数据与第二负载动态数据输入该功耗预测模型,以第二测量功耗数据为监督信号进行模型训练,校正功耗预测模型。
[0101]
本公开实施例提供的公有云功耗预测,执行主体还可以为公有云功耗预测装置,或者该公有云功耗预测装置中的用于执行公有云功耗预测的控制模块。本公开实施例中以公有云功耗预测装置执行公有云功耗预测的方法为例,说明本公开实施例提供的公有云功耗预测的装置。
[0102]
图7为本公开实施例提供的公有云的功耗预测模型训练装置700的结构示意图,如图7中所示,公有云的功耗预测模型训练装置700可以包括:训练数据采集模块701,用于获取虚拟机的第一配置数据与第一负载动态数据,以及物理机的第一测量功耗数据;预测模型训练模块702,用于根据虚拟机的负载类型构建对应神经网络结构的功耗预测模型,并将第一配置数据与第一负载动态数据作为功耗预测模型的输入,基于第一测量功耗数据进行监督训练,获得虚拟机的功耗预测模型。
[0103]
可选地,预测模型训练模块701,包括:负载类型确定子模块,用于根据第一负载动态数据确定虚拟机的负载类型;预测模型构建子模块,用于根据负载类型构建对应神经网络结构的功耗预测模型;预测模型训练子模块,用于将第一配置数据与第一负载动态数据输入功耗预测模型,并获得功耗预测模型输出的第一预测功耗数据;该预测模型训练子模块,还用于根据第一预测功耗数据与第一测量功耗数据对功耗预测模型进行监督训练。
[0104]
可选地,该预测模型训练子模块,具体用于根据第一预测功耗数据确定物理机的总第一预测功耗数据;在第一测量功耗数据与总第一预测功耗数据的第一差值不符合收敛条件的情况下,根据第一差值调整功耗预测模型的模型参数;在第一差值符合收敛条件的情况下,确定功耗预测模型的模型参数。
[0105]
可选地,相同负载类型的虚拟机为两个以上,该预测模型训练子模块,还用于在神经网络结构对应的功耗预测模型间共享模型参数。
[0106]
可选地,该预测模型训练模块701,还用于在功耗预测模型运行时长达到反馈周期
的情况下,采集虚拟机的第二配置数据与第二负载动态数据,以及物理机的第二测量功耗数据;将第二配置数据与第二负载动态数据输入功耗预测模型中,获取虚拟机对应的第二预测功耗数据;根据第二预测功耗数据确定物理机的总第二预测功耗数据;在第二测量功耗数据与总第二预测功耗数据的第二差值符合调整条件的情况下,根据第二差值调整功耗预测模型的模型参数。
[0107]
可选地,该负载类型确定子模块,具体用于根据第一负载动态数据确定不同虚拟机间的相关度;根据相关度确定虚拟机所属的负载类型。
[0108]
在本公开提供的虚拟机的功耗预测模型训练装置中,虚拟机配置在公有云的物理机上,先获取虚拟机的第一配置数据与第一负载动态数据,以及物理机的第一测量功耗数据,再构建虚拟机的负载类型对应神经网络结构的功耗预测模型,并将第一配置数据与第一负载动态数据作为功耗预测模型的输入,基于第一测量功耗数据进行监督训练,获得虚拟机的功耗预测模型。该方案能够对不同的虚拟机基于负载类型构建对应神经网络结构的功耗预测模型,以更针对性地描述不同负载下虚拟机的功耗变化情况,保证了对功耗变化预测的准确性与实时性;并且采用物理机总测量功耗数据进行监督训练,无需为每个虚拟机独立统计功耗,保证训练过程基于真实数据进行,从而更准确地描述虚拟机负载与功耗的状态,提高了功耗预测模型的准确性和实时性。
[0109]
本公开实施例提供的公有云的功耗预测模型训练装置能够实现图1至图4方法实施例实现的各个过程,为避免重复,这里不再赘述。
[0110]
图8为本公开实施例提供的一种公有云的功耗预测装置800的结构示意图。如图8中所示,公有云的功耗预测装置800可以包括:预测数据采集模块801,用于获取虚拟机的第三配置数据与第三负载动态数据;模型预测输出模块802,用于将第三配置数据与第三负载动态数据输入虚拟机的功耗预测模型中,并获得功耗预测模型输出的第三预测功耗数据,功耗预测模型采用图7所述的虚拟机的功耗预测模型训练装置得到。
[0111]
在本公开提供的虚拟机的功耗预测装置中,虚拟机配置在公有云的物理机上,通过获取虚拟机的第三配置数据与第三负载动态数据,再将第三配置数据与第三负载动态数据输入预先训练的功耗预测模型以获得对虚拟机的第三预测功耗数据,其中,图7所述的虚拟机的功耗预测模型训练装置得到。该方案能够对不同的虚拟机基于负载类型构建对应神经网络结构的功耗预测模型,以更针对性地描述不同负载下虚拟机的功耗变化情况,保证了对功耗变化预测的准确性与实时性;并且采用物理机总测量功耗数据进行监督训练,无需为每个虚拟机独立统计功耗,保证训练过程基于真实数据进行,从而更准确地描述虚拟机负载与功耗的状态,提高了功耗预测模型的准确性和实时性。
[0112]
本公开实施例提供的公有云的功耗预测装置能够实现图5方法实施例实现的各个过程,为避免重复,这里不再赘述。
[0113]
图9为本公开实施例提供的一种电子设备900的结构示意图,如图9所示,该电子设备900可以包括处理器901,存储器902,存储在存储器902上并可在处理器901上运行的程序或指令,该程序或指令被处理器901执行时实现上述公有云功耗预测实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0114]
需要说明的是,图9示出的电子设备900仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0115]
图10为本公开实施例提供的一种电子设备1000的硬件示意图,如图10所示,电子设备1000包括中央处理单元(central processing unit,cpu)1001,其可以根据存储在rom(read only memory,只读存储器)1002中的程序或者从存储部分1008加载到ram(random access memory,随机访问存储器)1003中的程序而执行各种适当的动作和处理。在ram 1003中,还存储有系统操作所需的各种程序和数据。cpu 1001、rom 1002以及ram 1003通过总线1004彼此相连。i/o(input/output,输入/输出)接口1005也连接至总线1004。
[0116]
以下部件连接至i/o接口1005:包括键盘、鼠标等的输入部分1006;包括诸如crt(cathode ray tube,阴极射线管)、lcd(liquid crystal display,液晶显示器)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如lan(local area network,无线网络)卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至i/o接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
[0117]
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(cpu501)执行时,执行本技术的系统中限定的各种功能。
[0118]
本公开实施例还提供一种可读存储介质,可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述公有云功耗预测实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0119]
其中,处理器为上述实施例中的电子设备中的处理器。可读存储介质,包括计算机可读存储介质,如rom、ram、磁碟或者光盘等。
[0120]
本公开实施例另提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现上述公有云功耗预测实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0121]
应理解,本公开实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
[0122]
本公开实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如上述的公有云功耗预测的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0123]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本公开实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序
来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
[0124]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,电子设备,空调器,或者网络设备等)执行本公开各个实施例的方法。
[0125]
上面结合附图对本公开的实施例进行了描述,但是本公开并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本公开的启示下,在不脱离本公开宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本公开的保护之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献