CN113220450B - 面向云端多数据中心的负载预测方法、资源调度方法及装置 - Google Patents
面向云端多数据中心的负载预测方法、资源调度方法及装置 Download PDFInfo
- Publication number
- CN113220450B CN113220450B CN202110473131.1A CN202110473131A CN113220450B CN 113220450 B CN113220450 B CN 113220450B CN 202110473131 A CN202110473131 A CN 202110473131A CN 113220450 B CN113220450 B CN 113220450B
- Authority
- CN
- China
- Prior art keywords
- load
- input
- load prediction
- representing
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 239000013598 vector Substances 0.000 claims abstract description 91
- 230000008569 process Effects 0.000 claims abstract description 33
- 238000003062 neural network model Methods 0.000 claims abstract description 25
- 230000006870 function Effects 0.000 claims description 38
- 238000004364 calculation method Methods 0.000 claims description 28
- 230000004913 activation Effects 0.000 claims description 19
- 230000008859 change Effects 0.000 claims description 12
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 11
- 230000007246 mechanism Effects 0.000 claims description 10
- 230000003044 adaptive effect Effects 0.000 claims description 5
- 238000012549 training Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000009795 derivation Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000013215 result calculation Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 230000005284 excitation Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000013468 resource allocation Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- UFHFLCQGNIYNRP-UHFFFAOYSA-N Hydrogen Chemical compound [H][H] UFHFLCQGNIYNRP-UHFFFAOYSA-N 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 229910052739 hydrogen Inorganic materials 0.000 description 2
- 239000001257 hydrogen Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种面向云端多数据中心的负载预测方法,包括以下过程:获取记录每一个时间点虚拟机资源使用情况的日志记录文件,从中提取所需要的特征量数据和历史负载数据;并将特征量数据和历史负载数据转换为相应的输入特征序列和历史负载向量;利用预先构建的神经网络模型计算得到负载预测的非线性分量;利用预先构建的自回归模型计算得到负载预测的线性分量;整合负载预测的非线性分量和线性分量得到最终的负载预测结果。本发明综合考虑多数据中心环境下,负载序列的随时间变化的线性趋势和非线性特征,将神经网络模型与自回归模型的统计学习方法相结合,可以有效提升对未来负载预测精度。
Description
技术领域
本发明具体涉及一种面向云端多数据中心的负载预测方法,还涉及一种面向云端多数据中心的资源调度方法,属于云计算和数据挖掘技术领域。
背景技术
云计算技术的不断增长计算需求促使云数据中心规模的持续扩张,预计 2022年底,国内数据中心业务市场规模将增长至3200亿元,其规模结构也由单一的数据中心向云端多数据中心转变。为了实现绿色节能发展,需要数据中心具备动态调节其内部资源分配的决策能力,整合计算资源实现服务弹性。有效的负载预测是实现资源弹性分配的前提条件,可以为高质量的扩展方案提供决策参考。因此基于当前云端多数据中心的环境,结合负载特征建立合适的负载预测模型具有重要意义。
工作负载是与上下文密切关联的时间序列问题,然而大多数负载预测的研究仍停滞在单一数据中心范围内。相比于传统的单一数据中心,多数据中心资源调度拓展能力更强,业务部署也更加灵活,负载变化受用户行为驱动的影响更加突出。这导致了各自所需要的计算资源需求是动态变化的,不同数据中心的负载波动趋势也存在较大差异性,使得面向云端多数据中心的负载预测需要结合各数据中心的具体情况进行建模分析,不能仅仅依靠原有的面向单一数据中心的算法。
有鉴于此,确有必要提出一种面向云端多数据中心的负载预测方法与资源分配器***,以解决上述问题。
发明内容
本发明的目的在于克服现有技术中的不足,提供了一种面向云端多数据中心的负载预测方法,将神经网络模型与自回归模型相结合预测服务器上未来的负载变化的非线性分量和线性分量,提高负载预测结果的准确度。
为解决上述技术问题,本发明的技术方案如下。
第一方面,本发明提供了一种面向云端多数据中心的负载预测方法,包括以下过程:
获取记录每一个时间点虚拟机资源使用情况的日志记录文件,从中提取所需要的特征量数据和历史负载数据;并将特征量数据和历史负载数据转换为相应的输入特征序列和历史负载向量;
基于获得的输入特征序列和历史负载向量,利用预先构建的神经网络模型计算得到负载预测的非线性分量;
基于获得的历史负载向量,利用预先构建的自回归模型计算得到负载预测的线性分量;
整合负载预测的非线性分量和线性分量得到最终的负载预测结果。
可选的,所述特征量包括:采样记录时间、虚拟机内核数配置、CPU容量、虚拟机的内存配置容量、虚拟机内存的有效使用量、磁盘读取吞吐量、磁盘写吞吐量、网络接收吞吐量和网络传输吞吐量;所述负载指CPU有效使用量。
可选的,所述将特征量数据转换为相应的输入特征序列,包括:
利用滑动窗口对特征量数据进行切分,形成时间步长固定的时间序列,作为输入特征序列。
可选的,所述神经网络模型包括:编码器、解码器以及多层感知机网络;其中,编码器的输入为采集到的输入特征序列,解码器的输入为上层编码器输出的自适应提取的输入特征序列,多层感知机网络的输入为解码器输出的文本向量。
可选的,所述基于获得的输入特征序列和历史负载向量,利用预先构建的神经网络模型计算得到负载预测的非线性分量,包括:
ht=f1(ht-1,Xt)
在LSTM单元中,在每个时间步上有以计算方式:
其中,ft,it,ot分别表示遗忘门,输入门和输出门; 分别是施加给rt和ht-1的权重矩阵,表示4m×dr维度的实数向量空间,表示4m×m维度的实数向量空间,m是隐藏层维度,dr是输入rt的向量维度;rt是t时刻的输入;ht-1是t-1时刻输出的隐藏状态向量;是当前时刻神经网络模型输出的候选单元状态向量;sigmoid和 tanh分别表示不同的激活函数;
其中,是一个中间变量,无具体实际含义,和是注意力机制模型中需要学习的参数,表示T维度的实数向量空间,表示 T×2m维度的实数向量空间,表示T×T维度的实数向量空间;tanh表示双曲正切激活函数,exp表示指数函数;的计算是通过softmax层进行处理;
通过关注度权重大小,可以得到自适应提取的输入特征序列:
进而可以更新LSTM单元的隐藏层状态为:
在解码器模块中,因为在传统的编码器解码器模型中当输入的序列过长其表征能力下降,模型效果迅速恶化的问题,因此在模型的解码层使用了时间注意力机制来自适应选择相关的隐藏层状态。
与编码器模块中的方法类似,解码器模块中的注意力机制也需要将之前 LSTM单元输出的隐藏层状态和细胞状态作为输入参数,其中z代表编码器中隐藏层的维度,表示z维度的实数向量空间,其重要性权重的公式推导过程与输入的特征量序列关注度的计算过程相同,代表第k个编码器隐藏状态hk对最终预测的重要性大小。接着解码器将所有的编码器隐藏层状态按照权重求和得到文本向量:
结合历史负载数据{LT-P,LT-P+1,...,LT-1}和得到的文本向量,经过向量拼接与线性变化,可以得到自适应提取的解码层输入:
其中,f2是一个LSTM单元的非线性激活函数,其具体更新计算方式与f1一致。
输出层是由多层感知机构成,将编解码模型输出的最终隐藏层状态即 {dT-P,dT-P+1,...,dT-1}作为输入,经由三层感知机网络输出得到最终的模型预测结果,其中在多层感知机的前两层使用了PReLU作为激活函数:
f3=max(μdt,dt)
其中f3代表PReLU激活函数,μ是一个只在训练过程中被更新的参数。 PReLU激活函数避免了部分参数无法被更新的问题。最后一层感知机的激活函数为Sigmoid函数,以保证预测结果能被限制在合理的范围内。
其中,代表在经历了T个时间步后对于负载预测的非线性部分,我们用T表示时间步大小,non表示上述非线性的标识,Fnon用于表示上述整个负载预测的非线性计算过程,{LT-P,...,LT-1}表示T时间步之前P-1个时间步的负载大小, {XT-P,...,XT}表示T时间步前P个时间步的输入特征序列。是隐藏层状态和文本向量的拼接向量,表示z+m维度的实数向量空间,参数Wy和bw实现了将拼接向量映射为解码层隐藏层状态的尺寸,其中Wy表示拼接向量在解码器计算过程中对应的非线性映射权重,bw表示偏置值,其计算实现过程由计算机程序实现,同理和uw分别代表输出层中的非线性映射权重和偏置值,使用Fnon代表上述过程的神经网络预测函数,表示计算结果即最终预测结果的非线性组成部分。
可选的,所述自回归模型的具体计算公式为:
其中,{LT-P,LT-P+1,...,LT-1}为历史数据,εT为随机扰动变量,λt为每一时刻对应的权重大小,两种变量均可在自回归模型设计中实现初始化与数值自动更新,使用Flinear代表上述过程的自回归预测函数,表示计算结果即最终预测结果的线性组成部分。
第二方面,本发明还提供了一种面向云端多数据中心的负载预测装置,包括:
数据处理模块,用于获取记录每一个时间点虚拟机资源使用情况的日志记录文件,从中提取所需要的特征量数据和历史负载数据;并将特征量数据和历史负载数据转换为相应的输入特征序列和历史负载向量;
非线性分量预测模块,用于基于获得的输入特征序列和历史负载向量,利用预先构建的神经网络模型计算得到负载预测的非线性分量;
线性分量预测模块,用于基于获得的历史负载向量,利用预先构建的自回归模型计算得到负载预测的线性分量;
预测结果计算模块,整合负载预测的非线性分量和线性分量得到最终的负载预测结果。
第三方面,本发明还提供了一种面向云端多数据中心的资源调度方法,包括以下过程:
基于上述方法计算得到云端多数据中心环境下集群中各个服务器上虚拟机的负载预测结果;
基于各个服务器上虚拟机的负载预测结果生成相应的资源调度策略。
第四方面,本发明还提供了一种资源分配器,包括:
负载预测模块,用于基于上述方法计算得到云端多数据中心环境下集群中各个服务器上虚拟机的负载预测结果;
资源调度模块,用于基于各个服务器上虚拟机的负载预测结果生成相应的资源调度策略。
与现有技术相比,本发明所达到的有益效果是:本发明综合考虑多数据中心环境下,负载序列的随时间变化的线性趋势和非线性特征,将基于LSTM的神经网络方法与自回归模型的统计学习方法相结合,可以有效提升对未来负载测预测精度。
附图说明
图1是本发明***的结构示意图;
图2是本发明方法的流程图;
图3是神经网络模型中编码器解码器模块的原理示意图;
图4是神经网络模型中多层感知机输出网络示意图;
图5是本发明***的具体原理结构框图;
图6是数据中心某服务器的在一段时间内实际负载变化趋势。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例1
本发明设计了一种面向云端多数据中心的负载预测方法与资源调度方法,该***将云端的数据中心获取各虚拟机的日志记录文件作为输入,通过对数据进行预处理,预测负载线性与非线性变化,最终使得***能够根据负载预测结果,产生相应的资源配置调度策略。
本发明的一种面向云端多数据中心的负载预测方法,如图2所示,包括如下步骤:
步骤1,首先从云端数据中心获取集群中服务器上虚拟机的日志记录文件,所述虚拟机的日志文件里面包含了每一个时间点虚拟机所占用的各种资源的使用情况。从日志记录文件中提取所需要的特征量,并转换为***可识别和处理的时序数据格式;
数据收集和处理均是面向所有虚拟机的,在此过程中会收集到大量的虚拟机日志记录文件,其处理和分析方法相同,因此本实施例中分析以一台虚拟机为例处理日志记录文件并进行负载的预测。
为了简化海量日志记录文件中数据繁杂的信息,剔除对负载预测没有影响的非时间序列信息。本发明首先在预处理阶段指定了模型所需要的特征量种类,规范了时序数据格式。从而便于在对负载产生影响的多种数据中学习到更丰富的结构信息与上下文联系。
对日志记录文件预处理的具体过程为:
1)首先将采集到的日志记录文件进行数据清洗,提取所需要的特征量数据,舍弃其余与负载预测不相关的记录数据,只保留各个时间点的虚拟机资源使用情况。若出现局部数据异常现象,则选择将字段前后相邻数据求均值代替异常数据,当某一段的序列缺失达到两个或以上时,考虑到数据中心各特征之间可能存在的复杂非线性关系,为了避免简单的数据处理方式对训练精度产生影响,因此抛弃这段存在数据缺失的异常数据。
2)最终采集到的数据应当包含但不限于如下特征量:采样记录时间、虚拟机内核数配置、CPU容量、CPU有效使用量、虚拟机的内存配置容量、虚拟机内存的有效使用量、磁盘读取吞吐量、磁盘写吞吐量、网络接收吞吐量、网络传输吞吐量。将CPU有效使用量作为负载预测的目标,其余的特征量作为模型的输入数据。
其中特征量的记录时间1970.01.01为计算机默认的开始计时时间,单位MHZ 代表兆赫是波动频率单位之一,单位KB/S代表每秒钟可以处理的千字节数。
3)接着利用滑动窗口对采集到的特征量数据进行切分,形成时间步长固定的时间序列曲线,以后续作为模型的输入特征序列。
用来代表某一台虚拟机日志文件整理完后得到的输入特征序列,其中,n代表负载预测输入的特征维度, P代表输入特征序列的时间步长,T代表预测的目标时刻,表示一个n×P维度的实数空间。设置每一个Xk均代表作为输入特征之一的时间步长为P的特征序列,另外,引入代表在某个时刻t的含有n个输入特征的负载预测的输入特征序列。
综上,经过对日志记录文件进行预处理后,得到了所需要的输入特征序列X={X1,X2,...,Xn}P以及历史负载数据向量L={LT-P,LT-P+1,...,LT-1}。
步骤2,将经由步骤1处理之后得到的输入特征序列和历史负载数据向量别传入预先设计的神经网络模型与自回归模型中,输出的下一时刻的负载预测结果。
神经网络模型的组成包括编码器、解码器以及多层感知机网络。其中,编码器的输入为采集到的输入特征序列,解码器的输入为上层编码器输出的自适应提取的输入特征序列,多层感知机网络的输入为解码器输出的文本向量。利用神经网络模块提取特征序列之间的相互依赖关系、分析特征量之间的非线性变化趋势,最后输出得到负载预测结果的非线性组成部分。编码器解码器中内嵌了注意力机制用于发掘特征数据对负载影响的权重大小,以及分析先前负载序列以及各特征量对负载产生的影响。
神经网络的结构和具体处理过程如图3和图4所示,首先对图3和图4中出现的所有变量、符号进行说明:{X1,X2,...,Xn}P代表采集到的输入特征序列,因为其是在一个个时间节点上采集到的数据,所以也可以称为时间序列。时间序列可以进行拆分从而可以得到如{x1 T-P,x1 T-P+1,...,x1 T}到 {xn T-P,xn T-P+1,...,xn T}所示的n个由单一特征量构成的特征向量,其中n代表负载预测输入的特征维度,P代表输入特征序列的时间步长,T代表预测的目标时刻。
ht代表神经网络模型的编码器中产生某个时刻t对应的隐藏层张量数据。softmax函数又可称归一化指数函数,目的是为了使编码器产生的所有隐藏层权重之和为1。代表第k条输入特征序列在t时刻的数值,代表在编码器中得到的第k条输入特征序列在t时刻的数值对应的权重大小。代表在t时刻第k个自适应提取得到输入向量。LSTM代表长短期记忆神经网络,它是编码器解码器模型中进行模型参数更新的重要组件。dt代表解码器中产生的t时刻对应的隐藏层张量数据。代表在解码器中得到的第i个编码器的隐藏层状态在t时刻的数值对应的权重。是解码器将所有的编码器隐藏状态按照权重求和得到的文本向量,是一个求和符号代表将到的所有值进行相加。Lt代表t时刻对应的负载即CPU的有效使用,表示在T时刻神经网络模型的得到了负载预测结果的非线性组成部分。
在编码器模块中,引入了输入注意力机制,从而实现自适应给输入特征序列赋予权重。编码器模块中一共包含了如图3所示的输入注意力层、softmax层、 LSTM神经网络层,每一层的输出就是下一层的输入。在编码器模块数据循环更新中需要将先前LSTM单元输出的隐藏层状态和细胞状态st-1作为输入参数,使用:
ht=f1(ht-1,Xt)
在LSTM单元中,在每个时间步上有以计算方式:
其中,ft,it,ot分别表示遗忘门,输入门和输出门; 分别是施加给rt和ht-1的权重矩阵,表示4m×dr维度的实数向量空间,表示4m×m维度的实数向量空间,m是隐藏层维度,dr是输入rt的向量维度;rt是t时刻的输入;ht-1是t-1时刻输出的隐藏状态向量;是当前时刻神经网络模型输出的候选单元状态向量;sigmoid和tanh 分别表示不同的激活函数。
其中,是一个中间变量,无具体实际含义,和是注意力机制模型中需要学习的参数,表示T维度的实数向量空间,表示T×2m维度的实数向量空间,表示T×T维度的实数向量空间。tanh表示双曲正切激活函数,exp表示指数函数。的计算是通过softmax层进行处理。通过关注度权重大小,可以得到自适应提取的输入特征序列:
进而可以更新LSTM单元的隐藏层状态为:
在解码器模块中,因为在传统的编码器解码器模型中当输入的序列过长其表征能力下降,模型效果迅速恶化的问题,因此在模型的解码层使用了时间注意力机制来自适应选择相关的隐藏层状态。
与编码器模块中的方法类似,解码器模块中的注意力机制也需要将之前 LSTM单元输出的隐藏层状态和细胞状态作为输入参数,其中z代表编码器中隐藏层的维度,表示z维度的实数向量空间,其重要性权重的公式推导过程与输入的特征量序列关注度的计算过程相同,代表第k个编码器隐藏状态hk对最终预测的重要性大小。接着解码器将所有的编码器隐藏层状态按照权重求和得到文本向量:
结合历史负载数据{LT-P,LT-P+1,...,LT-1}和得到的文本向量,经过向量拼接与线性变化,可以得到自适应提取的解码层输入:
其中,f2是一个LSTM单元的非线性激活函数,其具体更新计算方式与f1一致。
输出层是由多层感知机构成,将编解码模型输出的最终隐藏层状态即 {dT-P,dT-P+1,...,dT-1}作为输入,经由三层感知机网络输出得到最终的模型预测结果,其中在多层感知机的前两层使用了PReLU作为激活函数:
f3=max(μdt,dt)
其中f3代表PReLU激活函数,μ是一个只在训练过程中被更新的参数。 PReLU激活函数避免了部分参数无法被更新的问题。最后一层感知机的激活函数为Sigmoid函数,以保证预测结果能被限制在合理的范围内。
其中,代表在经历了T个时间步后对于负载预测的非线性部分,我们用 T表示时间步大小,non表示上述非线性的标识,Fnon用于表示上述整个负载预测的非线性计算过程,{LT-P,...,LT-1}表示T时间步之前P-1个时间步的负载大小, {XT-P,...,XT}表示T时间步前P个时间步的输入特征序列。是隐藏层状态和文本向量的拼接向量,表示z+m维度的实数向量空间,参数Wy和bw实现了将拼接向量映射为解码层隐藏层状态的尺寸,其中Wy表示拼接向量在解码器计算过程中对应的非线性映射权重,bw表示偏置值,其计算实现过程由计算机程序实现,同理和uw分别代表输出层中的非线性映射权重和偏置值,使用Fnon代表上述过程的神经网络预测函数,表示计算结果即最终预测结果的非线性组成部分。
在对负载的线性变化的预测中,根据采集到的历史负载数据,将过去多个时间步的负载数据为自回归模型的输入,来预测下一个时间步的负载预测值。从而能够达到发掘负载变化的长期线性变化趋势,避免神经网络模型的输入输出尺度不敏感问题。
自回归模型的具体计算公式为:
其中,{LT-P,LT-P+1,...,LT-1}为历史数据,εT为随机扰动变量,λt为每一时刻对应的权重大小,两种变量均可在自回归模型设计中实现初始化与数值自动更新,使用Flinear代表上述过程的自回归预测函数,表示计算结果即最终预测结果的线性组成部分。
步骤3,将得到的负载预测结果返回给数据中心资源分配器,资源分配器将产生的资源分配策略发送给云端数据中心进行服务的资源分配工作。
如图1和图5所示,将负载预测结果应用到资源分配器中,具体为:
在上述分析建模过程中,正如图6所示的真实负载变化趋势图,负载的变化过程往往是整体的线性变化趋势与非线性变化趋势并存。因此在负载预测分析中,综合分析负载非线性分量与线性分量有助于提升预测结果的准确性。因此在提出的方法中联合了负载的非线性预测分量与线性预测分量即神经网络模型与自回归模型的输出结果和作为最终的预测结果。
其最终的预测结果可以表示为:
其中,表示在T时刻得到的自回归模型的预测分量,表示在T时刻神经网络模型的预测分量。[dT;CT]∈Rp+m是隐藏层状态和文本向量的拼接向量,参数Wy和bw实现了将拼接向量映射为解码层隐藏层状态的尺寸,和bv分别代表输出层中的非线性映射权重和偏置值,{LT-P,LT-P+1,...,LT-1}代表历史负载数据, {XT-P,XT-P+1,...,XT}代表输入的序列向量。
接着,资源分配器根据预测结果,生成相应的资源调度策略,弹性调整各服务器虚拟机的占用资源。
通过***可以不断将负载预测结果与实际负载误差反馈给模型,从而减少了负载模型因数据匮乏而导致的预测偏差。
所提出的资源分配器是基于负载预测方法对云端多数据中心环境下的服务器集群进行未来负载预测之后而产生相应的资源分配结果。资源分配器的具体实现细节可由计算机编码实现,其调度方法选择如下:根据负载预测结果,为在未来一段时间内可能承受较多计算任务的服务器分配更多的计算资源如CPU 内核数量、内存等,从而使得当前服务器能够继续支撑其服务运行。当计算资源在单个服务器的分配上达到了上线,资源分配器应考虑将即将到来的计算任务进行重新分发,避免单个服务器节点因承受过多的任务量而导致任务阻塞,甚至***的崩溃。若各服务器之间负载均衡,可设置计数器,将计算任务均匀分配。在多数据中心环境下,当计算资源余量受限,应考虑将计算任务退回到云端,进行重新分配,避免因任务的堆积而产生的计算延迟。
综上所述,本发明根据采集到的日志记录文件,预测得到服务器上各虚拟机的未来的负载变化情况,利用资源分配器实现对数据中心资源的动态调整与配置。综合考虑了负载序列变化的长期变化趋势,和负载特征与数据中心环境下其余特征序列的相互依赖性,设计了一种基于神经网络与自回归方法的融合模型来进行多数据中心的负载预测。提高了预测结果的鲁棒性,避免了神经网络模型的尺度不敏感问题。并保证了模型的灵活性,从而能够适应具有不同变化趋势的数据中心负载预测。
实施例2
基于与实施例1同样的发明构思,本发明实施例一种面向云端多数据中心的负载预测装置,包括:
数据处理模块,用于获取记录每一个时间点虚拟机资源使用情况的日志记录文件,从中提取所需要的特征量数据和历史负载数据;并将特征量数据和历史负载数据转换为相应的输入特征序列和历史负载向量;
非线性分量预测模块,用于基于获得的输入特征序列和历史负载向量,利用预先构建的神经网络模型计算得到负载预测的非线性分量;
线性分量预测模块,用于基于获得的历史负载向量,利用预先构建的自回归模型计算得到负载预测的线性分量;
预测结果计算模块,整合负载预测的非线性分量和线性分量得到最终的负载预测结果。
本发明装置的各模块具体实现方案参见实施例1方法的各步骤实现过程。
实施例3
基于与实施例1同样的发明构思,本发明实施例的一种资源分配器,包括:
负载预测模块,用于基于上述方法计算得到云端多数据中心环境下集群中各个服务器上虚拟机的负载预测结果;
资源调度模块,用于基于各个服务器上虚拟机的负载预测结果生成相应的资源调度策略。
本发明装置的各模块具体实现方案参见实施例1方法的各步骤实现过程。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、 CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/ 或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。
Claims (7)
1.一种面向云端多数据中心的负载预测方法,其特征是,包括以下过程:
获取记录每一个时间点虚拟机资源使用情况的日志记录文件,从中提取所需要的特征量数据和历史负载数据;并将特征量数据和历史负载数据转换为相应的输入特征序列和历史负载向量;
基于获得的输入特征序列和历史负载向量,利用预先构建的神经网络模型计算得到负载预测的非线性分量;
基于获得的历史负载向量,利用预先构建的自回归模型计算得到负载预测的线性分量;
整合负载预测的非线性分量和线性分量得到最终的负载预测结果;
所述神经网络模型包括:编码器、解码器以及多层感知机网络;其中,编码器的输入为采集到的输入特征序列,解码器的输入为上层编码器输出的自适应提取的输入特征序列,多层感知机网络的输入为解码器输出的文本向量;
所述基于获得的输入特征序列和历史负载向量,利用预先构建的神经网络模型计算得到负载预测的非线性分量,包括:
ht=f1(ht-1,Xt)
在LSTM单元中,在每个时间步上有以下计算方式:
其中,ft,it,ot分别表示遗忘门,输入门和输出门;分别是施加给rt和ht-1的权重矩阵,表示4m×dr维度的实数向量空间,表示4m×m维度的实数向量空间,m是隐藏层维度,dr是输入rt的向量维度;rt是t时刻的输入;ht-1是t-1时刻输出的隐藏状态向量;是当前时刻神经网络模型输出的候选单元状态向量;sigmoid和tanh分别表示不同的激活函数;
其中,是一个中间变量,无具体实际含义,和是注意力机制模型中需要学习的参数,表示T维度的实数向量空间,表示T×2m维度的实数向量空间,表示T×T维度的实数向量空间;tanh表示双曲正切激活函数,exp表示指数函数;的计算是通过softmax层进行处理;
通过关注度权重大小,得到自适应提取的输入特征序列:
在解码器模块中,与编码器模块类似,解码器模块中的注意力机制将之前LSTM单元输出的隐藏层状态和细胞状态作为输入参数,其中z代表编码器中隐藏层的维度,表示z维度的实数向量空间,其重要性权重的公式推导过程与输入的特征量序列关注度的计算过程相同,代表第k个编码器隐藏状态hk对最终预测的重要性大小;接着解码器将所有的编码器隐藏层状态按照权重求和得到文本向量:
结合历史负载数据{LT-P,LT-P+1,...,LT-1}和得到的文本向量,经过向量拼接与线性变化,得到自适应提取的解码层输入:
其中,f2是一个LSTM单元的非线性激活函数,其具体更新计算方式与f1一致;
输出层是将编解码模型输出的最终隐藏层状态即{dT-P,dT-P+1,...,dT-1}作为输入,经由三层感知机网络输出得到最终的模型预测结果,其中在多层感知机的前两层使用了PReLU作为激活函数:
f3=max(μdt,dt)
其中f3代表PReLU激活函数,μ是一个只在训练过程中被更新的参数;最后一层感知机的激活函数为sigmoid函数;
2.根据权利要求1所述的一种面向云端多数据中心的负载预测方法,其特征是,所述特征量包括:采样记录时间、虚拟机内核数配置、CPU容量、虚拟机的内存配置容量、虚拟机内存的有效使用量、磁盘读取吞吐量、磁盘写吞吐量、网络接收吞吐量和网络传输吞吐量;所述负载指CPU有效使用量。
3.根据权利要求1所述的一种面向云端多数据中心的负载预测方法,其特征是,所述将特征量数据转换为相应的输入特征序列,包括:
利用滑动窗口对特征量数据进行切分,形成时间步长固定的时间序列,作为输入特征序列。
5.一种基于权利要求1-4任意一项所述的一种面向云端多数据中心的负载预测方法的装置,其特征是,包括:
数据处理模块,用于获取记录每一个时间点虚拟机资源使用情况的日志记录文件,从中提取所需要的特征量数据和历史负载数据;并将特征量数据和历史负载数据转换为相应的输入特征序列和历史负载向量;
非线性分量预测模块,用于基于获得的输入特征序列和历史负载向量,利用预先构建的神经网络模型计算得到负载预测的非线性分量;
线性分量预测模块,用于基于获得的历史负载向量,利用预先构建的自回归模型计算得到负载预测的线性分量;
预测结果计算模块,整合负载预测的非线性分量和线性分量得到最终的负载预测结果。
6.一种面向云端多数据中心的资源调度方法,其特征是,包括以下过程:
基于权利要求1-4任一项所述方法计算得到云端多数据中心环境下集群中各个服务器上虚拟机的负载预测结果;
基于各个服务器上虚拟机的负载预测结果生成相应的资源调度策略。
7.一种资源分配器,其特征是,包括:
负载预测模块,用于基于权利要求1-4任一项所述方法计算得到云端多数据中心环境下集群中各个服务器上虚拟机的负载预测结果;
资源调度模块,用于基于各个服务器上虚拟机的负载预测结果生成相应的资源调度策略。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110473131.1A CN113220450B (zh) | 2021-04-29 | 2021-04-29 | 面向云端多数据中心的负载预测方法、资源调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110473131.1A CN113220450B (zh) | 2021-04-29 | 2021-04-29 | 面向云端多数据中心的负载预测方法、资源调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113220450A CN113220450A (zh) | 2021-08-06 |
CN113220450B true CN113220450B (zh) | 2022-10-21 |
Family
ID=77089970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110473131.1A Active CN113220450B (zh) | 2021-04-29 | 2021-04-29 | 面向云端多数据中心的负载预测方法、资源调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113220450B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114064203B (zh) * | 2021-10-28 | 2024-07-23 | 西安理工大学 | 基于多尺度分析和深度网络模型的云虚拟机负载预测方法 |
CN114124554B (zh) * | 2021-11-29 | 2022-08-30 | 燕山大学 | 一种虚拟网络服务链吞吐量预测方法 |
CN114338694B (zh) * | 2022-03-04 | 2022-05-31 | 广州鹏捷科技股份有限公司 | 一站式云数据中心服务器调度方法及*** |
CN115460061B (zh) * | 2022-08-03 | 2024-04-30 | 中国科学院信息工程研究所 | 基于智能运维场景的健康度评价方法及装置 |
CN115509752A (zh) * | 2022-09-29 | 2022-12-23 | 福州大学 | 基于深度自回归循环神经网络的边缘预测方法 |
CN118227742A (zh) * | 2024-05-24 | 2024-06-21 | 浙江口碑网络技术有限公司 | 数据趋势分析方法、装置、设备、存储介质及程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502799A (zh) * | 2016-12-30 | 2017-03-15 | 南京大学 | 一种基于长短时记忆网络的主机负载预测方法 |
CN108170529A (zh) * | 2017-12-26 | 2018-06-15 | 北京工业大学 | 一种基于长短期记忆网络的云数据中心负载预测方法 |
CN108196957A (zh) * | 2017-12-28 | 2018-06-22 | 福州大学 | 一种云环境下的主机负载预测方法 |
CN111638958A (zh) * | 2020-06-02 | 2020-09-08 | 中国联合网络通信集团有限公司 | 云主机负载处理方法、装置、控制设备及存储介质 |
-
2021
- 2021-04-29 CN CN202110473131.1A patent/CN113220450B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502799A (zh) * | 2016-12-30 | 2017-03-15 | 南京大学 | 一种基于长短时记忆网络的主机负载预测方法 |
CN108170529A (zh) * | 2017-12-26 | 2018-06-15 | 北京工业大学 | 一种基于长短期记忆网络的云数据中心负载预测方法 |
CN108196957A (zh) * | 2017-12-28 | 2018-06-22 | 福州大学 | 一种云环境下的主机负载预测方法 |
CN111638958A (zh) * | 2020-06-02 | 2020-09-08 | 中国联合网络通信集团有限公司 | 云主机负载处理方法、装置、控制设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于深度学习的主机负载在线预测模型研究;钱声攀 等;《计算机工程》;20200909;第84-89页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113220450A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113220450B (zh) | 面向云端多数据中心的负载预测方法、资源调度方法及装置 | |
Mishra et al. | A survey on deep neural network compression: Challenges, overview, and solutions | |
EP3467723B1 (en) | Machine learning based network model construction method and apparatus | |
CN113570064A (zh) | 利用复合机器学习模型来执行预测的方法及*** | |
Yang et al. | Multi-step-ahead host load prediction using autoencoder and echo state networks in cloud computing | |
Patel et al. | A hybrid CNN-LSTM model for predicting server load in cloud computing | |
WO2019200480A1 (en) | Method and system for model auto-selection using an ensemble of machine learning models | |
CN112800053A (zh) | 数据模型的生成方法、调用方法、装置、设备及存储介质 | |
Dogani et al. | Multivariate workload and resource prediction in cloud computing using CNN and GRU by attention mechanism | |
CN113128478A (zh) | 模型训练方法、行人分析方法、装置、设备及存储介质 | |
CN114066073A (zh) | 电网负荷预测方法 | |
CN115699041A (zh) | 利用专家模型的可扩展迁移学习 | |
Zhong et al. | Cooperative coevolutionary surrogate ensemble-assisted differential evolution with efficient dual differential grouping for large-scale expensive optimization problems | |
Violos et al. | Predicting resource usage in edge computing infrastructures with CNN and a hybrid Bayesian particle swarm hyper-parameter optimization model | |
US11823066B2 (en) | Enterprise market volatility predictions through synthetic DNA and mutant nucleotides | |
CN115409217A (zh) | 一种基于多专家混合网络的多任务预测性维护方法 | |
CN112667394B (zh) | 一种计算机资源利用率优化方法 | |
CN112036641B (zh) | 基于人工智能的留存预测方法、装置、计算机设备及介质 | |
CN116149764A (zh) | 一种云桌面分配方法、装置、设备和计算机存储介质 | |
Metelkin et al. | Predicting Load in Datacenters Using NARX Model | |
CN113657501A (zh) | 模型自适应训练方法、装置、设备、介质及程序产品 | |
Xiao et al. | Enhanced-xgb: An online service resource demand forecasting method for colocation data centers | |
US11823064B2 (en) | Enterprise market volatility prediction through synthetic DNA and mutant nucleotides | |
US11823065B2 (en) | Enterprise market volatility predictions through synthetic DNA and mutant nucleotides | |
CN118095797B (zh) | 用于需求预测的方法、装置、介质和产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |