Page 292 - 《软件学报》2021年第12期
P. 292
3956 Journal of Software 软件学报 Vol.32, No.12, December 2021
我们可以看到:位于杭州的 FDN 控制器的 CPU 资源利用率一直维持在稳定水平,其平均值为 8.87%.这说
明我们的 FDN 控制器能够高效快速地对网络的信息进行收集,以及对任务所对应的容器编排策略进行快速的
计算,同时保持较多的闲置资源,确保了 FDN 计算平台的稳定安全运行.
5 容器编排模拟实验
5.1 实验设定
我们实现并模拟了基于有向无环图结构的启发式容器编排算法(Heu-Orche),并评估了它在不同任务规模、
用户数量、网络拓扑和设备算力下的计算延迟性能.我们首先生成了不同规模的有向无环图计算任务,每个计
算任务中包含了不同数量的子任务,且每个子任务均封装为一个容器并编排到机器进行计算.我们随机模拟了
每个子任务的计算规模和计算量,以及子任务之间的数据依赖和通信时长等必要信息.我们为每个计算任务模
拟了 100~1000 个子任务,将容器编排到对应的计算集群,评估算法对不同任务规模的编排效果.
同时,为了评估不同的边缘计算网络环境,我们会改变网络的拓扑和规模,包括边缘计算集群的个数和集群
的计算能力.在实验中,分布式边缘计算集群的数量会从 1 变化到 5,并随机分布在网络的不同位置.这些分布式
边缘计算集群会根据控制器计算得到的容器编排策略,将容器部署到对应的机器,并根据容器的数据依赖关系
开始并行计算,并最终将计算结果返回给用户.我们还会评估用户数对算法执行效率的影响,将用户数从 1 000
个变化到 10 000 个.默认情况下,子任务的数量为 100 个,边缘计算集群的个数为 3 个,用户数量为 1 000 个.
为了与其他编排算法进行对比,我们实现了在传统容器编排器中广泛采用的先来先服务算法(FCFS)和基
于优先级(priority first)的编排算法 [6−9] .对于先来先服务算法,容器会根据先后顺序部署并运行在机器;而对于优
先级编排算法,我们会根据子任务的规模顺序为容器进行优先级设定,并且让优先级更高的容器优先进行编排.
另外,对于边缘计算的应用场景,我们开发了基于距离优先(distance first)的贪心编排策略,其中每个容器会被贪
心地编排到距离最近的边缘计算集群.这种距离优先的调度策略广泛应用在边缘计算中 [18] ,因此我们对其作了
一定改进,设计了基于距离优先的容器编排策略.另外,我们还引入了最长剩余时间优先(longest remaining time
first,简称 LRTF)算法.这是一种几年来广泛应用在容器编排的调度策略,容器会根据最长剩余时间进行抢占调
度,以提高系统任务的计算延迟 [19] .我们将在同样的实验设定下,评估并比较这几种编排算法的计算延迟性能.
在实验过程中,为了模拟更加真实的网络环境,我们为网络加入了 5ms 的网络抖动 [20] ,并测试在该延迟抖动设定
下的算法性能.
5.2 实验结果
1) 不同子任务与用户数量
我们首先测试了 5 个算法在不同数量的子任务(100~1 000)下和不同用户数量下(从 1 000 个~10 000 个用
户)的编排性能,实验结果如图 7 和图 8 所示.
Fig.7 Computation latency with different workflows Fig.8 Computation latency with different users
图 7 不同子任务数量下的任务计算延迟 图 8 不同用户数量下的任务计算延迟
在图 7 中,总体上,随着子任务数量的增加,5 个算法随着子任务数量的增加,任务的计算延迟都呈现上升趋