CN117369990A - 一种算力资源调度方法及装置、系统、设备、存储介质 - Google Patents
一种算力资源调度方法及装置、系统、设备、存储介质 Download PDFInfo
- Publication number
- CN117369990A CN117369990A CN202311134434.6A CN202311134434A CN117369990A CN 117369990 A CN117369990 A CN 117369990A CN 202311134434 A CN202311134434 A CN 202311134434A CN 117369990 A CN117369990 A CN 117369990A
- Authority
- CN
- China
- Prior art keywords
- container
- quota
- reasoning
- computing power
- recommended
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000015654 memory Effects 0.000 claims abstract description 151
- 238000004364 calculation method Methods 0.000 claims abstract description 54
- 238000007667 floating Methods 0.000 claims abstract description 51
- 238000009530 blood pressure measurement Methods 0.000 claims abstract description 44
- 238000012544 monitoring process Methods 0.000 claims description 16
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 claims description 15
- 238000012790 confirmation Methods 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims 1
- 238000007726 management method Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 23
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008602 contraction Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000013468 resource allocation Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种算力资源调度方法及装置、系统、设备、存储介质,涉及计算机技术领域,解决了目前AI推理容器的算力资源利用率较低,同时再算法启动后算力资源无法改变的问题。该方法包括:获取AI推理容器的推荐运行指标。对推荐运行指标进行压测,确定AI推理容器的推荐算力配额和推荐显存资源配额。获取AI推理容器的实时运行指标。根据实时运行指标和算力弹性浮动范围,确定AI推理容器的实时算力配额和实时显存资源配额。算力弹性浮动范围根据AI推理容器的算力浮动值和算力限制值确定。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种算力资源调度方法及装置、系统、设备、存储介质。
背景技术
GPU虚拟化是指将物理GPU(Graphics Process ing Unit)设备划分为多个虚拟GPU,使多个用户或应用程序能够共享同一台物理GPU,并在虚拟化环境中独立地使用GPU资源。GPU虚拟化的出现主要是为了满足在多租户环境中对GPU资源的高效利用和灵活分配的需求,特别是在云计算和大规模数据处理领域。
现有的AI推理容器在部署前,针对GPU虚拟化算力的配额分配,需要经过一系列压测操作和人工分析监控日志才能最终确定,使用方法较为复杂。同时,AI推理容器在调整容器实例数时,容器的启动和停止依然需要一定时间,开发人员在开发、测试、优化算法的过程中,目前现有技术在算法启动后,其所使用的算力资源无法改变。而且,单实例推理容器的实时GPU使用率很低时,无法再通过降低容器实例数降低其GPU资源分配,所以依然会有一定的算力资源浪费,AI推理容器的算力资源利用率较低。
发明内容
本申请提供了一种算力资源调度方法及装置、系统、设备、存储介质,用于解决目前AI推理容器的算力资源利用率较低,同时再算法启动后算力资源无法改变的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供了一种算力资源调度方法,该方法包括:获取AI推理容器的推荐运行指标。对推荐运行指标进行压测,确定AI推理容器的推荐算力配额和推荐显存资源配额。获取AI推理容器的实时运行指标。根据实时运行指标和算力弹性浮动范围,确定AI推理容器的实时算力配额和实时显存资源配额。算力弹性浮动范围根据AI推理容器的算力浮动值和算力限制值确定。
本申请提供的算力资源调度方法,通过获取AI推理容器的推荐运行指标,进而对推荐运行指标进行压测,可以自动确定AI推理容器的推荐算力配额的推荐显存配额,简化了确定AI推理容器GPU资源配额的流程,提高AI推理容器的部署效率。进一步的,通过获取AI推理容器的实时运行指标,根据实时运行指标以及算力弹性资源配额,确定AI推理容器的实时算力配额和实时显存资源配额,可以实现不调整容器实例数以及不启停容器甚至不影响容器内算法运行的情况下,实现算法使用算力资源自动或手动的扩容缩容。同时,开发人员在开发、测试、优化算法的过程中可以不启停容器,甚至不启停算法的情况下改变算法所使用的GPU算力资源,简化了开发、测试、优化算法流程,提高工作效率,减少时间成本。
一种可能的实现方式,获取AI推理容器的推荐运行指标,包括:为AI推理容器分配算力资源。算力资源多于AI推理容器需求的最大算力资源。监测AI推理容器的运行指标。运行指标包括以下一个或多个:延迟、QoS、QPS、算力消耗和显存资源消耗。利用逐步增加并发数方式对AI推理容器进行压测,确定推荐运行指标。推荐运行指标包括以下一个或多个:满足QoS要求的最大延迟、最小QPS的延迟、最优QPS、最优并发数、算力消耗和显存资源消耗。
一种可能的实现方式,对推荐运行指标进行压测,确定AI推理容器的推荐算力配额和推荐显存资源配额,包括:将算力消耗设置为AI推理容器的算力配额,将显存资源消耗设置为AI推理容器的显存配额。将最优并发数设置为AI推理容器的并发数。对AI推理容器进行压测,确定AI推理容器的第一运行指标。第一运行指标包括以下一个或多个:第一延迟、第一QPS。若第一延迟与最大延迟的差值小于或等于第一门限值且第一QPS与最优QPS的差值小于或等于第二门限值,确定算力配额为推荐算力配额、显存资源配额为推荐显存资源配额。
一种可能的实现方式,本申请提供的算力资源调度方法,还包括:若第一延迟与最大延迟的差值大于第一门限值或第一QPS与最优QPS的差值大于第二门限值,按照预设的算力资源步长递增配置算力资源配额和显存资源配额。若第一延迟与最大延迟的差值小于或等于第一门限值,确定算力配额为推荐算力配额、显存资源配额为推荐显存资源配额。
一种可能的实现方式,实时运行指标包括:实时延迟。根据实时运行指标和算力弹性浮动范围,确定AI推理容器的实时算力配额和实时显存资源配额,包括:若实时延迟大于AI推理容器的最大延迟,根据算力弹性浮动范围提高推荐算力配额,确定实时算力配额。根据算力弹性浮动范围提高推荐显存资源配额,确定实时显存资源配额。
第二方面,本申请实施例还提供了一种算力资源调度装置,包括:获取模块、确定模块。
其中,获取模块,用于获取AI推理容器的推荐运行指标。
确定模块,用于对推荐运行指标进行压测,确定AI推理容器的推荐算力配额和推荐显存资源配额。
获取模块,还用于获取AI推理容器的实时运行指标。
确定模块,还用于根据实时运行指标和算力弹性浮动范围,确定AI推理容器的实时算力配额和实时显存资源配额。算力弹性浮动范围根据AI推理容器的算力浮动值和算力限制值确定。
一种可能的实现方式,本申请提供的算力资源调度装置还包括:
分配模块,用于为AI推理容器分配算力资源。算力资源多于AI推理容器需求的最大算力资源。
监测模块,用于监测AI推理容器的运行指标。运行指标包括以下一个或多个:延迟、QoS、QPS、算力消耗和显存资源消耗。
确定模块,还用于利用逐步增加并发数方式对AI推理容器进行压测,确定推荐运行指标。推荐运行指标包括以下一个或多个:满足QoS要求的最大延迟、最小QPS的延迟、最优QPS、最优并发数、算力消耗和显存资源消耗。
一种可能的实现方式,本申请提供的算力资源调度装置,还包括:
设置模块,用于将算力消耗设置为AI推理容器的算力配额,将显存资源消耗设置为AI推理容器的显存配额。将最优并发数设置为AI推理容器的并发数。
确定模块,具体用于对AI推理容器进行压测,确定AI推理容器的第一运行指标。第一运行指标包括以下一个或多个:第一延迟、第一QPS。若第一延迟与最大延迟的差值小于或等于第一门限值且第一QPS与最优QPS的差值小于或等于第二门限值,确定算力配额为推荐算力配额、显存资源配额为推荐显存资源配额。
一种可能的实现方式,本申请提供的算力资源调度装置,还包括:
配置模块,用于若第一延迟与最大延迟的差值大于第一门限值或第一QPS与最优QPS的差值大于第二门限值,按照预设的算力资源步长递增配置算力资源配额和显存资源配额。
确定模块,还用于若第一延迟与最大延迟的差值小于或等于第一门限值,确定算力配额为推荐算力配额、显存资源配额为推荐显存资源配额。
一种可能的实现方式,实时运行指标包括:实时延迟。本申请提供的算力资源调度装置,还包括:
确定模块,具体用于若实时延迟大于AI推理容器的最大延迟,根据算力弹性浮动范围提高推荐算力配额,确定实时算力配额。根据算力弹性浮动范围提高推荐显存资源配额,确定实时显存资源配额。
第三方面,本申请实施例提供了一种GPU资源调度系统,包括:GPU资源配额确认模块、GPU资源调整模块、检测模块、GPU资源管理模块。GPU资源配额确认模块与GPU资源调整模块连接。GPU资源配额确认模块与检测模块连接。GPU资源配额确认模块与GPU资源管理模块。GPU资源调整模块与检测模块连接。检测模块与GPU资源配额确认模块连接。
GPU资源配额确认模块,用于获取AI推理容器的推荐运行指标。对推荐运行指标进行压测,确定AI推理容器的推荐算力配额和推荐显存资源配额。
GPU资源调整模块,用于根据推荐算力配额和推荐显存资源配额,确定CUDA分配。
监测模块,用于获取AI推理容器的实时运行指标。
GPU资源管理模块,用于根据实时运行指标和算力弹性浮动范围,确定AI推理容器的实时算力配额和实时显存资源配额。
第四方面,本申请提供了一种算力资源调度设备,该算力资源调度设备具有实现上述第一方面或第二方面的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第五方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第一方面或第一方面中任一种可能的实现方式或第二方面或第二方面中任一种可能的实现方式的算力资源调度方法。
其中,第二方面至第五方面中任一种设计方式所带来的技术效果可参见第一方面及其各种实现方式中不同设计方式所带来的技术效果,此处不再赘述。
本申请中第二方面到第五方面及其各种实现方式的具体描述,可以参考第一方面及其各种实现方式中的详细描述;并且,第二方面到第五方面及其各种实现方式的有益效果,可以参考第一方面及其各种实现方式中的有益效果分析,此处不再赘述。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种算力资源调度系统的一个结构示意图;
图2为本申请实施例提供的一种算力资源调度系统的一个具体示例图;
图3为本申请实施例提供的一种算力资源调度系统的另一个具体示例图;
图4为本申请实施例提供的一种算力资源调度方法的一个流程示意图;
图5为本申请实施例提供的一种算力资源调系统的再一个具体示意图;
图6为本申请实施例提供的一种算力资源调度装置的一个结构示意图;
图7为本申请实施例提供的一种算力资源调度装置的另一个结构示意图;
图8为本申请实施例提供的一种算力资源调度设备的一个结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。并且,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。同时,在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
此外,本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
为了便于理解,先对本申请涉及的相关技术术语进行解释。
AI推理容器,是一种用于AI推理的便携式软件单元,可将AI推理应用及其所有依赖项合并为一个软件包,该软件包不受底层主机操作系统限制。这样无需再构建复杂的环境,并简化了应用开发到部署的过程。
服务质量(QoS,qual ity of service)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。QoS的保证对于容量有限的网络来说是十分重要的,特别是对于流多媒体应用,例如VoIP和IPTV等,因为这些应用常常需要固定的传输率,对延时也比较敏感。
每秒查询率(QPS,query per second),是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。QPS=请求数/秒=req/sec,即每秒的响应请求数,也即是最大吞吐能力。
并发数,是指同时访问服务器站点的连接数。
目前,现有的AI推理容器在部署前,针对GPU虚拟化算力的配额分配,需要经过一系列压测操作和人工分析监控日志才能最终确定,使用方法较为复杂。同时,AI推理容器在调整容器实例数时,容器的启动和停止依然需要一定时间,开发人员在开发、测试、优化算法的过程中,目前现有技术在算法启动后,其所使用的算力资源无法改变。而且,单实例推理容器的实时GPU使用率很低时,无法再通过降低容器实例数降低其GPU资源分配,所以依然会有一定的算力资源浪费,AI推理容器的算力资源利用率较低。
基于此,本申请提供了一种算力资源调度方法及装置、系统、设备、存储介质,该方法包括:获取AI推理容器的推荐运行指标。对推荐运行指标进行压测,确定AI推理容器的推荐算力配额和推荐显存资源配额。获取AI推理容器的实时运行指标。根据实时运行指标和算力弹性浮动范围,确定AI推理容器的实时算力配额和实时显存资源配额。算力弹性浮动范围根据AI推理容器的算力浮动值和算力限制值确定。
本申请通过获取AI推理容器的推荐运行指标,进而根据推荐运行指标,确定AI推理容器的推荐算力配额和推荐显存配额,简化了确定AI推理容器的资源配额流程,提高了AI推理容器的部署效率。同时本申请通过获取AI推理容器的实时运行指标,根据实时运行指标以及算力弹性浮动范围,可以确定AI推理容器的实时算力配额和实时显存资源配额,可以在不启停AI推理容器甚至不影响AI推理容器内部算法运行的情况下,实现算法适应算力资源自动的扩容缩容,简化了开发人员开发、测试、优化算法流程,提高AI推理容器的工作效率,减少时间成本。
下面将结合附图对本申请实施例的实施方式进行详细描述。
一方面,本申请提供的方案可以应用于图1示意的算力资源调度系统100中,该系统包括:GPU资源配额确认模块101、GPU资源调整模块102、检测模块103、GPU资源管理模块104。
其中,GPU资源配额确认模块101与GPU资源调整模块102连接。GPU资源配额确认模块101与检测模块103连接。GPU资源配额确认模块101与GPU资源管理模块104。GPU资源调整模块102与检测模块103连接。检测模块103与GPU资源配额确认模块101连接。
其中,GPU资源配额确认模块101,用于获取AI推理容器的推荐运行指标。对推荐运行指标进行压测,确定AI推理容器的推荐算力配额和推荐显存资源配额。
示例性的,GPU资源配额确认模块101,用于预先分配充足的GPU资源给AI推理容器,进而对AI推理容器进行压测,在不同并发和数据集场景下进行AI推理请求,同时监测AI推理容器的实时运行指标。AI推理容器的实时运行指标可以包括AI推理容器的延迟、QoS、QPS、算力消耗和显存资源消耗。
GPU资源配额确认模块101再通过逐步增加并发数的方式对AI推理容器进行压测,得到AI推理容器的满足QoS要求的最大延迟和最小QPS的条件下的推荐算力配额和推荐显存资源配额。
进一步的,GPU资源配额确认模块101将算力消耗设置为AI推理容器的算力配额,将显存资源消耗设置为AI推理容器的显存资源配额,指定并发数为推荐运行指标中的并发数,对AI推理容器进行压测,得到推荐运行指标下的AI推理容器的第一延迟和第一QPS。若第一延迟与最大延迟的差值小于或等于5%,且第一QPS与第一QPS的差值小于或等于5%,确定该算力配额为AI推理容器的推荐算力配额、该显卡资源配额为AI推理容器的推荐显卡资源配额。
最后,GPU资源配额确认模块101将推荐算力配额和推荐显卡资源配额通过API请求GPU资源管理模块104,修改分配了GPU资源调整模块102的容器的算力资源限制值。
GPU资源调整模块102,用于根据推荐算力配额和推荐显存资源配额,确定CUDA分配。
示例性的,GPU资源调整模块102中部署了AI推理算法容器自定义CUDA封装库,深度学习框架通过与CUDA交互,将计算任务分配至GPU进行并行计算。算法在运行时,利用LD_LIBRARY_PATH机制拦截官方CUDA库重定向至自定义CUDA封装库,以限制当前AI推理容器内进程对GPU算力资源和显存资源的使用。
其中,限制进程对GPU算力资源和显存资源的使用可以为通过启动线程监控GPPU利用率,并对实时GPU利用率和算力资源限制值进行比较。若实时GPU利用率高于算力资源限制值,GPU资源调整模块102减少该进程的CUDA核心,从而降低该进程对GPU算力资源的使用。若实时GPU利用率低于算力资源限制值,GPU资源调整模块102增加该进程的CUDA核心数,从而增加该进程对GPU算力资源的使用。
例如,可以通过CUDA劫持显存申请接口,周期性比较实时GPU利用率和算力资源限制值,进而调整CUDA核心的分配。
检测模块103,用于获取AI推理容器的实时运行指标。
示例性的,检测模块103,用于检测AI推理容器在业务场景下的实时运行指标。例如,实时运行指标可以为AI推理容器的CPU的算力消耗、内存的算力消耗、GPU的算力消耗、GPU的显存资源消耗、AI推理容器的最大延迟以及AI图例容器的QPS中的一个或多个。
GPU资源管理模块104,用于根据实时运行指标和算力弹性浮动范围,确定AI推理容器的实时算力配额和实时显存资源配额。
示例性的,GPU资源管理模块104可以运行在宿主机上,负责管理和分发AI推理容器的GPU资源配额和监控被分配了GPU资源调整模块101的AI推理容器。同时,GPU资源管理模块101还会维护一个被分配了GPU资源配额且存活的AI推理容器的清单,并且周期性的检查清单上的AI推理容器是否存活。若AI推理容器退出,GPU资源管理模块101会从清单中移除该AI推理容器的信息。同时,GPU资源管理模块104根据配置的算力浮动值和AI推理容器算力限制值计算算力弹性浮动范围。
进一步的,GPU资源管理模块104比对实时运行指标和算力弹性浮动范围,在保证QoS的条件下,确定AI推理容器的实时算力配额和实时显存资源配额。
其中,GPU资源管理模块104和GPU资源调整模块102通过grpc进行通信,通过修改GPU资源调整模块102的AI推理容器的算力资源限制值,GPU资源调整模块102周期性比较实时GPU利用率和算力资源你限制值,调整CUDA核心的分配,从而控制算法进程的一段时间内的算力资源平均消耗值为算力资源限制值,以实现AI推理容器可以使用算力资源自动扩容和缩容。
GPU资源管理模块104还通过提供手动的方式来调整算力限制值和显存资源限制值,提供API接口,允许管理员或用户手动降低或增加分配了GPU资源调整模块102的AI推理容器算力限制值和显存资源限制值。在算法任务运行过程中,GPU资源管理模块104和AI推理容器内的GPU资源调整模块102通过grpc进行通信,GPU资源调整模块102周期性比较实时GPU利用率和算力资源限制值,调整CUDA核心的分配,从而控制算法进程的一段时间内的算力资源平均消耗值为算力资源限制值从而使得修改算力资源限制值可实时生效,而修改显存资源限制值需要算法停止重新启动后生效。这样,用户可以根据实际需求来进行灵活的扩容和缩容操作。
进一步的,如图2所示,图2为本申请提供的算力资源调度系统的一个具体示例图。
其中,GPU资源配额确认模块接收配置的QoS要求(在保证用户正常使用情况下的最小QPS和最大延迟)、并发数(压测并发步长)、算力消耗和显存资源消耗(压测GPU资源步长)。例如,QoS要求可以为:最小QoS为10#/sec、最大延迟为3s。
通过预先分配充足的GPU资源给AI推理容器,向AI推理容器发送AI推理请求,并以1个并发数为起点采用线性增长的方式对AI推理容器进行业务压测,同时检测容器响应AI推理请求的延迟,直至检测到的延迟超过QoS要求的最大延迟的10%,停止压测,得到推荐运行指标,该推荐运行指标包括当满足QoS要求的最大延迟和最小QPS条件时的延迟、QPS、并发数、GPU算力消耗和GPU显存资源消耗。
例如,上述压测结束后得到推荐运行指标:并发数为40,QPS为10.5#/sec、延迟为3.2s。GPU算力消耗为35%,GPU显存资源消耗为2048MB。
之后,通过API请求GPU资源管理模块,设置推理容器的GPU资源配额,配置推理容器的算力配额为35%,显存配额为2048MB。在并发数为40和不同数据集场景下进行AI推理请求,获取运行指标并与推荐运行指标对比查看两者的延迟和QPS是否有超过5%的差值,若没有则自动确定容器的算力配额为35%,显存配额为2048MB;若有则以配置的压测GPU资源步长进行递增,通过API请求GPU资源管理模块,修改分配了GPU资源调整模块的容器的算力资源限制值。同时检测容器响应请求的延迟,直至检测到的延迟超过推荐运行指标延迟的5%,停止压测,此时的算力配额和显存配额自动确定容器的GPU资源配额例如,GPU算力配额为40%,GPU显存配额为3072MB。
再进一步的,如图3所示,图3为本申请提供的算力资源调度系统的另一个具体示例图。
GPU资源管理模块接收配置的QoS要求、算力浮动值,预设的算力弹性浮动范围由配置的算力浮动值和容器算力限制值计算而得,例如上述步骤确定容器的算力配额为40%,配置的算力浮动值为10%,算力弹性浮动范围上限为40%。算力弹性浮动范围下限为40%-10%=30%。
在一段时间内,当实时GPU使用率高于等于算力弹性浮动范围上限(40%),且实时检测到的延迟大于预设的QoS要求的最大延迟时,则表明基于现有算力配额下的容器业务压力较大,可能容器的调用处于高峰期,那么,自动决策实时调整容器的算力资源限制值以实现容器可以使用的GPU算力资源的自动扩容。例如,最初经上述步骤确定容器的算力配额为40%,当该容器处在请求高峰期时,若实时GPU使用率高于等于40%且延迟大于预设的QoS要求的最大延迟,此时容器的业务压力较大,GPU资源管理模块和容器内的GPU资源调整模块通过grpc进行通信,将容器配置的算力限制值大小增加至40%+10%=50%,GPU资源调整模块周期性比较实时GPU利用率和算力资源限制值,调整CUDA核心的分配,从而控制算法进程的一段时间内的算力资源平均消耗值为算力资源限制值从而使得修改算力资源限制值可实时生效,以提高容器的业务处理能力。
当实时GPU使用率低于算力弹性浮动范围下限(30%),且QPS低于历史均值时,则表明目前容器的调用处于低谷期,那么,自动决策将容器配置的算力限制值大小减小至40%-10%=30%,以节约GPU资源。
需要说明的是,上述图1或图2或图3示意的算力资源调度系统100,仅为对本申请方案的应用场景的举例说明,并不是对本申请方案应用场景的限定。
另一方面,本申请提供了一种算力资源调度方法,可以应用于上述的算力资源调度系统。如图4所示,本申请公开的算力资源调度方法可以包括以下步骤:
S401,获取AI推理容器的推荐运行指标。
具体的,为AI推理容器分配算力资源。算力资源多于AI推理容器需求的最大算力资源。监测AI推理容器的运行指标。运行指标包括以下一个或多个:延迟、Qos、QPS、算力消耗和显存资源消耗。利用逐步增加并发数方式对AI推理容器进行压测,确定推荐运行指标。推荐运行指标包括以下一个或多个:满足QoS要求的最大延迟、最小QPS的延迟、最优QPS、最优并发数、算力消耗和显存资源消耗。
示例性的,预先为AI推理容器分配充足的算力资源。例如,预先为AI推理容器分配一个或多个完整的GPU卡资源,以确保压测过程中给GPU算力资源充足。
进而,在不同并发和数据集场景下进行AI推理请求,同时监测AI推理容器的延迟、QPS、GPU算力消耗和显存资源消耗。再通过逐步增加并发数的方式对AI推理容器进行压测,确定满足QoS要求的最大延迟以及最小QPS条件下的延迟、最优QPS、最优并发数、算力消耗和显存资源消耗。
例如,设置QoS要求为最小QoS为10#/sec,最大延迟为3s。以1个并发数为起点对AI推理容器进行压测,以配置的压测并发步长逐步增加并发数,同时监测AI推理容器响应AI推理请求的延迟,直至监测到延迟超过QoS要求的最大延迟的10%,停止压测,此时得到AI推理容器的推荐运行指标:推荐并发数为40,QPS为10.5#/sec、延迟为3.2s。此时GPU的算力消耗为35%,GPU的显存资源消耗为2048MB。
S402,对推荐运行指标进行压测,确定AI推理容器的推荐算力配额和推荐显存资源配额。
具体的,将算力消耗设置为AI推理容器的算力配额,将显存资源消耗设置为AI推理容器的显存资源配额。将最优并发数设置为AI推理容器的并发数。对AI推理容器进行压测,确定AI推理容器的第一运行指标。第一运行指标包括以下一个或多个:第一延迟、第一QPS。若第一延迟与最大延迟的差值小于或等于第一门限值且第一QPS与最优QPS的差值小于或等于第二门限值,确定算力配额为推荐算力配额、显存资源配额为推荐显存资源配额。
示例性的,将算力消耗设置为AI推理容器的算力配额,将显存资源消耗配置为AI推理容器的显存资源配额。同时,指定AI推理容器的并发数为最优并发数,压测比较实时运行指标与推荐运行指标。若实时运行指标与推荐运行指标的差值小于或等于5%,确定此时的算力消耗为AI推理容器的推荐算力配额,此时的显存资源配额为AI推理容器的推荐显存资源配额。
例如,将算力消耗35%设置为AI推理容器的算力配额,将2048MB的显存资源消耗设置为AI推理容器的推荐显存资源配额。在并发数为40和不同数据集场景下进行AI推理容器,对AI推理容器进行压测,确定AI推理容器的第一运行指标,包括第一延迟和第一QPS。比对第一运行指标和推荐运行指标。若第一延迟和最大延迟的差值小于或等于5%,同时第一QPS和最优QPS的差值小于或等于5%,确定此时的算力配额为AI推理容器的推荐算力配额,此时的显存资源配额为AI推理容器的推荐显存资源配额。
进一步的,若第一延迟与最大延迟的差值大于第一门限值或第一QPS与最优QPS的差值大于第二门限值,按照预设的算力资源步长递增配置算力资源配额和显存资源配额。若第一延迟与最大延迟的差值小于或等于第一门限值,确定算力配额为推荐算力配额、显存资源配额为推荐显存资源配额。
示例性的,若实时运行指标与推荐运行指标的差值大于5%,按照设定的GPU资源步长递增配额,指定并发数为推荐并发数,压测并检测AI推理容器的实时延迟,直至超过推荐运行指标的延迟的5%,确定此时的算力配额为AI推理容器的推荐算力配额,此时的显存资源配额为AI推理容器的推荐显存资源配额。
例如,若第一延迟和最大延迟的差值大于5%或者第一QPS与最优QPS的差值大于5%,按照预设的算力资源步长递增配置算力配额和显存资源配额,同时监测AI推理容器响应AI推理请求的延迟,直至监测到的延迟超过最大延迟的5%,停止压测,此时的算力配额为AI推理容器的推荐算力配额,此时的显存资源配额为AI推理容器的推荐显存资源配额。例如,GPU推荐算力配额为40%,GPU推荐显存资源配为3072MB。
S403,获取AI推理容器的实时运行指标。
示例性的,检测AI推理容器在实际业务场景下的实时运行指标。
例如,检测AI推理容器在实际业务场景下的实时运行指标。由于当容器无法应对突发流量时,会出现QPS增加、延迟增大、CPU和GPU算力消耗上升等现象。当容器接受请求过低时,会出现QPS减少、延迟降低、CPU和GPU算力消耗下降等现象。从AI推理业务的QoS要求角度出发,在保证服务质量的条件下,确定分配的算力配额是否够用。可以检测AI推理容器的CPU消耗、内存消耗、GPU资源消耗、AI推理容器的最大延迟以及QPS等。
S404,根据实时运行指标和算力弹性浮动范围,确定AI推理容器的实时算力配额和实时显存资源配额。
其中,算力弹性浮动范围根据AI推理容器的算力浮动值和算力限制值确定。实时运行指标包括:实时延迟。
具体的,若实时延迟大于AI推理容器的最大延迟,根据算力弹性浮动范围提高推荐算力配额,确定实时算力配额。根据算力弹性浮动范围提高推荐显存资源配额,确定实时显存资源配额。
示例性的,根据实时运行指标和算力弹性浮动范围(算力弹性浮动范围由配置的算力浮动值和容器算力限制值计算而得),在不启停容器和算法的情况下实时自动调整容器可以使用的GPU算力资源。即,在容器的实际运行场景下,可以自动调整容器的算力资源限制值,以实现容器可以使用算力资源自动扩容或缩容,从而能够根据AI推理业务的峰谷效应,自动弹性调整容器内算法所能使用的GPU算力资源,极大的提高了GPU算力的利用率。
例如,AI推理容器的算力配额为40%,配置的算力浮动值为10%,算力弹性浮动范围上限为40%。算力弹性浮动范围下限为40%-10%=30%。在一段时间内,当实时GPU使用率高于等于算力弹性浮动范围上限(40%),且实时检测到的延迟大于预设的QoS要求的最大延迟时,则表明基于现有算力配额下的容器业务压力较大,可能容器的调用处于高峰期,那么,自动决策实时调整容器的算力资源限制值以实现容器可以使用的GPU算力资源的自动扩容。例如,AI推理容器的算力配额为40%,当该容器处在请求高峰期时,若实时GPU使用率高于等于40%且延迟大于预设的QoS要求的最大延迟,此时容器的业务压力较大,将容器配置的算力限制值大小增加至40%+10%=50%,以提高容器的业务处理能力。当实时GPU使用率低于算力弹性浮动范围下限(30%),且QPS低于历史均值时,则表明目前容器的调用处于低谷期,那么,自动决策将容器配置的算力限制值大小减小至40%-10%=30%,以节约GPU资源。
进一步的,如图5所示,图5为本申请实施例提供的一种算力资源调度系统的再一个具体示意图。管理员向算力资源调度系统的GPU资源管理模块输入AI推理容器的GPU算力限制值,GPU资源管理模块在接收到GPU算力限制值之后,修改AI推理容器的可使用GPU算力资源限制值。进而,为AI推理容器初始分配30%的算力资源。AI推理容器运行一段时间后,实时GPU使用率高于30%,拥有管理权限的用户可以通过API请求GPU资源管理模块修改AI推理容器的算力资源限制值为60%。在AI推理任务运行过程中,GPU资源管理模块和容器内的GPU资源调整模块通过grpc进行通信,GPU资源调整模块周期性比较实时GPU利用率和算力资源限制值,调整CUDA核心的分配,从而控制AI推理算法进行的一段时间内的算力资源平均消耗值为算力资源限制值,以使修改的算力资源限制值可以实时生效,进而达到不终端AI推理算法运行的同时,缩短训练时间、节省GPU资源。
与此同时,拥有权限的开发人员在开发、测试、优化算法的过程中,可以通过不启停容器,甚至不启停算法的情况下改变算法所使用的GPU算力资源,简化了开发、测试、优化算法的流程,提高AI推理容器的推理效率,减少时间成本。
本申请提供的算力资源调度方法,通过获取AI推理容器的推荐运行指标,进而对推荐运行指标进行压测,可以自动确定AI推理容器的推荐算力配额的推荐显存配额,简化了确定AI推理容器GPU资源配额的流程,提高AI推理容器的部署效率。进一步的,通过获取AI推理容器的实时运行指标,根据实时运行指标以及算力弹性资源配额,确定AI推理容器的实时算力配额和实时显存资源配额,可以实现不调整容器实例数以及不启停容器甚至不影响容器内算法运行的情况下,实现算法使用算力资源自动或手动的扩容缩容。同时,开发人员在开发、测试、优化算法的过程中可以不启停容器,甚至不启停算法的情况下改变算法所使用的GPU算力资源,简化了开发、测试、优化算法流程,提高工作效率,减少时间成本。
上述主要从设备的工作原理的角度对本申请实施例提供的方案进行了介绍。可以理解的是,计算设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对计算设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图6示出了上述实施例中涉及的一种算力资源调度装置的一种可能的组成示意图。如图6所示,该算力资源调度装置600可以包括:获取模块601、确定模块602。
其中,获取模块601,用于支持算力资源调度装置600执行图4所示的算力资源调度方法的S401或S403。
确定模块602,用于支持算力资源调度装置600执行图4所示的算力资源调度方法的S402或S404。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本申请实施例提供的算力资源调度装置600,用于执行上述算力资源调度方法,因此可以达到与上述算力资源调度方法相同的效果。
在采用对应各个功能划分各个功能模块的情况下,图7示出了上述实施例中涉及的一种算力资源调度装置的另一种可能的组成示意图。如图7所示,该算力资源调度装置600可以包括:分配模块603、监测模块604、设置模块605以及配置模块606。
其中,分配模块603,用于支持算力资源调度装置600执行本申请提供的算力资源调度方法中为AI推理容器分配算力资源的步骤。
监测模块604,用于支持算力资源调度装置600执行本申请提供的算力资源调度方法中为监测AI推理容器的运行指标的步骤。
设置模块605,用于支持算力资源调度装置600执行本申请提供的算力资源调度方法的将算力消耗设置为AI推理容器的算力配额以及将显存资源消耗设置为AI推理容器的显存配额的步骤。
配额模块606,用于支持算力资源调度装置600执行本申请提供的算力资源调度方法的按照预设的算力资源步长递增配置算力资源配额和显存资源配额的步骤。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本申请实施例提供的算力资源调度装置600,用于执行上述算力资源调度方法,因此可以达到与上述算力资源调度方法相同的效果。
另一方面,本申请实施例还提供了一种算力资源调度设备,如图8所示,该算力资源调度设备800可以包括存储器801、处理器802以及收发器803,其中存储器801和处理器802之间可以通过总线或网络或其他方式连接,图8中以通过总线连接为例。
处理器802可以为中央处理器(central process ing unit,CPU)。处理器802还可以为其他通用处理器、数字算力资源调度器(digi tal s ignal processor,DSP)、专用集成电路(appl ication specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
处理器802用于执行本申请提供的算力资源调度方法。
存储器801可以是易失性存储器(volati le memory),例如随机存取存储器(random-access memory,RAM);或者非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者上述种类的存储器的组合,用于存储可实现本申请方法的应用程序代码、配置文件、数据信息或者其他内容。
存储器801作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块。处理器802通过运行存储在存储器801中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理。
存储器801可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器802所创建的数据等。此外,存储器801可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器801可选包括相对于处理器802远程设置的存储器,这些远程存储器可以通过网络连接至处理器802。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器801用于存储可实现本申请方法的运行指标。
收发器803用于算力资源调度设备800与其他设备的信息交互。
所述一个或者多个模块存储在所述存储器801中,当被所述处理器802执行时,执行如图4所示实施例中的算力资源调度方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有指令,该指令被执行时执行上述方法实施例中的算力资源调度方法和相关步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种算力资源调度方法,其特征在于,包括:
获取AI推理容器的推荐运行指标;
对所述推荐运行指标进行压测,确定所述AI推理容器的推荐算力配额和推荐显存资源配额;
获取所述AI推理容器的实时运行指标;
根据所述实时运行指标和算力弹性浮动范围,确定所述AI推理容器的实时算力配额和实时显存资源配额;所述算力弹性浮动范围根据所述AI推理容器的算力浮动值和算力限制值确定。
2.根据权利要求1所述的方法,其特征在于,所述获取AI推理容器的推荐运行指标,包括:
为所述AI推理容器分配算力资源;所述算力资源多于所述AI推理容器需求的最大算力资源;
监测所述AI推理容器的运行指标;所述运行指标包括以下一个或多个:延迟、QoS、QPS、算力消耗和显存资源消耗;
利用逐步增加并发数方式对所述AI推理容器进行压测,确定所述推荐运行指标;所述推荐运行指标包括以下一个或多个:满足QoS要求的最大延迟、最小QPS的延迟、最优QPS、最优并发数、算力消耗和显存资源消耗。
3.根据权利要求1或2所述的方法,其特征在于,所述对所述推荐运行指标进行压测,确定所述AI推理容器的推荐算力配额和推荐显存资源配额,包括:
将所述算力消耗设置为所述AI推理容器的算力配额,将所述显存资源消耗设置为所述AI推理容器的显存配额;
将所述最优并发数设置为所述AI推理容器的并发数;
对所述AI推理容器进行压测,确定所述AI推理容器的第一运行指标;所述第一运行指标包括以下一个或多个:第一延迟、第一QPS;
若所述第一延迟与所述最大延迟的差值小于或等于第一门限值且所述第一QPS与所述最优QPS的差值小于或等于第二门限值,确定所述算力配额为所述推荐算力配额、所述显存资源配额为所述推荐显存资源配额。
4.根据权利要求3所述的方法,其特征在于,所述方法,还包括:
若所述第一延迟与所述最大延迟的差值大于所述第一门限值或所述第一QPS与所述最优QPS的差值大于所述第二门限值,按照预设的算力资源步长递增配置所述算力资源配额和所述显存资源配额;
若所述第一延迟与所述最大延迟的差值小于或等于所述第一门限值,确定所述算力配额为所述推荐算力配额、所述显存资源配额为所述推荐显存资源配额。
5.根据权利要求1所述的方法,其特征在于,所述实时运行指标包括:实时延迟;所述根据所述实时运行指标和算力弹性浮动范围,确定所述AI推理容器的实时算力配额和实时显存资源配额,包括:
若所述实时延迟大于所述AI推理容器的最大延迟,
根据所述算力弹性浮动范围提高所述推荐算力配额,确定所述实时算力配额;
根据所述算力弹性浮动范围提高所述推荐显存资源配额,确定所述实时显存资源配额。
6.一种算力资源调度装置,其特征在于,包括:
获取模块,用于获取AI推理容器的推荐运行指标;
确定模块,用于对所述推荐运行指标进行压测,确定所述AI推理容器的推荐算力配额和推荐显存资源配额;
所述获取模块,还用于获取所述AI推理容器的实时运行指标;
所述确定模块,还用于根据所述实时运行指标和算力弹性浮动范围,确定所述AI推理容器的实时算力配额和实时显存资源配额;所述算力弹性浮动范围根据所述AI推理容器的算力浮动值和算力限制值确定。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
分配模块,用于为所述AI推理容器分配算力资源;所述算力资源多于所述AI推理容器需求的最大算力资源;
监测模块,用于监测所述AI推理容器的运行指标;所述运行指标包括以下一个或多个:延迟、QoS、QPS、算力消耗和显存资源消耗;
所述确定模块,还用于利用逐步增加并发数方式对所述AI推理容器进行压测,确定所述推荐运行指标;所述推荐运行指标包括以下一个或多个:满足QoS要求的最大延迟、最小QPS的延迟、最优QPS、最优并发数、算力消耗和显存资源消耗。
8.根据权利要求6或7所述的装置,其特征在于,所述装置,还包括:
设置模块,用于将所述算力消耗设置为所述AI推理容器的算力配额,将所述显存资源消耗设置为所述AI推理容器的显存配额;将所述最优并发数设置为所述AI推理容器的并发数;
所述确定模块,具体用于对所述AI推理容器进行压测,确定所述AI推理容器的第一运行指标;所述第一运行指标包括以下一个或多个:第一延迟、第一QPS;若所述第一延迟与所述最大延迟的差值小于或等于第一门限值且所述第一QPS与所述最优QPS的差值小于或等于第二门限值,确定所述算力配额为所述推荐算力配额、所述显存资源配额为所述推荐显存资源配额。
9.根据权利要求8所述的装置,其特征在于,所述装置,还包括:
配置模块,用于若所述第一延迟与所述最大延迟的差值大于所述第一门限值或所述第一QPS与所述最优QPS的差值大于所述第二门限值,按照预设的算力资源步长递增配置所述算力资源配额和所述显存资源配额;
所述确定模块,还用于若所述第一延迟与所述最大延迟的差值小于或等于所述第一门限值,确定所述算力配额为所述推荐算力配额、所述显存资源配额为所述推荐显存资源配额。
10.根据权利要求6所述的装置,其特征在于,所述实时运行指标包括:实时延迟;
所述确定模块,具体用于若所述实时延迟大于所述AI推理容器的最大延迟,根据所述算力弹性浮动范围提高所述推荐算力配额,确定所述实时算力配额;根据所述算力弹性浮动范围提高所述推荐显存资源配额,确定所述实时显存资源配额。
11.一种GPU资源调度系统,其特征在于,包括:GPU资源配额确认模块、GPU资源调整模块、检测模块、GPU资源管理模块;所述GPU资源配额确认模块与所述GPU资源调整模块连接;所述GPU资源配额确认模块与所述检测模块连接;所述GPU资源配额确认模块与所述GPU资源管理模块;所述GPU资源调整模块与所述检测模块连接;所述检测模块与所述GPU资源配额确认模块连接;
所述GPU资源配额确认模块,用于获取AI推理容器的推荐运行指标;对所述推荐运行指标进行压测,确定所述AI推理容器的推荐算力配额和推荐显存资源配额;
所述GPU资源调整模块,用于根据所述推荐算力配额和所述推荐显存资源配额,确定CUDA分配;
所述监测模块,用于获取所述AI推理容器的实时运行指标;
所述GPU资源管理模块,用于根据所述实时运行指标和算力弹性浮动范围,确定所述AI推理容器的实时算力配额和实时显存资源配额。
12.一种算力资源调度设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-5中任一项所述的算力资源调度方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的算力资源调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311134434.6A CN117369990A (zh) | 2023-09-04 | 2023-09-04 | 一种算力资源调度方法及装置、系统、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311134434.6A CN117369990A (zh) | 2023-09-04 | 2023-09-04 | 一种算力资源调度方法及装置、系统、设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117369990A true CN117369990A (zh) | 2024-01-09 |
Family
ID=89401139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311134434.6A Pending CN117369990A (zh) | 2023-09-04 | 2023-09-04 | 一种算力资源调度方法及装置、系统、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117369990A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117611425A (zh) * | 2024-01-17 | 2024-02-27 | 之江实验室 | 图形处理器算力配置方法、装置、计算机设备和存储介质 |
CN117611425B (zh) * | 2024-01-17 | 2024-06-11 | 之江实验室 | 图形处理器算力配置方法、装置、计算机设备和存储介质 |
-
2023
- 2023-09-04 CN CN202311134434.6A patent/CN117369990A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117611425A (zh) * | 2024-01-17 | 2024-02-27 | 之江实验室 | 图形处理器算力配置方法、装置、计算机设备和存储介质 |
CN117611425B (zh) * | 2024-01-17 | 2024-06-11 | 之江实验室 | 图形处理器算力配置方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9104498B2 (en) | Maximizing server utilization within a datacenter | |
EP3483730B1 (en) | Resource allocation method and resource manager | |
EP3129880B1 (en) | Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system | |
US9619378B2 (en) | Dynamically optimizing memory allocation across virtual machines | |
US9218213B2 (en) | Dynamic placement of heterogeneous workloads | |
CN102567072B (zh) | 一种资源分配方法、装置及系统 | |
EP2894827B1 (en) | Method, apparatus, and system for managing migration of virtual machine | |
US10162684B2 (en) | CPU resource management in computer cluster | |
US20170359271A1 (en) | Multi-tenant based system and method for providing services | |
KR101113943B1 (ko) | 워크로드 관리 방법과 장치 및 이를 이용한 분산 컴퓨팅 시스템 | |
WO2019036084A1 (en) | SYSTEMS AND METHODS FOR PROVIDING A GUARANTEED LOT | |
CN106557369A (zh) | 一种多线程的管理方法及系统 | |
US10733015B2 (en) | Prioritizing applications for diagonal scaling in a distributed computing environment | |
JP5616523B2 (ja) | 情報処理システム | |
US20150186256A1 (en) | Providing virtual storage pools for target applications | |
US20160210171A1 (en) | Scheduling in job execution | |
US10936377B2 (en) | Distributed database system and resource management method for distributed database system | |
US10733022B2 (en) | Method of managing dedicated processing resources, server system and computer program product | |
US10635501B2 (en) | Adaptive scaling of workloads in a distributed computing environment | |
Mollamotalebi et al. | Multi-objective dynamic management of virtual machines in cloud environments | |
US9213575B2 (en) | Methods and systems for energy management in a virtualized data center | |
CN117369990A (zh) | 一种算力资源调度方法及装置、系统、设备、存储介质 | |
CN102200928A (zh) | 计算资源控制设备和计算资源控制方法 | |
CN110928649A (zh) | 资源调度的方法和装置 | |
Zhang et al. | Towards reliable (and efficient) job executions in a practical geo-distributed data analytics system |
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 |