Rethinking System Software for the Serverless Cloud
Ana Klimovic, ETH Zurich
Serverless computing raises the level abstraction to the cloud, making the cloud easier to use and enabling the cloud platform to optimize for performance and energy efficiency under the hood. Although the serverless paradigm holds great promise, the system software that serverless platforms are built on today is still rooted in the very different, more traditional execution model of long-running containers or virtual machines. Today’s Functions as a Service (FaaS) platforms provide secure isolation by running functions inside sandboxes like ‘lightweight’ VMs, which still incur significant startup times, context switch overheads, and memory duplication. FaaS platforms also orchestrate function sanboxes with conventional cluster managers like Kubnernetes, which add significant overhead due to the high churn of short-lived sandboxes in FaaS environments. Hence, rather than retrofitting existing cloud software infrastructure, we propose a clean slate system software design for serverless computing. I will present Dandelion, a new serverless platform that rethinks the FaaS programming model to unlock performance and resource efficiency benefits. Dandelion treats user functions as pure functions, and hence separates untrusted user computations from I/O. Users build Dandelion applications by composing and expressing the dataflow between pure compute functions and tursted I/O functions implemented by the Dandelion platform, which enable interaction with external cloud services. This new programming model enables Dandelion to: 1) securely isolate functions with minimal overhead (without relying on VMs), 2) leverage dataflow information to optimize function scheduling, 3) offload user computations and I/O to specialized hardware. The talk will focus on the design of Dandelion's per-server function execution system stack as well as a new cluster manager system architecture, called Dirigent, tailored for serverless.
About the speaker
Ana Klimovic is an Assistant Professor in the Systems Group of the Computer Science Department at ETH Zurich. Her research interests span operating systems, computer architecture, and their intersection with machine learning. Ana's work focuses on computer system design for large-scale applications such as cloud computing services, data analytics, and machine learning. Before joining ETH in August 2020, Ana was a Research Scientist at Google Brain and completed her Ph.D. in Electrical Engineering at Stanford University.
Date & Time
Thursday, November 16, 2023 - 14:00
Imperial College London