Skip to main content
QUICK REVIEW

[论文解读] Pagurus: Eliminating Cold Startup in Serverless Computing with Inter-Action Container Sharing

Zijun Li, Quan Chen|arXiv (Cornell University)|Aug 25, 2021
Cloud Computing and Resource Management参考文献 28被引用 6
一句话总结

Pagurus 通过一种新颖的容器管理系统,实现跨动作容器共享,从而消除无服务器计算中的冷启动问题。该系统将容器分类为贷出者、执行者和租用者三种类型。通过基于包相似度的容器镜像重打包以及交互式调度器,Pagurus 即使在无预热容器的情况下,也将冷启动延迟降低至 10ms 以下,同时仅带来可忽略的 CPU 和内存开销。

ABSTRACT

Serverless computing provides fine-grain resource sharing between Cloud tenants through containers. Each function invocation (action) runs in an individual container. When there is not an already started container for a user function, a new container has to be created for it. However, the long cold startup time of a container results in the long response latency of the action. Our investigation shows that the containers for some user actions share most of the software packages. If an action that requires a new container can ``borrow'' a similar warm container from other actions, the long cold startup can be eliminated. Based on the above finding, we propose Pagurus, a runtime container management system for eliminating the cold startup in serverless computing. Pagurus is comprised of an inter-action container scheduler and an intra-action container scheduler for each action. The inter-action container scheduler schedules shared containers among actions. The intra-action container scheduler deals with the management of the container lifecycle. Our experimental results show that Pagurus effectively eliminates the time-consuming container cold startup. An action may start to run in 10ms with Pagurus, even if there is not warm container for it.

研究动机与目标

  • 解决无服务器计算中因冷启动时间过长导致的性能瓶颈。
  • 减少现有无服务器系统中因空闲、利用率低下的容器造成的资源浪费。
  • 在软件依赖各不相同的场景下,实现跨用户动作的安全、高效容器共享。
  • 在无需为每个动作预热容器的前提下,最小化冷启动延迟。
  • 通过动态容器借用机制,支持突发工作负载,且不违反服务质量(QoS)要求。

提出的方法

  • 增强容器设计,支持运行时包重打包,实现跨动作容器共享。
  • 引入三种容器类型:贷出者(可共享)、执行者(独占)和租用者(借用)。
  • 设计基于相似度的容器重打包策略,以最小化跨动作的重复包安装。
  • 实现交互式容器调度器,根据工作负载和包相似度管理跨动作的容器分配。
  • 为每个动作部署一个动作内容器调度器,用于管理其自身容器及借用的租用者容器的生命周期。
  • 使用检查点文件和加密代码存储,以加速启动并确保容器借用过程中的安全性。

实验结果

研究问题

  • RQ1跨动作容器共享是否能显著降低无服务器计算中的冷启动延迟?
  • RQ2如何在软件依赖各不相同的动作之间安全高效地实现容器共享?
  • RQ3基于包相似度的容器重打包对启动性能和资源使用有何影响?
  • RQ4系统能否通过动态容器借用机制支持突发工作负载,且不造成 QoS 下降?
  • RQ5所提出的容器共享机制的运行时和资源开销如何?

主要发现

  • 即使对于某个动作不存在预热容器的情况,Pagurus 也能将冷启动延迟降低至 10ms 以下。
  • 在允许动作租借 1–2 个额外容器的情况下,系统支持的突发工作负载是 OpenWhisk 的 3 倍。
  • 与 OpenWhisk 的预热方法相比,支持突发负载的内存使用量最高可减少 6.75GB。
  • 容器重打包过程的 CPU 开销平均仅为 1.61%,在考虑同步开销后,系统总开销低于 2.4%。
  • 系统存储开销极低:每个容器的加密代码文件为 4.3125KB,检查点文件为 332KB。
  • Pagurus 实现了无需修改现有无服务器平台的高效、安全且低开销的容器共享。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。