一种基于数据中心在线服务周期性特征的资源预测方法

文档序号:37544395发布日期:2024-04-08 13:46阅读:10来源:国知局
一种基于数据中心在线服务周期性特征的资源预测方法

本发明属于数据中心智能管理领域,具体涉及基于数据中心在线服务周期性的资源预测分析。


背景技术:

1、数据中心是互联网及相关产业的信息化基础设施。随着大数据、人工智能等应用的蓬勃发展,数据中心负载呈现种类多样化、部署环境复杂化、资源需求差异化的变化趋势。在线服务是数据中心最为典型的一类应用负载。在线服务具有请求强度波动、响应延时敏感的特征。因此,在线服务需要充足的资源供给以保障其高效运行。准确的在线服务资源预测是精准资源供给的前提。在线服务资源预测是指利用在线服务的历史资源使用情况,对其未来资源使用进行合理的推测。因此,准确预测在线服务的资源使用是适配在线服务的请求波动,动态、实时地供给充足的资源,保障在线服务高效运行,并提高数据中心资源利用率的必要前提。

2、既有数据中心在线服务资源预测工作存在如下缺陷:1)未关注在线服务资源使用呈现的周期性特征,多通过隐式提取在线服务资源使用模式。该类工作通常利用在线服务资源使用的时间特征,他们也会假设未来的资源使用情况只与最近的资源使用历史时间点相关。这些研究主要使用差分自回归移动平均模型(autoregressive integrated movingaverage,arima)等回归方法或卷积神经网络(convolutional neural networks,cnn)和注意力机制等机器学习方法,以隐含的方式探索不同时间点资源使用情况之间的相关性。然而,在线服务由于请求到达特征驱动往往形成特有资源使用模式,既有工作忽视了对这些资源使用模式的显式表达,仅使用rnn等深度学习模型,希望隐式地提取在线服务资源使用的特征,降低了预测的准确度。2)未提出适用于探测在线服务资源使用周期长度的算法。既有工作通常使用两种基本方法:频域方法和时域方法。频域方法(离散傅里叶变换(discrete fourier transform,dft))将时间序列转换到频域,选取主导周期。然而,当涉及到长期周期性时,dft会遇到计算复杂度高和频谱泄漏的问题,从而限制了频率识别的准确性。时域方法则直接在时域中分析信号。这些方法通过将信号与自身相关联来计算自相关函数(autocorrelation function,acf)。通过定位acf中的峰值,可以确定主要的周期,适用于检测长期周期性。不过,acf对时间序列中的数值范围变化、噪声和异常值比较敏感,会影响识别真正周期模式的准确性。

3、充分利用数据中心在线服务资源使用呈现出来的周期性特征,不仅能够在不同的周期间有针对性地选择与当前预测点具有强相关关系的样本数据,提升预测的准确性;也能够避免对于预测样本数据的盲目选取,增加预测模型构建的计算复杂度。


技术实现思路

1、基于以上问题,本发明提出了一种基于在线服务周期性特征的资源预测方法。对于任一任务,本发明以在线服务中所观察的历史时间段的下一个时间点定义为目标预测时间点。

2、本发明针对在线任务,提取了海量日志中在线服务cpu资源使用的时间序列。基于所提取的cpu资源使用的时间序列使用自相关函数(acf)和余弦相似度确定资源使用序列的周期长度,并根据周期长度选择历史观测数据,利用门控递归单元神经网络(gatedrecurrent unit,gru)模型构建在线服务资源使用预测模型。通过本发明构建的模型,可预测出具有周期性的在线服务在未来时刻的资源使用,对任务的资源分配由较强的指导意义。

3、本发明所提出的数据中心基于周期性的在线服务资源预测方法主要由五个个步骤组成:初始化、资源使用序列周期探测、历史观测数据构建、在线服务资源预测模型构建、在线服务资源预测。在本发明中,有以下重要参数:周期内历史观测窗口大小a,周期间历史观测窗口大小b,周期间历史周期观测数量c,预测网络的学习率lr,预测网络的隐藏单元个数hs,预测网络的训练批尺寸bs,预测网络的训练次数epoch。a取24,b取25,c取5,lr取0.001,hs取64,bs取64,epoch取100。

4、(1)初始化:

5、使用日志中的在线服务信息来进行数据的初始化,令日志中包含的属性全集为a={a1,a1…af},与在线服务资源预测相关的属性子集为将日志信息中的在线服务资源使用量按照时间戳求和并排序,即同一在线服务在同一时间戳下的资源使用量进行相加,然后按照时间戳升序排序,形成资源使用序列。日志中包含的在线服务集合为w={w1,w2…wz}。w中的第i个在线服务wi由多个任务集组成,可表示为wi={wti1,wti2…wtih},每一个任务集由两个执行在线服务预测的任务组成,第j个任务集可表示为wtij={wtij1,wtij2},1≤i≤z,1≤j≤h,定义predij代表任务wtij的目标预测时间点的资源使用量。

6、(2)资源使用序列周期探测:

7、2.1)针对在线服务资源使用序列进行候选周期探测。

8、2.1.1)分析资源使用序列自身的相关性,计算资源使用序列的自相关函数,得到皮尔逊相关系数(pearson correlation coefficient,pcc)序列,自相关函数计算公式如公式(1),用于考察序列在不同的滞后值γ下与其先前值的相似程度,其中y(t),1≤t≤n,表示在t时刻资源使用序列y(t)的资源使用量,n表示序列的长度。

9、

10、2.1.2)对pcc序列使用hodrick–prescott(hp)滤波进行去趋势化操作,得到周期性特征更平稳的pcc的序列,hp计算公式如公式(2),用于分解得到序列的趋势项和周期项,其中at,表示在t时刻pcc序列的取值,τt表示在t时刻下得到的趋势项,为最终得到的趋势项序列,n表示序列的长度。μ为平滑参数,根据采样频率取值:季度采样则μ取值为1600,年度采样则μ取值为6.25(1600/4**4),月度采样则μ取值为129600(1600*3**4)。

11、

12、2.1.3)对去趋势化后的pcc序列执行峰值探测。遍历pcc序列,对于每一个候选周期长度,比较它和相邻的两个候选周期长度对应的pcc值,判断是否为极大值点,如果是则将当前候选周期长度加入候选周期长度集合。完成ppc遍历之后得到候选周期长度集合。

13、2.1.4)依次遍历候选周期长度集合中的每一个候选周期长度,计算当前候选周期长度和前一个候选周期长度的距离差值,并累加(第一个候选周期长度的前一个取值默认为0)。完成遍历后得到的距离差值总和除以候选周期长度集合的大小,得到最终的候选周期长度。

14、2.2)以候选周期长度为基准进行周期修正,完成最终周期长度探测。

15、2.2.1)以候选周期长度为起点,10为步调,向周期长度变大方向进行修正。周期修正以得到的当前候选周期长度为基准,将原始资源使用序列划分成若干个等长的子序列,并计算任意两个子序列间余弦相似度的均值。修正过程中,判断当前修正方向上的子序列余弦相似度均值变化趋势,如果连续3次出现下降趋势则停止当前方向的修正。特别地,判断当前候选周期长度对应的子序列余弦相似度均值是否为最大值,如果是,则停止周期修正,并将当前候选周期长度作为最终探测到的周期长度返回。

16、2.2.2)首先判断在变大方向进行的周期修正过程是否已探测到最终的周期长度。如果没有,则同样以候选周期长度为起点,10为步调,向周期长度变小方向进行修正。周期修正以得到的当前候选周期长度为基准,将原始资源使用序列划分成若干个等长的子序列,并计算任意两个子序列间余弦相似度的均值。直到当前候选周期长度对应的子序列余弦相似度均值为最大值,停止周期修正,并将当前候选周期长度作为最终探测到的周期长度返回。

17、(3)历史观测数据构建:

18、3.1)周期内预测数据构建:

19、对于任意任务wtij,1≤i≤z,1≤j≤h,定义其周期内预测数据形式如下:

20、mij=[m1 … ma]

21、向量的列数为a,向量任意元素mk,1≤k≤a,表示在历史观测窗口内第k个单位时间点时在线服务的资源使用量,其中以十秒为一个单位时间。该矩阵的列数为在线服务资源预测时周期内历史观测窗口的大小。

22、3.2)周期间预测数据构建

23、对于任意任务wtij,1≤i≤z,1≤j≤h,定义其周期间预测数据形式如下:

24、

25、矩阵的行数为c,列数为b,矩阵任意元素nuk,1≤u≤c,1≤k≤b,表示在历史观测周期的第u个周期中,历史观测窗口内的第k个单位时间点时在线服务的资源使用量,其中以十秒为一个单位时间。该矩阵的列数为在线服务资源预测时周期间历史观测窗口的大小。该矩阵的行数为在线服务资源预测时关注的历史相邻周期的个数。

26、(4)在线服务资源预测模型构建:

27、4.1)使用基于门控递归单元神经网络(gru)的优化周期性感知预测模型prpos。模型由三个模块组成:周期内gru、周期间gru和聚合fcl。

28、4.1.1)周期内gru模块将周期内数据作为输入,并生成隐藏层特征,以捕捉在线服务资源使用中的短期时间依赖特征。具体来说,周期内数据以a维向量表示,其中a是周期内数据序列的长度。数据向量中的每个数据元素都会作为输入依次送入单个gru单元。周期内gru的输出可表示为hs*1向量。

29、4.1.2)周期间gru以周期间数据为输入,提取隐层特征,捕捉在线服务资源使用的长期时间依赖特征。周期间gru的输入,即周期间数据,以二维矩阵的形式表示,其像素为c*b。矩阵中的每一行实际上代表了历史时间段中选定的资源使用子序列,即从历史时间段中与预测点相同的时间点开始,按时间倒序排列的连续序列。矩阵中的行按从近期到远期的历史时间段降序排列。矩阵的每一行依次作为单个gru单元的输入。周期间gru的输出可表示为hs*1向量。

30、4.1.3)然后,将短期和长期时间依赖性的潜在表征,即周期内gru和周期间gru的输出合并起来作为聚合fcl的输入。聚合fcl模块采用全连接层(fully connected layer)对短期和长期依赖性特征进行加权,并生成最终预测结果。

31、4.2)为每一个在线服务wi,1≤i≤z,构建相对应的在线服务资源预测模型prposi。训练构建好的在线服务资源预测模型prposi,将该在线服务所有任务wtij作为样本数据,其中wtij代表日志中第i个在线服务中第j个任务集,每次训练输入bs个样本,wtij的周期内预测数据mij和周期间预测数据nij作为模型的输入值,predij作为模型的标签值,通过前向传播算法和随机梯度优化算法更新模型参数进行训练,重复输入直到该类任务全部训练完毕。

32、4.3)重复4.2)的过程epoch次,对模型进行多轮参数更新,在参数更新结束后该在线服务训练完成,完成对应的资源预测网络的构建。

33、(5)任务干扰预测:

34、5.1)对于任意在线服务wi的每一个任务wtij,输入其周期内预测数据mij和周期间预测数据nij,使用wi对应的资源预测模型prposi进行预测,输出预测出的目标预测时间点的资源使用量predij。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1