To content
Fakultät BCI
Project

OptiFaaS: Towards Optimal and Adaptive Allocation of FaaS Resources

Subject areaSecurity and dependability, Operating-, communication- and distributed systems, Function-as-a-Service, Cloud, edge and fog computing, Function placement and scheduling, Model predictive control, Distributed decision-making, Quality of service
Termsince 2022
FundingDeutsche Forschungsgemeinschaft (DFG)

Project description

Function-as-a-Service (FaaS) is the latest incarnation of cloud-based compute services. One of its key advantages is how dramatically it has simplified application development: developers only write small stateless functions that interact with platform services such as databases or messaging, while the FaaS provider takes care of operations. Thanks to its attractive programming model and the clean separation between state and function management, FaaS is also a promising candidate for edge computing.

Today's FaaS, however, suffers from several limitations. First, function placement typically does not take data input and output into account, which leads FaaS platforms to default to a "data-shipping" architecture. Second, the cold-start problem, which occurs when an incoming request cannot be matched to a free function instance, causes latency outliers that accumulate in workflows with several chained functions. In geographically distributed fog environments this is even more severe, since the function code must first be fetched from a (geo-)remote server, further increasing the cold-start latency. Third, in the current FaaS programming model functions are triggered by single events; modern applications, particularly in the Internet of Things, would benefit from a richer event model that can trigger functions based on multiple events, would improve function reusability through loose coupling, and would help close the paradigm gap between FaaS and stream processing systems. Fourth, existing composition frameworks are provider-specific and do not support multi-provider workflows, even though such workflows are essential for cloud/edge/fog scenarios; they also typically rely on orchestration, which leads to so-called "double billing".

In OptiFaaS we research and develop a FaaS platform for cloud/edge/fog environments that addresses these issues. Specifically, the project (i) develops a new FaaS platform that can run federated across cloud, edge and fog while integrating existing FaaS providers, (ii) designs a novel multi-event trigger inspired by complex event processing, (iii) designs a cross-platform FaaS choreography framework, and (iv) develops an intelligent approach to function placement and scheduling that optimises and adapts the placement at runtime with respect to quality-of-service objectives. This approach takes into account data input and output, already deployed functions, resource utilisation of FaaS systems, cold starts, cost, and constraints such as privacy. To this end, methods from model predictive control and distributed decision-making are extended and adapted to the FaaS domain.

OptiFaaS is funded by the DFG (Sachbeihilfen/Individual Research Grants, project number 495343202) and is carried out jointly with Prof. Dr.-Ing. David Bermbach (TU Berlin).

Researchers