APP下载

基于EMD-TCN的云资源预测研究

2023-08-10史爱武罗良杰

计算机应用与软件 2023年7期
关键词:分量机器卷积

史爱武 罗良杰 何 凯

(武汉纺织大学云计算与大数据研究中心 湖北 武汉 430200)

0 引 言

云计算作为一种新型计算模式,在过去十年得到了飞速的发展。它利用虚拟化技术,将包括计算资源、存储资源和网络资源在内的各种资源虚拟化,以按需使用、按量付费的方式为用户提供可扩展的弹性计算服务[1]。基于虚拟机的虚拟化技术或容器虚拟化技术虚拟出来并提供给用户使用的各种资源,统称为云资源。同时,云计算的发展还催生了众多的大规模数据中心[2]。目前,数据中心的规模和复杂度仍处于动态增长中,各种形式的软硬件资源还在不断地被添加到云计算系统中。尽管这些数据中心的建立很好地满足了社会的计算需求,但也带来了一些问题和挑战。其中资源管理问题最为突出。譬如,云厂商必须遵守与用户签订的服务等级协议(Service-Level Agreement,SLA),保证提供给用户的服务满足要求。如果资源供应不足就会造成SLA违约、服务质量(Quality of Service,QoS)降低,进而导致用户流失。而资源供给过剩,虽不会给用户造成影响,但会导致严重的资源浪费,间接造成经济损失。对于一个庞大且复杂的数据中心而言,要想实现灵活的资源配置和管理,保证一定程度上的供需平衡,必须要求数据中心能够预知云资源的变化情况,即要建立一个精准的云资源预测模型。因此,云资源的预测成为了云计算研究领域的一个研究热点。

国内外许多学者针对云资源的预测研究提出了多种预测方法。目前使用较广泛的云资源预测模型主要可分为两大类,一类是传统的时间序列预测方法,包括差分自回归滑动平均模型(Autoregressive Integrated Moving Average,ARIMA)、指数平滑法(Exponential Smoothing,ES )等。文献[3]使用ARIMA对云环境下的应用负载进行了预测,取得了不错的预测效果,初步验证了传统的时间序列方法在云资源负载预测中的可行性。但是该文中只对Web服务器的请求负载进行了预测分析,对于该方法在CPU负载、内存负载等一些系统关键指标上的适用性还有待验证。同时,传统的时间序列预测方法大多只能捕捉线性趋势,而云资源负载序列往往都是非线性和非平稳的,导致此类方法的预测精度较低,难以满足大数据时代对预测精度的要求。另一类是机器学习算法。学者们早期主要使用支持向量机(Support Vector Machine,SVM)[4]、贝叶斯模型[5]和人工神经网络算法[6]。相比传统的方法,这些算法的预测精度更高,但是也更为复杂,并且需要大量的历史数据进行训练。后来随着循环神经网络(Recurrent Neural Network,RNN)和长短时记忆(Long Short Term Memory,LSTM)网络的出现,它们一跃成为当时最优的时间序列预测算法[7]。直到近两年,文献[8]研究发现,相比循环神经网络,时间卷积网络(Temporal Convolutional Network,TCN)在多个时间序列预测问题上表现得更好,因而许多学者开始使用TCN代替循环神经网络进行时序数据的建模研究。RNN和TCN等模型相比传统模型虽有着更优的预测效果,但是随着研究的深入,一些研究者发现使用单一模型很难较好地拟合非线性和非平稳的云资源负载序列。于是开始研究用单一模型进行搭配,试图设计出合理的组合预测模型。大量研究结果表明,相比单一模型,组合优化模型可以更好地拟合序列,显著提高预测精度[9-11]。

除了从模型方面改进预测精度外,还有学者试图把信号分解方法应用于时序数据预测的研究中来改进预测精度。由于时间序列数据大多都具有高度的非线性非平稳等特点,现有方法建立的预测模型难以精准预测。学者们从降低时间序列数据本身的复杂性出发,提出了基于经验模态分解(Empirical Mode Decomposition,EMD)和机器学习或深度学习模型的组合预测模型,并将其应用在多个时间序列预测领域,均取得了精度上的提升。如文献[12]将改进的EMD-SVM模型应用在了风速预测领域,结果表明该模型在不同时间步长上的预测效果都要优于现有的方法。文献[13]为了提高电力预测的精度,分别比较了RNN、LSTM、EMD-RNN、EMD-LSTM在电力预测中的效果,实验结果表明EMD-LSTM取得了最好的效果。目前,同属时序数据预测研究的云资源预测领域有关EMD或TCN的研究还很少。因此,本文提出了基于经验模态分解和时间卷积网络(EMD-TCN)的云资源组合预测模型。

1 经验模态分解

经验模态分解,也被称为希尔伯特-黄变换,是 Huang等[14]提出的一种高效且自适应的信号分解方法,特别适合于非线性和非平稳的时频数据分析。它克服了小波分析中基函数无法自适应性的缺点,使用起来更加灵活和简单。可将非线性和非平稳的时间序列分解为一组平均和为零的准周期信号,使信号变得平稳化,减少信号间特征信息的干扰。这些信号被称作本征模态分量(Intrinsic Mode Function,IMF)和残余分量,可表示为:

(1)

式中:x(t)是数据的原始值,每个hi(t)表示第i个IMF分量,r(t)是残差分量。下面简要说明EMD的分解过程:

1) 根据信号x(t)的局部极值求出其上、下包络线的均值mt。

2) 将原数据序列减去平均包络线后,可得到一个去掉低频的新数据序列ht=x(t)-mt。

3) 判断ht是否满足以下两个条件:(1)极值数与过零点的数目相等或最多相差一个;(2)在任意时刻,其上、下包络线的均值必须是零。若不满足条件,就将ht当作新的x(t),重复以上步骤。最后得到的第一个满足条件的ht即为第一个本征模态分量IMF1,记作c1t。

4) 将rt=x(t)-c1t作为新的x(t),重复步骤1)-步骤3),即可依次得到本征模态分量IMF2,IMF3,…,IMFs,直到满足给定的终止条件时EMD分解才停止。

2 时间卷积网络

时间卷积网络是融合了卷积神经网络研究中的一些优秀成果而提出的一种简单而高效的网络结构。它和RNN一样,能够接受任意长度的序列,并将其映射到相同长度的输出序列中,因而适合应用在有时间依赖的序列任务中。时间卷积网络的基本组成部分为因果卷积和空洞卷积。

2.1 因果卷积

因果卷积是保证时间卷积网络能用于序列建模任务的根本原因。其与普通一维卷积不同之处在于,它通过在输入序列前面补充长度为k-1的零值向量,来使输入与卷积计算输出在维度上保持一致,从而保证在时刻t的输出只与t和t之前的输入有关,即确保不会有未来的信息泄露到过去。

2.2 空洞卷积

普通的因果卷积的接收域与网络层数线性相关,因此如果要提取距离较远的数据,就需要非常深的网络层次。为了解决因果卷积无法获得长期依赖的问题,TCN中加入了空洞卷积,空洞卷积可以在不增加参数量的情况下,呈指数级的增大卷积的感受野。具体地,一个空洞因果卷积层如图1所示,公式表示如下:

(2)

式中:d为扩张因子,k为滤波器大小,s-d·i表示过去的方向。多个这样的空洞因果卷积层堆叠起来就组成了TCN。通过调整不同的滤波器大小与网络层数,可以使感受野能覆盖输入序列中的所有值。为了防止增加网络深度而导致梯度弥散或梯度爆炸,TCN中通过添加残差连接和正则化层来解决该问题,另外还加入了随机失活(Dropout)来防止过拟合,TCN 的典型结构如图2所示。

图2 TCN典型结构

3 基于EMD-TCN的云资源预测模型

云资源负载序列大多数都具有非线性和非平稳的特点,导致直接进行预测的效果往往较差。而EMD特别适合处理这类数据,它可以把原负载序列按其内在特性自适应地分解为若干个不同频率且相对平稳的 本征模态分量IMF和一个残余分量Res,分解后的每个分量相比原序列复杂度更低,使用模型对其拟合也更容易。学术界目前有不少使用EMD与机器学习或深度学习模型相结合的时序数据预测模型,常见的做法是为分解后得到的各个IMF和Res分量分别拟合一个预测模型,最后再将各分量的预测结果合并得到最终的预测结果。尽管这种将信号分解后分别预测再整合的方式得到了较准确的预测结果,但是由于每有一个分量就要训练一个模型对其拟合,因而时间复杂度较高,更适合对于建模时间要求不高的时间序列进行预测。

而云资源负载预测对训练时长的要求相对较高,采用上述方式进行预测是不太适合的。本文针对云资源预测的特点,将此方法进行了改进。对于EMD分解得到的各个分量,不再单独分别进行拟合预测,而是把它们当作原时序数据提取出来的不同特征,经过处理后输入到一个TCN中进行建模预测,这样只需训练一个模型即可,在不丢失信息的同时大大减少了建模所需要的时间。具体步骤如下:

(1) 对原序列进行缺失值处理和归一化操作,再采用EMD将原序列分解为多个IMF和一个残差项Res。

(2) 选定时间步长,并据此构造数据。首先将分解后得到的分量按时间顺序排列,然后按照滑动窗口截取的方式,把序列构造成有监督学习的形式。其中输入数据的格式为(?,n,k),其中:n为时间步长,表示用多少个观测数据来预测下一个值,k为原序列经EMD分解后得到的分量数。具体地,当滑动窗口的时间步长为3时,构造方式如图3所示。

图3 数据的构造方案

(3) 把构造完成后的训练集数据输入到TCN中训练模型,使用建立好的TCN得到最终预测结果。

本文提出的EMD-TCN模型的流程见图4。

图4 基于EMD-TCN的云资源预测模型

4 实验分析

4.1 实验环境与数据集

本文提出的模型预测分析在Python 3.6环境下实现,采用深度学习框架Keras搭建神经网络模型。数据集为Google Cluster Data(GCD)[15],GCD中记录了一个包含12.5k台机器的集群在29天运行中的一些重要数据,包括资源消耗、任务调度等。CPU利用率是工业界改善云计算数据中心的资源配置效率的一个关键指标[16],本文就以机器的CPU资源负载为例来验证EMD-TCN组合模型对云资源的预测性能。但本文方法并不局限于预测CPU资源,也可用于预测其他云资源指标。

GCD中CPU资源负载的采样时间间隔为5 min,采用均值插补法对缺失值进行处理,每台机器每天有288条数据记录,29天共包含8 352条数据记录。选取其中前80%的数据作为训练集,后20%作为测试集。此外,为了加快模型收敛速度,本文对数据进行了归一化处理。

本文参照文献[17]将GCD中的机器按照最高CPU负载量分成了三类,第一类是低负载型,最高负载为0.25,第二类是中等负载型,最高负载为0.5,第三类是高负载型,最高负载为1。从三类机器中分别随机选出一台机器来详细分析模型效果,其他机器的处理方式完全类似,只对其进行简要说明。

4.2 评价指标

本文采用均方误差(Mean Square Error,MSE)、均方根误差(Root Mean Square Error,RMSE)和平均绝对百分比误差(Mean Absolute Percentage Error,MAPE)三个指标来验证本文所建云计算资源预测模型的有效性。

(3)

(4)

(5)

4.3 参数设置和对比模型

本实验中的参数通过经验和反复试验不同的参数组合后确定,采用选定的最优参数进行后续的对比实验。设置TCN层数为1层,TCN隐层节点数为32,激活函数为tanh,模型学习率为0.001,优化算法为Adam,滑动窗口的时间步长为5,Dropout设置为0.3。文献[18]研究发现,LSTM相比ARIMA在云资源预测中有着更高的预测精度。为了检验本文提出的云资源预测模型的性能,将本文模型与单一LSTM模型和单一TCN模型进行对比。

4.4 实验结果与分析

采用上述参数在不同负载类型机器的训练集上进行训练,分别建立LSTM、TCN和EMD-TCN的云资源预测模型,图5-图7展示了不同类型机器采用三种模型在测试集上同一天中的预测结果。

图5 低负载型机器的预测结果

图6 中等负载型机器的预测结果

图7 高负载机器的预测结果

可以看到,在LSTM和TCN两种模型上的预测值和实际值表现出了平移现象,说明预测存在一定的滞后性,而EMD-TCN的预测效果要明显优于另外两者的预测效果。在EMD-TCN模型上的预测值与实际值间并未出现明显的平移现象,预测结果曲线与真实负载曲线之间更加贴合,说明使用EMD分解后得到的IMFs分量和残差分量进行预测有效地提取出原CPU资源负载序列的趋势和变化信息。为了更加客观地评估本模型的效果,通过多次实验取平均值,得到各模型在三种类型机器上的预测客观评价指标如表1-表3所示。

表1 各类模型在低负载型上预测性能对比

从表1、表2和表3所展示出的结果可以更加清楚地发现,在三种不同负载类型的机器上,与LSTM模型和TCN模型相比,本文提出的模型在MSE、RMSE、MAPE三个指标上的值都有大幅减低,表示预测准确性有了明显提高。

表2 各类模型在中等负载型上预测性能对比

表3 各类模型在高负载型上预测性能对比

同时,为了进一步验证本模型的通用性,又随机选取了多台机器,分别测试了以上三个模型的预测效果。结果表明,LSTM、TCN和EMD-TCN三种模型在MAPE指标上的取值范围分别为14.452%~20.924%、14.273%~20.584%和7.987%~14.541%,相比于LSTM和TCN,本文提出的模型在MAPE指标上平均降低了36.32%和35.37%。

以上结果证明了EMD-TCN模型具有更好的预测效果,其主要原因在于原始CPU资源负载序列具有高度的时变性、非线性和非平稳性,仅靠单一预测方法建立的预测模型很难达到较好的拟合效果,而本文的组合模型结合了“分而治之”的思想,通过使用EMD将原始的云资源序列分解为多个较为平稳的IMF后,再将各个IMF构造特征向量矩阵后输入到TCN进行拟合,各个IMF相比原序列在复杂度上都有所下降,因而最终拟合的效果相比单一预测方法更好。本文理论分析和实验结果都证明,相较于LSTM和TCN,EMD-TCN有着更为强大的非线性时间序列拟合能力,能取得更准确的预测结果。

5 结 语

实现云资源负载的精准预测,可以让数据中心在进行调度前,提前感知到机器的资源负载变化情况,从而能够更加灵活地配置资源,提高资源的利用率。本文在现有的云资源负载预测算法的基础上,提出了基于EMD-TCN的组合预测模型,并通过实验确定了最优的模型参数。实验结果表明,相较于LSTM和TCN,本模型用于云资源负载预测的精度有了明显提升。

猜你喜欢

分量机器卷积
机器狗
机器狗
基于3D-Winograd的快速卷积算法设计及FPGA实现
帽子的分量
从滤波器理解卷积
未来机器城
论《哈姆雷特》中良心的分量
基于傅里叶域卷积表示的目标跟踪算法
分量
基于瞬时对称分量法的三相四线制D-STATCOM控制研究