UPDF AI

Faascale: Scaling MicroVM Vertically for Serverless Computing with Memory Elasticity

Xinmin Zhang,Qiang He,Hao Fan,Song Wu

2024 · DOI: 10.1145/3698038.3698512
ACM Symposium on Cloud Computing · 3 Citations

TLDR

Faascale is proposed, a novel mechanism that efficiently scales the memory of MicroVMs for serverless applications that reduces time for cold-starting MicroVMs by 89.01% and functions execution time by 23.93% on average.

Abstract

This paper quantitatively analyses the potential of vertical scaling MicroVMs in serverless computing. Our analysis shows that under real-world serverless workloads, vertical scaling can significantly improve execution performance and resource utilization. However, we also find that the memory scaling of MicroVMs is the bottleneck that hinders vertical scaling from reaching the performance ceiling. We propose Faascale, a novel mechanism that efficiently scales the memory of MicroVMs for serverless applications. Faascale employs a series of techniques to tackle this bottleneck: 1) it sizes up/down the memory for a MicroVM by blocks that bind with a function instance instead of general pages; and 2) it pre-populates physical memory for function instances to reduce the delays introduced by the lazy-population. Compared with existing memory scaling mechanisms, Faascale improves the memory scaling efficiency by 2 to 3 orders of magnitude. We implement Faascale on Amazon Firecracker to evaluate its gains for the serverless platform. The results of experiments conducted on eight serverless benchmark functions demonstrate that compared with horizontal scaling strategies based the state-of-the-art snapshots technique, Faascale reduces time for cold-starting MicroVMs by 89.01% and functions execution time by 23.93% on average.