一句话:提出 Semi-FaaS 执行模型与 BeeHive 卸载框架,将 Web 服务中耗时闭包动态卸载到 FaaS 平台,实现亚秒级弹性扩缩容。
FaaS 因能快速自动扩缩容细粒度函数而被期望提供强弹性,但将具有良好并行性与动态负载的应用直接迁移到 FaaS 并不容易:现有的单体应用(如 Web 服务)结构复杂,难以函数化。为弥合复杂 Web 服务与 FaaS 之间的鸿沟,本文提出基于托管运行时的 Semi-FaaS 执行模型,动态从应用中抽取耗时代码片段(闭包)并卸载到 FaaS 平台执行;在此基础上实现了卸载框架 BeeHive,它借助托管运行时提供带回退(fallback)的执行模型,解决传统 FaaS 卸载机制的性能问题,并以用户透明的方式选择卸载候选,支持分布式环境中的高效对象共享、内存管理与故障恢复。在多个 Web 应用上的评估表明,BeeHive 支撑的 Semi-FaaS 执行可在 AWS Lambda 等商用 FaaS 平台上达到亚秒级的资源供给,相比云环境中其他扩缩容方案最多快两个数量级。
Function-as-a-service (FaaS), an emerging cloud computing paradigm, is expected to provide strong elasticity due to its promise to auto-scale fine-grained functions rapidly. Although appealing for applications with good parallelism and dynamic workload, this paper shows that it is non-trivial to adapt existing monolithic applications (like web services) to FaaS due to their complexity. To bridge the gap between complicated web services and FaaS, this paper proposes a runtime-based Semi-FaaS execution model, which dynamically extracts time-consuming code snippets (closures) from applications and offloads them to FaaS platforms for execution. It further proposes BeeHive, an offloading framework for Semi-FaaS, which relies on the managed runtime to provide a fallback-based execution model and addresses the performance issues in traditional offloading mechanisms for FaaS. Meanwhile, the runtime system of BeeHive selects offloading candidates in a user-transparent way and supports efficient object sharing, memory management, and failure recovery in a distributed environment. The evaluation using various web applications suggests that the Semi-FaaS execution supported by BeeHive can reach sub-second resource provisioning on commercialized FaaS platforms like AWS Lambda, which is up to two orders of magnitude better than other alternative scaling approaches in cloud computing.
@inproceedings{paperbot10042,
title = {BeeHive: Sub-second Elasticity for Web Services with Semi-FaaS Execution},
author = {Ziming Zhao and Mingyu Wu and Jiawei Tang and Binyu Zang and Zhaoguo Wang and Haibo Chen},
booktitle = {ASPLOS},
year = {2023},
doi = {10.1145/3575693.3575752}
}