What is it about?

Serverless computing is a new paradigm of cloud computing, which makes the cloud easier to use and enables cloud platforms to optimize the performance and energy efficiency of the infrastructure under the hood. In this new era of cloud computing, users develop applications (e.g., web services and data analytics) as compositions of fine-grain functions. Applications invoke functions on-demand and the cloud platform automatically allocates and manages the hardware resources to execute functions. Serverless computing also offers a convenient pay-what-you-use cost model, which is appealing for users. We propose Dandelion, a new platform for serverless computing. Instead of retrofitting existing cloud software infrastructure, we aim to improve the performance and energy efficiency of serverless computing while maintaining secure isolation by fundamentally rethinking the serverless cloud programming model. Our vision for Dandelion proposes moving from the current vague serverless functions to a model of pure functions. With this change we cleanly separate computation from data movement. The users write the pure functions that perform the computation and the platform provides functions that move data and communicate with other services. Larger applications are built by composing these functions. The clear boundary of what user functions are allowed to do enables more lightweight isolation. As applications now expose dataflow explicitly in their compositions of individual functions, the platform can more easily optimize how data is passed. Lastly, the split into compute and data movement also enables a more natural way of mapping these operations onto hardware accelerators.

Featured Image

Why is it important?

While serverless computing holds great promise, the system software infrastructure required to run it has not kept up with the requirements of today’s applications. Cloud software infrastructure has also not kept up with the tremendous advances in cloud hardware over the past decade, such as the proliferation of CPU security extensions and energy-efficient specialized processors. The conventional approach of gradually retrofitting cloud system software that was designed over a decade ago is not sufficient to realize the full potential of serverless computing. We need a fundamentally new approach to design system software for next-generation cloud applications.

Perspectives

Working on this project has been a great learning experience for me, as it allowed me to question many assumptions of what we currently work with and explore new parts of the design space. When talking to different people in the field everyone seems to have a slightly different opinion on what serverless is supposed to be. With this work I got to refine my own understanding of what I expect from it and how I think it should work and hope it will also serve to push others to think a bit more about their assumptions, their goals for serverless and why they want it to be that way.

Tom Kuchler
ETH Zürich, D-INFK

Read the Original

This page is a summary of: Function as a Function, October 2023, ACM (Association for Computing Machinery),
DOI: 10.1145/3620678.3624648.
You can read the full text:

Read

Contributors

The following have contributed to this page