Blink and you miss it — VMM-OS Co-Design for Millisecond Boot of Isolated Serverless Applications
Abstract
For serverless applications, it is the de facto standard to use virtual machines (VMs) to ensure that each customer's workload is properly isolated from others. However, VMs and Virtual Machine Managers (VMMs) separately incur a high overhead in terms of startup latency and computation due to OS duplication and device emulation. This results in boot times being orders of magnitude higher than the typical serverless workload. In this work we present a Co-Design approach of a custom VMM and a unikernel for serverless workloads. By optimizing the VMM for the kernel, we can reach boot times of less than ~20ms which is less than half the boot time of the second fastest hypervisor running the same kernel and almost 10 × less than a minimal Linux boot. We further introduce application templates based on instruction accurate snapshots at application boot that can further reduce the time from VM invocation to first packet to as little as 2 ms - 50 × less than Linux on the fastest hypervisor.