English

Following the Data, Not the Function: Rethinking Function Orchestration in Serverless Computing

Distributed, Parallel, and Cluster Computing 2022-09-30 v3

Abstract

Serverless applications are typically composed of function workflows in which multiple short-lived functions are triggered to exchange data in response to events or state changes. Current serverless platforms coordinate and trigger functions by following high-level invocation dependencies but are oblivious to the underlying data exchanges between functions. This design is neither efficient nor easy to use in orchestrating complex workflows -- developers often have to manage complex function interactions by themselves, with customized implementation and unsatisfactory performance. In this paper, we argue that function orchestration should follow a data-centric approach. In our design, the platform provides a data bucket abstraction to hold the intermediate data generated by functions. Developers can use a rich set of data trigger primitives to control when and how the output of each function should be passed to the next functions in a workflow. By making data consumption explicit and allowing it to trigger functions and drive the workflow, complex function interactions can be easily and efficiently supported. We present Pheromone -- a scalable, low-latency serverless platform following this data-centric design. Compared to well-established commercial and open-source platforms, Pheromone cuts the latencies of function interactions and data exchanges by orders of magnitude, scales to large workflows, and enables easy implementation of complex applications.

Keywords

Cite

@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}
}

Comments

Accepted by NSDI'23

R2 v1 2026-06-24T06:25:05.264Z