无服务器冷启动及其发现之处
分布式、并行与集群计算
2024-10-10 v1 操作系统
性能
摘要
本文发布并分析了来自华为无服务器云平台的一个月追踪数据,包含850亿次用户请求和1190万次冷启动。我们的分析涵盖了来自五个数据中心的工作负载。我们专注于冷启动,并对影响冷启动次数和持续时间的潜在因素进行了全面检查。这些因素包括触发器类型、请求同步性、运行时语言和函数资源分配。我们研究了冷启动的组成部分,包括Pod分配时间、代码和依赖项部署时间以及调度延迟,并考察了它们与运行时语言、触发器类型和资源分配的关系。我们引入了Pod效用比来衡量Pod相对于其冷启动时间的有用生命周期,从而更全面地了解冷启动,并发现一些冷启动时间长的Pod具有更长的有用生命周期。我们的研究结果揭示了冷启动次数、持续时间和特征的复杂性及多方面成因,这些成因由触发器类型、运行时语言和函数资源分配的差异驱动。例如,区域1的冷启动耗时长达7秒,主要由依赖项部署时间和调度主导。在区域2,冷启动耗时长达3秒,主要由Pod分配时间主导。基于此,我们确定了使用多区域调度策略来减少冷启动次数和持续时间的机会。最后,我们为未来研究提出了方向,以应对这些挑战并提升无服务器云平台的性能。我们的数据集和代码可在此处获取:https://github.com/sir-lab/data-release
引用
@article{arxiv.2410.06145,
title = {Serverless Cold Starts and Where to Find Them},
author = {Artjom Joosen and Ahmed Hassan and Martin Asenov and Rajkarn Singh and Luke Darlow and Jianfeng Wang and Qiwen Deng and Adam Barker},
journal= {arXiv preprint arXiv:2410.06145},
year = {2024}
}