- 简介虽然函数即服务(Function as a Service,FaaS)平台可以在10-100毫秒内在工作节点上初始化函数沙箱,但在真正的FaaS集群中调度函数的延迟可能高出数个数量级。我们发现,使用类似Kubernetes这样的传统编排系统构建FaaS集群管理器的当前方法会导致高调度延迟和高沙箱翻转率,这在FaaS集群中很常见。通用集群管理器使用分层抽象和多个内部组件来管理和协调状态,以进行频繁的持久性更新,但这会成为FaaS的瓶颈,因为随着沙箱在请求的关键路径上被创建,集群状态会经常发生变化。基于我们对现有FaaS集群管理器性能问题的根本原因分析,我们提出了Dirigent,这是一个干净的FaaS编排系统架构,具有三个关键原则。首先,Dirigent优化内部集群管理器抽象,简化状态管理。其次,它消除了在函数调用的关键路径上的持久状态更新,利用FaaS将沙箱从用户中抽象出来的事实,以放宽确切状态重建的保证。最后,Dirigent运行单片控制和数据平面,以最小化内部通信开销并最大化吞吐量。我们将Dirigent与最先进的FaaS平台进行比较,并显示Dirigent将生产工作负载的99th百分位函数调度延迟降低了2.79倍,相比AWS Lambda,可以以低延迟每秒旋转2500个沙箱,这比Knative高1250倍。
- 图表
- 解决问题提高FaaS平台的函数调度效率和性能
- 关键思路提出了一种新的FaaS编排系统Dirigent,通过优化内部集群管理抽象、消除关键路径上的持久状态更新和使用单片控制和数据平面,从而实现高效的函数调度
- 其它亮点实验结果表明,Dirigent相比AWS Lambda能够将99th百分位的函数调度延迟降低2.79倍,并且可以在低延迟下每秒启动2500个沙箱,比Knative高出1250倍
- 相关研究包括Kubernetes、Knative和AWS Lambda等现有的FaaS平台,以及其他一些FaaS编排系统的研究,如Fission、OpenWhisk和IronFunctions等
沙发等你来抢
去评论
评论
沙发等你来抢