Page 293 - 《软件学报》2021年第12期
P. 293

杨术  等:功能分发网络:基于容器的智能边缘计算平台                                                       3957


         势.我们可以看到:传统的 FCFS、优先级编排算法和 LRTF 算法之间的性能差异不是很大,并且保持着相似的增
         长趋势.距离优先算法和 LRTF 算法在子任务数量较小时能够取得不错的效果,但当任务规模增加后,它们的性
         能缺陷显现出来了,其中,距离优先算法的性能甚至不如 FCFS 等传统的算法.我们提出的 Heu-Orche 的性能总
         体上优于其他 4 种算法,并且随着子任务数量的增加,它的性能优势就更大.例如:当子任务为 100 个时,Heu-
         Orche 的性能分别胜过 FCFS、优先级算法和 LRTF 算法 53.1%、35.7%和 5.49%;而子任务提高到 1 000 个时,Heu-
         Orche 的性能分别胜过它们 62.9%、15.1%和 25.5%.不同于那些简单的编排策略,Heu-Orche 能够考虑有向无环
         图的数据依赖关系以及计算集群的资源使用情况,因此它能够计算出一个更加合理的编排策略,优化任务的计
         算延迟.
             而在图 8 中我们可以看到:当每个用户同时进行 1 000 个子任务的编排任务时,随着用户数量的增加,5 种算
         法的任务计算延迟基本上呈线性增长的趋势.并且 Heu-Orche 的性能随着用户数的增多,仍然保持较好的表现.
         相比 Kubernetes,Mesos,YARN,Borg 等传统容器编排器所使用的 FCFS 和优先级算法以及传统边缘计算中经常
         使用的距离优先算法和 LRTF 算法,我们提出的启发式算法能够更好地适应不同用户和流量规模,具有很强的
         拓展性,也能够取得更好的延迟性能,对基于有向无环图结构的计算任务有很大的优势.
             2)  边缘集群数量
             我们测试了 5 个算法在不同数量的边缘计算集群下(1 个~5 个)和不同数量的子任务(100 个子任务和 1 000
         个子任务)的编排性能,实验结果如图 9 和图 10 所示.













            Fig.9    Computation latency with different clusters        Fig.10    Computation latency with different clusters
               图 9   不同边缘集群数量下的任务计算延迟           图 10   不同边缘集群数量下的任务计算延迟

             我们可以看到:随着边缘计算集群数量的增加,5 个算法的计算延迟都呈现下降的趋势;并且随着集群数量
         的增加,任务的计算延迟下降的幅度会减小,因为后面加入的边缘计算集群对于任务整体延迟的影响有限.对于
         FCFS、优先级算法和 LRTF 算法,它们的变化趋势基本保持稳定和一致,而距离优先算法则出现很大的波动.例
         如:当子任务为 100 个时(如图 9 所示),距离优先算法总体上能够获得最优的性能,Heu-Orche 与距离优先之间的
         差距不是很大;而当子任务上升并固定为 1 000 个之后(如图 10 所示),距离优先算法的性能是最差的,而 Heu-
         Orche 依旧保持着很好的性能表现.这说明我们提出的启发式编排算法能够较好地适应不同的子任务和不同的
         边缘计算集群的数量和规模.

         6    结   论
             在本文中,我们提出了一种容器化的边缘计算平台 FDN.通过平台提供的统一接口,用户无需进行复杂的资
         源和环境配置就能够访问边缘计算资源,计算任务也能够被调度到最合适的边缘计算集群进行计算.同时,我们
         开发了一种基于启发式的跨集群容器编排策略,综合考虑了用户到集群的延迟、任务和集群闲置资源信息等,
         优化任务的计算延迟.我们在实际生产环境中实现并部署了 FDN 平台以及实验模拟了启发式的容器编排算法.
         实验结果表明:我们的 FDN 计算平台能够取得很快的计算延迟,同时,启发式的容器编排算法相比传统的编排
         策略有了较大的性能提升.
   288   289   290   291   292   293   294   295   296   297   298