[论文解读] Archipelago: A Scalable Low-Latency Serverless Platform
Archipelago 是一个可扩展的低延迟无服务器平台,将集群划分为由半全局调度器(SGS)管理的工作者池,采用感知延迟的调度机制并主动分配沙盒,同时通过感知沙盒的负载均衡来路由请求。它实现了 99% 请求的尾部延迟低于 300 毫秒,与现有最先进平台相比,尾部延迟最高降低了 36 倍。
The increased use of micro-services to build web applications has spurred the rapid growth of Function-as-a-Service (FaaS) or serverless computing platforms. While FaaS simplifies provisioning and scaling for application developers, it introduces new challenges in resource management that need to be handled by the cloud provider. Our analysis of popular serverless workloads indicates that schedulers need to handle functions that are very short-lived, have unpredictable arrival patterns, and require expensive setup of sandboxes. The challenge of running a large number of such functions in a multi-tenant cluster makes existing scheduling frameworks unsuitable. We present Archipelago, a platform that enables low latency request execution in a multi-tenant serverless setting. Archipelago views each application as a DAG of functions, and every DAG in associated with a latency deadline. Archipelago achieves its per-DAG request latency goals by: (1) partitioning a given cluster into a number of smaller worker pools, and associating each pool with a semi-global scheduler (SGS), (2) using a latency-aware scheduler within each SGS along with proactive sandbox allocation to reduce overheads, and (3) using a load balancing layer to route requests for different DAGs to the appropriate SGS, and automatically scale the number of SGSs per DAG. Our testbed results show that Archipelago meets the latency deadline for more than 99% of realistic application request workloads, and reduces tail latencies by up to 36X compared to state-of-the-art serverless platforms.
研究动机与目标
- 解决在多租户集群中对短时、不可预测且高度依赖沙盒的无服务器函数实现低延迟、高吞吐量执行的挑战。
- 在动态工作负载下,确保基于有向无环图(DAG)的无服务器应用满足端到端请求截止时间。
- 通过可扩展的去中心化调度,降低大规模无服务器环境中调度开销和冷启动时间。
- 根据工作负载需求和延迟要求,实现调度器的自动、基于沙盒的动态扩展。
提出的方法
- Archipelago 将集群划分为多个工作者池,每个池由一个半全局调度器(SGS)管理,从而降低调度开销并提升可扩展性。
- 每个 SGS 使用感知延迟的调度算法,为每个 DAG 请求计算‘松弛时间’(剩余时间),并应用最短剩余时间优先(SRTF)变体,优先处理高优先级、低松弛时间的请求。
- 在每个 SGS 内部采用主动沙盒分配机制,基于 DAG 请求速率预先分配软状态沙盒,以最小化冷启动和设置开销。
- 感知沙盒的负载均衡器根据可用沙盒数量和工作负载分布,将新请求路由至合适的 SGS,从而实现每个 DAG 的 SGS 实例动态扩展。
- 系统使用软状态沙盒,仅消耗内存,且可被驱逐而不影响正确性,从而实现高效的资源复用。
- 平台通过支持多租户,允许多种具有不同延迟要求的应用共存,同时为每个 DAG 提供严格的截止时间保证。
实验结果
研究问题
- RQ1无服务器平台如何在多租户集群中,为短时、高度动态的工作负载实现低尾部延迟?
- RQ2在大规模无服务器系统中,调度器粒度与调度开销之间的最优权衡是什么?
- RQ3主动沙盒分配是否能显著减少冷启动并改善无服务器执行的端到端延迟?
- RQ4去中心化的调度架构如何在确保 DAG 工作负载截止时间合规的前提下维持低延迟?
- RQ5感知沙盒的负载均衡在实现自动扩展和低延迟请求路由中起到什么作用?
主要发现
- 在动态、突发的流量模式下,Archipelago 能够满足超过 99% 的真实应用请求工作负载的端到端延迟截止时间。
- 与现有最先进无服务器平台相比,该平台将尾部延迟最高降低了 36 倍,显著提升了响应速度。
- 细粒度划分(例如每个 SGS 仅配置 1 个工作者)会使尾部延迟增加约 4 倍,原因在于冷启动和扩展开销过多。
- 当每个 SGS 的机器数超过 64 台后,调度开销开始占主导地位,导致不必要的扩展和工作者利用率低下。
- 主动沙盒分配减少了冷启动次数,并改善了请求完成时间,尤其在请求波动较大的情况下效果更显著。
- 感知沙盒的负载均衡器实现了每个 DAG 的 SGS 实例高效、自动的扩展,能够根据请求到达速率和沙盒可用性动态调整。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。