Deterministic Computation in Edgeless

Serverless computing allows distributed services to be built by composing together small functions (or actors [2]) that execute on different physical nodes and communicate via a network. It has become widely used in cloud services with many large cloud providers offering their own solutions (AWS Lambda, Cloudflare Workers, Google Cloud Functions, etc.)

The same serverless concept can also be applied to edge and IoT systems, where the serverless functions execute on nodes in the environment rather than in a datacenter. In many edge scenarios, such as industrial IoT or software defined vehicles, parts of the service need strict determinism guarantees: The serverless function must start executing within a guaranteed time after an event occurs, the execution must execute to completion withing a guaranteed time, or the function must be invoked repeatedly with a period with guaranteed accuracy.

Achieving these determinism guarantees in a busy, resource constrained edge node is a challenging problem that is studied in this thesis.

The baseline for the thesis is the EDGELESS [0, 1] serverless platform developed by TUM and partners in an ongoing EU research project. We will first benchmark services that need determinism on a congested edge node and determine the breaking points. Then we will test various hardware options, hypervisors, operating systems, and application layer mechanisms to isolate and guarantee resources to serverless functions that require determinism guarantees. The outcome will be a proof-of-concept extension of the EDGELESS platform to support determinism guarantees to serverless functions alongside best-effort serverless functions that do not require determinism.

This thesis requires strong capabilities in systems programming and lower-layer languages.

Contact: Raphael Hetzel

[0] https://edgeless-project.eu/project/

[1] https://github.com/edgeless-project/edgeless

[2] https://dl.acm.org/doi/abs/10.1145/3469263.3470828