[论文解读] Multi-model Machine Learning Inference Serving with GPU Spatial Partitioning
本文提出了一种名为 gpu-let 的 GPU 感知调度框架,通过利用 GPU 资源的空间分区,实现了高吞吐量、符合 SLO 的多模型机器学习推理。通过基于模型性能分析和干扰感知调度,动态分配虚拟 GPU 单元(gpu-lets),该系统在保持严格延迟边界的同时,相较于基线方法实现了 102.6% 的平均吞吐量提升。
As machine learning techniques are applied to a widening range of applications, high throughput machine learning (ML) inference servers have become critical for online service applications. Such ML inference servers pose two challenges: first, they must provide a bounded latency for each request to support consistent service-level objective (SLO), and second, they can serve multiple heterogeneous ML models in a system as certain tasks involve invocation of multiple models and consolidating multiple models can improve system utilization. To address the two requirements of ML inference servers, this paper proposes a new ML inference scheduling framework for multi-model ML inference servers. The paper first shows that with SLO constraints, current GPUs are not fully utilized for ML inference tasks. To maximize the resource efficiency of inference servers, a key mechanism proposed in this paper is to exploit hardware support for spatial partitioning of GPU resources. With the partitioning mechanism, a new abstraction layer of GPU resources is created with configurable GPU resources. The scheduler assigns requests to virtual GPUs, called gpu-lets, with the most effective amount of resources. The paper also investigates a remedy for potential interference effects when two ML tasks are running concurrently in a GPU. Our prototype implementation proves that spatial partitioning enhances throughput by 102.6% on average while satisfying SLOs.
研究动机与目标
- 解决多模型机器学习推理服务器中因 SLO 限制的批处理大小导致的 GPU 资源利用率低下问题。
- 通过支持异构机器学习模型的并发执行,提升多 GPU 环境中的 GPU 资源利用率。
- 设计一种新抽象——gpu-let,以实现 GPU 资源的高效空间与时间分区,支持可预测的低延迟推理。
- 对在共享 GPU 分区上并发运行的机器学习工作负载之间的干扰进行建模与缓解。
- 在满足 SLO 约束的动态、真实请求工作负载下,评估所提出调度器的有效性。
提出的方法
- 通过 NVIDIA 的 MPS 空间分区机制创建 gpu-let 作为虚拟 GPU 抽象,以实现细粒度的 GPU 资源共享。
- 分析每种机器学习模型的计算需求和延迟特性,为调度决策提供依据。
- 采用针对 pre-Volta 和 Volta+ GPU 上并发内核执行的干扰估计模型,预测性能下降。
- 根据请求到达速率动态调整 gpu-let 大小,以维持 SLO 合规性并最大化吞吐量。
- 采用混合调度策略,结合空间分区(通过 gpu-lets)与时间批处理,以优化资源利用率。
- 在 PyTorch 上实现原型,并与理想 exhaustive 调度器及基线方法进行对比评估。
实验结果
研究问题
- RQ1在严格的 SLO 约束下,GPU 空间分区能否显著提升多模型机器学习推理服务器的吞吐量?
- RQ2如何准确建模并缓解共享 GPU 分区上并发机器学习工作负载之间的干扰?
- RQ3基于 gpu-let 的调度器在真实场景中能在多大程度上逼近理想 exhaustive 调度器的性能?
- RQ4当请求工作负载波动时,动态 gpu-let 重配置如何在保持 SLO 的前提下响应变化?
- RQ5在单个 GPU 上共置异构机器学习模型时,资源效率与 SLO 合规性之间的权衡如何?
主要发现
- 所提出的 gpu-let 调度器在满足 SLO 约束下,相较于基线方法实现了 102.6% 的平均吞吐量提升。
- 系统成功维持了 SLO 合规性,尽管存在动态工作负载变化,仅有 0.14% 的请求违反了延迟边界。
- 该调度器达到了理想 exhaustive 调度器最大吞吐量的 92.3%,最差情况下仍达到 87.7%。
- 通过根据请求到达速率变化动态调整 gpu-let 大小,该框架有效减少了 SLO 违规。
- 干扰估计模型能够准确预测多个模型在分区 GPU 资源上并发运行时的性能下降。
- 原型验证表明,空间分区显著提升了多模型推理工作负载中的 GPU 利用率,尤其在 SLO 限制批处理大小时效果显著。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。