Serverless functions provide elastic scaling and a fine-grained billing model, making Function-as-a-Service (FaaS) an attractive programming model. However, for distributed jobs that benefit from large-scale and dynamic parallelism, the lack of fast and cheap communication is a major limitation. We overcome this limitation and present the FaaS Message Interface (FMI). FMI is an easy-to-use, high-performance framework for general-purpose point-to-point and collective communication in FaaS applications. We support different communication channels and offer a model-driven channel selection according to performance and cost expectations. We model the interface after MPI and show that message passing can be integrated into serverless applications with minor changes, providing portable communication closer to that offered by high-performance systems. In our experiments, FMI can speed up communication for a distributed machine learning FaaS application by up to 162x, while simultaneously reducing cost by up to 397 times.
翻译:无服务器函数具备弹性伸缩与细粒度计费模式,使函数即服务(FaaS)成为极具吸引力的编程模型。然而,对于需要大规模动态并行性的分布式作业,缺乏快速且低成本的通信机制是其主要瓶颈。我们突破了这一限制,提出了FaaS消息接口(FMI)。FMI是一个易用且高性能的框架,支持FaaS应用中通用点对点与集合通信。系统兼容多种通信通道,并基于性能与成本预期提供模型驱动的通道选择机制。该接口以MPI为设计原型,通过少量代码改动即可将消息传递集成至无服务器应用,提供接近高性能系统的可移植通信能力。实验表明,在分布式机器学习FaaS应用中,FMI最高可实现162倍通信加速,同时降低397倍成本。