CN112131007B - 基于ai平台的gpu资源调度方法、装置及介质 - Google Patents
基于ai平台的gpu资源调度方法、装置及介质 Download PDFInfo
- Publication number
- CN112131007B CN112131007B CN202011042445.8A CN202011042445A CN112131007B CN 112131007 B CN112131007 B CN 112131007B CN 202011042445 A CN202011042445 A CN 202011042445A CN 112131007 B CN112131007 B CN 112131007B
- Authority
- CN
- China
- Prior art keywords
- resource
- docker service
- docker
- service
- idle
- 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 39
- 238000013135 deep learning Methods 0.000 claims abstract description 26
- 238000012544 monitoring process Methods 0.000 claims abstract description 10
- 238000012549 training Methods 0.000 claims description 48
- 238000010801 machine learning Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
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/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
-
- 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)
- Debugging And Monitoring (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了基于AI平台的GPU资源调度方法、装置及介质,属于GPU资源调度技术领域,要解决的技术问题GPU资源调度技术领域。该方法包括如下步骤:对实际的GPU资源进行资源均分,在每个均分的GPU资源上均安装Docker;设置Docker服务资源表和Docker服务队列表;监控到有深度学习任务提交时,获取空闲的Docker服务资源执行深度学习任务,或者,插入Docker服务队列表排队以等待空闲的Docker服务资源;同时,通过定时任务监听Docker服务资源的释放。装置包括处理器,处理器用于调用机器可读程序,执行上述方法。介质,上存储有计算机指令,在被处理器执行时,使处理器执行上述方法。
Description
技术领域
本发明涉及GPU资源调度技术领域,具体地说是基于AI平台的GPU资源调度方法、装置及介质。
背景技术
在AI(英文全称为Artificial Intelligence,中文翻译为人工智能)时代,算法工程师需要进行大量深度学习任务,通常使用Docker容器来作为训练环境,使用昂贵的图形处理器GPU卡能显著提高训练速度,当算法工程师需要使用GPU资源时,就需要GPU资源的分配,如何最大限度的将闲置的GPU资源全部利用起来就是一个需要面临解决的问题。
发明内容
本发明的技术任务是针对以上不足,提供基于AI平台的GPU资源调度方法、装置及介质,来解决如何最大限度的将闲置的GPU资源全部利用起来的问题。
第一方面,本发明提供一种基于AI平台的GPU资源调度方法,包括如下步骤:
对实际的GPU资源进行资源均分,在每个均分的GPU资源上均安装Docker,每个Docker内均安装TensorFlow,TensorFlow对外提供服务地址;
设置Docker服务资源表、Docker服务队列表和训练结果表,并初始化Docker服务资源表,所述Docker服务资源表中定义有资源服务,资源状态默认为空闲;
监控到有深度学习任务提交时,获取空闲的Docker服务资源执行深度学习任务,或者,插入Docker服务队列表排队以等待空闲的Docker服务资源;同时,通过定时任务监听Docker服务资源的释放,实时更新Docker服务资源表和训练结果表,并查询Docker服务队列表,为最先的用户分配Docker服务资源并更新Docker服务队列表。
作为优选,资源服务的地址至少两个,其中一个地址提供推理服务,其它的地址提供机器学习训练服务。
作为优选,Docker服务队列表中定义有用户、参数、模型和数据地址。
作为优选,为最先等待的用户分配Docker服务资源执行深度学习任务后,从Docker服务队列表中删除所述最先等待的用户,以更新Docker服务队列表。
作为优选,通过轮训的方式实时监听Docker服务资源的释放。
作为优选,通过如下步骤判断Docker服务资源表中是否存在空闲资源:
查询Docker服务队列表,判断Docker服务队列表是否为空;
如果为空,查询Docker服务资源表是否存在空闲资源;
如果不为空,Docker服务资源表中不存在空闲资源。
作为优选,如果存在空闲资源,获取当前空闲资源服务的地址,从当前所有空闲的机器学习训练任务中选择一个执行深度学习任务,并将Docker服务资源表的资源状态标识为在用,所述深度学习任务结束后,将Docker服务资源表的资源状态标识为空闲。
作为优选,通过定时任务监听Docker服务资源的释放,实时更新Docker服务资源表和训练结果表,包括如下步骤:
监听Docker服务资源的使用情况;
对于在用状态的Docker服务资源,实时监控对应深度学习训练任务的执行过程并获取训练过程信息,将训练过程信息存储至训练结果表;
深度学习训练任务执行完毕,对应的Docker服务资源释放后,实时将上述训练结果信息存储至训练结果表,并实时更新Docker服务资源表的资源状态。
第二方面,本发明提供一种装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行第一方面任一所述的方法。
第三方面,本发明提供一种介质,为计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面任一所述的方法。
本发明的基于AI平台的GPU资源调度方法、装置及介质具有以下优点:
1、通过资源划分、服务资源初始化以及用户排队的方式完成服务的合理分配调用,同时实时获取服务资源的训练信息、训练结果和资源释放等情况,调度任务及时合理的分配资源,且用户能够看到训练情况;
2、有效地提升了GPU资源利用率,同时提高了算法工程师的训练速度,使得GPU得到充分利用。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
下面结合附图对本发明进一步说明。
图1为实施例1基于AI平台的GPU资源调度方法的流程框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
本发明实施例提供基于AI平台的GPU资源调度方法、装置及介质,用于解决如何最大限度的将闲置的GPU资源全部利用起来的技术问题。
实施例1:
本发明的一种基于AI平台的GPU资源调度方法,包括如下步骤:
S100、对实际的GPU资源进行资源均分,在每个均分的GPU资源上均安装Docker,每个Docker内均安装TensorFlow,TensorFlow对外提供服务地址;
S200、设置Docker服务资源表、Docker服务队列表和训练结果表,并初始化Docker服务资源表,上述Docker服务资源表中定义有资源服务,资源状态默认为空闲;
S300、监控到有深度学习任务提交时,获取空闲的Docker服务资源执行深度学习任务,或者,插入Docker服务队列表排队以等待空闲的Docker服务资源;同时,通过定时任务监听Docker服务资源的释放,实时更新Docker服务资源表和训练结果表,并查询Docker服务队列表,为最先的用户分配Docker服务资源并更新Docker服务队列表。
其中,每个TensorFlow启动并通过Docker暴露资源服务的地址,上述地址至少两个,其中一个作为推理服务,剩下的为机器学习训练服务。
Docker服务队列表里定义了用户、参数、模型、数据地址。
监控到有深度学习任务提交时,判断Docker服务资源表中是否存在空闲资源,如果存在,执行深度学习,如果不存在,进行Docker服务队列表排队,具体流程为:
(1)用户上传数据集并点击训练进行深度学习训练任务;
(2)调用服务接口,查询Docker服务队列表,如果Docker服务队列表中有用户排队,说明无空闲训练资源,插入Docker服务队列表排队;
(3)如果Docker服务队列表为空,无人排队,查询Docker服务资源表是否有空闲资源,如果有资源空闲,找出最前面的服务资源分配给用户进行深度学习训练,如果无空闲资源,插入队列进行排队。
在执行上述步骤的同时,启动定时任务,进行如下操作:实时监听所有服务资源的使用情况,对于在用状态的Docker服务资源,实时监控对应深度学习训练任务的执行过程并获取训练过程信息,将训练过程信息存储至训练结果表;当深度学习训练任务结束,服务资源释放后,定时任务监听到相关服务资源信息,实时将上述训练结果信息存储至训练结果表,并实时更新Docker服务资源表,找出最先等待的用户,分配资源执行AI服务调用,当用户提交的训练任务结束后,更新Docker服务队列表删除已分配资源的用户。
在执行上述步骤的同时,实时监控训练服务信息,并入库,供AI平台调用。
本发明的基于AI平台的GPU资源调度方法,有效地提高了GPU资源利用率,同时提高了算法工程师的训练速度,使得GPU得到充分利用,节约了基础设施建造成本。
实施例2:
本发明提供了一种装置,包括:至少一个存储器和至少一个处理器;至少一个存储器,用于存储机器可读程序;至少一个处理器,用于调用所述机器可读程序,执行本发明实施例1公开的方法。
实施例3:
本发明实施例还提供了一种计算机可读介质,上述计算机可读介质上存储有计算机指令,上述计算机指令在被处理器执行时,使上述处理器执行实施例公开的方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。
Claims (5)
1.基于AI平台的GPU资源调度方法,其特征在于包括如下步骤:
对实际的GPU资源进行资源均分,在每个均分的GPU资源上均安装Docker,每个Docker内均安装TensorFlow,TensorFlow对外提供服务地址,资源服务的地址至少两个,其中一个地址提供推理服务,其它的地址提供机器学习训练服务;
设置Docker服务资源表、Docker服务队列表和训练结果表,并初始化Docker服务资源表,所述Docker服务资源表中定义有资源服务,资源状态默认为空闲;
监控到有深度学习任务提交时,判断是否存在空闲的Docker服务资源,如果是,获取空闲的Docker服务资源执行深度学习任务,如果否,插入Docker服务队列表进行排队;同时,通过定时任务监听Docker服务资源的释放,实时更新Docker服务资源表和训练结果表,并查询Docker服务队列表,为最先等待的用户分配Docker服务资源执行深度学习任务后,从Docker服务队列表中删除所述最先等待的用户,以更新Docker服务队列表;
其中,通过如下步骤判断是否存在空闲的Docker服务资源:
查询Docker服务队列表,判断Docker服务队列表是否为空;
如果为空,查询Docker服务资源表是否存在空闲资源;
如果不为空,Docker服务资源表中不存在空闲资源;
其中,获取空闲的Docker服务资源执行深度学习任务,包括如下步骤:
获取当前空闲资源服务的地址,从当前所有空闲的机器学习训练任务中选择一个执行深度学习任务,并将Docker服务资源表的资源状态标识为在用;
所述深度学习任务结束后,将Docker服务资源表的资源状态标识为空闲;
其中,通过定时任务监听Docker服务资源的释放,实时更新Docker服务资源表和训练结果表,包括如下步骤:
监听Docker服务资源的使用情况;
对于在用状态的Docker服务资源,实时监控对应深度学习训练任务的执行过程并获取训练过程信息,将训练过程信息存储至训练结果表;
深度学习训练任务执行完毕,对应的Docker服务资源释放后,实时将上述训练结果信息存储至训练结果表,并实时更新Docker服务资源表的资源状态。
2.根据权利要求1所述的基于AI平台的GPU资源调度方法,其特征在于Docker服务队列表中定义有用户、参数、模型和数据地址。
3.根据权利要求1所述的基于AI平台的GPU资源调度方法,其特征在于通过轮训的方式实时监听Docker服务资源。
4.装置,其特征在于,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至3任一所述的方法。
5.介质,为计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至3任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011042445.8A CN112131007B (zh) | 2020-09-28 | 2020-09-28 | 基于ai平台的gpu资源调度方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011042445.8A CN112131007B (zh) | 2020-09-28 | 2020-09-28 | 基于ai平台的gpu资源调度方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112131007A CN112131007A (zh) | 2020-12-25 |
CN112131007B true CN112131007B (zh) | 2023-02-21 |
Family
ID=73844312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011042445.8A Active CN112131007B (zh) | 2020-09-28 | 2020-09-28 | 基于ai平台的gpu资源调度方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131007B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112698922A (zh) * | 2021-01-15 | 2021-04-23 | 南方电网深圳数字电网研究院有限公司 | 资源调度方法、系统、电子设备及计算机存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073546A (zh) * | 2010-12-13 | 2011-05-25 | 北京航空航天大学 | 一种云计算环境中分布式计算模式下的任务动态调度方法 |
CN102622273A (zh) * | 2012-02-23 | 2012-08-01 | 中国人民解放军国防科学技术大学 | 基于自学习负载预测的集群按需启动方法 |
CN103458052A (zh) * | 2013-09-16 | 2013-12-18 | 北京搜狐新媒体信息技术有限公司 | 一种基于IaaS云平台的资源调度方法和装置 |
CN104133724A (zh) * | 2014-04-03 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 并发任务调度方法及装置 |
CN105487930A (zh) * | 2015-12-01 | 2016-04-13 | 中国电子科技集团公司第二十八研究所 | 一种基于Hadoop的任务优化调度方法 |
CN109213600A (zh) * | 2018-09-11 | 2019-01-15 | 郑州云海信息技术有限公司 | 一种基于ai云的gpu资源调度方法和装置 |
-
2020
- 2020-09-28 CN CN202011042445.8A patent/CN112131007B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073546A (zh) * | 2010-12-13 | 2011-05-25 | 北京航空航天大学 | 一种云计算环境中分布式计算模式下的任务动态调度方法 |
CN102622273A (zh) * | 2012-02-23 | 2012-08-01 | 中国人民解放军国防科学技术大学 | 基于自学习负载预测的集群按需启动方法 |
CN103458052A (zh) * | 2013-09-16 | 2013-12-18 | 北京搜狐新媒体信息技术有限公司 | 一种基于IaaS云平台的资源调度方法和装置 |
CN104133724A (zh) * | 2014-04-03 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 并发任务调度方法及装置 |
CN105487930A (zh) * | 2015-12-01 | 2016-04-13 | 中国电子科技集团公司第二十八研究所 | 一种基于Hadoop的任务优化调度方法 |
CN109213600A (zh) * | 2018-09-11 | 2019-01-15 | 郑州云海信息技术有限公司 | 一种基于ai云的gpu资源调度方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112131007A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11704144B2 (en) | Creating virtual machine groups based on request | |
US20210149737A1 (en) | Method for fast scheduling for balanced resource allocation in distributed and collaborative container platform environment | |
CN105979009B (zh) | 一种针对云应用容器的增加负载自动均衡方法 | |
JP2021516395A (ja) | リソース構成方法、装置、端末、および記憶媒体 | |
CN110389843B (zh) | 一种业务调度方法、装置、设备及可读存储介质 | |
CN115328663A (zh) | 基于PaaS平台进行资源调度的方法、装置、设备和存储介质 | |
CN112333096A (zh) | 一种微服务流量调度方法及相关组件 | |
CN104506669B (zh) | 一种面向分布式网络仿真平台的ip地址分配系统及方法 | |
CN113687795A (zh) | 一种实现有状态应用的存储卷隔离性分配的方法和系统 | |
CN112131007B (zh) | 基于ai平台的gpu资源调度方法、装置及介质 | |
CN112882765A (zh) | 数字孪生模型调度方法和装置 | |
CN112559147A (zh) | 基于gpu占用资源特点的动态匹配算法、系统和设备 | |
CN113391914A (zh) | 任务调度方法和装置 | |
CN111090401A (zh) | 存储设备性能预测方法及装置 | |
US20170090820A1 (en) | Method and device for operating a many-core system | |
CN103516628A (zh) | 一种实现网络策略更新的方法、装置及系统 | |
CN113568708B (zh) | 平台创建方法、装置及设备 | |
CN111582398B (zh) | 数据聚类方法、装置、系统、服务器以及存储介质 | |
CN112348196A (zh) | 一种自适应rdma网络的分布式机器学习系统及方法 | |
CN112231146B (zh) | 基于cinder-backup的备份服务质量的实现方法、存储介质 | |
CN113391886A (zh) | 任务调度方法和装置 | |
CN106060127A (zh) | 服务器调用方法及装置 | |
CN113760446A (zh) | 资源调度方法、装置、设备及介质 | |
CN113377515A (zh) | 一种Kubernetes资源的任务预调度方法 | |
CN115033354A (zh) | 一种集群任务调度方法、系统、可读存储介质 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230111 Address after: 250100 building S02, No. 1036, Langchao Road, high tech Zone, Jinan City, Shandong Province Applicant after: Shandong Inspur Scientific Research Institute Co.,Ltd. Address before: 250100 First Floor of R&D Building 2877 Kehang Road, Sun Village Town, Jinan High-tech Zone, Shandong Province Applicant before: JINAN INSPUR HIGH-TECH TECHNOLOGY DEVELOPMENT Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |