CN116820784B - 一种面向推理任务QoS的GPU实时调度方法及系统 - Google Patents
一种面向推理任务QoS的GPU实时调度方法及系统 Download PDFInfo
- Publication number
- CN116820784B CN116820784B CN202311100314.4A CN202311100314A CN116820784B CN 116820784 B CN116820784 B CN 116820784B CN 202311100314 A CN202311100314 A CN 202311100314A CN 116820784 B CN116820784 B CN 116820784B
- Authority
- CN
- China
- Prior art keywords
- task
- qos
- reasoning
- gpu
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000013468 resource allocation Methods 0.000 claims abstract description 46
- 238000012549 training Methods 0.000 claims abstract description 42
- 238000004364 calculation method Methods 0.000 claims abstract description 18
- 238000005457 optimization Methods 0.000 claims description 10
- 238000003066 decision tree Methods 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 4
- 230000007704 transition Effects 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000002955 isolation Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种面向推理任务QoS的GPU实时调度方法,属于计算技术领域;该方法包括:获取推理任务;将推理任务输入训练完成的任务性能预测模型中,得到预测结果;所述预测结果包括执行时间、全局内存带宽和每周期指令数;根据推理任务、执行时间、全局内存带宽和每周期指令数进行资源分配,得到最优资源分配方案。本发明还提供一种一种面向推理任务QoS的GPU实时调度系统。本发明能够根据其输入数据和任务的可扩展性,预测面向用户的在线推理任务完成QoS目标返回所需的最小计算资源百分比。本发明能够将多余的空闲计算资源分配给低优先级离线训练任务,以最大化其吞吐量,同时最小化对在线推理任务的性能干扰。
Description
技术领域
本发明涉及计算技术领域,具体涉及一种面向推理任务QoS的GPU实时调度方法及系统。
背景技术
随着物联网 (IoT) 的不断发展,智能个人助理,医疗保健监控和智能家居服务等远程智能服务将越来越复杂的机器学习推理工作负载转移到云数据中心。仅Facebook一家每天就处理超过200万亿个推理查询,而亚马逊估计推理任务占据了生产级机器学习基础设施成本的90%。这些机器学习推理工作负载对延迟非常敏感,通常需要满足尾部延迟服务水平目标(SLO),例如99%的推理查询必须在100毫秒内完成,这意味着必须满足99%的推理查询的延迟在100毫秒以内。GPU 已被广泛采用来加速这些机器学习推理工作负载的执行。
整个业界的趋势是越来越多的工作负载运行在Kubernetes之上,促成Kubernetes成为了云时代的基础设施。在 Kubernetes 中,GPU 等异构资源的管理是通过 DevicePlugin(设备插件)机制实现的。第三方设备厂商可以通过各自的Device Plugin满足用户在k8s上使用异构资源的需求。Nvidia的容器层GPU方案仅支持将整块卡映射到容器,无法在容器之间共享同一张卡,而GPU卡作为专用芯片算力强大且价格昂贵,无法共享情况下往往造成大量资源浪费,因此提高GPU资源的利用效率是异构资源调度场景下的首要目标。目前在学术界和工业界主流的做法是将物理 GPU 分割成多个虚拟 GPU,并根据请求将虚拟GPU 分配给容器,支持同一张卡上容器间GPU算力和显存的使用隔离,通过这一容器层GPU虚拟化方案,有效提高了GPU资源的利用率。
主流的 GPU 共享调度方案旨在提高 GPU 资源的利用率和调度公平性。为了达到这个目的,这些方案通常采用资源隔离和调度算法等技术手段。
资源隔离是一种常见的技术手段,它将 GPU 设备分割成多个虚拟 GPU,每个虚拟GPU 可以被分配给一个容器使用。这样一来,不同容器中的任务就可以在独立的虚拟 GPU上执行,互相之间不会产生干扰,同时可以提高 GPU 资源的利用率。除了资源隔离,调度算法也是 GPU 共享调度的核心技术之一。调度算法可以根据任务的不同特征和优先级,合理地分配 GPU 资源,从而保证 GPU 调度的公平性和高效性。常见的调度算法包括基于权重的调度算法、基于队列的调度算法等。
尽管目前的 GPU 共享调度方案可以很好地提高 GPU 资源的利用率和调度的公平性,但是它们并不支持基于任务优先级的 GPU 的调度。一旦 CUDA 内核在 GPU 设备上运行,这些内核就会由硬件调度程序调度。由于硬件调度器没有考虑任务优先级,因此无法保证高优先级内核的实时性要求。此外,由于GPU的异步和非抢占性质,高优先级应用程序可能会被低优先级应用程序阻塞。这种优先级倒置使得在多负载混跑时无法保障高优任务的QoS。
发明内容
本发明的目的在于提供一种高效的面向推理任务QoS的GPU实时调度方法及系统。
为解决上述技术问题,本发明提供一种面向推理任务QoS的GPU实时调度方法,包括以下步骤:
获取推理任务;
将推理任务输入训练完成的任务性能预测模型中,得到预测结果;所述预测结果包括预测执行时间、全局内存带宽和每周期指令数;
根据推理任务、预测执行时间、全局内存带宽和每周期指令数进行资源分配,得到最优资源分配方案。
优选地,所述任务性能预测模型的训练方法具体包括以下步骤:
获取训练数据;所述训练数据包括训练推理任务和训练GPU计算资源配额;
从训练推理任务中提取任务特征;
将任务特征和训练GPU计算资源配额输入任务性能预测模型中进行训练,得到训练完成的任务性能预测模型。
优选地,所述任务性能预测模型的回归模型为决策树模型;所述决策树模型的预测误差的计算公式如下:
;
式中,为预测值;/>为实际值;/>为预测误差。
优选地,所述任务特征包括手写内核和库调用;
所述手写内核包括内核配置和输入数据大小;
所述库调用包括API。
优选地,根据推理任务、预测执行时间、全局内存带宽和每周期指令数进行资源分配,得到最优资源分配方案,具体包括以下步骤:
根据推理任务和预测执行时间,得到推理任务计算资源分配方案;
根据推理任务计算资源分配方案、全局内存带宽和每周期指令数,得到非QoS任务计算资源分配方案;
根据推理任务计算资源分配方案和非QoS任务计算资源分配方案,得到最优资源分配方案。
优选地,根据推理任务和预测执行时间,得到推理任务计算资源分配方案,具体包括以下步骤:
用、/>和/>分别表示推理任务的QoS目标、数据传输时间和预测执行时间;
以满足的最小的计算资源,作为推理任务资源分配方案。
优选地,根据推理任务计算资源分配方案、全局内存带宽和每周期指令数,得到非QoS任务计算资源分配方案,具体包括以下步骤:
通过离散化方法为非QoS任务分配计算资源;
将散优化问题建模为完整的背包问题,以每周期指令数作为物品的价值,以非QoS任务作为物品,背包问题的状态转移公式如下:
;
式中:表示背包内物品数量为i时且背包容量为j时,所有物品价值总和的最大值;m表示第i件物品;/>是第i个物品的价值;
非QoS任务计算资源分配方案的计算公式如下:
;
式中:R为总体可用计算资源;BW为全局内存带宽;为的第i个非QoS任务计算资源;/>为推理计算资源;n为非QoS任务的资源分配方案总数;/>为第i个非QoS任务的内存带宽使用量;/>为推理任务的内存带宽使用量。
优选地,还包括以下步骤:
计算平均GPU算力资源利用率;
根据平均GPU算力资源利用率和调整阈值TH,判断是否存在QoS违规;
若存在QoS违规,则调整推理任务的计算资源和非QoS任务计算资源,并重新调整各个非QoS任务的算力分配。
优选地,调整推理任务的计算资源和非QoS任务计算资源,计算公式如下:
;
式中:TH为调整阈值;为平均GPU算力资源利用率;/>为中间临时值;/>为QoS任务算力配额比例;/>为非QoS任务算力配额比例总和。
本发明还提供一种面向推理任务QoS的GPU实时调度系统,包括:
获取模块,用于获取推理任务;
任务性能预测模块,用于将推理任务输入训练完成的任务性能预测模型中,得到预测结果;所述预测结果包括预测执行时间、全局内存带宽和每周期指令数;
资源分配模块,用于根据推理任务、预测执行时间、全局内存带宽和每周期指令数进行资源分配,得到最优资源分配方案。
与现有技术相比,本发明的有益效果为:
(1)、本发明采用决策树(DT)等机器学习算法为在线推理任务训练一个任务性能预测模型,用于预测推理任务的执行时间、全局内存带宽和每周期指令数 (IPC)。为后续的竞争感知算力资源分配器分配算力提供数据预测。
(2)、本发明对分配计算资源任务进行数学建模,将连续优化问题转化为离散优化问题,采用背包动态规划思路来解决。
(3)、本发明设定计算资源配额利用率阈值,动态调整调整分配给每个 QoS 任务的计算资源配额来减轻可能的QoS违规。
(4)、本发明能够根据其输入数据和任务的可扩展性,预测面向用户的在线推理任务完成 QoS 目标返回所需的最小计算资源百分比。
(5)、本发明能够将多余的空闲计算资源分配给低优先级离线训练任务,以最大化其吞吐量,同时最小化对在线推理任务的性能干扰。
(6)、本发明能够提高推理任务在GPU算力分配的比例,以加快任务的推理速度。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细说明。
图1是GPU实时调度方法的整体架构图;
图2是算力感知补偿器调整算力配额流程图;
图3是本发明一种面向推理任务QoS的GPU实时调度方法的流程示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面结合附图对本发明做进一步的详细描述:
如图3所示,本发明公开一种面向推理任务QoS的GPU实时调度方法,包括以下步骤:
获取推理任务;
将推理任务输入训练完成的任务性能预测模型中,得到预测结果;所述预测结果包括预测执行时间、全局内存带宽和每周期指令数;
根据推理任务、预测执行时间、全局内存带宽和每周期指令数进行资源分配,得到最优资源分配方案。
优选地,所述任务性能预测模型的训练方法具体包括以下步骤:
获取训练数据;所述训练数据包括训练推理任务和训练GPU计算资源配额;
从训练推理任务中提取任务特征;
将任务特征和训练GPU计算资源配额输入任务性能预测模型中进行训练,得到训练完成的任务性能预测模型。
优选地,所述任务性能预测模型的回归模型为决策树模型;所述决策树模型的预测误差的计算公式如下:
;
式中,为预测值;/>为实际值;/>为预测误差。
优选地,所述任务特征包括手写内核和库调用;
所述手写内核包括内核配置和输入数据大小;
所述库调用包括API。
优选地,根据推理任务、预测执行时间、全局内存带宽和每周期指令数进行资源分配,得到最优资源分配方案,具体包括以下步骤:
根据推理任务和预测执行时间,得到推理任务计算资源分配方案;
根据推理任务计算资源分配方案、全局内存带宽和每周期指令数,得到非QoS任务计算资源分配方案;
根据推理任务计算资源分配方案和非QoS任务计算资源分配方案,得到最优资源分配方案。
优选地,根据推理任务和预测执行时间,得到推理任务计算资源分配方案,具体包括以下步骤:
用、/>和/>分别表示推理任务的QoS目标、数据传输时间和预测执行时间;
以满足的最小的计算资源,作为推理任务资源分配方案。
优选地,根据推理任务计算资源分配方案、全局内存带宽和每周期指令数,得到非QoS任务计算资源分配方案,具体包括以下步骤:
通过离散化方法为非QoS任务分配计算资源;
将散优化问题建模为完整的背包问题,以每周期指令数作为物品的价值,以非QoS任务作为物品,背包问题的状态转移公式如下:
;
式中:表示背包内物品数量为i时且背包容量为j时,所有物品价值总和的最大值;m表示第i件物品;/>是第i个物品的价值;
非QoS任务计算资源分配方案的计算公式如下:
;
式中:R为总体可用计算资源;BW为全局内存带宽;为的第i个非QoS任务计算资源;/>为推理计算资源;n为非QoS任务的资源分配方案总数;/>为第i个非QoS任务的内存带宽使用量;/>为推理任务的内存带宽使用量。
优选地,还包括以下步骤:
计算平均GPU算力资源利用率;
根据平均GPU算力资源利用率和调整阈值TH,判断是否存在QoS违规;
若存在QoS违规,则调整推理任务的计算资源和非QoS任务计算资源,并重新调整各个非QoS任务的算力分配。
优选地,调整推理任务的计算资源和非QoS任务计算资源,计算公式如下:
;
式中:TH为调整阈值;为平均GPU算力资源利用率;/>为中间临时值;/>为QoS任务算力配额比例;/>为非QoS任务算力配额比例总和。
本发明还提供一种面向推理任务QoS的GPU实时调度系统,包括:
获取模块,用于获取推理任务;
任务性能预测模块,用于将推理任务输入训练完成的任务性能预测模型中,得到预测结果;所述预测结果包括预测执行时间、全局内存带宽和每周期指令数;
资源分配模块,用于根据推理任务、预测执行时间、全局内存带宽和每周期指令数进行资源分配,得到最优资源分配方案。
本发明结合任务性能预测模型预测任务在 GPU 设备上的执行时间,设计了竞争感知算力资源分配器,可以动态地调整共享的 GPU 计算资源。当高优任务到来时,分配器能最大限度地提高训练任务的吞吐量,同时保证空间多任务 GPU 上面向用户在线推理服务的 QoS。在推理任务的算力分配不足情况下,通过自动调整低优任务的计算资源分配给高优任务。该分配算法无需源代码分析,也不会对低优任务的执行产生过多的影响,从而实现了高优任务的响应延迟保障。
为了更好的说明本发明的技术效果,本发明提供如下具体实施例说明上述技术流程:
实施例1、一种面向推理任务QoS的GPU实时调度方法,包括以下步骤:
面向推理任务QoS的GPU实时调度模型,图1展示了其整体架构图。GPU实时调度模型是一个运行时系统,由任务性能预测模型,竞争感知算力资源分配器和算力感知补偿器组成。任务性能预测模型能够预测具有不同资源配额的任务性能。竞争感知算力资源分配器能最大限度地提高训练任务的吞吐量,同时最大限度地减少由于全局内存带宽争用而导致在线推理任务违反 QoS 的可能性。此外,算力感知补偿器监视QoS任务的历史平均算力资源利用率,在超出指定调整阈值时,提高QoS任务在GPU算力分配的比例,以加快任务的推理速度。下文是有关各个模块的具体实现介绍。
一、任务性能预测模型:
为在线推理任务训练一个任务性能预测模型,任务性能预测模型可预测推理任务的执行时间、全局内存带宽和每周期指令数(IPC)。分析是离线完成的,不涉及运行时开销。具体的步骤如下:
(1)收集模型训练数据
从 100 个不同的推理任务输入和 10 个不同百分比的GPU计算资源配额(以 10%为步长从 10% 增加到 100%)中采集 1000 个训练样本。使用式子 (1) 来计算每个推理任务的IPC。IPC是使用来表示任务在 GPU 上的吞吐量。式子 1 中,代表 GPU 的运行频率,INS 和T分别表示指令数和任务的处理时间。INS 和T通过使用 Nvidia 分析工具Night Compute 来获取。
(1);
(2)提取输入任务特征
将手写内核和库调用两种类型的计算任务作为训练数据的输入任务特征。对于手写内核,采集内核配置(网格大小、块大小、共享内存大小)、输入数据大小和计算资源配额等特征。对于库调用,由于实际实现和内核配置隐藏在 API 后面,因此视为一个整体,并将计算资源配额作为另一个输入特征。
(3)训练模型
推理任务的 QoS 目标是数百毫秒,选择计算复杂度低、预测精度高的预测模型至关重要。选择决策树模型来作为任务性能预测的回归模型来进行训练,预测误差通过等式(2)测量。
(2);
式中,所述为预测值,所述/>为实际值。
二、竞争感知算力资源分配器
当竞争感知算力资源分配器接收到推理任务 Q 的算力请求时,它会获取该任务的输入数据大小,并使用之前训练的性能模型来估算在分配各种计算资源配额时,任务 Q的所需执行时间。任务 Q 的总体延迟包括数据传输时间和任务处理时间。用分别表示任务 Q 的 QoS 目标、通过 PCIe 总线传输数据的时间(数据传输时间)和预测执行时间。当任务 Q 将数据传输到 GPU 时,我们可以测量/>。只有当满足等式(3)时,任务 Q 才能在其 QoS 目标之前返回结果。
(3);
通过比较和使用各种计算资源配额的任务Q的预测执行时间,找到恰好满足式(3)的最小计算资源,将其分配给任务Q,作为推理任务资源分配方案。
在分配剩余计算资源给非 QoS 任务时,算力资源分配器的目标是实现最大的非QoS 任务吞吐量,同时确保避免 QoS 任务出现内存带宽争用。为了达到这个目标,算力资源分配器将非 QoS 任务的总吞吐量转化为 IPC 目标,并通过优化算法来计算最佳资源分配方案。
具体而言,算力资源分配器需要解决一个单目标优化问题,其中目标是最大化非QoS 任务的IPC总和,约束是全局内存带宽。算力资源分配器需要同时考虑两个约束条件:第一,各并发任务的全局内存带宽使用量应小于加速器可用全局内存带宽(式5),以避免严重的带宽争用。第二,分配给并发任务的计算资源配额不应超过总体可用计算资源(式6)。所述数学模型包括以下目标函数以及约束条件:
;
式中:R为总体可用计算资源;BW为全局内存带宽;为的第i个非QoS任务计算资源;/>为推理计算资源;n为非QoS任务的资源分配方案总数;/>为第i个非QoS任务的内存带宽使用量;/>为推理任务的内存带宽使用量;
为了减少分配开销,算力资源分配器采用离散化的方法来分配不同任务的计算资源。这将连续优化问题转化为离散优化问题,并进一步将离散优化问题建模为完整的背包问题。算力资源分配器将 QoS 任务未使用的计算资源配额表示为,假设有K个非 QoS任务需要等待计算资源分配。
在完整的背包问题中,有K个物品对应K个非 QoS 任务。将物品的价值定义为在给定计算资源配额下的 IPC,并将物品的重量定义为非 QoS 任务的计算资源配额。这样,算力资源分配器可以使用 0/1 背包进一步建模,以寻找能够使容量为的背包中物品价值最大化,同时保持物品重量小于/>的解决方案。使用动态规划技术来解决这个完整的背包问题,并计算最佳的分配方案。式中,/>表示背包内物品数量为时且背包容量为j时,所有物品价值总和的最大值。m是第i个任务的计算资源配额,/>是第i个非QoS任务在分配m个计算资源配额时的周期指令数。我们采用动态规划技术来解决这个完整的背包问题,状态转移方程见式(7):
(7);
三、算力感知补偿器
竞争感知资源分配器通过限制非QoS任务的全局内存带宽使用,消除了由于全局内存带宽争用而导致推理任务的QoS违规。 除了全局内存带宽的争用之外,并发任务还会征用共享内存和L1缓存,争用可能会导致推理任务执行缓慢。为此,利用算力感知补偿器来收集QoS任务的算力使用情况,并调整分配给每个QoS任务的计算资源配额来减轻可能的QoS违规。具体流程如下图2所示,细节解释如下:
算力感知补偿器启动一个定时循环,默认时间间隔为1s。统计QoS任务从上一时间点到当前时间点平均GPU算力资源利用率为,并设置调整阈值TH,默认值为0.9。如果,则表示当前GPU集群的算力资源足以保障当前正在运行的QoS任务的顺利执行,否则需要通过提高QoS任务的计算资源配额来避免QoS违规。假设当前QoS任务算力配额比例为/>,共有K个非QoS任务,非QoS任务算力配额比例总和为/>。调整算力配额公式见式(8):
(8);
式中:TH为调整阈值;为平均GPU算力资源利用率;/>为中间临时值;/>为QoS任务算力配额比例;/>为非QoS任务算力配额比例总和。
表示本次调配的算力资源。GPU算力资源利用率/>越高,则本次调配的算力资源越多,但是最大值不能超过非Qos任务的算力配额比例总和,因此取了一个最小值min。最后采用上述的背包数学模型重新对K个非QoS任务算力重新分配。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块、模组或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元、模组或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。
所述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本发明的方法中限定的上述功能。需要说明的是,本发明上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线段、或半导体的系统、装置或器件,或者任意以上的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (7)
1.一种面向推理任务QoS的GPU实时调度方法,其特征在于,包括以下步骤:
获取推理任务;
将推理任务输入训练完成的任务性能预测模型中,得到预测结果;所述预测结果包括预测执行时间、全局内存带宽和每周期指令数;
用、/>和/>分别表示推理任务的QoS目标、数据传输时间和预测执行时间;
以满足的最小的计算资源,作为推理任务资源分配方案;
通过离散化方法为非QoS任务分配计算资源;
将散优化问题建模为完整的背包问题,以每周期指令数作为物品的价值,以非QoS任务作为物品,背包问题的状态转移公式如下:
;
式中:表示背包内物品数量为i时且背包容量为j时,所有物品价值总和的最大值;m表示第i件物品;/>是第i个物品的价值;
非QoS任务计算资源分配方案的计算公式如下:
;
式中:R为总体可用计算资源;BW为全局内存带宽;为的第i个非QoS任务计算资源;为推理计算资源;n为非QoS任务的资源分配方案总数;/>为第i个非QoS任务的内存带宽使用量;/>为推理任务的内存带宽使用量;
根据推理任务计算资源分配方案和非QoS任务计算资源分配方案,得到最优资源分配方案。
2.根据权利要求1所述的面向推理任务QoS的GPU实时调度方法,其特征在于,所述任务性能预测模型的训练方法具体包括以下步骤:
获取训练数据;所述训练数据包括训练推理任务和训练GPU计算资源配额;
从训练推理任务中提取任务特征;
将任务特征和训练GPU计算资源配额输入任务性能预测模型中进行训练,得到训练完成的任务性能预测模型。
3.根据权利要求2所述的面向推理任务QoS的GPU实时调度方法,其特征在于:
所述任务性能预测模型的回归模型为决策树模型;所述决策树模型的预测误差的计算公式如下:
;
式中,为预测值;/>为实际值;/>为预测误差。
4.根据权利要求3所述的面向推理任务QoS的GPU实时调度方法,其特征在于:
所述任务特征包括手写内核和库调用;
所述手写内核包括内核配置和输入数据大小;
所述库调用包括API。
5.根据权利要求1所述的面向推理任务QoS的GPU实时调度方法,其特征在于,还包括以下步骤:
计算平均GPU算力资源利用率;
根据平均GPU算力资源利用率和调整阈值TH,判断是否存在QoS违规;
若存在QoS违规,则调整推理任务的计算资源和非QoS任务计算资源,并重新调整各个非QoS任务的算力分配。
6.根据权利要求5所述的面向推理任务QoS的GPU实时调度方法,其特征在于,调整推理任务的计算资源和非QoS任务计算资源,计算公式如下:
;
式中:TH为调整阈值;为平均GPU算力资源利用率;/>为中间临时值;/>为QoS任务算力配额比例;/>为非QoS任务算力配额比例总和。
7.一种面向推理任务QoS的GPU实时调度系统,用于实现如权利要求1-6任一所述的面向推理任务QoS的GPU实时调度方法,其特征在于,包括:
获取模块,用于获取推理任务;
任务性能预测模块,用于将推理任务输入训练完成的任务性能预测模型中,得到预测结果;所述预测结果包括预测执行时间、全局内存带宽和每周期指令数;
资源分配模块,用于根据推理任务、预测执行时间、全局内存带宽和每周期指令数进行资源分配,得到最优资源分配方案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311100314.4A CN116820784B (zh) | 2023-08-30 | 2023-08-30 | 一种面向推理任务QoS的GPU实时调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311100314.4A CN116820784B (zh) | 2023-08-30 | 2023-08-30 | 一种面向推理任务QoS的GPU实时调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116820784A CN116820784A (zh) | 2023-09-29 |
CN116820784B true CN116820784B (zh) | 2023-11-07 |
Family
ID=88114903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311100314.4A Active CN116820784B (zh) | 2023-08-30 | 2023-08-30 | 一种面向推理任务QoS的GPU实时调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116820784B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349032B (zh) * | 2023-12-05 | 2024-02-20 | 城云科技(中国)有限公司 | 一种提高大语言模型吞吐量的方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6240066B1 (en) * | 1997-02-11 | 2001-05-29 | Lucent Technologies Inc. | Dynamic bandwidth and buffer management algorithm for multi-service ATM switches |
CN109445565A (zh) * | 2018-11-08 | 2019-03-08 | 北京航空航天大学 | 一种基于流多处理器内核独占和预留的gpu服务质量保障方法 |
CN109947619A (zh) * | 2019-03-05 | 2019-06-28 | 上海交通大学 | 基于服务质量感知提高吞吐量的多资源管理系统及服务器 |
CN112799817A (zh) * | 2021-02-02 | 2021-05-14 | 中国科学院计算技术研究所 | 一种微服务资源调度系统和方法 |
CN114327890A (zh) * | 2021-12-27 | 2022-04-12 | 杭州谐云科技有限公司 | 一种多指标融合的容器配额推荐方法和系统 |
CN115934333A (zh) * | 2022-12-12 | 2023-04-07 | 国网辽宁省电力有限公司信息通信分公司 | 基于历史数据感知的云计算资源调度方法及调度系统 |
CN116048802A (zh) * | 2023-01-16 | 2023-05-02 | 浙江大学 | 训练推理一体深度学习的gpu集群调度方法 |
CN116340006A (zh) * | 2023-05-26 | 2023-06-27 | 江苏网进科技股份有限公司 | 一种基于深度学习的算力资源空闲预测方法和存储介质 |
CN116541176A (zh) * | 2023-05-24 | 2023-08-04 | 中国电信股份有限公司北京研究院 | 算力资源分配的优化方法、优化装置、电子设备和介质 |
CN116566975A (zh) * | 2022-01-26 | 2023-08-08 | 中国移动通信有限公司研究院 | 一种端边协作模型推理方法、装置和相关设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230138987A1 (en) * | 2021-11-04 | 2023-05-04 | International Business Machines Corporation | Efficient machine learning model inference |
-
2023
- 2023-08-30 CN CN202311100314.4A patent/CN116820784B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6240066B1 (en) * | 1997-02-11 | 2001-05-29 | Lucent Technologies Inc. | Dynamic bandwidth and buffer management algorithm for multi-service ATM switches |
CN109445565A (zh) * | 2018-11-08 | 2019-03-08 | 北京航空航天大学 | 一种基于流多处理器内核独占和预留的gpu服务质量保障方法 |
CN109947619A (zh) * | 2019-03-05 | 2019-06-28 | 上海交通大学 | 基于服务质量感知提高吞吐量的多资源管理系统及服务器 |
CN112799817A (zh) * | 2021-02-02 | 2021-05-14 | 中国科学院计算技术研究所 | 一种微服务资源调度系统和方法 |
CN114327890A (zh) * | 2021-12-27 | 2022-04-12 | 杭州谐云科技有限公司 | 一种多指标融合的容器配额推荐方法和系统 |
CN116566975A (zh) * | 2022-01-26 | 2023-08-08 | 中国移动通信有限公司研究院 | 一种端边协作模型推理方法、装置和相关设备 |
CN115934333A (zh) * | 2022-12-12 | 2023-04-07 | 国网辽宁省电力有限公司信息通信分公司 | 基于历史数据感知的云计算资源调度方法及调度系统 |
CN116048802A (zh) * | 2023-01-16 | 2023-05-02 | 浙江大学 | 训练推理一体深度学习的gpu集群调度方法 |
CN116541176A (zh) * | 2023-05-24 | 2023-08-04 | 中国电信股份有限公司北京研究院 | 算力资源分配的优化方法、优化装置、电子设备和介质 |
CN116340006A (zh) * | 2023-05-26 | 2023-06-27 | 江苏网进科技股份有限公司 | 一种基于深度学习的算力资源空闲预测方法和存储介质 |
Non-Patent Citations (2)
Title |
---|
一种IaaS模式"云训练"系统设计;陈志佳;朱元昌;邸彦强;冯少冲;;系统仿真学报(05);全文 * |
基于资源预测的网格资源预留机制研究;童一飞;李东波;;系统仿真学报(02);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116820784A (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Elliott et al. | GPUSync: A framework for real-time GPU management | |
CN103605567B (zh) | 面向实时性需求变化的云计算任务调度方法 | |
CN107038069B (zh) | Hadoop平台下动态标签匹配DLMS调度方法 | |
Grandl et al. | Multi-resource packing for cluster schedulers | |
Zhu et al. | Scheduling stochastic multi-stage jobs to elastic hybrid cloud resources | |
CN110737529A (zh) | 一种面向短时多变大数据作业集群调度自适应性配置方法 | |
Chen et al. | Adaptive multiple-workflow scheduling with task rearrangement | |
CN116820784B (zh) | 一种面向推理任务QoS的GPU实时调度方法及系统 | |
GB2527788A (en) | Scheduling applications in a clustered computer system | |
Kao et al. | Data-locality-aware mapreduce real-time scheduling framework | |
CN113505084B (zh) | 基于访存和性能建模的内存资源动态调控方法及系统 | |
Stavrinides et al. | Cost-effective utilization of complementary cloud resources for the scheduling of real-time workflow applications in a fog environment | |
CN115237586A (zh) | 深度学习推理性能干扰感知的gpu资源配置方法 | |
CN111597044A (zh) | 任务调度方法、装置、存储介质及电子设备 | |
Yang et al. | PK-OMLP: An OMLP based k-exclusion real-time locking protocol for multi-GPU sharing under partitioned scheduling | |
Stavrinides et al. | Orchestrating bag-of-tasks applications with dynamically spawned tasks in a distributed environment | |
Zhao et al. | Performance and cost-aware task scheduling via deep reinforcement learning in cloud environment | |
Ravi et al. | Valuepack: value-based scheduling framework for CPU-GPU clusters | |
CN102184124A (zh) | 任务调度方法及系统 | |
Lim et al. | ODMDEF: on-device multi-DNN execution framework utilizing adaptive layer-allocation on general purpose cores and accelerators | |
Chhabra et al. | Qualitative parametric comparison of load balancing algorithms in parallel and distributed computing environment | |
Shih et al. | Fairness scheduler for virtual machines on heterogonous multi-core platforms | |
Chiang et al. | DynamoML: Dynamic Resource Management Operators for Machine Learning Workloads. | |
Alatawi et al. | Hybrid load balancing approach based on the integration of QoS and power consumption in cloud computing | |
KR101639947B1 (ko) | 하둡 선점 데드라인 제약 스케줄링 방법 및 그 방법을 수행하는 컴퓨터프로그램과, 그 프로그램이 기록된 매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |