[论文解读] Snafu: Function-as-a-Service (FaaS) Runtime Design and Implementation
Snafu 是一个开源、模块化的函数即服务(FaaS)运行时,旨在以低开销和高性能托管并执行 Python 及多语言函数。它通过支持进程内执行和容器化部署,实现快速原型设计,在高调用频率下性能与成本的综合表现优于 AWS Lambda,实用指数高达 40.39,远超 AWS Lambda 的 5.02。
Snafu, or Snake Functions, is a modular system to host, execute and manage language-level functions offered as stateless (micro-)services to diverse external triggers. The system interfaces resemble those of commercial FaaS providers but its implementation provides distinct features which make it overall useful to research on FaaS and prototyping of FaaS-based applications. This paper argues about the system motivation in the presence of already existing alternatives, its design and architecture, the open source implementation and collected metrics which characterise the system.
研究动机与目标
- 解决研究和原型设计中缺乏灵活、易于部署的 FaaS 运行时的问题,避免受商业提供商限制的影响。
- 设计一个模块化、开源的 FaaS 系统,支持进程内和容器化执行,且配置需求最小化。
- 通过将基本功能的设置时间缩短至十分钟以内,实现快速原型设计与实验。
- 提供一种具有更高性能-成本比的竞争性替代方案,适用于高负载下的现有开源与商业 FaaS 运行时。
- 支持云原生和科学计算工作负载中从单体架构向细粒度函数化架构的迁移。
提出的方法
- Snafu 采用模块化架构,将函数作为无状态单元托管,支持进程内 Python 执行和通过容器实现的外部语言函数执行。
- 系统动态从源代码中提取可调用函数,实现对遗留代码库的快速转换,无需显式函数注册。
- 系统支持两种部署模式:进程内(Snafu IP)和基于 Docker 的容器化(Snafu Docker),每种模式均可配置认证和隔离级别。
- 通过在不同配置和云区域(us-west-1)下运行基准函数(fib(20))来收集性能和成本指标。
- 实用指数计算公式为 cpm / (ppm × 1,000,000),用于比较性能与成本的相对关系,其中 ppm 可基于每小时或每百万次调用的定价得出。
- 实验通过真实世界定价和实测调用频率,对比 Snafu 与 AWS Lambda 的成本和性能表现。
实验结果
研究问题
- RQ1能否设计一个轻量级、开源的 FaaS 运行时,以极低的设置开销支持快速原型设计?
- RQ2在不同调用频率下,自托管 FaaS 运行时的性能与成本效率如何与 AWS Lambda 等商业方案相比?
- RQ3在 FaaS 工作负载中,与容器化执行相比,进程内执行在性能和成本方面能提升多少?
- RQ4在模块化 FaaS 架构中,隔离性、认证机制与原始执行速度之间存在哪些权衡?
- RQ5能否构建一个支持 Python 和多语言函数、具备灵活部署选项的 FaaS 系统,同时在性能和成本上保持对商业和开源替代方案的竞争力?
主要发现
- Snafu IP 的实用指数达到 40.39,显著优于 AWS Lambda 的 5.02,表明其在高频工作负载下具备更高的性能-成本效率。
- 在每分钟超过 2.6 亿次调用的场景下,EC2 上的 Snafu 部署在成本效率上超越了 AWS Lambda,且随着负载增加,性能优势进一步扩大。
- Snafu 的进程内执行模式实现了最高的实用指数(40.39),而始终启用认证的容器化执行模式实用指数最低(16.07),凸显了认证开销对成本的影响。
- Snafu 的设置时间极短——在依赖项安装后十分钟内即可进入运行状态——充分体现了其在原型设计和研究中的低门槛优势。
- 系统支持从源代码中动态提取函数,可实现对遗留代码库的快速迁移,无需显式配置。
- 尽管具有诸多优势,Snafu 的性能在高负载下趋于饱和,且当调用量超过约每分钟 6 亿次时,成本变得不可接受。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。