Fusionize++: 利用动态任务内联与基础设施优化提升无服务器应用性能
分布式、并行与集群计算
2024-10-22 v2
摘要
函数即服务(FaaS)执行模型通过消除管理硬件或软件运行时等运维顾虑提高了开发者生产力。然而,开发者仍需要将应用划分为 FaaS 函数,这易错且复杂:仅将应用最小逻辑单元封装为 FaaS 函数可最大化灵活性与可复用性。但这也会带来调用开销、额外的冷启动,并可能因同步调用期间的双重计费而增加成本。反之,将整个应用部署为单一 FaaS 函数可避免这些开销但降低灵活性。本文中我们提出 Fusionize,一个通过自动融合应用代码为优化的多函数组合来自动化优化此权衡的框架。开发者只需按无服务器模型编写细粒度应用代码,而 Fusionize 自动将应用不同部分融合为 FaaS 函数、管理其交互并配置底层基础设施。在运行时,它监控应用性能并自适应调整以最小化请求-响应延迟与成本。真实用例显示 Fusionize 可改进应用的部署产物,将一个示例 IoT 应用的中位请求-响应延迟与成本均降低逾 35%。
引用
@article{arxiv.2311.04875,
title = {Fusionize++: Improving Serverless Application Performance Using Dynamic Task Inlining and Infrastructure Optimization},
author = {Trever Schirmer and Joel Scheuner and Tobias Pfandzelter and David Bermbach},
journal= {arXiv preprint arXiv:2311.04875},
year = {2024}
}
备注
Author copy of article accepted in IEEE Transactions on Cloud Computing with DOI 10.1109/TCC.2024.3451108