随着数据量的不断扩大,数据中心市场规模呈指数级增长。其中,新加坡作为东南亚地区的数据中心枢纽,占据了该地区60%以上的数据中心市场份额,并以每年10%的速度增长[1]。由于新加坡数据中心密度高、容量大,其2012年用电量占2012年总用电量的7%,而美国同年仅占2%。此外,新加坡属热带气候,常年高温,增加了数据中心运维的难度和成本。根据[2]中的研究结果,新加坡有潜力大幅提高数据中心的能源效率。如果采用合适的技术,到2030年可累计节省60亿新元的能源成本。因此,优化数据中心和提高能源效率是我们研究项目的最终目标。我们提出了IT子系统的热感知任务调度:在考虑IT相关特性的同时,温度和功耗(机房级、机架级、服务器级)也被视为影响我们任务分配的关键因素。这样可以在不牺牲计算性能的情况下节省能源。与传统方法不同,我们选择使用DRL算法来寻找最优控制策略。如图1所示,在DRL算法中,我们的目标环境(比如数据中心)处于某种状态(state,比如CPU利用率、温度、功耗等)。在这种状态下,agent通过一定的策略对目标环境施加一个动作(action,比如向服务器分配一个新的任务)来改变环境的状态,新的状态将作为关键因素选择下一步行动。为了有效衡量这个动作的优劣,我们引入了奖励的概念(比如平均温度、功耗、热点数量、平均CPU使用率等)。如果奖励很大,那么未来动作被选中的概率就很高,反之亦然。DRL算法通过智能体与环境的迭代交互达到优化控制策略的目的。图1我们项目中DRL算法的概要但是将算法的训练过程部署到实际的数据中心是不现实的,风险太大。因此,我们使用从真实数据中心(新加坡国家超级计算中心)采集的数据,采用深度学习的方法构建模拟真实数据中心的环境,并利用该环境对DRL算法进行训练和测试。在数据中心IT设备的众多特性中,CPU利用率最为关键,因为CPU利用率是影响服务器功耗和温度的主要因素。我们使用LSTM[3]算法来预测CPU利用率,从而准确模拟利用率与负载变化之间的复杂关系。LSTM是一种时间递归神经网络,非常适合处理和预测时间连续的数据。如图2所示,前三个时间步的总和作为LSTM网络的输入,其中和分别是该时间步的CPU利用率和占用核数。我们的目标数据中心有16个机架,每个机架配备72台计算服务器。根据实验结果(如图3所示),预测模型的MAE(MeanAbsoluteError)为0.397861%。图2LSTMforpredictingCPUutilization图3CPU利用率预测结果(蓝色:预测,红色:真实)在我们的研究项目中,目标数据中心的所有服务器都是HPC(高性能计算机),为用户提供复杂、高-强度计算服务(如生物DNA匹配、地理环境模拟、气候环境模拟等)。因此,当用户从数据中心申请一个核并开始执行计算任务后,CPU使用率变化不大。必须强调,这是预测模型能够获得较高预测精度的重要原因之一。但这并不意味着CPU利用率在所有情况下都是稳定的。例如,根据谷歌公开的workloadtrace[4],在提供类似的web服务和存储服务时,CPU的使用率非常不稳定。如图4所示。图4来自Google的CPU利用率示例一般来说,相似的任务类型会有相似的特征,比如CPU利用率的变化。因此,我们可以将CPU利用率的采样作为特征值,对所有任务进行聚类,将具有相似CPU利用率变化特征的任务归为一类。如图5所示,相同类型的任务具有相似的CPU利用率曲线。因此,对于每一类任务,我们都可以使用LSTM训练一个预测模型来实现准确的预测(测试结果如图6所示)。图5同一集群中任务的CPU利用率图6基于聚类的CPU利用率预测结果调度优化算法。此外,如果能够收集用户ID、任务类型、任务是否多线程等数据,则可以提高方法的可行性和预测精度。参考文献[1]新加坡是东南亚最大的数据中心枢纽:报告。[2]绿色数据Cetnre技术路线图,2014年。[3]F.A.Gers、J.Schmidhuber和F.Cummins。学会忘记:使用LSTM进行持续预测。NeuralComputation,12(10):2451-2471,2000.[4]C.Reiss,J.Wilkes,J.L.Hellerstein,“Google-clustertraces:format+schema”,GoogleInc.,白皮书,2011年11月。
