This work presents WarmSwap, a novel provider-side cold-start optimization for serverless computing. This optimization reduces cold-start time when booting and loading dependencies at runtime inside a function container. Previous approaches to the optimization of cold starts tend to fall into two categories: optimizing the infrastructure of serverless computing to benefit all serverless functions; or function-specific tuning for individual serverless functions. In contrast, WarmSwap offers a broad middle ground, which optimizes entire categories of serverless functions. WarmSwap eliminates the need to initialize middleware or software dependencies when launching a new serverless container, by migrating a pre-initialized live dependency image to the new function instance. WarmSwap respects the provider's cache constraints, as a single pre-warmed dependency image in the cache is shared among all serverless functions requiring that software dependency image. WarmSwap has been tested on seven representative functions from FunctionBench. The functions are chosen to compare with previous work. In those tests, WarmSwap accelerates cold-start executions for those serverless functions with large dependency requirements by a factor ranging from 1.2 to 2.2.
翻译:本文提出WarmSwap,一种新颖的服务商侧无服务器计算冷启动优化方案。该优化通过在函数容器运行时减少启动和加载依赖的时间来缩短冷启动时长。现有的冷启动优化方法主要分为两类:优化无服务器计算基础设施以惠及所有无服务器函数;或针对单个无服务器函数进行特定调优。相比之下,WarmSwap提供了更广泛的中间方案,可优化整个类别的无服务器函数。WarmSwap通过将预初始化的实时依赖镜像迁移至新的函数实例,消除了启动新无服务器容器时初始化中间件或软件依赖的需求。该方案遵循服务商的缓存约束,因为缓存中的单个预热依赖镜像可被所有需要该软件依赖镜像的无服务器函数共享。WarmSwap已在FunctionBench的七个代表性函数上进行测试,所选函数用于与先前工作进行对比。测试结果表明,对于具有大量依赖需求的无服务器函数,WarmSwap可将冷启动执行速度提升1.2至2.2倍。