Page 102 - 《软件学报》2025年第12期
P. 102
谷典典 等: 云边协同的深度学习作业调度方法 5483
不足, 本文在充分利用空闲的边缘服务器资源的同时, 综合考虑不同服务器以及服务器之间网络带宽的特点, 随时
灵活调整每一个作业使用的资源数量和类型, 以使得更多的深度学习训练作业可以在截止期之前完成.
2 云边协同的优势
尽管边缘服务器的性能往往不如云计算集群中的 GPU 服务器, 且将作业从云计算集群迁移到边缘服务器具
有不可忽略的时间开销, 但将部分作业负载迁移到边缘服务器可以为保留在云计算集群中的作业留下更充足的计
算资源. 与此同时, 保留在云计算集群中的作业可以在训练的过程中不再严格使用开发者指定的 GPU 数量执行训
练作业, 而是在不同时刻动态改变其使用的 GPU 数量, 从而加速作业的执行, 使得所有开发者提交的深度学习训
练作业的截止期满足率有所提升. 我们称使用 GPU 数量动态改变的训练过程为弹性训练.
为了验证使用空闲边缘服务器协助云计算集群可能显著提升截止期满足率, 本文首先从阿里巴巴公开的向
其 GPU 生产集群提交的作业历史 [14] 中选取 10 个作业. 原始作业提交历史中包含每个作业的提交时间、使用
GPU 数量和作业持续时间等信息, 但缺少作业训练的模型、批大小 (batch size)、截止期等重要信息. 本文将在第
5.1 节详细介绍如何利用已有信息生成实验所需要的完整信息.
然后, 本文对只有云计算集群的环境以及云边协同环境下的执行过程分别进行模拟. 所模拟的云计算集群环
境包含一个含有 8 个 NVIDIA A100 GPU 的云端服务器, 云边协同环境在该云计算集群所拥有的计算资源的基础
上, 还包含一个算力比 NVIDIA A100 GPU 更低的 NVIDIA V100 GPU 的边缘服务器. 本文将在第 5.1 节介绍模拟
器的实现.
模拟结果显示, 在只有云计算集群的环境中, 7 个作业可以在截止期之前完成. 而在仅利用了一个边缘服务器,
并将其中一个作业迁移至边缘服务器之后, 可以在截止期之前完成的作业数量增加至 9 个. 因此, 即使是少量的边
缘服务器也可能提升深度学习训练作业的截止期满足率. 基于这样的发现, 本文设计了云边协同的深度学习作业
调度方法 EdgeFlow.
3 系统架构及问题描述
本节的场景介绍包括系统架构以及作业在云计算集群和边缘服务器的执行模型, 然后对云边协同场景下的深
度学习作业调度的优化问题做出描述.
3.1 系统架构
图 1 展示了本文设计的云边协同的深度学习作业调度方法 EdgeFlow 的系统架构图. 首先, 深度学习开发者
提交深度学习训练作业. 在执行每个作业之前, 作业分析器会使用一定的云计算集群资源预执行作业, 以分析其
在使用不同数量的云计算资源时的吞吐率 (单位时间内可以执行的批数量) 表现. EdgeFlow 的资源分配模块通
过执行集群监测模块实时获取云计算集群中资源的使用情况以及可用的边缘服务器数量, 并使用基于优先级的
资源分配算法决定每一个作业将被分载至边缘服务器还是保留在云计算集群, 如果作业被保留在云计算集群,
则该模块还将为每一个提交到云计算平台的作业分配其使用的 GPU 资源数量. 在每次调度事件 (如新作业提交、
作业完成、可用边缘服务器数量变化等) 时, 资源分配模块可能会通过弹性缩放 (即根据已有作业的截止期和
可用 GPU 的数量调整作业被分配的 GPU 数量) 更新某些作业的资源分配, 即改变其使用的云计算集群中的
GPU 数量, 或改变其使用的计算资源类型 (云计算集群中的 GPU 或边缘服务器). 如果作业被分配的资源发生改
变, 为保证每个作业的收敛性不受影响, 该模块会保证作业的全局批大小 (global batch size) 保持不变, 并计算在
使用新的 GPU 个数的情况下每个作业在每块 GPU 上的本地批大小 (local batch size). 作业放置模块根据云计算
集群以及边缘服务器之间网络带宽的拓扑结构, 选择每个作业具体放置的 GPU 设备. 随后, 作业放置模块将作
业发送到弹性训练执行器. 弹性训练执行器使得深度学习作业在改变执行所用的 GPU 数量时可以维持原有训
练进度并继续按照正确的参数训练. 该模块是可以被替换的, 任何支持弹性训练的深度学习训练框架都可以满
足 EdgeFlow 的弹性训练需求.

