计算机科学 ›› 2024, Vol. 51 ›› Issue (10): 362-371.doi: 10.11896/jsjkx.230800203
林璟峰1,2,3, 李鸣1,2,3, 陈星1,2,3, 莫毓昌4
LIN Jingfeng1,2.3, LI Ming1,2.3, CHEN Xing1,2,3, MO Yuchang4
摘要: 移动边缘计算(Mobile Edge Computing,MEC)是一种利用靠近移动设备的边缘节点提供的计算能力,来提升性能的前沿技术。现有的一些先进的计算卸载方法,已能够支持在MEC环境中基于函数粒度进行动态卸载。函数即服务(Function as a Service,FaaS)作为无服务架构的一种经典范式,提供了一种在函数粒度上构建和拓展应用程序的新方式。相比传统的方式,FaaS提供了理想的资源弹性。OpenFaaS作为当下流行的开源FaaS项目,为FaaS平台的搭建提供了良好的基础。将先进的计算卸载方法与FaaS解决方案(OpenFaaS)进行整合,是有意义且具有挑战的。为此,文中设计并实现了一个基于OpenFaaS的多边缘管理框架,该框架实现了对多个边缘上OpenFaaS的搭建与状态管理。同时,对于需要部署的函数,将其重构并部署到OpenFaaS上,在运行时能够灵活地在多个OpenFaaS间调度函数执行。针对5个实际的Java智能应用对该框架进行了评估,结果表明该框架可以有效管理多个边缘,且与本地运行相比,该框架平均可节省10.49%~49.36%的响应时间。
中图分类号:
[1]LIU C,CAO Y,LUO Y,et al.A new deep learning-based food recognition system for dietary assessment on an edge computing service infrastructure [J].IEEE Transactions on Services Computing,2017,11(2):249-261. [2]BRAUD T,BIJARBOONEH F H,CHATZOPOULOS D,et al.Future networking challenges:The case of mobile augmented reality[C]//Proceedings of IEEE 37th International Conference on Distributed Computing Systems(ICDCS).Piscataway,NJ:IEEE,2017:1796-1807. [3]SU Z,HUI Y,LUAN T H.Distributed task allocation to enable collaborative autonomous driving with network softwarization [J].IEEE Journal on Selected Areas in Communications,2018,36(10):2175-2189. [4]JEONG S,SIMEONE O,KANG J.Mobile edge computing via a UAV-mounted cloudlet:Optimization of bit allocation and path planning [J].IEEE Transactions on Vehicular Technology,2017,67(3):2049-2063. [5]ZHAO T,LIU J,WANG Y,et al.Towards low-cost sign lan-guage gesture recognition leveraging wearables [J].IEEE Transactions on Mobile Computing,2019,20(4):1685-1701. [6]YANG F,LI J,LEI T,et al.Architecture and key technologies for Internet of Vehicles:a survey [J].Journal of Communications and Information Networks,2017,2(2):1-17. [7]ELGENDY I A,ZHANG W,TIAN Y C,et al.Resource allocation and computation offloading with data security for mobile edge computing[J].Future Generation Computer Systems,2019,100:531-541. [8]MACH P,BECVAR Z.Mobile edge computing:A survey on architecture and computation offloading[J].IEEE communications surveys & tutorials,2017,19(3):1628-1656. [9]ETSI.Enabling Multi-access Edge Computing in Internet-of- Things:how to deploy ETSI MEC and oneM2M [EB/OL].(2023-06) [2023-08-18].https://www.etsi.org/images/files/ETSIWhitePapers/ETSI-WP59-Enabling-Multi-access-Edge-Com-puting-in-iot.pdf. [10]XU C Z,YU Z B.Research on core technology and application of cloud computing[J].Integrated Technology,2012,1(4):1-3. [11]MAO Y,YOU C,ZHANG J,et al.A survey on mobile edge computing:The communication perspective[J].IEEE Communications Surveys & Tutorials,2017,19(4):2322-2358. [12]TRAN T X,HAJISAMI A,PANDEY P,et al.Collaborativemobile edge computing in 5G networks:New paradigms,scena-rios,and challenges[J].IEEE Communications Magazine,2017,55(4):54-61. [13]SHI W,CAO J,ZHANG Q,et al.Edge computing:Vision and challenges[J].IEEE internet of things journal,2016,3(5):637-646. [14]FOX G C,ISHAKIAN V,MUTHUSAMY V,et al.Status of serverless computing and function-as-a-service(faas) in industry and research[J].arXiv:1708.08028,2017. [15]AWS.Lambda [EB/OL].[2023-08-18].https://aws.amazon.com/lambda/. [16]Microsoft.Azure Functions [EB/OL].[2023-08-18].https://azure.microsoft.com/en-us/services/functions/. [17]Google.Google Cloud Functions[EB/OL].[2023-08-18].ht-tps://cloud.google.com/functions/. [18]Alibaba.Alibaba Cloud Function Compute[EB/OL].[2023-08-18].https://www.alibabacloud.com/product/function-compute. [19]Alex Ellis.OpenFaaS [EB/OL].(2022-12-14) [2023-08-18].https://github.com/openfaas/faas/blob/master/README.md. [20]dgrove-oss.OpenWhisk [EB/OL].(2023-01-26) [2023-08-18].https://github.com/apache/openwhisk/blob/master/README.md. [21]psschwei.Knative:Kubernetes-based platform to deploy andmanage modern serverless workloads [EB/OL].(2023-01-26) [2023-08-18].https://github.com/knative/docs/blob/main/README.md. [22]NETO J L D,YU S Y,MACEDO D F,et al.ULOOF:A user level online offloading framework for mobile edge computing[J].IEEE Transactions on Mobile Computing,2018,17(11):2660-2674. [23]CHEN X,LI M,ZHONG H,et al.FUNOff:Offloading Applications At Function Granularity for Mobile Edge Computing[J/OL].https://doi.org/10.1109/TMC.2023.3240741. [24]XIANG Q L,PENG X,AKASAKA I,et al.FaaS Migration Approach for Monolithic Applications Based on Dynamic and Static Analysis[J].Journal of Software,2021,33(11):4061-4083. [25]Docker [EB/OL].[2023-08-18].https://www.docker.com/. [26]k8s-ci-robot.Kubernetes [EB/OL].(2023-05-04) [2023-08-18].https://github.com/kubernetes/kubernetes/blob/master/README.md. [27]ZHAO P,TIAN H,CHEN K C,et al.Context-aware TDD configuration and resource allocation for mobile edge computing[J].IEEE Transactions on Communications,2019,68(2):1118-1131. [28]HOU X,REN Z,WANG J,et al.Reliable computation offloa-ding for edge-computing-enabled software-defined IoV[J].IEEE Internet of Things Journal,2020,7(8):7097-7111. [29]CHEN X,CHEN J,LIU B,et al.AndroidOff:Offloading androidapplication based on cost estimation[J/OL].https://doi.org/10.1016/j.j-ss.2019.110418. [30]CHEN X,CHEN S,MA Y,et al.An adaptive offloading framework for android applications in mobile edge computing[J].Science China Information Sciences,2019,62:1-17. [31]Alex Elli.OpenFaaS Template [EB/OL].(2023-06-28) [2023-08-18].https://github.com/openfaas/templates. [32]jlerbsc.Javaparser [EB/OL].(2023-07-01) [2023-08-18].https://github.com/javaparser/javaparser/blob/master/readme.md. [33]Red Hat.What is a container registry[EB/OL].(2022-06-27) [2023-08-18].https://www.redhat.com/en/topics/cloud-native-apps/what-is-a-container-registry. [34]Pawel Szulik.cAdvisor [EB/OL].(2023-05-10) [2023-08-18].https://github.com/google/cadvisor/blob/master/README.md. [35]pr00se.Prometheus [EB/OL].(2023-02-27) [2018-08-18].https://github.com/prometheus/prometheus/blob/main/README.md. [36]ECMA-404.JSON [EB/OL].[2023-08-18].https://www.json.org/json-en.html. [37]Wiki.NFS [EB/OL].(2023-08-10) [2023-08-18].https://wiki.archlinux.org/title/NFS. [38]KubeSphere.All-in-One Installation of Kubernetes and Kube-Sphere on Linux [EB/OL].(2023-04-04) [2023-08-18].https://www.kubesph-ere.io/zh/docs/v3.3/quick-start/all-in-one-on-linux/.2022. [39]CHEN X,ZHANG J,LIN B,et al.Energy-Efficient Offloading for DNN-Based Smart IoT Systems in Cloud-Edge Environments[J].IEEE Transactions on Parallel and Distributed Systems,2022,33(3):683-697. [40]of-watchdog [EB/OL].(2023-05-21) [2023-08-18].https://github.com/openfaas/of-watchdog/blob/master/README.md. [41]CHUN B G,IHM S,MANIATIS P,et al.Clonecloud:elastic execution between mobile device and cloud[C]//Proceedings of the Sixth Conference on Computer Systems.New York:ACM,2011:301-314. [42]ZHANG Y,HUANG G,LIU X,et al.Refactoring android java code for on-demand computation offloading[J].ACM Sigplan Notices,2012,47(10):233-248. [43]KEMP R,PALMER N,KIELMANN T,et al.Cuckoo:a computation offloading framework for smartphones[C]//Proceedings of Mobile Computing,Applications,and Services:Second International ICST Conference,Mobi-CASE 2010.Berlin:Springer,2012:59-79. [44]XU M,QIAN F,ZHU M,et al.Deepwear:Adaptive local offloading for on-wearable deep learning[J].IEEE Transactions on Mobile Computing,2019,19(2):314-330. [45]CHEN X,LI M,ZHONG H,et al.DNNOff:offloading DNN-based intelligent IoT applications in mobile edge computing[J].IEEE Transactions on Industrial Informatics,2021,18(4):2820-2829. [46]LI M,ZHANG J,LIN B,et al.MultiOff:offloading support and service deployment for multiple IoT applications in mobile edge computing[J].Supercomput,2022,78:15123-15153. |
|