Page 285 - 《软件学报》2021年第12期
P. 285
杨术 等:功能分发网络:基于容器的智能边缘计算平台 3949
• 用户:向 FDN 系统上传相应的计算任务和数据,访问边缘计算资源,并且支付对应的费用;
• 边缘计算集群:负责计算用户提交的复杂的计算任务,并且将计算结果返回给用户;
• 控制器:负责收集用户和分布式边缘集群的信息(例如网络流量、闲置资源等),并且通过算法得出一个
容器编排和调度策略;
• DNS:负责为用户提供统一的接口,让用户能够访问边缘计算资源.它根据用户的请求解析出用户所在
的位置,同时接收控制器的容器编排和调度策略,将用户与对应的边缘计算集群进行绑定.
FDN 的运行过程如图 2 所示,主要分为以下步骤进行.
(1) 用户会通过 FDN 提供的统一接口,向 DNS 发出请求,并提交相应的任务和网络等信息;
(2) DNS 会解析用户的地址信息,并将其发送给控制器;控制器同时也会采集边缘计算集群的状态信息,
包括网络状况、计算资源被占用率和闲置情况等;
(3) 控制器根据收集到的信息计算得到一个合理的调度和容器编排策略,并将其回传给 DNS,并将容器部
署到对应的边缘计算集群.由于不同容器编排策略将直接影响系统的计算效率,因此我们将在第 3 节
研究 FDN 的容器编排问题;
(4) DNS 将根据编排策略,将用户与对应的边缘计算集群进行绑定;
(5) DNS 将目标边缘计算集群的网络信息传给用户,使用户能够连接到目标集群;
(6) 用户将原始数据发送给边缘计算集群,最后,边缘计算集群将会进行计算并把计算结果返回给用户.
Fig.2 Flow chart of FDN system
图 2 FDN 运行流程图
在设计上,FDN 结合了无服务化计算及边缘计算的特点.通过系统提供的统一接口,用户可以访问到无服务
化计算的计算资源.在实际运行过程中,我们采用 URL 链接的形式作为接口,用户只需要输入 URL 地址,就能够
访问 FDN 资源.当用户通过接口上传自己的任务和位置信息后,利用容器化技术,计算任务所对应的容器将会
被部署并运行在边缘计算集群,而用户只需提交自己的任务信息和原始数据,就能够获得无服务化计算的计算
服务.
我们在 FDN 系统中会维护一个代码库(code repository),其中包含一些基本的容器镜像,例如人脸识别、大
数据分析、目标检测等,保证了用户常用的计算需求都能得到满足.用户能够方便高效地调用并使用无服务化
计算资源,不需要再进行繁琐的环境和计算资源部署过程;同时,我们改善了边缘计算的分布式架构.我们引入
了控制器和 DNS 等中心化组件,负责管理和优化边缘计算集群和用户的资源和网络流量信息.控制器也能够根
据网络状况计算合理的容器编排策略,保证了 FDN 平台合理正常运行,克服了传统边缘计算平台难以管理的缺
点.FDN 既拥有方便使用、管理和调度的优点,又能够保证更好的计算延迟,满足了许多应用实时性和计算速度
的需求.