Page 137 - 《软件学报》2020年第10期
P. 137
王康瑾 等:在离线混部作业调度与资源管理技术研究综述 3113
[4]
组合打分等.Fuxi、Matrix、YARD 则是对 YARN 调度算法的改进,在调度时考虑了节点空余资源,并使用作业
画像、节点画像等预测作业的资源需求和节点未来可用资源.
从资源隔离技术来看,4 个混部系统实例均采用了多种资源隔离技术.容器技术作为轻量级的虚拟化技术
被广泛使用;CPU 作为最重要的计算资源,CPU 隔离和抢占式调度成为所有混部系统的选择;CAT 技术也被较多
地采用;Fuxi&Sigma 支持更多资源的隔离,如磁盘、网络、超线程上的资源隔离.
从资源动态分配算法来看,基于反馈机制的资源调整算法被广泛应用于实际系统中.其基本思想是:当在线
作业的性能受到影响时杀死离线作业或动态调整离线作业的资源配额 [84] .基于这一思想,Borg 采用了如下策略
以降低作业间的性能干扰:(1) 在线作业与物理核(physical CPU cores)绑定,并且同一个物理核只绑定一个在线
作业,在线作业运行时可使用 CPU 的全部资源;离线作业被允许运行在任意核上,运行时存在 CPU 使用上限;
(2) 根据在线作业资源利用率变化曲线,Borg 预测并动态调整在线作业的资源配额使得并将剩余资源分配给
离线作业.基于 Borg 提供的在离线混部环境,Google 公司的研究人员还进行了多种资源动态分配算法的研究,
如文献[12,13,35,36];Fuxi&Sigma 则在内存共享方面提出了弹性内存策略,通过在线作业的负载动态调整在离线
作业各自的内存配额.
从运行效果来看,4 个系统实例对集群利用率均有明显提升.在 Borg 的管理下,Google 集群的资源使用效率
大幅度提高,在 15 个集群上的测试表明,Borg 最多可将一个集群压缩为原有集群规模的 65%,即:使用原有集群
65%的机器便可完成原有集群的所有计算任务;Fuxi&Sigma 混部系统将原有集群的利用率从 10%提升至 40%
左右,节约总体成本 30%以上;Matrix 则为百度节省了数万台服务器的成本;YARD 集群 CPU 利用率提升至 45%
左右,并且在实践中将深度学习的训练作业与在线作业集群混部,为 2018 年人工智能围棋大赛冠军 PhoenixGo
的训练提供了 14w+CPU 的计算能力.
[9]
Fig.5 Architecture of Google Borg (left) and Fuxi&Sigma [80] (right)
[9]
图 5 Google Borg 系统架构 (左)与阿里 Fuxi&Sigma 系统架构 [80] (右)
4 未来研究方向展望
作为学术界和工业界研究的热点领域,在离线混部作业调度与资源管理技术的相关研究近来得到关注,并
在实际应用中一定程度地提高了数据中心的资源利用率.但尚有许多亟待解决的问题,本文总结了 4 个未来值
得研究的方向,包括:细粒度的性能干扰模型、微服务架构下的混部作业调度算法、软硬件协同的内存带宽干
扰隔离技术、面向在离线混部作业的调度模拟技术.
4.1 细粒度的性能干扰模型
目前在混部作业管理系统中使用的性能干扰模型将作业执行(或请求处理)看作一个整体,进而刻画作业整
体在不同干扰下性能的变化.例如,描述在下一时段内请求的平均完成时间,或者描述作业的执行时间.性能干