CN103677184B - 面向虚拟机的cpu温度预测方法及装置 - Google Patents

面向虚拟机的cpu温度预测方法及装置 Download PDF

Info

Publication number
CN103677184B
CN103677184B CN201310720174.0A CN201310720174A CN103677184B CN 103677184 B CN103677184 B CN 103677184B CN 201310720174 A CN201310720174 A CN 201310720174A CN 103677184 B CN103677184 B CN 103677184B
Authority
CN
China
Prior art keywords
temperature
node
data
experiment
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310720174.0A
Other languages
English (en)
Other versions
CN103677184A (zh
Inventor
吴朝晖
李翔
姜晓红
陈英芝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201310720174.0A priority Critical patent/CN103677184B/zh
Publication of CN103677184A publication Critical patent/CN103677184A/zh
Application granted granted Critical
Publication of CN103677184B publication Critical patent/CN103677184B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种面向虚拟机的CPU温度预测的方法,包括节点部署步骤、数据采集步骤、温度分析步骤以及预测步骤,通过构建包括实验节点、环境温度监测节点以及管控节点在内的不同运行节点,使用支持向量机的训练模型对实验节点的输出特征进行训练,在训练模型的输出值的基础上构建分段函数,在分段函树上附加矫正值得到最终的预测数据,此外,本发明还公开了一种应用上述CPU温度预测方法的面向虚拟机的CPU温度预测装置。本发明的优点在于,预测精度高,建模快捷,计算量少,支持节点分离,支持在线预测,便于远端监控,具有较高的应用价值。

Description

面向虚拟机的CPU温度预测方法及装置
技术领域
本发明涉及一种面向虚拟机的CPU温度预测方法以及一种面向虚拟机的CPU温度预测装置。
背景技术
随着云计算与大数据时代的到来,数据中心的能耗及环境问题也日益凸显。传统的节能方式一般以减少节点的计算能耗为目标。实际上,由于设备的可靠性要求以及数据中心节点温度分布差异大等原因,制冷能耗成为数据中心能耗的最为主要部分,其能耗开销接近所有能耗开销的50%。因此,建立数据中心的温度管理体系,综合考虑计算能耗与制冷能耗,为节能提供了新的思路。数据中心的温度管理是指以控制设备温度、减少数据中心制冷能耗为目的,对温度、气流等物理参数进行管控的一系列软硬件方法。温度管理的最主要功能可以概括为:1)合理控制温度,提高设备的可靠性;2)尽量减少热点(Hot Spot)的产生。
云数据中心温度管理策略,主要分为面向单节点的面向多节点两种。前者主要包括Brooks D等人提出的动态温度管理方法、Benini L等人提出的动态功率管理方法以及Zhang S等人和Yang J等人提出的基于任务调度的温度管理策略。后者主要包括Vanderster D等人关于任务执行对CPU温度变化规律的研究,Bhopte等人基于CFD模型和数据中心布局的温度管理研究,SharmaR等人关于动态制冷的研究,Moore J等人和Tang Q等人基于任务调度的温度管理研究以及Banerjee A和Lee Y等人提出的基于综合控制的温度管理研究。
但是,之前的工作是基于任务调度或者计算机运行状态调整的,并没有针对虚拟机的温度模型、温度感知调度技术以及温度管理体系。近年来,虚拟化技术因其具有资源利用率高、管理灵活、可扩展性好等优点,数据中心开始广泛地采用虚拟化技术。而虚拟化技术的引入,也改变了现有的温度管理体系和管理策略。因此针对虚拟机的温度建模显得尤为重要。就此,有必要研制一种新型的可以对CPU温度进行预测的方法。
发明内容
本发明针对现有技术中缺乏面向虚拟机的CPU温度预测方法的缺点,提供了一种面向虚拟机的CPU温度预测方法及装置,该方法较好地弥补了现有技术的空白。
为实现上述目的,本发明可采取下述技术方案:
面向虚拟机的CPU温度预测方法,包括以下具体步骤:
节点部署步骤:分别构建实验节点、环境温度监测节点和管控节点;
数据采集步骤:实验节点运行一定数量及配置的虚拟机并将本节点的监测数据发送至管控节点,同时环境温度监测节点采集环境温度并发送至管控节点;
建模步骤:对管控节点收集的数据进行分析,包括进行特征提取,提取物理机配置、虚拟机配置、环境温度、实验节点的初始CPU温度以及CPU峰值温度作为特征值,并将特征值作为训练数据,使用SVM模型对训练数据进行训练得到预测模型;
预测步骤:再次进行特征值提取,使用上述建模步骤所得预测模型进行预测得到输出值并以此构造分段函数,在分段函数上附加矫正值,应用矫正后的分段函数对任意时间点的温度进行预测,所述矫正值随真实测量值和预测值做线性变化。
作为优选,使用SVM模型时还包括以下具体步骤:将数据分为训练用数据以及测试用数据;在训练数据上进行多次交叉验证确定SVM模型的最优超参数;使用最优超参数对模型进行训练并得到最终的预测模型;其中,训练用数据用于上述建模步骤的数据分析,测试用数据用于上述预测步骤的特征值提取。
作为优选,构建分段函数时还包括以下步骤:以时间分段点,在分段点前后依次分别使用对数函数和一次函数进行拟合得到中间预测值,对中间预测值使用矫正值进行矫正,得到最终的预测曲线。
作为优选,最终的预测值finalPrediction(t0+m)由以下公式得到:
finalPrediction ( t 0 + m ) = profile ( f 0 + m ) + calibr updated calibr updated = calibr previous + &lambda; ( real ( t 0 ) - profile ( t 0 ) - calibr previous ) calibr ( t ) | t = 0 = 0 profile ( t ) = tem init + log ( tem peak - tem init ) t cos t + 1 ( t + 1 ) t < t cos t profile ( t ) = tem peak t &GreaterEqual; t cos t ,
其中,t0为当前时间,m为需要预测的时间,矫正值calibr随着当前真实测量温度real(t0)、中间预测值profile(t0)以及学习速率λ进行重复更新,calibrupdated和calibrprevious分别为更新前后的矫正值,teminit、tempeak为测得的CPU初始温度以及预测的CPU峰值温度,tcost为分段点,取实验中观察的经验数据,代表从子实验开始到tempeak所经历的时间。
作为优选,节点部署步骤和数据采集步骤包括虚拟环境部署步骤、温度监控步骤、自动控制步骤、温度计驱动步骤、管理程序部署步骤、温度数据访问步骤以及端口监听步骤;其中,
虚拟环境部署步骤:在物理机内部署虚拟化环境作为实验节点,
温度监控步骤:测量实验节点的温度,调用CPU的温度测量接口对实验节点的CPU温度进行测量;
自动控制步骤:实验节点运行自动控制程序,从而运行一个或者多个虚拟机,所述虚拟机具有相同或者不同的性能配置参数;
温度计驱动步骤:安装温度计的驱动程序,用于驱动温度测量装置204运行进行温度测量,并产生监测数据;
管理程序部署步骤:安装管理程序,每隔一定周期读取温度计的记录数据,存放在环境温度监测节点202的存储器中;
温度数据访问步骤:测量环境温度,将温度测量装置的探头靠近实验节点,启动管理程序,对温度数据进行访问,并通过局域网发送到管控节点;
端口监听程序部署:部署端口监听程序,该程序用以监听实验节点和环境温度监测节点的实时数据;
端口监听步骤:启动端口监听程序,接收来自监听实验节点和环境温度监测节点的实时数据,并写入相应的文件内。
作为优选,一次温度测量过程包括多个子实验,在实验节点上运行一次具有不同配置的、一定数量的虚拟机称为一个子实验。
作为优选,所述特征值包括:输入特征featurein、输出特征featureout以及配置参数;其中,
输入特征featurein=<cfgphy,cfgvm,temenviroment,teminit>,其中,temenviroment为实验节点的环境温度,teminit为实验节点的初始CPU温度;
输出值featureout=<tempeak>,tempeak为CPU峰值温度;
配置参数包括:
cfgexp={<cfgphy,e,cfgsubExp>|1≤i≤e}、
cfgphy=<typecpu,sizemenory,countfan>、
cfgsubExp=<duration,recInerval,cfgvm>以及
cfgvm={cfgvm_i|1≤i≤n}={<vcpui,memoryi,taskTypei>|1≤i≤n},
其中,cfgphy为物理机配置,包括CPU类型typecpu、内存大小sizemenory以及风扇冗余数countfan,e表示子实验的数量,cfgsubExp为子实验配置,包括子实验运行时间duration、监控数据记录间隔recInerval、子实验内运行的虚拟机配置cfgvm,虚拟机配置cfgvm包括虚拟机CPU个数vcpui、内存大小memoryi以及任务类型taskTypei,i为虚拟机的顺序编号,n为运行的虚拟机个数。
作为优选,所述数据采集步骤还包括,实验节点通过以下的数据格式将配置参数和实验参数发送至管控节点:d={t,temaverage,cfgphy,cfgvm},其中,t为数据的发送时间,temaverage为实验节点CPU内每个核心的平均温度,cfgphy为实验节点的物理机配置参数,cfgvm为物理机上运行的虚拟机的配置参数;环境温度监测节点通过以下的数据格式将监测数据发送至管控节点:
d={t,temenvironment},t为数据的发送时间,temenvironment为实验节点周围的环境温度。
应用上述的CPU温度预测方法的面向虚拟的CPU温度预测装置,包括实验节点、环境温度监测节点、管控节点,还包括温度分析装置以及预测装置;其中,
实验节点用于采集CPU温度监测数据,并将监测数据发送至管控节点;
环境温度监测节点用于监测实验节点周围的温度,并将监测数据发送至管控节点;
管控节点用于采集实验节点的配置参数和监测数据,同时采集环境温度监测节点所测量的数据;
温度分析装置用于对管控节点收集的数据进行分析,包括进行特征提取,提取物理机配置、虚拟机配置、环境温度、实验节点的初始CPU温度以及CPU峰值温度作为特征值,并将特征值作为训练数据,使用SVM模型对训练数据进行训练得到预测模型;
预测装置用于再次进行特征值提取,使用预测模型进行预测得到输出值并以此构造分段函数,在分段函数上附加矫正值,应用矫正后的分段函数对任意时间点的温度进行预测,所述矫正值随真实测量值和预测值做线性变化。
作为优选,还包括虚拟环境部署装置、温度监控装置、自动控制装置、温度计驱动装置、管理装置、温度数据访问装置以及端口监听装置;其中,
虚拟环境部署装置用于在物理机内部署虚拟化环境作为实验节点,并运行一个或者多个虚拟机,所述虚拟机具有相同或者不同的性能配置参数;
温度监控装置用于测量实验节点的温度,调用CPU的温度测量接口对实验节点的CPU温度进行测量;
自动控制装置用于接收环境温度监测节点发送的控制命令,控制温度测量装置进行温度监测;
温度计驱动装置用于驱动温度测量装置运行进行温度测量,并产生监测数据;
管理装置用于根据数据种类以及时间对监测数据进行分类并存放在环境温度监测节点的存储器中;
温度数据访问装置用于测量环境温度,将温度测量装置的探头靠近实验节点,启动管理程序,对温度数据进行访问,并通过局域网发送到管控节点;
端口监听装置用于向实验节点发送获取实验节点的配置参数和实验参数的控制命令,获取配置参数和实验参数;向环境温度监测节点发送获取监测数据的控制命令,获取监测数据。
本发明由于采用了以上技术方案,具有显著的技术效果:
提供了一种可以针对面向虚拟机的CPU温度预测方法及装置,填补了现有技术的空白。上述技术方案通过先对当前节点的配置参数、运行参数以及监测数据进行训练,然后在训练模型输出值的基础上构建分段函数,在分段函数上附加矫正值,得到具有较高预测精度的CPU温度预测值。上述技术方案预测准确,兼容性好,不仅适用于那些应用虚拟机技术的节点,也可以对其他类型节点的CPU温度进行预测。
附图说明
图1为面向虚拟机的CPU温度预测装置的连接示意图。
图2为面向虚拟机的CPU温度预测方法的分段函数的结构示意图。
图3为面向虚拟机的CPU温度预测方法的流程示意图。
图4为面向虚拟机的CPU温度预测方法的细部流程示意图。
具体实施方式
下面结合实施例对本发明作进一步的详细描述。
实施例1
面向虚拟机的CPU温度预测方法,如图2-4所示,包括以下具体步骤:
节点部署步骤110:分别构建实验节点201、环境温度监测节点202以及管控节点203;
数据采集步骤120:实验节点(201)运行一定数量及配置的虚拟机并将本节点的监测数据发送至管控节点(203),同时环境温度监测节点(202)采集环境温度并发送至管控节点(203);
温度分析步骤130:对管控节点203收集的数据进行分析,包括进行特征提取,提取物理机配置、虚拟机配置、环境温度、实验节点201的初始CPU温度以及CPU峰值温度作为特征值,将特征值输入训练模型,使用SVM模型(使用RBF核函数)对训练数据进行训练得到预测模型;
预测步骤140:再次进行特征值提取,使用上述建模步骤130所得预测模型进行预测得到输出值并以此构造分段函数,在分段函数上附加矫正值,应用矫正后的分段函数对任意时间点的温度进行预测,所述矫正值随真实测量值和预测值做线性变化。
使用SVM模型时还包括以下具体步骤:将数据分为训练用数据以及测试用数据;在训练数据上进行多次交叉验证确定SVM模型的最优超参数;使用最优超参数对模型进行训练并得到最终的预测模型;其中,训练用数据用于建模步骤130的数据分析,测试用数据用于预测步骤140的特征值提取。作为一种可选的方案,也可以进行分步测量,在相同节点上分两次测量得到训练用数据以及测试用数据。优选地,可以一次读取所有数据,然后将这些数据分为训练用数据以及测试用数据。
构建分段函数时还包括以下步骤:以时间tcost作为分段点,在分段点前后依次分别使用对数函数和线性函数进行拟合得到中间预测值,对中间预测值使用矫正值进行矫正,得到最终的分段函数。
最终的分段函数finalPrediction(t0+m)由以下公式得到:
finalPrediction ( t 0 + m ) = profile ( f 0 + m ) + calibr updated calibr updated = calibr previous + &lambda; ( real ( t 0 ) - profile ( t 0 ) - calibr previous ) calibr ( t ) | t = 0 = 0 profile ( t ) = tem init + log ( tem peak - tem init ) t cos t + 1 ( t + 1 ) t < t cos t profile ( t ) = tem peak t &GreaterEqual; t cos t ,
其中,t0为当前时间,m为需要预测的时间,矫正值calibr随着当前真实测量温度real(t0)、中间预测值profile(t0)以及学习速率λ进行重复更新,calibrtpaated、calibrprevious分别为更新前后的矫正值calibr,时间t=tcost为分段点,teminit、tempeak依次为实验节点201的初始CPU温度以及CPU峰值温度。
面向虚拟机的CPU温度预测方法还包括虚拟环境部署步骤111、温度监控步骤112、自动控制步骤113、温度计驱动步骤114、管理步骤115、温度数据访问步骤116以及端口监听步骤117。其中,
虚拟环境部署步骤111:在物理机内部署虚拟化环境作为实验节点201,并运行一个或者多个虚拟机,所述虚拟机具有相同或者不同的性能配置参数;
温度监控步骤112:测量实验节点201的温度,调用CPU的温度测量接口对实验节点201的CPU温度进行测量;
自动控制步骤113:实验节点201接收环境温度监测节点202发送的控制命令,控制温度测量装置204进行温度监测;
温度计驱动步骤114:安装温度计的驱动程序,驱动温度测量装置204运行进行温度测量,并产生监测数据;
管理步骤115:根据数据种类以及时间对监测数据进行分类并存放在环境温度监测节点202的存储器中;
温度数据访问步骤116:测量环境温度,将温度测量装置204的探头靠近实验节点201,启动管理程序,对温度数据进行访问,并通过局域网发送到管控节点203;根据管控节点203发送的获取监测数据的控制命令选择管控节点203所需要的监测数据,并将选择的监测数据发送至管控节点203;
端口监听步骤117:向实验节点201发送获取实验节点201的配置参数和实验参数的控制命令,获取配置参数和实验参数;向环境温度监测节点202发送获取监测数据的控制命令,获取监测数据。
一次温度测量过程包括多个子实验,在实验节点201上运行的具有不同配置的、一定数量的虚拟机称为一个子实验。每次运行实验节点201即生成一个子实验,为了提高实验效率,可以采用多个实验节点201同时运行的方式同时生成多个子实验,这样的好处在于子实验之间可以进行平行对比,提高了训练的效率,以及最终训练数据dtrain的准确性。每个子实验会得到一条训练数据d′train,对每条d′train均随机调整其虚拟机顺序,从而构成新的cfgvm,并将生成的k条衍生数据作为最终的训练数据dtrain
所述特征值包括:输入特征featurein、输出特征featureout以及配置参数;其中,
输入特征featurein=<cfgphy,cfgvm,temenviroment,teminit>,其中,temenviroment为实验节点201的环境温度,teminit为实验节点201的初始测量温度;
输出值featureout=<tempeak>,tempeak为测量温度峰值;
配置参数包括:
cfgexp={<cfgphy,e,cfgsubExp>|1≤i≤e}、
cfgphy=<typecpu,sizemenory,countfan>、
cfgsubExp=<duration,recInerval,cfgvm>以及
cfgvm={cfgvm_i|1≤i≤n}={<vcpui,memoryi,taskTypei>|1≤i≤n},
其中,cfgphy为物理机配置,包括CPU类型typecpu、内存大小sizemenory以及风扇冗余数countfan,e表示子实验的数量,cfgsubExp为子实验配置,包括子实验运行时间duration、监控数据记录间隔recInerval、子实验内运行的虚拟机配置cfgvm,虚拟机配置cfgvm包括虚拟机CPU个数vcpui、内存大小memoryi以及任务类型taskTypei,i为虚拟机的顺序编号,n为运行的虚拟机个数。
数据采集步骤120还包括,实验节点201通过以下的数据格式将配置参数和实验参数发送至管控节点203:d={t,temaverage,cfgphy,cfgvm},其中,t为数据的发送时间,temaverage为实验节点201CPU内每个核心的平均温度,cfgphy为实验节点201的物理机配置参数,cfgvm为物理机上运行的虚拟机的配置参数;环境温度监测节点202通过以下的数据格式将监测数据发送至管控节点203:d={t,temenvironment},t为数据的发送时间,temenvironment为实验节点201周围的环境温度。
应用上述的CPU温度预测方法的面向虚拟的CPU温度预测装置,如图1所示,包括实验节点201、环境温度监测节点202、管控节点203,还包括温度分析装置212以及预测装置213;其中,
实验节点201用于采集CPU温度监测数据,并将监测数据发送至管控节点203;
环境温度监测节点202用于监测实验节点201周围的温度,并将监测数据发送至管控节点203;
管控节点203用于采集实验节点201的配置参数和实验参数,同时采集环境温度监测节点202所接收的监测数据;
温度分析装置212用于对管控节点(203)收集的数据进行分析,包括进行特征提取,提取物理机配置、虚拟机配置、环境温度、实验节点(201)的初始CPU温度以及CPU峰值温度作为特征值,并将特征值作为训练数据,使用SVM模型对训练数据进行训练得到预测模型;
预测装置213用于再次进行特征值提取,使用预测模型进行预测得到输出值并以此构造分段函数,在分段函数上附加矫正值,应用矫正后的分段函数对任意时间点的温度进行预测,所述矫正值随真实测量值和预测值做线性变化。
面向虚拟的CPU温度预测装置还包括虚拟环境部署装置205、温度监控装置206、自动控制装置207、温度计驱动装置208、管理装置209、温度数据访问装置210以及端口监听装置211;其中,虚拟环境部署装置205、温度监控装置206、自动控制装置207位于实验节点201内,温度计驱动装置208、管理装置209、温度数据访问装置210位于环境温度监测节点202内,端口监听装置211以及温度分析装置212以及预测装置213则位于管控节点203内。
虚拟环境部署装置205用于在物理机内部署虚拟化环境作为实验节点201,并运行一个或者多个虚拟机,所述虚拟机具有相同或者不同的性能配置参数;此处所述的部署是在一台物理机内安装实验节点201所需要的各种软件,并配置不同的虚拟机的运行参数。由于子实验的数量众多,需要使用专门的虚拟环境部署装置205对虚拟环境进行部署,同时,在部署虚拟环境的过程中,虚拟环境部署装置205还会同步地生成上述虚拟环境的运行参数,并将其保存在特定的初始化文件中,以供其余装置或者步骤调用。
温度监控装置206用于测量实验节点201的温度,调用CPU的温度测量接口对实验节点201的CPU温度进行测量;
自动控制装置207用于接收环境温度监测节点202发送的控制命令,控制温度测量装置204进行温度监测;
温度计驱动装置208用于驱动温度测量装置204运行进行温度测量,并产生监测数据;
管理装置209用于根据数据种类以及时间对监测数据进行分类并存放在环境温度监测节点202的存储器中;
温度数据访问装置210用于测量环境温度,将温度测量装置204的探头靠近实验节点201,启动管理程序,对温度数据进行访问,并通过局域网发送到管控节点203;根据管控节点203发送的获取监测数据的控制命令选择管控节点203所需要的监测数据,并将选择的监测数据发送至管控节点203;
端口监听装置211用于向实验节点201发送获取实验节点201的配置参数和实验参数的控制命令,获取配置参数和实验参数;向环境温度监测节点202发送获取监测数据的控制命令,获取监测数据。
具体而言,采用下述步骤对面向虚拟机的CPU温度预测方法进行验证:
步骤(1)部署实验环境,具体包括如下步骤:
第一步:在物理机P1(即实验节点201)中部署虚拟化软件Xen、物理机温度监控软件lm-sensors(用以实时监控每个CPU核的温度)和自动控制装置207(执行自动控制步骤113)。
第二步:配置实验参数,每次实验由若干子实验组成,如下为配置样例:
第三步:使用USB温度计测量P1周围的环境温度。温度测量装置204的探头靠近物理机P1放置,另一端的USB口连接至物理机P2(即环境温度监测节点202)。在P2上部署温度计驱动步骤114、管理装置209和温度数据访问装置210。
第四步,在管控节点Pc(管控节点203)上部署端口监听装置211和温度分析装置212以及预测装置213。
步骤(2)运行实验并记录实验的配置数据和运行过程中的监控数据,具体包括如下步骤:
第一步:运行部署在Pc上的端口监听装置211。准备获取来自P1和P2的网络数据。
第二步:运行P1节点上的自动控制装置207。该程序读取配置的实验参数,对虚拟机进行控制,以一定时间间隔(如3秒)将监控数据发送至管控节点Pc。例如发送如下文本:
其中,时间戳依次包括年、月、日,小时、分钟、秒在内的数据;物理机配置一节中分别包括有CPU的型号,内存大小以及物理机风扇的数量;在虚拟机配置一节,则依次包括该物理机上所运行的若干个(上述监控数据中为4个)虚拟机的虚拟机模拟CPU数量vcpu、虚拟机的内存大小,以及该虚拟机的任务类型代码。虚拟机的任务类型代码是指在虚拟机上运行的各种任务的分类标识代码。通常,将这些任务依照任务所需要的系统资源,例如CPU占用率,内存占用率,I/O输入输出数据大小等进行分类,通常分为8类,其中类型代码0表示任务占用的系统资源最小,类型代码7表示任务占用的系统资源最大。
第三步:使用USB温度计测量P1周围的环境温度,以一定时间间隔(如30秒)将监控数据发送至管控节点Pc。例如发送如下文本:
第四步:所有子实验运行结束之后,P1节点上的自动控制装置自动终止实验进行,然后分别手动结束P2的温度计驱动装置208、管理装置209、温度数据访问装置210以及Pc的端口监听装置211。
步骤(3)选择不同配置的物理机重复步骤(1)、步骤(2),即对不同配置的物理机进行虚拟化并运行虚拟机,得到物理机CPU温度变化的数据。物理机的具体配置见上表。
步骤(4)对Pc节点上所有来自P1和P2的数据dp1和dP2进行整合,得到最终训练数据dtrain。具体包括如下步骤:
第一步:dp1和dP2进包括若干个子实验的数据,每个子实验又包括若干条监控记录。对DP1中的每条监控记录dp1,根据其时间戳t对dP2进的监控记录进行搜索,获得相应的temenviroment,组成一条完整的记录dpc
第二步:对于每个子实验的若干条dpc,分析其起始温度teminit、环境温度temenviroment和峰值温度tempeak。即每个子实验会得到一条训练数据:
其中,虚拟机的个数上限设为12,若同时有4个虚拟机运行,则有8个虚拟机的配置位是置0的。cfgvm的数据长度依据虚拟机的个数上限而定,除了目前运行的虚拟机配置外,其余位置零。这样可以减少数据长度,提高读取效率。
第三步:对于每一条训练数据d′train而言,随机调整虚拟机顺序生成100条衍生数据作为最终的训练数据dtrain
第四步,用支持向量机(RBF核函数)作为训练方法,经过十次十折计算,确定模型超参数。将所有训练数据分为训练用数据和测试用数据两部分,并使用前者对SVM模型进行训练,得到最后的模型。
步骤(5)使用步骤(4)第四步中的测试用数据作为模型输入,模型给出输出特征并绘制出如附图2所示的分段函数,再加上一个校正值calibr,得到任意时刻的温度预测值finalPrediction(t0+m),即最终的分段函数。例如,我们需要预测30秒后的CPU温度,该式中的m取30;calibr以一定周期(例如每10秒)进行更新;tcost和λ分别可取600秒和0.2。
总之,以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。

Claims (10)

1.一种面向虚拟机的CPU温度预测方法,其特征在于,包括以下具体步骤:
节点部署步骤(110):分别构建实验节点(201)、环境温度监测节点(202)和管控节点(203);
数据采集步骤(120):实验节点(201)运行一定数量及配置的虚拟机并将本节点的监测数据发送至管控节点(203),同时环境温度监测节点(202)采集环境温度并发送至管控节点(203);
建模步骤(130):对管控节点(203)收集的数据进行分析,包括进行特征提取,提取物理机配置、虚拟机配置、环境温度、实验节点(201)的初始CPU温度以及CPU峰值温度作为特征值,并将特征值作为训练数据,使用SVM模型对训练数据进行训练得到预测模型;
预测步骤(140):再次进行特征值提取,使用上述建模步骤(130)所得预测模型进行预测得到输出值并以此构造分段函数,在分段函数上附加矫正值,应用矫正后的分段函数对任意时间点的温度进行预测,所述矫正值随真实测量值和预测值做线性变化。
2.根据权利要求1所述的CPU温度预测方法,其特征在于,使用SVM模型时还包括以下具体步骤:将数据分为训练用数据以及测试用数据;在训练数据上进行多次交叉验证确定SVM模型的最优超参数;使用最优超参数对模型进行训练并得到最终的预测模型;其中,训练用数据用于上述建模步骤(130)的数据分析,测试用数据用于上述预测步骤(140)的特征值提取。
3.根据权利要求1所述的CPU温度预测方法,其特征在于,构建分段函数时还包括以下步骤:以时间分段点,在分段点前后依次分别使用对数函数和一次函数进行拟合得到中间预测值,对中间预测值使用矫正值进行矫正,得到最终的预测曲线。
4.根据权利要求3所述的CPU温度预测方法,其特征在于,最终的预测值finalPrediction(t0+m)由以下公式得到:
f i n a l Pr e d i c t i o n ( t 0 + m ) = p r o f i l e ( t 0 + m ) + calibr u p d a t e d calibr u p d a t e d = calibr p r e v i o u s + &lambda; ( r e a l ( t 0 ) + p r o f i l e ( t 0 ) - calibr p r e v i o u s ) c a l i b r ( t ) | t = 0 = 0 p r o f i l e ( t ) = tem i n i t + log ( tem p e a k - tem i n i t ) t cos t + 1 ( t + 1 ) , t < t cos t p r o f i l e ( t ) = tem p e a k , t &GreaterEqual; t cos t ,
其中,t0为当前时间,m为需要预测的时间,矫正值calibr随着当前真实测量温度real(t0)、中间预测值profile(t0)以及学习速率λ进行重复更新,calibrupdated和calibrprevious分别为更新前后的矫正值,teminit、tempeak为测得的CPU初始温度以及预测的CPU峰值温度,tcost为分段点,代表从子实验开始到tempeak所经历的时间。
5.根据权利要求1所述的CPU温度预测方法,其特征在于,节点部署步骤(110)和数据采集步骤(120)包括虚拟环境部署步骤(111)、温度监控步骤(112)、自动控制步骤(113)、温度计驱动步骤(114)、管理程序部署步骤(115)、温度数据访问步骤(116)以及端口监听步骤(117);其中,
虚拟环境部署步骤(111):在物理机内部署虚拟化环境作为实验节点(201),温度监控步骤(112):测量实验节点(201)的温度,调用CPU的温度测量接口对实验节点(201)的CPU温度进行测量;
自动控制步骤(113):实验节点(201)运行自动控制程序,从而运行一个或者多个虚拟机,所述虚拟机具有相同或者不同的性能配置参数;
温度计驱动步骤(114):安装温度计的驱动程序,驱动温度测量装置(204)运行进行温度测量,并产生监测数据;
管理程序部署步骤(115):根据数据种类以及时间对监测数据进行分类并存放在环境温度监测节点(202)的存储器中;
温度数据访问步骤(116):测量环境温度,将温度测量装置(204)的探头靠近实验节点(201),启动管理程序,对温度数据进行访问,并通过局域网发送到管控节点(203);
端口监听程序部署(117):部署端口监听程序,用以监听实验节点(201)和环境温度监测节点(202)的实时数据;
端口监听步骤(118):启动端口监听程序,接收来自监听实验节点(201)和环境温度监测节点(202)的实时数据,并写入相应的文件内。
6.根据权利要求1所述的CPU温度预测方法,其特征在于,一次温度测量过程包括多个子实验,在实验节点(201)上运行一次具有不同配置的、一定数量的虚拟机称为一个子实验。
7.根据权利要求6所述的CPU温度预测方法,其特征在于,所述特征值包括:
输入特征featurein、输出特征featureout以及配置参数;其中,
输入特征featurein=<cfgphy,cfgvm,temenviroment,teminit>,其中,temenviroment为实验节点(201)的环境温度,teminit为实验节点(201)的初始CPU温度;
输出值featureout=<tempeak>,tempeak为CPU峰值温度;
配置参数包括:
cfgexp={<cfgphy,e,cfgsubExp>|1≤i≤e}、
cfgphy=<typecpu,sizemenory,countfan>、
cfgsubExp=<duration,recInerval,cfgvm>以及
cfgvm={cfgvm_i|1≤i≤n}={<vcpui,memoryi,taskTypei>|1≤i≤n},
其中,cfgphy为物理机配置,包括CPU类型typecpu、内存大小sizemenory以及风扇冗余数countfan,e表示子实验的数量,cfgsubExp为子实验配置,包括子实验运行时间duration、监控数据记录间隔recInerval、子实验内运行的虚拟机配置cfgvm,虚拟机配置cfgvm包括虚拟机CPU个数vcpui、内存大小memoryi以及任务类型taskTypei,i为虚拟机的顺序编号,n为运行的虚拟机个数。
8.根据权利要求1所述的CPU温度预测方法,其特征在于,所述数据采集步骤(120)还包括,实验节点(201)通过以下的数据格式将配置参数和实验参数发送至管控节点(203):d={t,temaverage,cfgphy,cfgvm},其中,t为数据的发送时间,temaverage为实验节点(201)CPU内每个核心的平均温度,cfgphy为实验节点(201)的物理机配置参数,cfgvm为物理机上运行的虚拟机的配置参数;环境温度监测节点(202)通过以下的数据格式将监测数据发送至管控节点(203):d={t,temenvironment},t为数据的发送时间,temenvironment为实验节点(201)周围的环境温度。
9.一种应用上述权利要求1-8任一所述的CPU温度预测方法的面向虚拟机的CPU温度预测装置,其特征在于,包括实验节点(201)、环境温度监测节点(202)、管控节点(203),还包括温度分析装置(212)以及预测装置(213);
其中,
实验节点(201)用于采集CPU温度监测数据,并将监测数据发送至管控节点(203);
环境温度监测节点(202)用于监测实验节点(201)周围的温度,并将监测数据发送至管控节点(203);
管控节点(203)用于采集实验节点(201)的配置参数和监测数据,同时采集环境温度监测节点(202)所测量的数据;
温度分析装置(212)用于对管控节点(203)收集的数据进行分析,包括进行特征提取,提取物理机配置、虚拟机配置、环境温度、实验节点(201)的初始CPU温度以及CPU峰值温度作为特征值,并将特征值作为训练数据,使用SVM模型对训练数据进行训练得到预测模型;
预测装置(213)用于再次进行特征值提取,使用预测模型进行预测得到输出值并以此构造分段函数,在分段函数上附加矫正值,应用矫正后的分段函数对任意时间点的温度进行预测,所述矫正值随真实测量值和预测值做线性变化。
10.根据权利要求9所述的CPU温度预测装置,其特征在于,还包括虚拟环境部署装置(205)、温度监控装置(206)、自动控制装置(207)、温度计驱动装置(208)、管理装置(209)、温度数据访问装置(210)以及端口监听装置(211);其中,
虚拟环境部署装置(205)用于在物理机内部署虚拟化环境作为实验节点(201),并运行一个或者多个虚拟机,所述虚拟机具有相同或者不同的性能配置参数;
温度监控装置(206)用于测量实验节点(201)的温度,调用CPU的温度测量接口对实验节点(201)的CPU温度进行测量;
自动控制装置(207)用于接收环境温度监测节点(202)发送的控制命令,控制温度测量装置(204)进行温度监测;
温度计驱动装置(208)用于驱动温度测量装置(204)运行进行温度测量,并产生监测数据;
管理装置(209)用于根据数据种类以及时间对监测数据进行分类并存放在环境温度监测节点(202)的存储器中;
温度数据访问装置(210)用于测量环境温度,将温度测量装置(204)的探头靠近实验节点(201),启动管理程序,对温度数据进行访问,并通过局域网发送到管控节点(203);
端口监听装置(211)用于向实验节点(201)发送获取实验节点(201)的配置参数和实验参数的控制命令,获取配置参数和实验参数;向环境温度监测节点(202)发送获取监测数据的控制命令,获取监测数据。
CN201310720174.0A 2013-12-23 2013-12-23 面向虚拟机的cpu温度预测方法及装置 Active CN103677184B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310720174.0A CN103677184B (zh) 2013-12-23 2013-12-23 面向虚拟机的cpu温度预测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310720174.0A CN103677184B (zh) 2013-12-23 2013-12-23 面向虚拟机的cpu温度预测方法及装置

Publications (2)

Publication Number Publication Date
CN103677184A CN103677184A (zh) 2014-03-26
CN103677184B true CN103677184B (zh) 2017-01-04

Family

ID=50315019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310720174.0A Active CN103677184B (zh) 2013-12-23 2013-12-23 面向虚拟机的cpu温度预测方法及装置

Country Status (1)

Country Link
CN (1) CN103677184B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105319458B (zh) * 2014-08-05 2020-02-11 伊顿电力设备有限公司 一种电气设备封闭箱体内部温升的监测方法及装置
WO2019064354A1 (ja) * 2017-09-26 2019-04-04 三菱電機株式会社 制御ユニットおよび温度判定方法
CN110515790A (zh) * 2018-05-21 2019-11-29 重庆理工大学 终端温度预测及优化系统和方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663412A (zh) * 2012-02-27 2012-09-12 浙江大学 基于最小二乘支持向量机的电力设备载流故障趋势预测方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663412A (zh) * 2012-02-27 2012-09-12 浙江大学 基于最小二乘支持向量机的电力设备载流故障趋势预测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Weatherman:Automated,online,and predictive thermal mapping and management for data centers;Moore J,Chase J S, Ranganathan P.;《Proceedings of the IEEE International conference on Autonomic Computing》;20060616;全文 *
分布式存储系统中的能耗管理策略研究;刘霖;《中国博士学位论文全文数据库》;20131115(第11期);全文 *

Also Published As

Publication number Publication date
CN103677184A (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
CN108375715B (zh) 一种配电网线路故障风险日预测方法及系统
CN108595301B (zh) 一种基于机器学习的服务器能耗预测方法和系统
CN102722434B (zh) 一种针对Linux进程调度的性能测试方法和工具
EP1868152A1 (en) Selective functional group simulation of automation control and information systems
CN104914069B (zh) 可迁移计算的肉类品质近红外检测方法及装置
CN102307369A (zh) 支持无线传感网并行仿真和实物模拟的装置及方法
CN110319982A (zh) 基于机器学习的埋地式燃气管线泄漏判断方法
CN103677184B (zh) 面向虚拟机的cpu温度预测方法及装置
CN102222034A (zh) 基于程序轮廓分析的虚拟化平台性能评测方法
CN109615163A (zh) 一种基于时序仿真的空地联合容量计算方法
CN107977758A (zh) 一种降雨强度预报方法及相关装置
CN107229995A (zh) 实现游戏业务量预估的方法、装置和计算机可读存储介质
CN103761393B (zh) 一种基于细粒度性能计数器建立系统实时功耗模型的方法
CN101515409A (zh) 通过管制工作负荷回归分析确定空域容量的方法
CN108509324A (zh) 选择计算平台的系统和方法
CN104636890A (zh) 一种空中交通管制员工作负荷测量方法
CN102156641A (zh) 一种软件成本置信区间预测方法及系统
CN108287928A (zh) 一种基于局部加权线性回归的空间属性预测方法
Sherman et al. Trace driven modeling: Review and overview
CN106855844A (zh) 一种性能测试方法和系统
CN106649067B (zh) 一种性能和能耗预测方法及装置
CN108414346A (zh) 一种试验参数自适应的智能真三轴试验系统及试验方法
CN110275820A (zh) 页面兼容性测试方法、系统及设备
von Kistowski et al. Measuring and benchmarking power consumption and energy efficiency
Cook et al. Examining performance differences in workload execution phases

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant