Page 177 - 《软件学报》2025年第4期
P. 177

杨紫超 等: 基于性能建模的深度学习训练任务调度综述                                                      1583


                    以上针对弹性部署进行优化的方法, 大多采取了除实测剖析法以外的低开销方法. 原因在于对弹性部署的支
                 持增加了资源配置种类, 使得开销更低的计算图结构、可组合算子以及任务元信息法更受青睐. 由于这些调度方
                 法的调度算法机制与其使用的性能建模是解耦合的, 因此调度方法可在这                        3  类低开销性能建模方法之间进行灵活
                 的选择和替换.

                 3.5   优化放置拓扑
                    表  9  展示了利用性能建模优化弹性部署的调度方法. 这类方法主要应对挑战放置拓扑多样性. 面对多样化的
                 放置拓扑选择, 通过对任务的放置拓扑敏感性的深入感知, 可以筛选出高性能的任务组合及其放置拓扑结构, 避免
                 在大量放置拓扑间盲目搜索, 从而解决挑战. 基于这一思路, 这类方法设计了试错迁移算法、规划算法以及贪心算
                 法, 旨在为任务规划合理的放置拓扑, 进而减少因通信延迟和任务间干扰导致的性能瓶颈.

                                           表 9 基于性能建模优化放置拓扑的调度方法

                                  性能建模        性能建模需求           性能建模        实验设置
                    成果     调度目标                                                              效果
                                    方法    执行时间 吞吐率 收敛效率        利用方式    集群规模 任务规模
                 (GNN) 的并发训练, 使用基于可组合算子的方法进行性能建模. 该方法观察到
                                                               设计试错                      提升GPU利用率
                  Gandiva [24]  完成效率 实测剖析   -      √    -                180   2 000+           [59]
                                                               迁移算法                  (比Apache Yarn  提升26%)
                                                                                         提升GPU利用率
                      [68]
                   SMD     完成效率 可组合算子        √     √    -    设计规划算法      24     200
                                                                                      (比Optimus [33] 提升30%)
                                                                                          降低平均JCT
                       [69]
                  CoGNN    完成效率 可组合算子       -      √    -    设计贪心算法       8    200+
                                                                                     (比MPS [70] , MIG [71] 降低75%)
                        [72] 完成效率                                                         降低集群能耗
                 PowerFlow       计算图结构      -      √    -    设计贪心算法 8/16/24    1 901         [27]
                           成本效率                                                       (比Tiresias  降低1.57倍)

                    Gandiva [24] 通过利用性能建模设计试错、迁移的算法, 对任务放置拓扑进行优化. 该工作是早期经典的深度学
                 习训练调度工作, 首次针对深度学习训练任务的放置拓扑进行特殊优化. 虽然在首次调度前该方法对不同放置拓
                 扑的任务性能无感知, 但它通过在线实测分析当前放置拓扑下任务的通信、性能干扰情况, 基于经验在线地建立
                 性能模型, 并设计     grow-shrink  机制对任务进行不停机在线迁移, 使得新的放置拓扑具有更低的通信延迟与性能干
                 扰, 从而通过试错、反馈、调优的机制提高集群整体利用率与效率. 该方法的缺陷在于, 这种试错、迁移的过程对
                 于每个新来任务是必需的, 因此会使任务前期的效率较差.
                    一些方法利用性能建模, 设计规划算法对最优放置拓扑的问题进行求解, 如                        SMD [68] . 该方法使用基于可组合
                 算子的方法进行性能建模, 并将其与调度算法进行深度结合. 它针对                     PS  架构分布式训练任务进行调度, 并设计分
                 析模型对基于     ASP  与  BSP  的  PS  架构算子级别通信延时进行精细化建模. 利用该建模, SMD             能够从算子层面预
                 测各种放置拓扑下的任务间通信干扰, 并将最小化干扰的调度问题建模为一个带有装箱约束的非凸整数非线性规
                 划问题. 随后, 开发了一种名为        sum-of-ratio multi-dimensional-knapsack decomposition  的  ϵ  近似算法来快速求解该
                 问题, 并通过理论和实验验证了算法的有效性. 但是该方法将其规划模型设计与                        PS  分布式训练架构的性能模型深
                 度耦合, 需要考虑如何扩展方法, 以适配其他分布式训练架构, 如                  ring-allreduce.
                    还有部分方法利用性能建模设计贪心的任务放置规则, 通过降低任务干扰或提升通信效率, 增强调度效果,
                 如: (1) CoGNN [69] 针对打包并发任务设计贪心算法, 通过降低任务放置干扰, 提升效率. 该方法专注于图神经网络
                                                                              GNN  中算子的   GPU  利用率低, 存
                 在通过并发放置提升效率的机会. 因此, 它基于分析模型建立了面向                     GNN  算子的内存冲突模型及其性能干扰模
                 型, 并据此设计了     BMC (balanced-memory-consumption) 贪心打包调度策略, 以平衡打包后任务的并发显存访问延
                 时, 从而最小化并发      GNN  放置产生的性能干扰. 相比于        MPS、MIG  等性能无感的并发训练机制, 大幅降低任务完
                 成时间. (2) PowerFlow [72] 基于计算图结构法建模性能, 针对集群能耗问题进行优化. 首先, 该方法从底层对训练不
                 同阶段   (前向计算、反向传播、参数更新) 进行分析, 并分别设计回归模型建立不同通信速率下吞吐率与能耗的
                 关系模型. 随后, 基于该模型以及不同放置拓扑下的通信能力分析, 设计了启发式贪心算法, 为任务分配具有最优
   172   173   174   175   176   177   178   179   180   181   182