Page 78 - 《软件学报》2025年第5期
P. 78
1978 软件学报 2025 年第 36 卷第 5 期
能隔离等特性. 这项工作的度量结果表明, 将应用分解为一组服务器无感知函数是有利于节省成本并提高应用性
能. 然而, 服务器无感知计算中的无状态特性会影响服务器无感知函数的执行效率. Maissen 等人 [25] 和 Kim 等
人 [26] 分别设计了开源的基准测试程序集 FaaSDom 和 FunctionBench, 以促进研究者对服务器无感知平台性能的研
究. 这两个基准测试程序集都提供了微基准测试程序集, 而 FunctionBench 还提供了一些复杂的宏基准测试程序来
表示真实的函数即服务应用.
第 2 类工作是分析服务器无感知计算的工作负载性能特点. 为了更好地理解函数即服务应用的运行时特点,
Shahrad 等人 [27] 分析了微软 Azure Functions 在生产环境中的工作负载的特点. 他们发现, 大多数服务器无感知函
数的调用频率很低, 存在 8 个数量级的调用频率范围. 此外, 服务器无感知函数使用了各种类型触发器, 产生的调
用模式往往难以预测. 在资源需求方面, 它们显示出 4 倍的函数内存使用范围, 并且有 50% 的服务器无感知函数
运行时间少于 1 s. Zhang 等人 [28] 分析了基于视频处理任务的服务器无感知函数的性能, 并发现内存分配对于视频
处理类型的应用至关重要, 而配置最大内存并不总是获得最佳性能结果, 这表明动态分析工作负载的资源需求是
必要的, 以进一步确定最佳的函数内存配置.
第 3 类工作是探究服务器无感知平台的底层机制和性能问题. 例如, Wang 等人 [29] 启动了超过 5 万个函数实
例, 以揭示服务器无感知平台的架构、性能和资源管理有效性. 这项工作揭示了服务器无感知平台如何使用虚拟
机或容器来隔离不同账户的服务器无感知函数, 这在安全方面具有重要的意义. 此外, 这项工作还揭示了亚马逊
Lambda 采用类似装箱策略来最大化虚拟机的内存利用率.
第 4 类工作是比较不同服务器无感知平台. 首先, 现有工作对多个开源服务器无感知平台的性能展开度量分
析. 例如, Li 等人 [16] 探讨了 4 个开源平台的整体架构和关键构件, 评估了特定设计的影响和平台的自动伸缩能力.
Mohanty 等人 [17] 分析了 3 个开源平台的响应时间和请求成功率, 强调了它们在不同负载条件下的特征. 而 McGrath
和 Brenner [30] 提出了一个服务器无感知计算系统原型, 并通过与亚马逊 Lambda、微软 Azure Functions、谷歌
Cloud Functions 和 Apache OpenWhisk 的比较, 验证了该原型设计在并发和退避测试方面的良好效果. Palade 等人 [31]
针对边缘计算环境, 对 4 个开源平台的吞吐量、请求成功率和部署难易程度进行了深入研究.
本研究的关注点在于比较主流公有云平台的冷启动性能以及在执行不同类型任务时这些平台所产生的性能
表现. 因此, 本研究与这些面向开源平台的度量工作的关注点有所不同. 而且, 这些面向开源平台的度量工作所获
得的分析结果并不能泛化到广泛使用的公有云服务器无感知平台, 且相应的指导不适用于相关的开发者. 另外, 一
些其他工作致力于对公有云服务器无感知平台进行性能度量. Wang 等人 [29] 深入探讨了亚马逊 Lambda、谷歌
Cloud Functions 和微软 Azure Functions 这 3 个公有云平台在资源管理和性能隔离方面的特征, 而 Lloyd 等人 [32] 调
查了亚马逊 Lambda 和微软 Azure Functions 平台在不同冷热状态下的基础设施管理特点. Ustiugov 等人 [33] 虽然探
究了影响冷启动性能的因子, 但他们工作的主要目的是提出一个开源度量框架, 并通过研究公有云平台延迟性能
差异的原因, 如函数实例本身、数据通信和集群调度等方面, 为这一领域的研究做出了贡献. 与上述工作的不同之
处在于, 本文研究的主要目的在于为开发者提供实际指导, 深入总结其应用开发流程中的关键特征和实践. 因此,
本文研究不仅对不同关键特征进行了总结和全面比较, 还深入研究了不同任务类型在不同公有云平台和不同配置
下的性能表现, 以为进一步的平台选择和任务开发、部署提供有益的指导信息. 总体而言, 本文研究的关注点与现
有度量工作存在明显区别, 强调为实际应用场景提供有针对性的实用指导. 本文旨在进行一项全面可靠的关于主
流公有云服务器无感知平台性能的度量研究, 以准确地提供关于应用的平台选择和配置实践的指导和启示. 具体
而言, 我们主要关注亚马逊 Lambda、谷歌 Cloud Functions、微软 Azure Functions 和阿里巴巴 Function Compute
这些主流商业平台. 在本文研究中, 主要目标是总结并更新不同应用阶段下各个服务器无感知平台的关键特征, 并
从多个维度对这些平台的实际运行性能展开可靠的分析和全面的比较.
2 方法设计
本节介绍本文所提出的度量分析框架, 如图 2 所示. 该度量框架的目标是全面分析和可靠比较 4 个主流的商
业服务器无感知平台的特点, 包括亚马逊 Lambda、谷歌 Cloud Functions、微软 Azure Functions 和阿里巴巴