您的位置: 首页 >科技 >

AI系统可以在数千台服务器上优化分配工作负载 从而降低成本

2019-08-26 17:01:03 编辑: 来源:
导读 由麻省理工学院研究人员开发的一种新型系统自动学习如何在数千台服务器上安排数据处理操作 - 这项任务传统上保留用于不精确的,人工设计

由麻省理工学院研究人员开发的一种新型系统自动“学习”如何在数千台服务器上安排数据处理操作 - 这项任务传统上保留用于不精确的,人工设计的算法。这样做可以帮助当今耗电量大的数据中心更有效地运行。

数据中心可以包含数万台服务器,这些服务器不断地从开发人员和用户运行数据处理任务。群集调度算法实时地在服务器之间分配传入任务,以有效地利用所有可用的计算资源并快速完成工作。

然而,传统上,人类根据一些基本指南(“政策”)和各种权衡来微调那些调度算法。例如,他们可以对算法进行编码以快速完成某些工作,或者在工作之间平均分配资源。但是工作负载 - 意味着组合任务的组合 - 具有各种规模。因此,人们几乎不可能针对特定工作负载优化其调度算法,因此,他们往往无法实现真正​​的效率潜力。

麻省理工学院的研究人员将所有手动编码卸载到机器上。在SIGCOMM上发表的一篇论文中,他们描述了一个系统,该系统利用“ 强化学习 ”(RL),一种反复试验的机器学习技术,来定制特定服务器集群中特定工作负载的调度决策。

为此,他们构建了可以训练复杂工作负载的新型RL技术。在培训中,系统尝试了许多可能的方式来跨服务器分配传入工作负载,最终在利用计算资源和快速处理速度方面找到最佳权衡。除了简单的指令,例如“最小化工作完成时间”之外,不需要人为干预。

与最好的手写调度算法相比,研究人员的系统可以在高流量时间内快速完成约20%到30%的工作,并且速度提高一倍。然而,大多数情况下,系统会学习如何有效地压缩工作负载以减少浪费。结果表明,该系统可以使数据中心使用更少的资源以更高的速度处理相同的工作负载。

“如果你有办法使用机器进行试验和错误,他们可以尝试不同的方式来安排工作,并自动找出哪种策略比其他策略更好,”博士洪子子博士说。电气工程与计算机科学系(EECS)的学生。“这可以自动提高系统性能。利用率的任何微小改进,甚至1%,都可以为数据中心节省数百万美元和大量能源。”

“制定调度决策并不是万能的,”EECS教授兼计算机科学与人工智能实验室研究员(CSAIL)的合着者Mohammad Alizadeh补充说。“在现有系统中,这些是您必须预先决定的硬编码参数。我们的系统会学习根据数据中心和工作负载调整其调度策略特性。”

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

但传统的RL系统并不习惯于处理这种动态图形。这些系统使用软件“代理”来做出决策并接收反馈信号作为奖励。从本质上讲,它试图最大化其对任何给定动作的奖励,以在特定环境中学习理想行为。例如,他们可以帮助机器人学习执行任务,例如通过与环境交互来拾取对象,但这涉及通过更容易设置的像素网格处理视频或图像。

为了构建他们的基于RL的调度程序,称为Decima,研究人员必须开发一个模型,可以处理图形结构的作业,并扩展到大量的作业和服务器。他们的系统的“代理”是一种利用图形神经网络的调度算法,通常用于处理图形结构数据。为了提出适合于调度的图神经网络,他们实现了一个自定义组件,该组件跨图中的路径聚合信息 - 例如快速估计完成图的给定部分所需的计算量。这对于作业调度很重要,因为“子”(较低)节点在其“父”(上)节点完成之前无法开始执行,

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

基线工作量

然而,一个问题是,某些工作负载序列比其他工作负载序列更难处理,因为它们具有更大的任务或更复杂的结构。这些将总是需要更长的时间来处理 - 因此,奖励信号总是低于简单信号。但这并不一定意味着系统表现不佳:它可以在充满挑战的工作负载上度过美好时光,但仍然比更轻松的工作负载慢。难度的变化使得模型难以决定哪些行为是好的。

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

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

威斯康星大学麦迪逊分校的计算机科学教授Aditya Akella,他的团队设计了几个高性能的调度员,发现MIT系统可以帮助进一步改善他们自己的政策。“Decima可以更进一步,找到[ 调度 ]优化的机会,这些优化过于繁重,无法通过手动设计/调整过程实现,”Akella说。“我们设计的调度程序在应用程序性能和集群效率方面比生产中使用的技术有了显着的改进,但是我们可能实现的理想改进仍然存在差距.Decima表明基于RL的方法可以发现[策略]这有助于进一步缩小差距。我们的技术改进了大约30%,

现在,他们的模型经过模拟训练,试图实时重建传入的在线流量。接下来,研究人员希望在实时流量上训练模型,这可能会使服务器崩溃。因此,他们目前正在开发一种“安全网”,当它即将导致系统崩溃时,它将停止系统。“我们认为它是训练轮,”Alizadeh说。“我们希望这个系统能够不断训练,但它有一定的训练轮,如果它太过分,我们可以确保它不会倒下。”


免责声明:本文由用户上传,如有侵权请联系删除!

2016-2022 All Rights Reserved.平安财经网.复制必究 联系QQ280 715 8082   备案号:闽ICP备19027007号-6

本站除标明“本站原创”外所有信息均转载自互联网 版权归原作者所有。