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

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



                 算法  1. 云边协同的深度学习作业分载算法.
                 输入: 当前时间    current_time, 当前尚未结束的所有作业的集合        Job, 当前初步资源分配方案下是否存在作业无法满
                 足截止期要求     violated, 当前云计算集群中是否含有空闲计算资源            has_free_gpu, 云计算集群含有的    GPU  个数  G,
                 可用边缘服务器数量       E, 每个边缘服务器可用的最大内存           edge_memory;
                 输出: 分载到边缘的作业集合         J edge .
                 1. J edge  ← {} //初始化  J edge
                 2. Q ← {} //初始化优先队列   Q
                 3. //执行规则  (1)
                 4. for i in Job do
                 5.  if E>0 then
                 6.   if i.already_on_edge is True then
                 7.    J edge .append(i) //迁移  Job  至边缘服务器
                 8.    E ← E–1
                 9. //执行规则  (2)
                 10. if has_free_gpu then
                 11.  for i in Job do
                 12.   if !i.already_on_edge then

                 13.    end_time_on_edge ← current_time+i.iterations_left/i.tpt edge
                 14.    if E > 0 and i.memory < edge_memory and end_time_on_edge≤i.ddl then
                 15.     J edge .append(i) //迁移  Job  至边缘服务器
                 16.     E ← E–1
                 17. //执行规则  (3)
                 18. if violated then
                 19.  for i in Job do
                 20.   if !i.already_on_edge and get_end_time(i, A i )>i.ddl and  A i  [current_time]<i.max_gpu then
                 21.    i.priority ← i.ddl–get_end_time(i,   ˜ A i )
                 22.    Q.insert(i)
                 23.  while E>0 and !Q.empty() do
                 24.   i ← Q.dequeue()
                 25.   J edge .append(i) //迁移  Job  至边缘服务器
                 26.   E ← E–1
                    EdgeFlow  根据云资源使用优先级对仍在云计算集群中的作业进行排序, 并将云资源使用优先级更高的作业
                 保留在云计算集群中. 值得注意的是, 在规则             (3) 中, 如果一个作业使用现有的云计算集群资源可以在截止期之前
                 完成, EdgeFlow  不会将其迁移至边缘服务器, 以避免其截止期需求不再被满足. 与规则                    (2) 相同, 只有内存需求不
                 超过边缘服务器可提供的内存的作业可以被分载至边缘服务器.
                    值得注意的是, 如果将无论如何都无法满足截止期的作业分配到边缘服务器, 会进一步增加这些作业的时延.
                 然而, 本文的优化目标是提高作业的截止期满足率. 因此, 如果一个作业无论如何都无法满足截止期, 那么即使避
                 免了这一时延, 其截止期也无法被满足. 如果将这些作业分配到边缘服务器, 不仅不会影响其他作业的截止期满
                 足, 还会为其他可能在截止期之前完成的作业预留云计算集群中的                      GPU  资源. 这对于本文的优化目标来说是一个
                 更有利的选择.
   102   103   104   105   106   107   108   109   110   111   112