Serverless platforms essentially face a tradeoff between container startup time and provisioned concurrency (i.e., cached instances), which is further exaggerated by the frequent need for remote container initialization. This paper presents MITOSIS, an operating system primitive that provides fast remote fork, which exploits a deep codesign of the OS kernel with RDMA. By leveraging the fast remote read capability of RDMA and partial state transfer across serverless containers, MITOSIS bridges the performance gap between local and remote container initialization. MITOSIS is the first to fork over 10,000 new containers from one instance across multiple machines within a second, while allowing the new containers to efficiently transfer the pre-materialized states of the forked one. We have implemented MITOSIS on Linux and integrated it with FN, a popular serverless platform. Under load spikes in real-world serverless workloads, MITOSIS reduces the function tail latency by 89% with orders of magnitude lower memory usage. For serverless workflow that requires state transfer, MITOSIS improves its execution time by 86%.
翻译:无服务器平台基本上面临集装箱启动时间和提供组合货币(即缓存情况)之间的权衡,这种权衡又因频繁需要远程集装箱启动而进一步夸大。本文介绍了MITOSIS,这是一个原始操作系统,提供快速远程叉叉,利用OS内核与RDMA的深度代码。借助RDMA的快速远程读数能力和无服务器集装箱之间的部分国家传输,MITOSIS将本地和远程集装箱启动之间的性能差距缩小。MITOSIS是第一个将超过10,000个新集装箱从一个实例从多部机器在第二位中叉开,同时允许新集装箱高效地转移前物质化的叉车状态。我们已经在Linux上实施了MITOSIS,并将它与广受欢迎的无服务器平台FN整合。在现实世界服务器工作量的超载量下,MITOSIS将功能尾部拉长89%,记忆用量较低。对于需要国家转让的服务器工作流程来说,MITOSISIS将其执行时间缩短了86%。