FaaSlim: Partial Caching of Snapshot-based VMs for Serverless Computing
Abstract
To mitigate the cold-start overhead of serverless functions, two orthogonal approaches have been studied: in-memory caching and snapshot-based in-storage caching. In this work, we propose FaaSlim, a snapshot-based serverless computing system that integrates both approaches to reduce cold start latency. FaaSlim classifies VM pages into three categories, read, write, and permission update, based on page fault types, enabling partial caching of only a selected subset of pages rather than the entire VM while reclaiming the rest. When the VM is reused, only reclaimed pages are fetched from disk, reducing page fault overhead and function latency, while requiring less memory during idle periods. We also devise a partial caching-aware eviction policy, GDSF-CE, which selects VMs and page subsets to evict based on cache efficiency, a metric that quantifies the benefit of partial caching by relating latency reduction to memory consumption. Our evaluation using real-world traces shows that FaaSlim reduces the total overhead of snapshot-based cold starts by 23.0–27.8% compared to the state-of-the-art combination of in-storage and in-memory caching, FaaSnap with CIDRE’s GDSF-C, across diverse serverless workloads.