[论文解读] Fifer: Tackling Underutilization in the Serverless Era
Fifer 是一种面向无服务器函数链的阶段感知自适应资源管理框架,通过采用松弛感知调度和基于LSTM的负载预测,智能地批量处理请求,从而提高容器利用率和集群能效。它将容器数量最多减少80%,同时保持子1000毫秒的SLO要求,与现有最先进调度器相比,利用率提高4倍,能耗降低31%。
Datacenters are witnessing a rapid surge in the adoption of serverless functions for microservices-based applications. A vast majority of these microservices typically span less than a second, have strict SLO requirements, and are chained together as per the requirements of an application. The aforementioned characteristics introduce a new set of challenges, especially in terms of container provisioning and management, as the state-of-the-art resource management frameworks, employed in serverless platforms, tend to look at microservice-based applications similar to conventional monolithic applications. Hence, these frameworks suffer from microservice-agnostic scheduling and colossal container over-provisioning, especially during workload fluctuations, thereby resulting in poor resource utilization. In this work, we quantify the above shortcomings using a variety of workloads on a multi-node cluster managed by Kubernetes and Brigade serverless framework. To address them, we propose \emph{Fifer} -- an adaptive resource management framework to efficiently manage function-chains on serverless platforms. The key idea is to make \emph{Fifer} (i) utilization conscious by efficiently bin packing jobs to fewer containers using function-aware container scaling and intelligent request batching, and (ii) at the same time, SLO-compliant by proactively spawning containers to avoid cold-starts, thus minimizing the overall response latency. Combining these benefits, \emph{Fifer} improves container utilization and cluster-wide energy consumption by 4x and 31%, respectively, without compromising on SLO's, when compared to the state-of-the-art schedulers employed by serverless platforms.
研究动机与目标
- 解决由于微服务无感知调度和容器过度配置导致的无服务器平台资源利用率低下和效率低下的问题。
- 减少托管毫秒级、低延迟关键型函数链的数据中心中的容器蔓延和能耗。
- 在最小化冷启动的同时,保持严格的SLO合规性(≤1000毫秒),并优化各函数阶段的资源分配。
- 通过利用阶段间松弛和预测性负载建模,实现高效自适应的容器配置。
- 通过基于工作负载预测的主动容器预热,将冷启动缓解与请求执行解耦。
提出的方法
- Fifer 采用一种新颖的松弛估算技术,识别函数链中各阶段的闲置时间预算(松弛),从而实现智能请求批量处理。
- 它使用基于LSTM的负载预测模型,基于历史请求轨迹训练,以预测未来工作负载并主动扩展容器。
- 该框架实现了阶段感知的容器配置,根据预测负载和可用松弛动态调整各函数阶段的容器数量。
- Fifer 将请求批量处理与主动容器创建相结合,在减少总容器数量的同时最小化冷启动延迟。
- 通过确保批量处理不超出可用松弛,并在高峰负载前预热容器,系统维持SLO合规性。
- 该系统与Kubernetes和Brigade无服务器框架集成,支持在多节点集群上进行真实环境评估。
实验结果
研究问题
- RQ1如何调度无服务器函数链,以在保持严格端到端SLO要求的同时最小化容器过度配置?
- RQ2阶段间松弛对无服务器工作负载中高效请求批量处理和容器利用率有何影响?
- RQ3预测性负载建模能否改善短时、高吞吐量函数链中的容器配置决策并减少冷启动开销?
- RQ4阶段感知资源管理在多大程度上可降低能耗并提高无服务器环境中的集群效率?
- RQ5与现有最先进调度器相比,Fifer在容器利用率、SLO合规性和能效方面表现如何?
主要发现
- 与现有最先进无服务器平台调度器相比,Fifer将平均容器创建数量最多减少80%。
- 在80核集群和大规模仿真中,Fifer在所评估工作负载上的容器利用率提高了4倍。
- Fifer在不违反任何SLO的前提下,实现了集群范围能耗降低31%。
- 通过利用松弛感知批量处理和主动容器预热,Fifer将端到端延迟保持在1000毫秒SLO要求范围内。
- 基于LSTM的负载预测器实现了高精度预测,使Fifer能够提前预测负载高峰并扩展容器,同时保持极低的延迟开销。
- 该系统在多种工作负载下表现出稳健性能,包括机器学习推理和内容推荐流水线,在不同请求到达模式下均表现稳定。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。