论文标题

HYDRA:高密度无服务器平台的虚拟化多语言运行时

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

论文作者

Ivanenko, Serhii, Lanko, Vasyl, Horn, Rudi, Jovanovic, Vojin, Bruno, Rodrigo

论文摘要

Serverless是一种有吸引力的计算模型,可提供无缝的可扩展性和弹性。它使基础架构管理负担远离用户,并实现了您使用的付费帐单模型。结果,无服务器变得越来越流行,以支持高度弹性和爆发的工作负载。但是,现有平台由肿的虚拟化堆栈支持,这些堆栈与爆发和不规则的调用相结合,导致了高内存和延迟开销。 为了减少虚拟化堆栈膨胀,我们提出了Hydra,这是一种虚拟化的多语言运行时和平台,能够托管多个同时运行的沙盒。为了充分利用Hydra的虚拟运行时间,我们重新访问了现有的无服务器平台设计,以使其跨所有者和功能跨所有者感知到cotocation-cotocation-caching层的预先分配的hydra实例的缓存层,这些实例可以由不同语言编写的不同功能使用,以减少寒冷的开始。我们还提出了一种快照机制,以检查点并恢复单个沙箱。 通过通过HYDRA合并多个无服务器功能调用,我们将总体功能密度(OPS/GB-SEC)平均提高了2.41倍,与OpenWhisk Runtimes相比,与大多数无服务器平台中使用的最先进的单语言运行时间相比,与KNATIDE RUNTIMATE runtimens inter Sundimens unttimes internative unttimes in niments intertime unttime相比,在同一功能中平均使用。当复制Azure函数跟踪时,我们的无服务器平台操作Hydra实例与操作OpenWhisk实例相比,与操作kn的实例相比,与操作开放式实例相比,总体内存足迹降低了21.3-43.9%。由于预热的运行时实例池,Hydra消除了寒冷的开始,与OpenWhisk相比,P99的潜伏期降低了45.3-375.5倍,而与Knative相比,P99潜伏期的潜伏期和1.9-51.4倍相比。

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, lead to high memory and latency overheads. To reduce the virtualization stack bloat, we propose Hydra, a virtualized multi-language runtime and platform capable of hosting multiple sandboxes running concurrently. To fully leverage Hydra's virtualized runtime, we revisit the existing serverless platform design to make it colocation-aware across owners and functions, and to feature a caching layer of pre-allocated Hydra instances that can be used by different functions written in different languages to reduce cold starts. We also propose a snapshotting mechanism to checkpoint and restore individual sandboxes. By consolidating multiple serverless function invocations through Hydra, we improve the overall function density (ops/GB-sec) by 2.41x on average compared to OpenWhisk runtimes, the state-of-the-art single-language runtimes used in most serverless platforms, and by 1.43x on average compared to Knative runtimes supporting invocation colocation within the same function. When reproducing the Azure Functions trace, our serverless platform operating Hydra instances reduces the overall memory footprint by 21.3-43.9% compared to operating OpenWhisk instances and by 14.5-30% compared to operating Knative instances. Hydra eliminates cold starts thanks to the pool of pre-warmed runtime instances, reducing p99 latency by 45.3-375.5x compared to OpenWhisk and by 1.9-51.4x compared to Knative.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源