🤖 AI Summary
In cloud-native environments, serverless platforms suffer from high cold-start latency, excessive resource over-provisioning, and insufficient elasticity. To address these challenges—particularly in API-driven cloud service interactions—this paper proposes a highly elastic execution platform. Our approach abandons traditional guest-OS–dependent sandboxing, introducing instead an OS-free lightweight execution abstraction and function-level security isolation. We adopt a declarative DAG-based programming model and a REST-first application interface design, coupled with fine-grained, demand-aware resource scheduling. Experimental evaluation demonstrates that cold-start latency is reduced to hundreds of microseconds—representing a 2–3 order-of-magnitude improvement over Firecracker. Moreover, average memory over-provisioning decreases by 96%, significantly enhancing both resource utilization efficiency and elasticity responsiveness. The platform thus enables ultra-low-latency, secure, and resource-efficient serverless execution tailored for dynamic, API-centric cloud workloads.
📝 Abstract
Elasticity is fundamental to cloud computing, as it enables quickly allocating resources to match the demand of each workload as it arrives, rather than pre-provisioning resources to meet performance objectives. However, even serverless platforms -- which boot sandboxes in 10s to 100s of milliseconds -- are not sufficiently elastic to avoid over-provisioning expensive resources. Today's FaaS platforms rely on pre-provisioning many idle sandboxes in memory to reduce the occurrence of slow, cold starts. A key obstacle for high elasticity is booting a guest OS and configuring features like networking in sandboxes, which are required to expose an isolated POSIX-like interface to user functions. Our key insight is that redesigning the interface for applications in the cloud-native era enables co-designing a much more efficient and elastic execution system. Now is a good time to rethink cloud abstractions as developers are building applications to be cloud-native. Cloud-native applications typically consist of user-provided compute logic interacting with cloud services (for storage, AI inference, query processing, etc) exposed over REST APIs. Hence, we propose Dandelion, an elastic cloud platform with a declarative programming model that expresses applications as DAGs of pure compute functions and higher-level communication functions. Dandelion can securely execute untrusted user compute functions in lightweight sandboxes that cold start in hundreds of microseconds, since pure functions do not rely on extra software environments such as a guest OS. Dandelion makes it practical to boot a sandbox on-demand for each request, decreasing performance variability by two to three orders of magnitude compared to Firecracker and reducing committed memory by 96% on average when running the Azure Functions trace.