Tags:FaaS, KVM-VMM, Low Latency and Virtualization
Abstract:
Serverless computing is a paradigm that allows application developers to focus on defining functions triggered by events, while the service provider handles resource allocation, isolation, scalability, and orchestration. Function-as-a-Service (FaaS) is a popular implementation of serverless computing, characterized by short-lived stateless functions. However, current FaaS platforms suffer from high overheads of bootstrapping the process for function execution, which degrade the performance of applications that require low latency and high throughput. Moreover, current FaaS platforms do not support sharing memory among function instances of the same workflow, which limits the efficiency and functionality of applications that rely on data dependencies. In this paper, we propose Ataru, a native function execution virtualization construct that exploits full hardware potential with the provision for shared memory and minimal process bootstrapping overhead, without sacrificing the security offered by virtualization technologies. Ataru consists of two components: Ataru-KVM, a lightweight virtual machine monitor (VMM) based on KVM that supports fast bootup and dynamic suspension of virtual CPUs (vCPUs), and Ataru Runtime, a runtime system that manages the execution of an application defined by Directed Acyclic Graph~(DAG) of functions and memory sharing within the virtual machine (VM). We evaluate Ataru against a process-based solution over Firecracker that offers similar VM isolation as Ataru, and show that Ataru outperforms Firecracker significantly in terms of bootup time, function execution time, and vCPU utilization, especially when the functions have execution times in the order of tens of microseconds.
Ataru: a Lightweight VMM+Runtime for Low Latency Serverless Functions