Restructuring Serverless Computing with Data-Centric Function Orchestration

09/28/2021
by   Minchen Yu, et al.
0

Serverless applications are usually composed of multiple short-lived, single-purpose functions exchanging data in reaction to events or changes of states. Existing function orchestration services coordinate functions and trigger their activation following some predefined rules (e.g., function dependency and state machine), while being oblivious to the underlying data exchange between functions. Such design has limited expressiveness and incurs high orchestration overhead: developers often need to manage complex function interactions by themselves, and the performance can still be unsatisfactory. In this paper, we advocate data-centric orchestration where function invocations are triggered by the flow of data. In our design, the platform provides data trigger APIs through which developers can control when and how the output of one or many functions is passed to other functions as input and triggers their executions. With explicit support of data triggers, complex function interactions can be easily implemented, and data locality can also be satisfied. As a manifestation of this design, we present Pheromone, a scalable, low-latency serverless platform. Pheromone schedules functions close to the input with a two-level, shared-nothing scheduling hierarchy. Compared to existing commercial and open-source platforms, Pheromone cuts the latencies of function interactions and data exchanges by orders of magnitude and scales well to complex workflows with long function chains and high parallelism. Case studies further demonstrate that Pheromone enables easy implementations of many applications, including real-time query, stream processing, and MapReduce sort.

READ FULL TEXT
research
11/22/2019

Archipelago: A Scalable Low-Latency Serverless Platform

The increased use of micro-services to build web applications has spurre...
research
01/14/2020

Cloudburst: Stateful Functions-as-a-Service

Function-as-a-Service (FaaS) platforms and "serverless" cloud computing ...
research
08/27/2022

Apiary: A DBMS-Backed Transactional Function-as-a-Service Framework

Developers are increasingly using function-as-a-service (FaaS) platforms...
research
06/11/2023

Scheduling of Intermittent Query Processing

Stream processing is usually done either on a tuple-by-tuple basis or in...
research
02/03/2021

Function Delivery Network: Extending Serverless Computing for Heterogeneous Platforms

Serverless computing has rapidly grown following the launch of Amazon's ...
research
06/27/2023

DataCI: A Platform for Data-Centric AI on Streaming Data

We introduce DataCI, a comprehensive open-source platform designed speci...
research
05/23/2022

Groundhog: Efficient Request Isolation in FaaS

Security is a core responsibility for Function-as-a-Service (FaaS) provi...

Please sign up or login with your details

Forgot password? Click here to reset