面向多阶段AI云服务的高吞吐异构资源管理方法及器件技术

技术编号:32265717 阅读:9 留言:0更新日期:2022-02-12 19:28
本发明专利技术提供一种面向多阶段AI云服务的高吞吐异构资源管理方法及器件,所述面向多阶段AI云服务的高吞吐异构资源管理方法包括:利用一服务质量目标分配器基于接收到的LC服务的请求将服务质量目标拆分为CPU侧服务质量目标和GPU侧服务质量目标;利用一异构资源管理器以CPU侧服务质量目标和GPU侧服务质量目标作为初始样本搜索最佳资源分配;利用一服务质量补偿器实时监测CPU阶段的进度,并在用户请求在CPU阶段花费的时间超过其CPU的服务质量目标时,加速其在加速器端的执行。本发明专利技术既保证LC服务的服务质量,又极大地提高了异构设备上所有BE应用的综合性能。所有BE应用的综合性能。所有BE应用的综合性能。

【技术实现步骤摘要】
面向多阶段AI云服务的高吞吐异构资源管理方法及器件


[0001]本专利技术涉及GPU
,特别是涉及一种面向多阶段AI云服务的高吞吐异构资源管 理方法及器件。

技术介绍

[0002]现代数据中心常常托管一些面向用户的应用服务,比如网页搜索、社交网络、人脸识别 等等。这类应用通常以低响应时间和高精度来吸引用户,因此都有着严格的延迟要求。这类 应用也被称为LC(latency

critical)应用。保证这些LC应用的服务质量(QoS)是目前数据 中心相关研究的重点。
[0003]随着云计算平台以及深度学习的快速发展,最近的深度神经网络(DNN)已经在各类应 用场景下达到了人类级别的准确性,比如图像识别、语音识别等。相应地,深度神经网络也 被用来支持各种数据中心的LC应用。新的硬件如GPU等加速器也被云计算服务商采用并广 泛部署在计算机集群中,以支持新兴深度学习任务的高算力需求。相比传统的在线服务,基 于深度学习的在线服务不仅有严格的服务质量要求而且在计算上要求很高,会使用多种异构 资源。
[0004]这类基于DNN支持的LC应用,主要有两个阶段:数据预处理和在线推理(inference)。 异构加速器(如GPU)通常会用于推理阶段,而主机CPU则用于数据预处理阶段(包括解 码和数据大小调整等)。主机和加速器之间的交互阶段(memcpy)由PCI

e总线支持。数据 中心存在着一些不可避免的问题,其中很重要的一个问题就是资源的过度配置。根据之前的 一些研究可知,这些LC服务经常会遇到用户访问的昼夜模式(在白天的某些时刻,用户请 求数量高且集中;而到了夜晚,用户请求负载会迅速降低)。这种模式会导致除了高峰时间 外,大量时间下CPU/GPU资源并没有得到充分利用,由此便会导致资源的浪费。
[0005]为了提高数据中心异构资源的利用率,通常的做法是将有QoS要求的LC服务和没有QoS 要求的尽力而为型(best

effort)BE应用同时运行。加速器的制造商们现在也正在生产这种 支持空分共享的多任务加速器,以便在同一个加速器上实现更高的吞吐量。例如,MPS(多 进程服务)是CUDA应用程序接口(API)的实现。最新的NVIDIA VOLTA和TURING架 构下,VOLTA MPS技术允许不同的应用程序在同一GPU上以特定资源百分比同时执行,从 而提高整体的GPU利用率。
[0006]但是混合部署多个应用程序可能会给LC服务带来性能损失并增加用户请求的端到端 延迟,出现违反服务质量的风险。这主要是因为混合部署的多个应用程序会争夺共享的异构 资源。除此之外,对于这种新型的多阶段AI云服务,它们同时具有主机阶段(CPU)和加速 器阶段(GPU)。如何为这类新兴的异构混合部署场景设计合适的调度策略存在着新的挑战。 在保证LC应用服务质量的同时,使得整体资源的利用更加高效和经济是本专利技术需要解决的 重要问题。
[0007]对于CPU混合部署的QoS保证技术,现有技术分为两类:基于性能分析的方法和基于 反馈调节的方法。基于性能分析的方法,如Bubble

up,可以分析面向用户的服务和批处
理应 用程序,以预测由于共享缓存和内存带宽争用导致的性能下降,并确定不会导致QoS违反的
ꢀ“
安全”的调度方式。基于反馈调节的方法,如Heracles,它们根据当前时段中面向用户服 务的QoS反馈,构建决策树以确定下一时段中的资源分配情况,从而定期调整共享资源的分 配。
[0008]现有的CPU上多任务调度算法并不适用于目前新型的多阶段AI云服务,因为它们无法 感知GPU等加速器可空分复用的特性,无法有效利用GPU的高并行度,充分发挥硬件资源。 同时,它们也忽略了GPU上不同共享资源之间的复杂干扰。
[0009]对于GPU混合部署的QoS保证技术,现有技术分为两类:基于时分共享加速器和基于 空分共享加速器。在时分共享加速器上,基于队列的方法(例如GrandSLAm和Baymax) 预测kernel的持续时间,从而对GPU内核重新排序。在空间多任务加速器上,基于分析的方 法(例如Laius)在LC服务和BE应用程序之间划分计算资源。
[0010]先前的研究仅局限于调度GPU加速器上的混合部署,它们不够通用,无法管理这些新的 应用场景。LC服务同时具有主机阶段和加速器阶段,分开管理GPU阶段和CPU阶段会造 成严重的QoS违反。如果主机阶段的时延预测不准确或者反馈机制不够及时,LC服务将遭 受QoS违反,且延迟无法弥补。

技术实现思路

[0011]鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种面向多阶段AI云服务的高吞 吐异构资源管理方法及器件,用于满足LC服务的QoS目标,并最大限度地提高CPU和GPU 上所有BE应用的性能。
[0012]为实现上述目的及其他相关目的,本专利技术提供一种面向多阶段AI云服务的高吞吐异构资 源管理方法,包括:利用一服务质量目标分配器基于接收到的LC服务的请求将服务质量目 标拆分为CPU侧服务质量目标和GPU侧服务质量目标;利用一异构资源管理器以CPU侧服 务质量目标和GPU侧服务质量目标作为初始样本搜索最佳资源分配;利用一服务质量补偿器 实时监测CPU阶段的进度,并在用户请求在CPU阶段花费的时间超过其CPU的服务质量目 标,加速其在加速器端的执行。
[0013]于本专利技术的一实施例中,所述基于接收到的LC服务的请求将服务质量目标拆分为CPU 侧服务质量目标和GPU侧服务质量目标包括:将LC任务的每种资源配额设置为其最小资 源单位,同时将其余资源分配给BE任务;根据共享资源的性能曲面调整CPU

GPU阶段的 服务质量分配;记录LC任务的服务质量增加值和BE任务性能下降值;选择最佳资源分配, 将最佳资源分配从BE任务调整到LC任务并执行下一次循环,实现将服务质量目标拆分为 CPU侧服务质量目标和GPU侧服务质量目标。
[0014]于本专利技术的一实施例中,所述异构资源管理器基于随机森林的贝叶斯优化算法搜索最佳 资源分配。
[0015]于本专利技术的一实施例中,所述初始样本采用以下策略中的任一种进行采样:所有CPU阶 段任务分配相等的计算资源的相同优先级策略、从服务质量目标分配器中获取资源分配初始 点的初始资源分配策略、为BE作业分配最小资源配额,剩余给LC任务的服务质量保证策略。
[0016]于本专利技术的一实施例中,为异构资源管理器配置评分函数,以引导资源管理器在
利用更加高效和经济。
[0029]本实施例在设计、实现一个面向多阶段AI云服务的高吞吐异构资源管理方法,该异构运 行时方法有两个目标:满足LC服务的QoS目标,并最大限度地提高CPU和GPU上所有BE 应用的性能。
[0030]本实施例提供BE感知的QoS目标分配器、统一化的异构资源管理器以及加速器端QoS 补偿器,用于实现面向多阶段AI云服务本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向多阶段AI云服务的高吞吐异构资源管理方法,其特征在于:利用一服务质量目标分配器基于接收到的LC服务的请求将服务质量目标拆分为CPU侧服务质量目标和GPU侧服务质量目标;利用一异构资源管理器以CPU侧服务质量目标和GPU侧服务质量目标作为初始样本搜索最佳资源分配;利用一服务质量补偿器实时监测CPU阶段的进度,并在用户请求在CPU阶段花费的时间超过其CPU的服务质量目标,加速其在加速器端的执行。2.根据权利要求1所述的面向多阶段AI云服务的高吞吐异构资源管理方法,其特征在于:所述基于接收到的LC服务的请求将服务质量目标拆分为CPU侧服务质量目标和GPU侧服务质量目标,包括:将LC任务的每种资源配额设置为其最小资源单位,同时将其余资源分配给BE任务;根据共享资源的性能曲面调整CPU

GPU阶段的服务质量分配;记录LC任务的服务质量增加值和BE任务性能下降值;选择最佳资源分配,将最佳资源分配从BE任务调整到LC任务并执行下一次循环,实现将服务质量目标拆分为CPU侧服务质量目标和GPU侧服务质量目标。3.根据权利要求1所述的面向多阶段AI云服务的高吞吐异构资源管理方法,其特征在于:所述异构资源管理器基于随机森林的贝叶斯优化算法搜索最佳资源分配。4.根据权利要求3所述的面向多阶段AI云服务的高吞吐异构资源管理方法,其特征在于:所述初始样本采用以下策略中的任一种进行采样:所有CPU阶段任务分配相等的计算资源的相同优先级策略、从服务质量目标分配器中获取资源分配初始点的初始资源分配策略、为BE作业分配最小资源配额,剩余给LC任务的服务质量保证策略。5.根据权利要...

【专利技术属性】
技术研发人员:陈全过敏意张蔚符凯华
申请(专利权)人:上海交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1