Page 105 - 《软件学报》2025年第12期
P. 105

5486                                                      软件学报  2025  年第  36  卷第  12  期



                 因此本文用    tpt edge  = λ i ×tpt cloud  来预估作业  i 使用一个边缘服务器时的吞吐率, 其中  tpt cloud  为作业  i 使用一个云计
                            i        i,1                                            i,1
                 算集群中的    GPU  时的吞吐率,    λ i  是一个参数, λ i ∈(0, 1), 其取值取决于边缘服务器和云计算集群中         GPU  的性能以
                 及具体的深度学习训练作业的特征.


                                                ResNet18  Inception V3  Deep Speech 2
                                                         VGG16    GPT-2

                                             500
                                           预执行作业开销 (s)  300
                                             400




                                             200

                                             100

                                              0
                                             图 2 作业分析器预执行作业的时间开销



                                        表 1 实验评估中用到的深度学习模型及其训练设定

                             训练作业类型              数据集             深度学习模型              批大小
                                                                        [17]
                                                                  ResNet18         64, 128, 256
                              计算机视觉             ImageNet [16]     VGG16 [18]       64, 128, 256
                                                                         [19]
                                                                 Inception V3       32, 64, 128
                             自然语言处理            aclImdb V1 [20]     GPT-2 [21]       16, 32, 64
                               语音识别            LibriSpeech [22]  Deep Speech 2 [23]  16, 32

                    为了尽量准确地分析作业执行进度, EdgeFlow            会在每个作业在云计算集群或边缘服务器上实际执行的过程
                 中, 对该配置下的吞吐率进行记录, 修正预执行或预估得到的吞吐率数据, 同时也修正不同作业的                              λ i  参数. 根据我
                 们在  NVIDIA A100 GPU  和  NVIDIA V100 GPU  上执行作业分析的测试, 在作业执行期间的分析记录的开销约为
                 每次  0.01 s, 与深度学习训练作业的执行时间         (数小时甚至数天) 相比, 这样的时间开销可忽略不计.
                  4.2   云边协同的深度学习作业资源分配步骤

                    对于调度器来说, 未来的深度学习训练作业的时间、作业特性以及不同时刻可用的边缘服务器资源数量是未
                 知的, 因此调度器不能基于所有信息直接做离线约束求解. 因此, EdgeFlow                  的资源分配模块使用在线的资源分配
                 算法, 在每个事件     (新作业到来、作业结束、可用的边缘服务器数量改变) 发生时对尚未结束的所有作业重新分
                 配资源. 在每一次需要重新分配资源的时候, EdgeFlow            的调度分为    3  个步骤.
                    首先, EdgeFlow  考虑云计算集群中的资源, 参考已有工作的方法, 计算每个作业的最小满足份额, 并为每个作
                 业根据最小满足份额进行资源分配            [13] . 这样的方法可以使得能在截止期之前完成的作业使用最少量的计算资源,
                 从而把资源分配给尽可能多的作业, 让尽可能多的作业在截止期之前完成. 如果有的作业因为集群资源紧张或期
                 截止期过于紧张而不能在截止期之前完成, EdgeFlow              尽量为其分配最多的可用计算资源, 使其尽早完成并释放
                 GPU  资源, 从而为未来提交的作业预留云计算集群中的               GPU.
                    随后, 如果此刻有可用的空闲边缘服务器, EdgeFlow            会选取部分作业, 将其迁移并分载至边缘服务器执行. 这
                 一过程中涉及云计算资源和边缘服务器资源的协同调度, 本文将在第                       4.3  节介绍  EdgeFlow  所使用的云边协同的
                 深度学习作业分载算法.
   100   101   102   103   104   105   106   107   108   109   110