移动边缘计算(Mobile Edge Computing,MEC)是一种利用靠近移动设备的边缘节点提供的计算能力,来提升性能的前沿技术.现有的一些先进的计算卸载方法,已能够支持在MEC环境中基于函数粒度进行动态卸载.函数即服务(Function as a Service,FaaS)作为无服务架构的一种经典范式,提供了一种在函数粒度上构建和拓展应用程序的新方式.相比传统的方式,FaaS提供了理想的资源弹性.OpenFaaS作为当下流行的开源FaaS项目,为FaaS平台的搭建提供了良好的基础.将先进的计算卸载方法与FaaS解决方案(OpenFaaS)进行整合,是有意义且具有挑战的.为此,文中设计并实现了一个基于Open-FaaS的多边缘管理框架,该框架实现了对多个边缘上OpenFaaS的搭建与状态管理.同时,对于需要部署的函数,将其重构并部署到OpenFaaS上,在运行时能够灵活地在多个OpenFaaS间调度函数执行.针对5个实际的Java智能应用对该框架进行了评估,结果表明该框架可以有效管理多个边缘,且与本地运行相比,该框架平均可节省10.49%~49.36%的响应时间.
Open FaaS-based Multi-edge Management Framework
Mobile edge computing(MEC)is a cutting-edge technology that utilizes the computing power provided by edge nodes close to mobile devices to improve performance.Some existing state-of-the-art computation offloading mechanisms support dy-namic offloading of applications at the function granularity.Function as a service(FaaS),as a typical paradigm of the serverless architecture,enables a new way of building and scaling applications at function granularity.FaaS provides ideal resource elasticity compared to traditional approaches.OpenFaaS,as a popular open-source FaaS project,enables a good foundation for building FaaS platforms.Integrating advanced computation offload mechanism with FaaS solution(OpenFaaS)is meaningful and challenging.To this end,a multi-edge management framework based on OpenFaaS is designed and implemented in the paper.The framework rea-lizes the construction and status management of OpenFaaS on multiple edges.Also,for the functions that need to be deployed,they are reconstructed and then are deployed to OpenFaaS.Furthermore,at runtime,the framework is capable of flexibly schedu-ling function execution among multiple OpenFaaS instances.The framework is evaluated for 5 real-world Java intelligent applica-tions.Results show that,compared to local invocation,the proposed framework saves response time by 10.49%~49.36%on av-erage and the framework can effectively manage multiple edges.
Serverless architectureFunction as a serviceOpenFaaSComputation offloadingMobile edge computing