麻省理工学院研究人员开发的一个新系统自动“学习”如何在成千上万台服务器之间分配数据处理操作

传统上,针对特定工作负载优化调度算法几乎是不可能的。根据麻省理工学院(mit)的官方网站,麻省理工学院研究人员开发的一个新系统自动“学习”如何在数千台服务器上安排数据处理操作,并帮助数据中心更高效地运行。

麻省理工学院的研究人员使用“强化学习”(rl:一种试错机器学习技术)根据特定服务器集群中的特定工作负载来调整调度决策系统。他们构建了一种新的rl技术,可以在复杂的工作负载下进行训练。在培训过程中,系统尝试了许多可能的方法来将传入的工作负载分布在服务器上,最终在使用计算资源和快速处理速度之间找到了最佳的折衷方案。不需要人工干预,只需要简单的指导。

[科学技术]MIT:人工智能让数据中心更有效地运行

与最好的手写调度算法相比,该系统可以更快地完成任务20%到30%,在高流量下速度几乎翻了一番。该系统可以使数据中心以更快的速度处理相同的工作负载,并使用更少的资源。

rl的调度

通常,数据处理作业进入由“节点”和“边缘”图表示的数据中心。每个节点代表一些需要完成的计算任务,节点越大,需要的计算能力越大。连接节点的边缘将连接的任务链接在一起。调度算法根据不同的策略将节点分配给服务器。

然而,传统的rl系统不习惯处理这样的动态图。为了构建基于rl的调度器,研究人员必须开发一个模型,该模型可以处理图形结构的作业,并可以扩展到大量的作业和服务器。

他们系统的“代理”是一种调度算法,它使用图神经网络,通常用于处理图结构数据。为了提出一个适合于调度的图神经网络,他们实现了一个定制组件,它聚集了图中不同路径上的信息——例如,快速估计完成图的给定部分所需的计算量。这对作业调度非常重要,因为“子”(下)节点在其“父”(上)节点完成之前无法开始执行,所以预测未来在图中不同路径上的工作是做出良好调度决策的关键。

[科学技术]MIT:人工智能让数据中心更有效地运行

为了训练rl系统,研究人员模拟了许多不同的图形序列,模拟了进入数据中心的工作负载。然后,代理决定如何将每个节点分配给图中的每个服务器。对于每个决策,组件根据其在特定任务上的表现来计算奖励,例如最小化处理单个任务的平均时间。代理人会不断改进他们的决策,直到他们获得最高可能的回报。

建立基线工作量

然而,有一个问题是,一些工作负载序列比其他工作负载序列更难处理,因为它们具有更大的任务或更复杂的结构。这些过程总是需要更长的时间来处理,所以奖励信号总是低于简单信号。但这并不一定意味着系统性能差:它可以很好地处理具有挑战性的工作负载,但它仍然比简单的工作负载慢。困难的可变性使得模型很难决定哪些行为是好的,哪些是坏的。

[科学技术]MIT:人工智能让数据中心更有效地运行

为了解决这个问题,研究人员采用了一种叫做“基线”的技术。这种技术使用具有大量变量的场景的平均值,并将这些平均值用作比较未来结果的基线。在训练期间,他们计算每个输入序列的基线。然后,他们要求调度程序为每个工作负载序列训练几次。接下来,系统评估针对相同输入工作负载做出的所有决策的平均性能。这个平均值是基线,然后模型可以将其未来的决策与它进行比较,以确定其决策是好是坏。他们称这项新技术为“投入依赖基线”。

[科学技术]MIT:人工智能让数据中心更有效地运行

研究人员表示,这项创新适用于许多不同的计算机系统。他说:“这是在输入过程影响环境的环境中进行强化学习的一般方法。希望每一次培训活动都考虑一个输入过程的样本。”"几乎所有的计算机系统都必须应对不断变化的环境."

目前,他们的模型是通过模拟训练的,模拟试图实时再现传入的在线流量。接下来,研究人员希望通过实时通信来训练模型,这可能会导致服务器崩溃。因此,他们目前正在开发一个“安全网”,当系统即将崩溃时,该安全网将停止工作。

标题:[科学技术]MIT:人工智能让数据中心更有效地运行

地址:http://www.heliu2.cn/xw/9911.html