跟随数据而非函数:重新审视无服务器计算中的函数编排
分布式、并行与集群计算
2022-09-30 v3
摘要
无服务器应用通常由函数工作流组成,其中多个短生命周期函数被触发以响应事件或状态变化来交换数据。当前的无服务器平台通过遵循高层调用依赖来协调和触发函数,但对函数之间的底层数据交换一无所知。这种设计在编排复杂工作流时既低效又不便于使用——开发者往往必须自行管理复杂的函数交互,采用定制化实现且性能不尽如人意。在本文中,我们认为函数编排应遵循以数据为中心的方法。在我们的设计中,平台提供数据桶抽象来保存函数生成的中间数据。开发者可以使用丰富的数据触发原语来控制工作流中每个函数的输出应于何时、以何种方式传递给后续函数。通过使数据消费显式化并允许其触发函数、驱动工作流,复杂的函数交互可以得到轻松且高效的支持。我们提出了 Pheromone——一个遵循该以数据为中心设计的可扩展、低延迟无服务器平台。与成熟的商业和开源平台相比,Pheromone 将函数交互与数据交换的延迟降低了数个数量级,可扩展至大型工作流,并支持复杂应用的轻松实现。
引用
@article{arxiv.2109.13492,
title = {Following the Data, Not the Function: Rethinking Function Orchestration in Serverless Computing},
author = {Minchen Yu and Tingjia Cao and Wei Wang and Ruichuan Chen},
journal= {arXiv preprint arXiv:2109.13492},
year = {2022}
}
备注
Accepted by NSDI'23