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.
翻译:无服务器计算提供云端租户之间通过集装箱共享细微资源共享。 每个功能性( 动作) 都在单个容器中运行。 如果还没有启动一个用户功能的容器, 就必须为此创建一个新的容器。 但是, 容器的长时间冷启动时间导致行动的长期反应时间。 我们的调查显示, 一些用户行动的容器共享软件包。 如果需要新容器的行动能够从其他行动中“ 浏览” 类似的温暖容器, 则可以消除长期的冷启动。 根据上述发现, 我们建议帕古鲁斯( Pagurus), 一个运行中的集装箱管理系统, 用于消除无服务器计算中的冷启动。 Pagurus 是由一个行动之间的集装箱调度器和一个行动内集装箱调度器构成的, 每项行动都有一个行动的长期反应时间。 行动间集装箱调度器安排了各种行动的共同集装箱。 行动内集装箱调度器处理集装箱生命周期的管理。 我们的实验结果表明, Pagurus 能够有效地消除耗时的集装箱的冷启动。 行动可能从10米开始与帕古鲁斯一起运行, 即使它不是温暖的集装箱。