Iluvatar a Fast Serverless Control Plane written in Rust

During my first year of Ph.D I worked on a radical approach to serverless computing. A monolithic, worker centric platform for serverless computing.

Author
Affiliation

Abdul Rehman

Published

June 1, 2023

About the project

It’s a serverless platform developed with the intent to ease research and provide deterministic results. Whole platform is written in Rust (Safe and Reliable language for Systems development) using tonic (a gRPC framework implementation in Rust).

It is a worker centric design which allows overcommitment of resources, multiple queue implementations, support for different execution end points (CPU, GPU) and allows simulating workload instead of actual execution. Deployment across the servers is supported via ansible. It can even run on edge devices like Jetson, hell yeah!.

Modular design of Ilúvatar allows fast paced development and experimentation. For instance, adding a new Queueing scheme is a matter of adding a rust module in queueing directory.

Please see our paper(2023) for more details.

My contributions

From 2022 to 2023, my contributions to this project has been to add support for capturing characteristics of functions and develop different queueing schemes.

Function Characteristics: Hashmap of function characteristics like end to end time, inter arrival time (IAT) and code execution time on the worker.

Queueing Schemes: Priority based queueing schemes using execution time and IAT.

  • code execution time based priority queue - implementation
  • earliest virtual deadline first based priority queue using code execution time to decide the deadline - implementation
  • most frequent function first based priority queue using IAT - implementation

I added support for running the control plane on Jetson Orin. It involved rebuilding the functions for ARM platform, capture utilization logs from the jtop utility and setting up 1 TB NVMe on the device to enable hosting large number of containers.

References

Fuerst, Alexander, Abdul Rehman, and Prateek Sharma. 2023. “Ilúvatar: A Fast Control Plane for Serverless Computing.” In Proceedings of the 32nd International Symposium on High-Performance Parallel and Distributed Computing, 267–80. HPDC ’23. New York, NY, USA: Association for Computing Machinery. https://doi.org/10.1145/3588195.3592995.