移动边缘计算(Mobile Edge Computing,MEC)是一种利用靠近移动设备的边缘节点提供的计算能力,来提升性能的前沿技术。现有的一些先进的计算卸载方法,已能够支持在MEC环境中基于函数粒度进行动态卸载。函数即服务(Function as a Service,...移动边缘计算(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%的响应时间。展开更多
作为Serverless架构的一种典型形态,函数即服务(function as a service,FaaS)架构将业务抽象为细粒度的函数,并且提供弹性的自动伸缩等自动化运维功能,能够大幅降低运维成本.当前,许多在线服务系统中的一些高并发、高可用、灵活多变的业...作为Serverless架构的一种典型形态,函数即服务(function as a service,FaaS)架构将业务抽象为细粒度的函数,并且提供弹性的自动伸缩等自动化运维功能,能够大幅降低运维成本.当前,许多在线服务系统中的一些高并发、高可用、灵活多变的业务(如支付、红包等)都已经迁移到了FaaS平台上,但是大量传统单体应用还是难以利用FaaS架构的优势.针对这一问题,提出了一种基于动态和静态分析的单体应用FaaS改造方法.该方法针对指定的单体应用API,通过动态分析和静态分析相结合的方式识别并剥离其实现代码和依赖,然后按照函数模板完成代码重构.针对函数在高并发场景下的冷启动问题,该方法利用基于IO多路复用的主从多线程Reactor模型优化了函数模板,提高了单个函数实例的并发处理能力.基于该方法实现了针对Java语言的原型工具Codext,在开源Serverless平台OpenFaaS上,面向4个开源单体系统进行了实验验证.展开更多
文摘移动边缘计算(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%的响应时间。
文摘作为Serverless架构的一种典型形态,函数即服务(function as a service,FaaS)架构将业务抽象为细粒度的函数,并且提供弹性的自动伸缩等自动化运维功能,能够大幅降低运维成本.当前,许多在线服务系统中的一些高并发、高可用、灵活多变的业务(如支付、红包等)都已经迁移到了FaaS平台上,但是大量传统单体应用还是难以利用FaaS架构的优势.针对这一问题,提出了一种基于动态和静态分析的单体应用FaaS改造方法.该方法针对指定的单体应用API,通过动态分析和静态分析相结合的方式识别并剥离其实现代码和依赖,然后按照函数模板完成代码重构.针对函数在高并发场景下的冷启动问题,该方法利用基于IO多路复用的主从多线程Reactor模型优化了函数模板,提高了单个函数实例的并发处理能力.基于该方法实现了针对Java语言的原型工具Codext,在开源Serverless平台OpenFaaS上,面向4个开源单体系统进行了实验验证.