Hydra: Virtualized Multi-Language Runtime for High-Density Serverless Platforms

📅 2022-12-20
📈 Citations: 5
Influential: 0
📄 PDF

career value

201K/year
🤖 AI Summary
Existing serverless platforms suffer from high memory overhead and cold-start latency due to redundant virtualization stacks and bursty invocation patterns. To address these challenges, this paper introduces Hydra—a lightweight, polyglot virtualized runtime that pioneers cross-language function co-location via virtualization-layer reuse, thereby overcoming isolation constraints inherent in single-language runtimes. Hydra features a scheduler-aware function consolidation deployment strategy and establishes a unified polyglot ABI abstraction layer built upon WebAssembly and microVMs, integrating a dynamic scheduler and memory-sharing management module. Experimental evaluation demonstrates that Hydra achieves a 4.47× increase in function density compared to Node.js, JVM, and CPython; reduces memory footprint by 2.1× under Azure Functions trace workloads; and cuts cold-start occurrences by 4–48×—substantially lowering infrastructure tax.
📝 Abstract
Serverless is an attractive computing model that offers seamless scalability and elasticity; it takes the infrastructure management burden away from users and enables a pay-as-you-use billing model. As a result, serverless is becoming increasingly popular to support highly elastic and bursty workloads. However, existing platforms are supported by bloated virtualization stacks which, combined with bursty and irregular invocations, leads to high memory and latency overheads. To reduce the virtualization stack bloat, we propose Hydra, a virtualized multi-language serverless runtime capable of handling multiple invocations of functions written in different languages. To measure its impact in large platforms, we build a serverless platform that optimizes scheduling decisions to take advantage of Hydra by consolidating function invocations on a single instance, reducing the total infrastructure tax. Hydra improves the overall function density (ops/GB-sec) by 4.47$ imes$ on average compared NodeJS, JVM, and CPython, the state-of-art single-language runtimes used in most serverless platforms. When reproducing the Azure Functions trace, Hydra reduces the overall memory footprint by 2.1 $ imes$ and reduces the number of cold starts between 4 and 48 $ imes$.
Problem

Research questions and friction points this paper is trying to address.

Reducing memory and latency overheads in serverless platforms
Eliminating cold starts with pre-warmed runtime instances
Improving function density through multi-language runtime consolidation
Innovation

Methods, ideas, or system contributions that make the work stand out.

Multi-language virtualized runtime for serverless
Colocation-aware platform with caching layer
Snapshotting mechanism for sandbox checkpointing
🔎 Similar Papers