摘 要
数据中心内部设备产热量巨大,制冷系统运行不佳会导致热量堆积产生热风险。提出了一种基于Bi-LSTM的深度学习网络的数据中心热风险管理方法,通过对机房计算节点的温度场数据进行预处理和热风险标识,使用历史数据对数据中心机房计算节点热风险进行预警。针对机房内复杂的热环境,使用统计学方法从时空2个维度判定热风险标签,用于网络的训练,并将所得模型与传统机器学习模型进行对比,所提方法对热风险的预测精度可达99.07%,比传统机器学习模型的预测精度提升6.6%,可实现可靠的热风险预警管理。
引 言
随着大数据、人工智能以及云计算等技术的迅速发展,行业对算力的需求也急剧增加。作为信息技术领域的重要基础设施,数据中心的投资建设也出现了井喷式增长。据统计,2017年我国数据中心的年总用电量已经达到1 200~1 300亿kWh,在全社会用电量中的占比超2%。其中,IT设备的能耗占数据中心总能耗的44%,且这部分电能会全部转化为热能释放到机房内。因此,为保证设备的正常运转,需使用冷却设备将这部分热量排除。此外,IT设备所产生的热量仅占到数据中心总热量的70%~80%。室外环境通过围护结构向室内的传热、运维检修人员的散热和照明设备的散热等都会给数据中心的制冷系统增加额外的负荷,以上这些负荷需求对数据中心冷却系统的散热能力提出了更高的要求。
虽然数据中心通常配备了复杂的制冷系统,但研究表明,在各种冷却技术下,数据中心内部温度的分布在时间与空间上依然存在着不均匀性,且由于产热位置的不均匀性,机房内位置相邻测点的温度可能并没有明显的相关性。数据中心机房内复杂的热特性使得微小的扰动也有可能导致其热平衡被破坏,从而发生潜在的热风险,影响数据中心服务器的安全运行,造成经济损失。数据中心服务于人工智能计算,同样也可以使用人工智能技术解决其面临的难题。使用深度学习模型,利用历史的时序信息建立预测数据机房热风险的模型,能够提前获知可能存在的风险,预先进行干预,防止出现运维事故。
目前,对于数据中心热风险检测和预警的研究较为缺乏,尚未形成有效的热预警方法来解决热安全管理难题。本文提出一种基于Bi-LSTM的深度学习网络,使用数据驱动的方法对数据中心运行过程中可能存在的热风险进行预警。本研究的技术路线如图1所示。
图1 技术路线
0 1
数据中心热风险管理
数据中心内设有众多信息技术设备和相关的配套设施,承担了数据存储、交换和计算枢纽的角色。但其内部设备的产热在空间上并不是均匀的,导致数据中心的热风险管理存在一定的难度。冷却系统不佳、设备故障或设备的持续过载都会造成服务器内产生局部热点。同时,在机房内部,由于冷却系统气流组织的特点,在机柜的不同位置,其周围环境温度分布也有显著差异(见图2)。在使用数据驱动方法进行热风险管理时,应使用能充分表征数据中心内部热特性的数据,以表征数据中心内部复杂的热分布。
图2 数据中心机房内部温度分布模拟
本文采用Borghesi团队所提供的数据集用于模型训练和验证,该数据集的数据来自意大利CINECA数据中心的Marconi100超级计算机,包含了979个计算节点的核心负载、温度、频率、内存读写操作、CPU功耗、风扇速度、GPU使用详情等信息,采样频率为20s/次。同时数据集中还包括IT设备以外设备的信息,例如液体冷却基础设施、空调系统、电源单元、工作负载管理器的统计信息、系统状态警报以及天气预报等。
数据集包含了每个计算节点附近空气温度,故可以反映出计算节点的散热情况。当附近空气温度升高时,计算节点的本身温度上升,热风险增加。故使用该数据作为输入特征数据。选取2021年5月—2021年8月的数据作为研究数据。图3为温度数据的时空分布热力图。
图3 温度数据的时空分布热力图
0 2
温度场数据预处理和热风险标记
2.1 数据重采样
数据集中的数据由于其采样频率较高,若直接使用会导致模型受噪声影响较大,并且,当采样频率远大于传热过程的时间分辨率时,训练数据也会变得冗余,故首先对数据进行重采样处理。10 min的采样频率既可以保证数据机房热数据有足够的时序信息分辨率,又可以最大限度地减少信息的冗余,故将重采样频率设定为10 min/次。数据重采样的过程使用移动平均对每个10 min间隔内的所有的30个数据求平均值,作为重采样的结果。
2.2 缺失值补齐
对于数据中的缺失值,采用双向线性插值的方法补齐,首先对于同一时刻数据,缺失值使用临近计算节点的数据进行第一次线性插值。然后对于同一节点,若缺失值较多无法完成第一次插值,则使用相邻时刻的数据进行二次插值,最终获得完整的数据。
2.3 热风险数据标记
由于数据集中数据仅含有温度数据,无法直接用于热风险的预测。故使用统计学方法在时间与空间节点2个维度评判当下时刻是否有热风险(见图4)。
图4 热风险数据标记步骤示意
由于机房内位置相邻节点温度在空间中的低耦合性,首先针对同一节点的所有时刻,按照不同时刻的温度从高到低排序。此时设定节点阈值a(取值范围为0~1)为判定某单一节点温度过高的标志。若a=0.7则表明,当该时刻温度超过所有时刻中70%的温度即判定该时刻温度过高。
其次,为了排除制冷系统难以无延时控制导致当计算需求突然增加时的温度迅速升高又回落到正常工作状态,引入时间维度进行判定。对于数据集中的某一时刻t,在数据库中从t到t+τ时刻内,每个时刻都有979个节点数据组成的τ×979矩阵中的数据。
此时设置时空阈值b(取值范围为0~1)为综合判定某时刻机房有热风险的标志。若b=0.7则表明,当该矩阵中70%的数据被判定为温度过高时,该时刻被判定为有热风险。
通过上述步骤,当某一时刻被判定为有热风险时,表示从该时刻开始往后的一段时间,会相继有较多的节点出现异常的过热,故使用该方法进行样本标记可以训练模型对热风险的预测能力。通过模型提前预警热风险,可以提示运维人员做出相应的准备。
在本研究中,τ取6h;a取0.98,b取0.95,对于被判定为热风险的时刻,其标签为1,被判定为无热风险的时刻,其标签为0。
2.4 数据滑动窗口
为了捕获数据中的时序信息,需要将输入的数据处理成时间序列。故采用滑动窗口的方法对数据进行处理。窗口的时间步长与τ取值相同。
2.5 数据分割
经过以上步骤,获得的输入数据维度为数据个数×时间步长×特征个数,即17 676×36×979。此时从数据集中随机选取80%的数据作为训练数据、20%的数据作为测试数据。得到训练集维度为 14140×36×979,测试集维度为3536×36×979。对于训练集,其标签的维度为14140×1;对于测试集,其标签的维度为3536×1。
0 3
基于Bi-LSTM的热风险预测模型
由于数据机房内的热特性与IT设备的使用情况、制冷设备运行情况、运维人员排班情况以及室外天气情况等诸多因素相关,且这些因素都有着复杂的时间序列特性,故采用Bi-LSTM深度学习网络对模型进行建模。
RNN网络能够处理时序信息,但RNN的结构导致计算过程中信息传播链路较长,在计算梯度时其导函数由连续多个部分相乘导致其存在梯度消失或者梯度爆炸的问题。LSTM网络是一种成熟的RNN网络,通过引入单元状态、遗忘门、输入门和输出门来解决传统RNN网络梯度爆炸或梯度消失的问题。其结构如图5所示。
图5 LSTM网络结构
LSTM单元状态通过输入门、遗忘门和输出门来计算。其中输入门的计算公式为:
it=σ( wi × [ℎt−1,xt] bi)
(1)
式中:
wi ——输入门的权重矩阵
bi ——输入门的偏置项
xt ——t时刻的输入
ℎt−1 ——t−1时刻的输出
σ——Sigmoid激活函数,其计算公式如下:
(2)
为了计算单元状态,首先计算其中间步骤:
(3)
式中:
wc ——单元状态的权重矩阵
bc ——单元状态的偏置项
tanh ——双曲正切函数,其计算公式如下:
(4)
其次,计算遗忘门,遗忘门能控制从上一时间步单元所传递来的单元状态的保留权重,其计算如下:
ft=σ(wf×[ ℎt−1,xt]+bf)
(5)
式中:
wf ——遗忘门的权重矩阵
bf ——遗忘门的偏置项
通过以上计算式,可以计算得到单元状态:
(6)
式中:
ct−1 ——t−1时刻的单元状态
输出门控制最终单元的输出值的权重,其计算如下:
ot = σ( wo × [ ℎt − 1,xt ] + bo)
(7)
式中:
wo ——输出门的权重矩阵
bo ——输出门的偏置项
最后每个单元的输出值的计算公式如下:
ℎt = ot × tanh (ct)
(8)
Bi-LSTM在LSTM的基础上改进而得,其由1层顺时序向和1层逆时序向的LSTM网络组成,能够从正反双向捕捉输入特征的时序信息,其连接结构如图6所示。
图6 Bi-LSTM网络连接结构
将2层Bi-LSTM串联,并使用第1层的网络输出H作为第2层的网络输入X,构成所使用网络的特征提取层。神经网络输出结果的分类层采用全连接网络。
最终所采用的网络结构如图7所示。
图7 采用的网络结构
网络设置4层全连接层作为分类器,其中前三层网络的激活函数为ReLU函数,其计算公式如下:
(9)
ReLU函数作为非线性函数为网络引入非线性处理能力,且由于其计算简单,能够节省计算资源。在每个激活函数前设置批归一化层以提高模型的泛化能力。最后一层作为二分类问题的输出,故使用Sigmoid激活函数,其计算公式为式(2)。最终Sigmoid函数给出0~1的一个值,当其小于0.5时,可视为模型认为无热风险的概率大,当其大于0.5时,视为该时刻具有热风险的概率大。
0 4
模型的搭建与训练
热风险识别为二分类任务,且采用Sigmoid作为激活函数,故使用均方误差作为损失函数,其计算公式为:
(10)
式中:
n ——该训练批次的批大小
yi ——该训练批次中第i个真值
ŷi ——该训练批次中第i个预测值
训练使用的优化器为Adam,因其能提供动态的学习率从而对大部分任务有着更好的收敛效果;为了提高训练速度,批大小设置为512;迭代轮数设置为100次,以保证训练的充分收敛。
0 5
热风险预测结果验证
5.1 模型训练结果
将模型每一迭代步的损失函数值保存,得到损失函数的随迭代步的折线图(见图8)。
可以看到在训练后期,损失函数趋近于一固定的较小值,表征模型训练已经收敛,迭代步数足够,模型训练较为充分。
图8 损失函数随迭代步变化趋势
5.2 模型预测结果
使用测试集数据测试模型的效果,模型预测结果如图9所示。
图9 热风险预测结果
由图9可知,对于3536个测试数据,其中3147组数据为正常运行数据,389组数据为存在热风险的数据,模型正确预测了3126个正常数据,占总数据量的88.40%;正确预测了377个存在热风险的数据,占总数据量的10.66%;模型错误地将正常运行数据预测为存在热风险的数据个数为21个,占总数据量的0.59%;模型错误地将存在热风险的数据预测为正常数据的个数为12个,占总数据量的0.34%。此外,可以看到在错误预测的数据当中,很多为将正常数据预测为热风险的数据,此时经过运维人员人为排除即可解除热风险警报,不会对系统运行产生影响。对于有热风险而模型未成功预测的情况仅占0.34%,表明模型具有较高的可靠性。
采用正确率作为评价指标对模型进行检验,其中正确率的计算方公式为:
(11)
式中:
TP ——模型正确地将正类预测为正类的数量
TN ——模型正确地将负类预测为负类的数量
FP ——模型错误地将负类预测为正类的数量
FN ——模型错误地将正类预测为负类的数量
通过计算可得模型的准确性得分为99.07%,即对于绝大部分情况均可正确预测。
5.3 模型对比结果
为了验证深度学习模型的精度优势,使用传统的支持向量机(Support Vector Machine,SVM)模型进行对比。SVM模型为传统的机器学习模型,相对于深度学习模型虽然其模型训练所耗费的计算资源较少,但是由于无法处理时序信息,其面对时序性较强的数据预测精度往往不足。
对于SVM模型,其所使用的数据无需进行滑动窗口步骤,故将未进行滑动窗口的数据进行数据分割,随机选取80%的数据作为训练数据,剩余20%数据作为测试数据进行训练和评估模型性能,SVM模型预测的结果如图10所示。
图10 SVM模型测试结果混淆矩
从图10可以看出,SVM模型的预测精度较差,对于3543个测试数据,其中3140组数据为正常运行数据,403组数据为存在热风险的数据,模型正确预测了3111个正常数据,占总数据量的87.80%;正确预测了182个存在热风险的数据,占总数据量的5.13%;模型错误地将正常运行数据预测为存在热风险的数据个数为29个,占总数据量的0.82%;模型错误地将存在热风险的数据预测为正常数据的个数为221个,占总数据量的6.24%。此外,可以看到在错误预测的数据当中,SVM模型会将许多存在热风险的情况判定为正常运行,这对于机房的运维存在着较大的风险,该模型的预测可靠性较差,使用准确率评价检验SVM的预测精度,其得分为92.94%。通过对比可以发现,本文所提出的方法在数据中心热风险预警方面有着更高的可靠性。
0 6
结 论
本研究建立了一种基于Bi-LSTM深度学习网络的人工智能模型,结合数据预处理和热标记技术,用于预测数据中心热风险并提出预警。通过数据中心温度场数据集验证,本研究的主要结论如下。
a)使用Bi-LSTM对数据中心热风险进行预警能够获得较好的精度,其预警准确率可达99.07%。
b)Bi-LSTM模型的预警结果倾向于保守,即在错误的预测中,将正常运行的状态预警为热风险状态,该特点有利于数据中心的安全运行。
c)与传统的机器学习模型SVM模型相比,引入时序信息的Bi-LSTM模型的预测精度有6.6%的提高。
d)SVM模型倾向于不保守的预警,即热风险状态预测为正常状态的错误样本数量较多。面对数据中心的重要保障功能,该特点不利于数据中心的安全运行。
作者简介
贺晓,正高级工程师,硕士,主要从事数据中心研究咨询管理工作;
朱旭,助理研究员,博士,主要从事数据中心与AI前沿交叉研究工作;
闫若飞,助理工程师,硕士,主要从事数据中心相关AI算法研发工作;
吴帅,高级工程师,硕士,主要从事数据中心、智算中心研究咨询及建设管理工作;
刘湃,工程师,硕士,主要从事数据中心基础设施产品研发工作;
吴江风,正高级工程师,学士,主要从事数据中心运营及管理工作。
推荐阅读
点击“阅读原文”,下载论文PDF
欢迎扫码关注
头条号|邮电设计技术
官方网站|http://ydsjjs.paperopen.com
编辑|李星初 审核|袁江