CN112346859B - 资源调度方法及装置、电子设备和存储介质 - Google Patents
资源调度方法及装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112346859B CN112346859B CN202011158231.7A CN202011158231A CN112346859B CN 112346859 B CN112346859 B CN 112346859B CN 202011158231 A CN202011158231 A CN 202011158231A CN 112346859 B CN112346859 B CN 112346859B
- Authority
- CN
- China
- Prior art keywords
- gpu
- gpus
- virtual
- screening
- resource scheduling
- 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
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
-
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供一种资源调度方法及装置、电子设备和存储介质。该方法包括:接收对图形处理器GPU集群中GPU的资源调度请求,该资源调度请求包括待请求GPU的分组信息,待请求GPU的分组信息是根据资源调度请求对应的任务处理请求的任务类型确定的;根据待请求GPU的分组信息,在GPU集群的所有GPU中匹配具有待请求GPU的分组信息的GPU,得到匹配结果,匹配结果包括与待请求GPU的分组信息对应的至少一个目标GPU;返回匹配结果。由于资源调度请求包括待请求GPU的分组信息,且待请求GPU的分组信息是根据资源调度请求对应的任务处理请求的任务类型确定的,因此在进行GPU资源调度时,就可以根据该分组信息匹配到对应的GPU,从而实现更细粒度的资源调度,精准控制GPU的使用。
Description
技术领域
本申请实施例涉及人工智能技术领域,尤其涉及一种资源调度方法及装置、电子设备和存储介质。
背景技术
人工智能(Artificial Intelligence,AI)是目前比较主流的一个方向,旨在使机器变的更加智能,从而胜任一些需要人类智能才能完成的复杂工作,以方便人类的生活和生产。举例来说,智能手机不再需要手动输入密码,只需要刷脸就可以解锁屏幕。使机器变的更加智能的一种重要方式就是机器学习。目前,机器学习可划分为两类,其中一类是使计算机模拟人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构使之不断改善自身的性能;另外一类是从大量数据中获取隐藏的、有效的、可理解的知识。
上述第二类机器学习,需要数据、算法和算力来实现;其中,算力需要图形处理器(Graphics Processing Unit,GPU)等一些计算机硬件资源的支持,从而让算力更好地发挥出算法和数据的作用。在大规模的集群中,往往包括多台物理机器,每台物理机器包括多个GPU,当调度系统接收到资源调度请求时,就会在这些所有物理机器的GPU当中进行资源调度,而目前的调度方式均为随机调度,使得无法精准控制资源的使用。
发明内容
本申请实施例提供一种资源调度方法及装置、电子设备和存储介质,以精准控制资源的使用,提高资源调度效率和资源利用率。
第一方面,本申请实施例提供一种资源调度方法,包括:接收对图形处理器GPU集群中GPU的资源调度请求,所述资源调度请求包括待请求GPU的分组信息,所述待请求GPU的分组信息是根据所述资源调度请求对应的任务处理请求的任务类型确定的;根据所述待请求GPU的分组信息,在所述GPU集群的所有GPU中匹配具有所述待请求GPU的分组信息的GPU;根据匹配结果,得到GPU列表,所述GPU列表包括与所述待请求GPU的分组信息对应的至少一个目标GPU;返回所述至少一个目标GPU。
可选的,所述每个GPU包括至少一个虚拟GPU,所述资源调度请求还包括虚拟GPU的计算参数和数量;所述根据所述待请求GPU的分组信息,在所述GPU集群的所有GPU中匹配具有所述待请求GPU的分组信息的GPU之后,所述方法还包括:根据所述虚拟GPU的计算参数和数量,在所述匹配结果中筛选满足所述虚拟GPU的计算参数和数量的虚拟GPU;返回满足所述虚拟GPU的计算参数和数量的虚拟GPU。
可选的,所述计算参数包括算力和/或显存;所述根据所述虚拟GPU的计算参数和数量,在所述匹配结果中筛选满足所述资源调度请求的虚拟GPU,包括:在所述匹配结果中筛选满足所述算力和/或显存的虚拟GPU,得到第一筛选结果;在所述第一筛选结果中,筛选满足虚拟GPU的数量要求的虚拟GPU资源。
可选的,所述在所述GPU列表中筛选满足所述算力和/或显存的虚拟GPU,得到第一筛选结果,包括:获取所述算力和所述显存对应的优先级;若所述算力的优先级大于所述显存的优先级,则在所述GPU列表中筛选满足所述资源调度请求的虚拟GPU的算力要求的虚拟GPU,得到第二筛选结果;在所述第二筛选结果中筛选满足所述资源调度请求的虚拟GPU的显存要求的虚拟GPU,得到所述第一筛选结果。
可选的,所述在所述GPU列表中筛选满足所述算力和/或显存的虚拟GPU,得到第一筛选结果,包括:获取所述算力和所述显存对应的优先级;若所述算力的优先级小于所述显存的优先级,则在所述GPU列表中筛选满足所述资源调度请求的虚拟GPU的显存要求的虚拟GPU,得到第三筛选结果;在所述第三筛选结果中筛选满足所述资源调度请求的虚拟GPU的算力要求的虚拟GPU,得到所述第一筛选结果。
可选的,所述在所述第一筛选结果中,筛选满足虚拟GPU的数量要求的虚拟GPU资源,包括:若所述第一筛选结果中虚拟GPU的数量大于所述资源调度请求所要求的虚拟GPU资源的数量,则在所述第一筛选结果中按照计算参数从小到大的顺序选取所述资源调度请求所要求的虚拟GPU资源的数量对应数量的虚拟GPU资源;若所述第一筛选结果中虚拟GPU的数量等于所述资源调度请求所要求的虚拟GPU资源的数量,则返回所述第一筛选结果;若所述第一筛选结果中虚拟GPU的数量小于所述资源调度请求所要求的虚拟GPU资源的数量,则返回筛选结果为空的提示信息。
可选的,所述资源调度请求包括与所述资源调度请求对应的任务处理请求的任务类型;不同的GPU中的虚拟GPU对应有标签,所述虚拟GPU对应的标签是根据所述资源调度请求对应的任务处理请求的任务类型确定的;所述方法还包括:根据与所述资源调度请求对应的任务处理请求的任务类型,匹配与所述资源调度请求对应的任务处理请求的任务类型对应的至少一个标签;将所述至少一个标签对应的虚拟GPU作为所述匹配结果。
第二方面,本申请实施例提供一种资源调度装置,包括:接收模块,用于接收对图形处理器GPU集群中GPU的资源调度请求,所述资源调度请求包括待请求GPU的分组信息,所述待请求GPU的分组信息是根据所述资源调度请求对应的任务处理请求的任务类型确定的;匹配模块,用于根据所述待请求GPU的分组信息,在所述GPU集群的所有GPU中匹配具有所述待请求GPU的分组信息的GPU,得到匹配结果,所述匹配结果包括与所述待请求GPU的分组信息对应的至少一个目标GPU;返回模块,用于返回所述匹配结果。
可选的,每个GPU包括至少一个虚拟GPU,所述资源调度请求还包括虚拟GPU的计算参数和数量;所述装置还包括:筛选模块,用于根据所述虚拟GPU的计算参数和数量,在所述匹配结果中筛选满足所述虚拟GPU的计算参数和数量的虚拟GPU;所述返回模块,还用于返回满足所述虚拟GPU的计算参数和数量的虚拟GPU。
可选的,所述计算参数包括算力和/或显存;所述筛选模块包括:第一筛选单元,用于在所述匹配结果中筛选满足所述算力和/或显存的虚拟GPU,得到第一筛选结果;第二筛选单元,用于在所述第一筛选结果中,筛选满足虚拟GPU的数量要求的虚拟GPU资源。
可选的,所述第一筛选单元在所述GPU列表中筛选满足所述算力和/或显存的虚拟GPU,得到第一筛选结果时,具体包括:获取所述算力和所述显存对应的优先级;若所述算力的优先级大于所述显存的优先级,则在所述GPU列表中筛选满足所述资源调度请求的虚拟GPU的算力要求的虚拟GPU,得到第二筛选结果;在所述第二筛选结果中筛选满足所述资源调度请求的虚拟GPU的显存要求的虚拟GPU,得到所述第一筛选结果。
可选的,所述第一筛选单元在所述GPU列表中筛选满足所述算力和/或显存的虚拟GPU,得到第一筛选结果时,具体包括:获取所述算力和所述显存对应的优先级;若所述算力的优先级小于所述显存的优先级,则在所述GPU列表中筛选满足所述资源调度请求的虚拟GPU的显存要求的虚拟GPU,得到第三筛选结果;在所述第三筛选结果中筛选满足所述资源调度请求的虚拟GPU的算力要求的虚拟GPU,得到所述第一筛选结果。
可选的,所述第二筛选单元在所述第一筛选结果中,筛选满足虚拟GPU的数量要求的虚拟GPU资源时,具体包括:若所述第一筛选结果中虚拟GPU的数量大于所述资源调度请求所要求的虚拟GPU资源的数量,则在所述第一筛选结果中按照计算参数从小到大的顺序选取所述资源调度请求所要求的虚拟GPU资源的数量对应数量的虚拟GPU资源;若所述第一筛选结果中虚拟GPU的数量等于所述资源调度请求所要求的虚拟GPU资源的数量,则返回所述第一筛选结果;若所述第一筛选结果中虚拟GPU的数量小于所述资源调度请求所要求的虚拟GPU资源的数量,则返回筛选结果为空的提示信息。
可选的,所述资源调度请求包括与所述资源调度请求对应的任务处理请求的任务类型;不同的GPU中的虚拟GPU对应有标签,所述虚拟GPU对应的标签是根据所述资源调度请求对应的任务处理请求的任务类型确定的;所述匹配模块,还用于根据与所述资源调度请求对应的任务处理请求的任务类型,匹配与所述资源调度请求对应的任务处理请求的任务类型对应的至少一个标签;以及将所述至少一个标签对应的虚拟GPU作为所述匹配结果。
第三方面,本申请实施例提供一种电子设备,包括:存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
本申请实施例提供的资源调度方法及装置、电子设备和存储介质,通过接收对图形处理器GPU集群中GPU的资源调度请求,该资源调度请求包括待请求GPU的分组信息,且待请求GPU的分组信息是根据资源调度请求对应的任务处理请求的任务类型确定的,之后根据待请求GPU的分组信息,在GPU集群的所有GPU中匹配具有待请求GPU的分组信息的GPU;最后返回包括与待请求GPU的分组信息对应的至少一个目标GPU的匹配结果。由于资源调度请求包括待请求GPU的分组信息,且待请求GPU的分组信息是根据资源调度请求对应的任务处理请求的任务类型确定的,因此在进行GPU资源调度时,就可以根据该分组信息匹配到对应的GPU,从而实现更细粒度的资源调度,精准控制GPU的使用。
附图说明
图1为本申请实施例提供的应用场景图;
图2为本申请实施例提供的资源调度方法流程图;
图3为本申请实施例提供的对一台物理机的GPU进行分组的示意图;
图4A为本申请实施例提供的单个在线预测任务的示意图;
图4B为本申请实施例提供的多个在线预测任务的示意图;
图5为本申请另一实施例提供的资源调度方法流程图;
图6为本申请实施例提供的对一台物理机中vGPU的示意图;
图7为本申请实施例提供的资源调度装置的结构示意图;
图8为本申请实施例提供的电子设备的框图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1为本申请实施例提供的应用场景图。如图1所示,该应用场景包括:用户终端11、AI算法装置12、调度装置13和GPU集群14;其中,用户终端包括:智能手机、Ipad、个人电脑等电子设备。GPU集群14是一个计算机集群,其包括多个计算机节点,其中每个计算机节点配备有一个或多个GPU。
在一些可选的场景中,用户可以通过用户终端11提交任务处理请求,例如AI场景下的模型训练任务、在线预测任务等,用户提交的任务处理请求会发送至AI算法装置12,AI算法装置12根据该任务处理请求生成资源调度请求,并将该资源调度请求发送至调度装置13,调度装置13进而根据资源调度请求在GPU集群14中进行资源调度,并将资源调度结果返回给AI算法装置。之后调度装置13根据资源调度请求在GPU集群14中进行资源调度,即:将任务处理请求所需要的资源分配到GPU集群14中的各个GPU当中,从而使得各个GPU完成分配的任务,最终实现对用户提交的任务处理请求的处理。
上述资源调度过程中,现有技术对于资源的最小调度单元是物理机,举例来说,假设GPU集群中包括4台物理机,现有技术只能实现对物理机的调度。
针对上述技术问题,本申请实施例采用如下技术方案:将GPU集群的最小调度单元(物理机)进行更细粒度的划分,且根据GPU集群需要处理的任务的类型,预先将GPU集群中所有GPU打上标签,这样后续在接收到用户发出的任务处理请求时,就能够根据任务处理请求对应的任务类型来筛选对应标签的GPU,从而实现更细粒度的资源调度,以及精准控制GPU的使用。
需要说明的是,AI算法装置12可以是独立的一个装置或设备,也可以是集成在用户终端11当中一个模块或部件,本实施例对此不作具体限定。
本申请实施例可以应用于一切人工智能的场景中,例如智能视频分析、安防监控等领域。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的资源调度方法流程图。如图2所示,该资源调度方法,包括如下步骤S201~步骤S204:
步骤S201、接收对图形处理器GPU集群中GPU的资源调度请求。
本实施例的执行主体为图1所示的调度装置13。调度装置13接收来自AI算法装置12的资源调度请求,该资源调度请求包括待请求GPU的分组信息,待请求GPU的分组信息是根据资源调度请求对应的任务处理请求的任务类型确定的。其中,任务类型可以按照任务的用途来划分。例如,在AI场景下,任务类型包括模型训练和在线预测,相应的,待请求GPU的分组信息包括模型训练分组信息和在线预测分组信息。
举例来说,用户提交了一个任务类型是模型训练的任务处理请求至AI算法装置,AI算法装置就会根据该任务处理请求生成资源调度请求,并根据该任务处理请求对应的任务类型,确定待请求GPU的分组信息为模型训练分组信息。
可选的,待请求GPU的分组信息可以由AI算法装置指定,若AI算法装置未指定待请求GPU的分组信息,则默认为GPU集群中的所有GPU都是可用的。
步骤S202、根据待请求GPU的分组信息,在GPU集群的所有GPU中匹配具有待请求GPU的分组信息的GPU,得到匹配结果。
其中,匹配结果包括与待请求GPU的分组信息对应的至少一个目标GPU。
其中,GPU集群包括多台物理机,每台物理机包括多个GPU,本实施例在步骤S201之前,需要对GPU集群中的所有GPU进行分组,在分组过程中,可以根据GPU的用途来分组,GPU的用途可以根据GPU集群所需要执行的任务处理请求对应的任务类型来确定。下面以一台物理机为例,对GPU分组过程进行详细说明:
图3为本申请实施例提供的对一台物理机的GPU进行分组的示意图。以一台物理机为例,如图3所示,该台物理机是一台8卡的物理机31(包括8个GPU卡的物理机),分别编号为0~8卡,假设用户计划在该台物理机上同时进行模型训练和在线预测任务,且计划将0~3卡用于模型训练,4~8卡用于在线预测,那么就可以将0~3卡的分组信息设置为模型训练分组信息,4~8卡的分组信息设置为在线预测分组信息。例如,可以将模型训练分组信息记为标签A(Label-A),在线预测分组信息记为标签B(Label-B)。
可选的,GPU集群的所有GPU可以表示为列表,且每个GPU对应有分组信息,以包括8个GPU卡的一台物理机为例,其所有GPU的列表形式如下:
表1一台物理机中所有GPU分组信息的列表
GPU卡编号 | 分组信息 |
0卡 | 模型训练 |
1卡 | 模型训练 |
2卡 | 模型训练 |
3卡 | 模型训练 |
4卡 | 在线预测 |
5卡 | 在线预测 |
6卡 | 在线预测 |
7卡 | 在线预测 |
8卡 | 在线预测 |
如表1所示,之后在接收到资源调度请求时,假设资源调度请求中携带的GPU分组信息为模型训练分组信息,则就会匹配到0~3卡的GPU,假设资源调度请求中携带的GPU分组信息为在线预测分组信息,则就会匹配到4~8卡的GPU。
当然,也可以是将不同物理机中的GPU划分为一组。例如,GPU集群包括物理机1、物理机2和物理机3;其中,物理机1包括GPU1、GPU2、GPU3;物理机2包括GPU4、GPU5、GPU6;物理机3包括GPU7、GPU8、GPU9;则还可以将GPU1、GPU2、GPU5、GPU9划分为一组。
通过对GPU集群中的所有GPU进行分组,每个分组可以认为是一个资源池,能够实现资源(GPU)与资源(GPU)之间的逻辑隔离。
步骤S203、返回匹配结果。
其中,匹配结果包括与待请求GPU的分组信息对应的至少一个目标GPU。
可选的,匹配结果可以表示为列表的形式,则调度装置在得到上述匹配结果后,根据该匹配结果生成GPU列表,并将该GPU列表返回给AI算法装置。在一个示例中,假设匹配结果是0~3卡,则GPU列表的具体形式可以参考如下:
表2 GPU列表
0卡 |
1卡 |
2卡 |
3卡 |
本申请实施例通过接收对图形处理器GPU集群中GPU的资源调度请求,该资源调度请求包括待请求GPU的分组信息,且待请求GPU的分组信息是根据资源调度请求对应的任务处理请求的任务类型确定的,之后根据待请求GPU的分组信息,在GPU集群的所有GPU中匹配具有待请求GPU的分组信息的GPU;最后返回包括与待请求GPU的分组信息对应的至少一个目标GPU的匹配结果。由于资源调度请求包括待请求GPU的分组信息,且待请求GPU的分组信息是根据资源调度请求对应的任务处理请求的任务类型确定的,因此在进行GPU资源调度时,就可以根据该分组信息匹配到对应的GPU,从而实现更细粒度的资源调度,精准控制GPU的使用。
本申请可以改善在vGPU模式下,AI算法应用的资源调度的可控性。举例来说,用户有1台8卡的GPU机器,打算0~3卡使用vGPU模式进行资源分配;4~7卡使用非vGPU模式进行资源分配。在现有技术中对于GPU的选择是随机的,无法控制vGPU模式的申请调度到0~3卡上。而使用本申请实施例的资源调度方法,通过给0~3卡打上vGPU的标签,那么在申请资源的时候明确告诉调度装置在打了vGPU标签的GPU中进行资源分配,如此就能够很精准的控制资源的使用。
另外,本申请的资源调度方法还可以满足单台GPU机器上GPU资源的隔离、分类使用,满足不同需求的资源最大化利用。举例来说,用户因资源紧张,只有1台8卡的GPU机器,但是又想在这一台机器上同时进行模型训练任务和在线预测任务,且能够进行比较好的隔离,互不影响。像这种场景通常会通过静态绑定的方式来进行使用,但是静态指定方式费事费力。而使用本申请的资源调度方法,通过将一部分GPU卡打上模型训练的标签,给另一部分GPU卡打上在线预测的标签,后续在接收到两类任务(模型训练任务和在线预测任务)申请资源时,告诉调度系统使用对应标签的GPU卡资源即可,具体使用哪块GPU卡,由调度装置实现,用户不用关心,大大提高了易用性。
上述实施例介绍了对GPU级别的资源调度过程,其在单任务的资源调度场景中,一个任务需要一个GPU卡即可实现,然而在多任务并行的资源调度场景中,就需要较多的GPU卡来满足多任务的并发需求。举例来说,某城市对机动车限行,在马路上设置了很多摄像头监控该条马路上车辆的行驶,当监测到有车辆违反限行规则时,摄像头就会将该车辆拍照,然后发送通知信息给车主,提示车主交罚款。在这一过程中,摄像头拍摄得到图像后,需要对图像中的车辆进行识别,然后将图像中的车辆以矩形框圈出,再识别车牌信息。在车牌信息识别过程中,就需要使用在线预测任务,如图4A所示,如果摄像头拍摄的图像中包括一辆车,那么在线预测任务就只有一个,此时只需要一张GPU卡即可。而实际应用过程中,如图4B所示,摄像头拍摄的图像往往包括多辆车,这时在线预测任务就对应有多个。如果使用GPU级别的资源调度,那么这多个在线预测任务就会分配到多个GPU上,从而使得GPU的资源得不到充分的利用,造成昂贵的GPU资源的浪费。因此,还可以将每个GPU划分为更小的调度单元,即采用虚拟机技术将图1中的每个GPU虚拟化,得到多个虚拟GPU(简称vGPU),再将多个并行的在线预测任务分配到不同的vGPU上,使得多个任务共享同一个GPU,从而提高单个GPU的资源利用率。在上述实施例的基础上,本申请还可以在GPU共享场景下实现资源调度,具体如下:
图5为本申请另一实施例提供的资源调度方法流程图。在上述实施例的基础上,资源调度请求还可以包括虚拟GPU的计算参数和虚拟GPU的数量,其中,虚拟GPU的数量为N,N为大于0的正整数。如图5所示,本实施例提供的资源调度方法,具体包括如下步骤:
步骤S501、根据虚拟GPU的计算参数和虚拟GPU的数量,在匹配结果中筛选满足资源调度请求的虚拟GPU。
具体的,本步骤是在匹配结果中筛选满足资源调度请求对应的虚拟GPU的计算参数和数量要求的虚拟GPU。
图6为本申请实施例提供的对一台物理机中vGPU的示意图。如图6所示,每个GPU又可以划分为多个vGPU(如图6中圆圈示出)。需要说明的是,图6中每个GPU包括3个vGPU仅为示例性说明,并不对vGPU的数量进行限制。
其中,步骤S501是在步骤S202得到匹配结果之后执行。本实施例中的GPU列表还可以包括每个vGPU的算力(vcore)和/或显存(vmemory)等计算参数,其中,vGPU的算力是指vGPU的计算能力。
假设GPU列表包括0~3卡,则GPU列表的另一种具体形式可以参考如下:
表3 GPU列表
可选的,步骤S501又可以包括如下步骤:
步骤S501a、在匹配结果中筛选满足算力和/或显存的虚拟GPU,得到第一筛选结果。
在一种可选的实施方式中,满足算力和/或显存的虚拟GPU可以以列表的形式示出,该虚拟GPU列表包括满足算力和/或显存的至少一个虚拟GPU。若用户提交的任务处理请求需要的计算参数包括算力,且资源调度请求所请求的每个vGPU的算力分别为:3.5、3.0、5.2、6.1;则表3中满足资源调度请求的算力要求的虚拟GPU(第一筛选结构)包括:vGPU-2、vGPU-4、vGPU-8、vGPU-9、vGPU-10、vGPU-11、vGPU-12。第一筛选结果同样可以以列表的形式给出,其具体形式如下:
表4第一筛选结果
若用户提交的任务处理请求需要的计算参数包括显存,且资源调度请求所请求的每个vGPU的显存分别为:6GB、8GB、8GB、6GB;则满足资源调度请求的虚拟GPU包括:vGPU-3、vGPU-6、vGPU-7、vGPU-8、vGPU-10、vGPU-11、vGPU-12。
若用户提交的任务处理请求需要的计算参数包括算力和显存,且资源调度请求所请求的每个vGPU的算力分别为:3.5、3.0、5.2、6.1,显存分别为:6GB、8GB、8GB、6GB;则满足资源调度请求的虚拟GPU包括:vGPU-2、vGPU-3、vGPU-4、vGPU-6、vGPU-7、vGPU-8、vGPU-9、vGPU-10、vGPU-11、vGPU-12。
步骤S501b、在第一筛选结果中,筛选满足资源调度请求中虚拟GPU的数量要求的虚拟GPU资源。
其中,本步骤是在第一筛选结果中,筛选出N个虚拟GPU。
假设用户提交的任务处理请求所需要的vGPU的数量为4个,则还需要在表4中选取4个vGPU。在一种可选的实施方式中,可以是在表4中随机选取4个vGPU。在另一种可选的实施方式中,也可以是在表4中按照算力或显存从小到大的顺序来选取前4个vGPU。以用户提交的任务处理请求需要的计算参数包括算力为例,满足算力的vGPU包括:vGPU-2、vGPU-4、vGPU-8、vGPU-9、vGPU-10、vGPU-11、vGPU-12,进一步的,还可以在这7个vGPU中随机选取4个vGPU,即为满足虚拟GPU的计算参数和数量的虚拟GPU。
步骤S502、返回满足资源调度请求的虚拟GPU。
具体的,是将满足虚拟GPU的计算参数要求和虚拟GPU的数量要求的虚拟GPU返回给AI算法装置。
本实施例中,针对匹配结果,又进行了二次过滤和筛选。其中第一次是根据分组信息进行过滤,当GPU集群规模特别大的时候,通过分组信息可以过滤掉很多不在筛选范围内的GPU,那么在第二次筛选过程中,就可以将第二次筛选范围缩小,如此可以大大提高资源调度效率。举例来说,现有技术中调度装置根据资源调度请求需要在GPU集群的所有GPU中挨个筛选能够满足计算参数和数量要求的GPU资源,若GPU集群的规模很大,那么筛选范围就会很大,筛选的时间也会很长,使得资源调度效率低。
上述实施例介绍了根据计算参数和数量N共同确定vGPU的具体实施方式,若计算参数包括算力和显存,则根据算力和显存共同确定vGPU时,又可以包括如下两种具体实施方式:
在一种可选的实施方式中:先根据资源调度请求所请求的算力在匹配结果中进行第一次筛选,再根据资源调度请求所要求的显存在第一次筛选结果中进行第二次筛选。具体的,步骤S501a介绍的在匹配结果中筛选满足算力和显存的虚拟GPU,得到第一筛选结果,包括如下步骤:
步骤a1、获取算力和显存对应的优先级。
步骤a2、若算力的优先级大于显存的优先级,则在匹配结果中筛选满足资源调度请求的虚拟GPU的算力要求的虚拟GPU,得到第二筛选结果。
步骤a3、在第二筛选结果中筛选满足资源调度请求的虚拟GPU的显存要求的虚拟GPU,得到第一筛选结果。
在另一种可选的实施方式中:先根据资源调度请求所请求的显存在匹配结果中进行第一次筛选,再根据资源调度请求所要求的算力在第一次筛选结果中进行第二次筛选。具体的,步骤S501a介绍的在匹配结果中确定满足算力和显存的虚拟GPU,包括:
步骤b1、获取算力和显存对应的优先级。
步骤b2、若算力的优先级小于显存的优先级,则在匹配结果中筛选满足资源调度请求的虚拟GPU的显存要求的虚拟GPU,得到第三筛选结果。
步骤b3、在第三筛选结果中筛选满足资源调度请求的虚拟GPU的算力要求的虚拟GPU,得到第一筛选结果。
在上述实施例的基础上,根据算力和/或显存在匹配结果中筛选出符合算力和/或显存的虚拟GPU之后,可能存在如下几种情况:
在第一种可选的实施方式中,第一筛选结果中vGPU的数量大于资源调度请求所请求的虚拟GPU的数量,该种情形下,还需要在第一筛选结果中筛选出资源调度请求所请求的虚拟GPU的数量对应的数量个vGPU(在第一筛选结果中筛选出N个vGPU)。举例来说,第一筛选结果包括5个vGPU,若资源调度请求所请求的虚拟GPU的数量是4个,则还需要在这5个vGPU中进一步筛选出4个vGPU,调度系统再将这4个vGPU返回给AI算法装置;
在第二种可选的实施方式中,第一筛选结果中vGPU的数量等于资源调度请求所请求的虚拟GPU的数量,则直接将第一筛选结果中的虚拟GPU作为目标虚拟GPU返回给调度系统。举例来说,第一筛选结果包括5个vGPU,若资源调度请求所请求的虚拟GPU的数量是5个,则直接将这5个vGPU返回给AI算法装置。
在第三种可选的实施方式中,第一筛选结果中vGPU的数量小于资源调度请求所请求的虚拟GPU的数量,则返回结果为空的消息至调度系统。举例来说,第一筛选结果包括5个vGPU,若资源调度请求所请求的虚拟GPU的数量是7个,此时第一筛选结果无法满足资源调度请求所请求的虚拟GPU的数量要求,代表该GPU集群无法满足该资源调度请求,调度系统就会返回结果为空的消息给AI算法装置,以通知AI算法装置,GPU集群无法满足该资源调度请求。
在上述第一种可选的实施方式中,在第一筛选结果中筛选N个vGPU时,可选的,可以将第一筛选结果按照计算参数从小到大的顺序排序,进而按照计算参数从小到大的顺序选取资源调度请求所要求的虚拟GPU资源的数量对应数量的虚拟GPU资源,也就是在排序结果中选取前N个vGPU。
举例来说,在计算参数包括算力的实施方式中,可以将第一筛选结果按照算力从小到大的顺序排序,然后从中选取前N个vGPU。假设第一筛选结果为如下表5所示:
表5第一筛选结果
vGPU编号 | 算力 |
0卡:vGPU-2 | 3.5 |
1卡:vGPU-4 | 5.2 |
2卡:vGPU-8 | 6.1 |
2卡:vGPU-9 | 3.0 |
3卡:vGPU-10 | 6.1 |
3卡:vGPU-11 | 5.2 |
3卡:vGPU-12 | 3.0 |
将第一筛选结果按照算力从小到大的顺序排序后,可以得到如下表6:
表6排序后的第一筛选结果
vGPU编号 | 算力 |
3卡:vGPU-12 | 3.0 |
2卡:vGPU-9 | 3.0 |
0卡:vGPU-2 | 3.5 |
1卡:vGPU-4 | 5.2 |
3卡:vGPU-11 | 5.2 |
2卡:vGPU-8 | 6.1 |
3卡:vGPU-10 | 6.1 |
从表6中可以看出,符合算力要求的vGPU是7个,假设资源调度请求所请求的vGPU数量是5个,则可以选取表5中前5个vGPU返回AI算法装置。
可选的,若计算参数包括显存,则在第一筛选结果中按照显存从小到大的顺序选取资源调度请求所要求的虚拟GPU资源的数量对应数量的虚拟GPU资源。对于计算参数包括显存的具体实施方式,与计算参数包括算力的实施方式类似,具体可以参见在第一筛选结果中按照算力从小到大的顺序选取资源调度请求所要求的虚拟GPU资源的数量对应数量的虚拟GPU资源的实施方式,此处不再赘述。
可选的,若计算参数包括算力和显存,则还可以根据预先设置的算力和显存的优先级,决定在第一筛选结果中是按照算力还是按照显存从小到大的顺序选取N个虚拟GPU资源。
本实施例在根据计算参数和数量进行二次筛选的过程中,将第一次筛选得到的可用vGPU按照计算参数由低到高进行排序,筛选时优先选择最小能满足资源需求的GPU卡(小作业),这样可以让已有资源得到最大化利用,减少碎片的产生,剩余的资源可以尽可能的满足长作业的需求,从而提高资源利用率。
在上述实施例的基础上,资源调度请求还包括与资源调度请求对应的任务处理请求的任务类型,且不同的GPU中的虚拟GPU对应有标签,而虚拟GPU对应的标签是根据资源调度请求对应的任务处理请求的任务类型确定的;本申请实施例的方法还包括如下方法步骤:
根据与资源调度请求对应的任务处理请求的任务类型,匹配与资源调度请求对应的任务处理请求的任务类型对应的至少一个标签;以及将至少一个标签对应的虚拟GPU作为匹配结果。
在本实施例中,可以理解为不同的GPU中的虚拟GPU对应的标签即为资源调度请求对应的任务处理请求的任务类型。举例来说,请继续参阅图6,假设图6中0卡至8卡上的27个vGPU中,有一部分例如13个vGPU对应的标签为模型训练任务,而这13个Vgpu可以分布在0-8卡中的任意至少两张卡,剩余的14个vGPU对应的标签为在线预测任务,那么若资源调度请求对应的任务处理请求的任务类型为模型训练任务,则匹配结果即为分布在0-8卡中的任意至少两张卡上的13个Vgpu中的部分或全部Vgpu。
图7为本申请实施例提供的资源调度装置的结构示意图。本申请实施例提供的资源调度装置可以执行资源调度方法实施例提供的处理流程,如图7所示,资源调度装置70包括:接收模块71、匹配模块72和返回模块73;其中,接收模块71,用于接收对图形处理器GPU集群中GPU的资源调度请求,所述资源调度请求包括待请求GPU的分组信息,所述待请求GPU的分组信息是根据所述资源调度请求对应的任务处理请求的任务类型确定的;匹配模块72,用于根据所述待请求GPU的分组信息,在所述GPU集群的所有GPU中匹配具有所述待请求GPU的分组信息的GPU,得到匹配结果,所述匹配结果包括与所述待请求GPU的分组信息对应的至少一个目标GPU;返回模块73,用于返回所述匹配结果。
可选的,每个GPU包括至少一个虚拟GPU,所述资源调度请求还包括虚拟GPU的计算参数和数量;该装置还包括:筛选模块74,用于根据所述虚拟GPU的计算参数和数量,在所述匹配结果中筛选满足所述虚拟GPU的计算参数和数量的虚拟GPU;所述返回模块73,还用于返回满足所述虚拟GPU的计算参数和数量的虚拟GPU。
可选的,所述计算参数包括算力和/或显存;所述筛选模块74包括:第一筛选单元741,用于在所述匹配结果中筛选满足所述算力和/或显存的虚拟GPU,得到第一筛选结果;第二筛选单元742,用于在所述第一筛选结果中,筛选满足虚拟GPU的数量要求的虚拟GPU资源。
可选的,所述第一筛选单元741在所述GPU列表中筛选满足所述算力和/或显存的虚拟GPU,得到第一筛选结果时,具体包括:获取所述算力和所述显存对应的优先级;若所述算力的优先级大于所述显存的优先级,则在所述GPU列表中筛选满足所述资源调度请求的虚拟GPU的算力要求的虚拟GPU,得到第二筛选结果;在所述第二筛选结果中筛选满足所述资源调度请求的虚拟GPU的显存要求的虚拟GPU,得到所述第一筛选结果。
可选的,所述第一筛选单元741在所述GPU列表中筛选满足所述算力和/或显存的虚拟GPU,得到第一筛选结果时,具体包括:获取所述算力和所述显存对应的优先级;若所述算力的优先级小于所述显存的优先级,则在所述GPU列表中筛选满足所述资源调度请求的虚拟GPU的显存要求的虚拟GPU,得到第三筛选结果;在所述第三筛选结果中筛选满足所述资源调度请求的虚拟GPU的算力要求的虚拟GPU,得到所述第一筛选结果。
可选的,所述第二筛选单元742在所述第一筛选结果中,筛选满足虚拟GPU的数量要求的虚拟GPU资源时,具体包括:若所述第一筛选结果中虚拟GPU的数量大于所述资源调度请求所要求的虚拟GPU资源的数量,则在所述第一筛选结果中按照计算参数从小到大的顺序选取所述资源调度请求所要求的虚拟GPU资源的数量对应数量的虚拟GPU资源;若所述第一筛选结果中虚拟GPU的数量等于所述资源调度请求所要求的虚拟GPU资源的数量,则返回所述第一筛选结果;若所述第一筛选结果中虚拟GPU的数量小于所述资源调度请求所要求的虚拟GPU资源的数量,则返回筛选结果为空的提示信息。
可选的,所述资源调度请求包括与所述资源调度请求对应的任务处理请求的任务类型;不同的GPU中的虚拟GPU对应有标签,所述虚拟GPU对应的标签是根据所述资源调度请求对应的任务处理请求的任务类型确定的;所述匹配模块72,还用于根据与所述资源调度请求对应的任务处理请求的任务类型,匹配与所述资源调度请求对应的任务处理请求的任务类型对应的至少一个标签;以及将所述至少一个标签对应的虚拟GPU作为所述匹配结果。
图7所示实施例的资源调度装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本申请实施例提供的电子设备的结构示意图。本申请实施例提供的电子设备可以执行资源调度方法实施例提供的处理流程,如图8所示,电子设备80包括:存储器81、处理器82、计算机程序和通信接口83;其中,计算机程序存储在存储器81中,并被配置为由处理器82执行以上方法实施例的方法步骤。
图8所示实施例的电子设备可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
另外,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的资源调度方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (7)
1.一种资源调度方法,其特征在于,包括:
接收对图形处理器GPU集群中GPU的资源调度请求,所述资源调度请求包括待请求GPU的分组信息,所述待请求GPU的分组信息是根据所述资源调度请求对应的任务处理请求的任务类型确定的;所述任务类型是按照任务用途进行划分的;
根据所述待请求GPU的分组信息,在所述GPU集群的所有GPU中匹配具有所述待请求GPU的分组信息的GPU,得到匹配结果,所述匹配结果包括与所述待请求GPU的分组信息对应的至少一个目标GPU;
返回所述匹配结果;
每个所述GPU包括至少一个虚拟GPU,所述资源调度请求还包括虚拟GPU的计算参数和数量,所述计算参数包括算力和/或显存;
所述根据所述待请求GPU的分组信息,在所述GPU集群的所有GPU中匹配具有所述待请求GPU的分组信息的GPU之后,所述方法还包括:
在所述匹配结果中筛选满足所述算力和/或显存的虚拟GPU,得到第一筛选结果;
在所述第一筛选结果中,筛选满足虚拟GPU的数量要求的虚拟GPU资源;
返回满足所述虚拟GPU的计算参数和数量的虚拟GPU;
在GPU列表中筛选满足所述算力和/或显存的虚拟GPU,得到第一筛选结果,包括:
获取所述算力和所述显存对应的优先级;
若所述算力的优先级大于所述显存的优先级,则在所述GPU列表中筛选满足所述资源调度请求的虚拟GPU的算力要求的虚拟GPU,得到第二筛选结果;
在所述第二筛选结果中筛选满足所述资源调度请求的虚拟GPU的显存要求的虚拟GPU,得到所述第一筛选结果。
2.根据权利要求1所述的方法,其特征在于,所述在所述GPU列表中筛选满足所述算力和/或显存的虚拟GPU,得到第一筛选结果,包括:
获取所述算力和所述显存对应的优先级;
若所述算力的优先级小于所述显存的优先级,则在所述GPU列表中筛选满足所述资源调度请求的虚拟GPU的显存要求的虚拟GPU,得到第三筛选结果;
在所述第三筛选结果中筛选满足所述资源调度请求的虚拟GPU的算力要求的虚拟GPU,得到所述第一筛选结果。
3.根据权利要求1或2所述的方法,其特征在于,所述在所述第一筛选结果中,筛选满足虚拟GPU的数量要求的虚拟GPU资源,包括:
若所述第一筛选结果中虚拟GPU的数量大于所述资源调度请求所要求的虚拟GPU资源的数量,则在所述第一筛选结果中按照计算参数从小到大的顺序选取所述资源调度请求所要求的虚拟GPU资源的数量对应数量的虚拟GPU资源;
若所述第一筛选结果中虚拟GPU的数量等于所述资源调度请求所要求的虚拟GPU资源的数量,则返回所述第一筛选结果;
若所述第一筛选结果中虚拟GPU的数量小于所述资源调度请求所要求的虚拟GPU资源的数量,则返回筛选结果为空的提示信息。
4.根据权利要求1或2所述的方法,其特征在于,所述资源调度请求包括与所述资源调度请求对应的任务处理请求的任务类型;不同的GPU中的虚拟GPU对应有标签,所述虚拟GPU对应的标签是根据所述资源调度请求对应的任务处理请求的任务类型确定的;所述方法还包括:
根据与所述资源调度请求对应的任务处理请求的任务类型,匹配与所述资源调度请求对应的任务处理请求的任务类型对应的至少一个标签;
将所述至少一个标签对应的虚拟GPU作为所述匹配结果。
5.一种资源调度装置,其特征在于,包括:
接收模块,用于接收对图形处理器GPU集群中GPU的资源调度请求,所述资源调度请求包括待请求GPU的分组信息,所述待请求GPU的分组信息是根据所述资源调度请求对应的任务处理请求的任务类型确定的;所述任务类型是按照任务用途进行划分的;
匹配模块,用于根据所述待请求GPU的分组信息,在所述GPU集群的所有GPU中匹配具有所述待请求GPU的分组信息的GPU,得到匹配结果,所述匹配结果包括与所述待请求GPU的分组信息对应的至少一个目标GPU;
返回模块,用于返回所述匹配结果;
每个GPU包括至少一个虚拟GPU,所述资源调度请求还包括虚拟GPU的计算参数和数量,所述计算参数包括算力和/或显存;
所述装置还包括:筛选模块,
所述筛选模块包括:
第一筛选单元,用于在所述匹配结果中筛选满足所述算力和/或显存的虚拟GPU,得到第一筛选结果;
第二筛选单元,用于在所述第一筛选结果中,筛选满足虚拟GPU的数量要求的虚拟GPU资源;
所述返回模块,还用于返回满足所述虚拟GPU的计算参数和数量的虚拟GPU;
所述第一筛选单元在所述GPU列表中筛选满足所述算力和/或显存的虚拟GPU,得到第一筛选结果时,具体包括:获取所述算力和所述显存对应的优先级;若所述算力的优先级大于所述显存的优先级,则在所述GPU列表中筛选满足所述资源调度请求的虚拟GPU的算力要求的虚拟GPU,得到第二筛选结果;在所述第二筛选结果中筛选满足所述资源调度请求的虚拟GPU的显存要求的虚拟GPU,得到所述第一筛选结果。
6.一种电子设备,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-4中任一项所述的方法。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011158231.7A CN112346859B (zh) | 2020-10-26 | 2020-10-26 | 资源调度方法及装置、电子设备和存储介质 |
KR1020217037982A KR20220058844A (ko) | 2020-10-26 | 2021-05-21 | 리소스 스케줄링 방법 및 장치, 전자 기기, 저장 매체 및 프로그램 제품 |
PCT/CN2021/095292 WO2022088659A1 (zh) | 2020-10-26 | 2021-05-21 | 资源调度方法及装置、电子设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011158231.7A CN112346859B (zh) | 2020-10-26 | 2020-10-26 | 资源调度方法及装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112346859A CN112346859A (zh) | 2021-02-09 |
CN112346859B true CN112346859B (zh) | 2023-06-16 |
Family
ID=74358745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011158231.7A Active CN112346859B (zh) | 2020-10-26 | 2020-10-26 | 资源调度方法及装置、电子设备和存储介质 |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR20220058844A (zh) |
CN (1) | CN112346859B (zh) |
WO (1) | WO2022088659A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112346859B (zh) * | 2020-10-26 | 2023-06-16 | 北京市商汤科技开发有限公司 | 资源调度方法及装置、电子设备和存储介质 |
CN113204428B (zh) * | 2021-05-28 | 2023-01-20 | 北京市商汤科技开发有限公司 | 资源调度方法、装置、电子设备以及计算机可读存储介质 |
CN114820279B (zh) * | 2022-05-18 | 2023-03-24 | 北京百度网讯科技有限公司 | 基于多gpu的分布式深度学习方法、装置及电子设备 |
CN114968272A (zh) * | 2022-05-31 | 2022-08-30 | 京东方科技集团股份有限公司 | 一种算法运行方法、装置、设备、存储介质 |
CN115965517B (zh) * | 2023-01-09 | 2023-10-20 | 摩尔线程智能科技(北京)有限责任公司 | 图形处理器资源管理方法及装置、电子设备和存储介质 |
CN115981871B (zh) * | 2023-03-17 | 2024-01-26 | 苏州万店掌网络科技有限公司 | 一种gpu资源调度方法、装置、设备及存储介质 |
CN116302568A (zh) * | 2023-05-17 | 2023-06-23 | 算力互联(北京)科技有限公司 | 一种算力资源调度方法及系统、调度中心、数据中心 |
CN116643893B (zh) * | 2023-07-27 | 2023-10-20 | 合肥中科类脑智能技术有限公司 | 算力任务的调度方法、调度装置、存储介质及服务器 |
CN116757915B (zh) * | 2023-08-16 | 2023-11-28 | 北京蓝耘科技股份有限公司 | 一种集群gpu资源调度方法 |
CN117539639A (zh) * | 2024-01-05 | 2024-02-09 | 北京趋动智能科技有限公司 | 显存资源调度方法、装置、系统、存储介质及电子设备 |
CN117687802B (zh) * | 2024-02-02 | 2024-04-30 | 湖南马栏山视频先进技术研究院有限公司 | 一种基于云平台的深度学习并行调度方法、装置和云平台 |
CN117891618B (zh) * | 2024-03-15 | 2024-05-24 | 杭州宇泛智能科技有限公司 | 人工智能模型训练平台的资源任务处理方法及装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101885211B1 (ko) * | 2012-01-27 | 2018-08-29 | 삼성전자 주식회사 | Gpu의 자원 할당을 위한 방법 및 장치 |
CN109074281B (zh) * | 2016-04-28 | 2022-05-24 | 华为技术有限公司 | 图形处理器任务的分配方法和装置 |
US10262390B1 (en) * | 2017-04-14 | 2019-04-16 | EMC IP Holding Company LLC | Managing access to a resource pool of graphics processing units under fine grain control |
CN109144710B (zh) * | 2017-06-16 | 2020-12-04 | 中国移动通信有限公司研究院 | 资源调度方法、装置及计算机可读存储介质 |
CN110503593A (zh) * | 2018-05-18 | 2019-11-26 | 微软技术许可有限责任公司 | 多个图形处理单元的调度 |
CN109375992A (zh) * | 2018-08-17 | 2019-02-22 | 华为技术有限公司 | 一种资源调度方法及装置 |
CN109376011B (zh) * | 2018-09-26 | 2021-01-15 | 郑州云海信息技术有限公司 | 虚拟化系统中管理资源的方法和装置 |
CN109634748A (zh) * | 2018-12-12 | 2019-04-16 | 深圳前海微众银行股份有限公司 | 集群资源调度方法、装置、设备及计算机可读存储介质 |
CN110688218B (zh) * | 2019-09-05 | 2022-11-04 | 广东浪潮大数据研究有限公司 | 资源调度方法及装置 |
CN110941481A (zh) * | 2019-10-22 | 2020-03-31 | 华为技术有限公司 | 资源调度方法、装置及系统 |
CN111158879B (zh) * | 2019-12-31 | 2024-03-22 | 上海依图网络科技有限公司 | 一种系统资源的调度方法,装置、机器可读介质和系统 |
CN112346859B (zh) * | 2020-10-26 | 2023-06-16 | 北京市商汤科技开发有限公司 | 资源调度方法及装置、电子设备和存储介质 |
-
2020
- 2020-10-26 CN CN202011158231.7A patent/CN112346859B/zh active Active
-
2021
- 2021-05-21 KR KR1020217037982A patent/KR20220058844A/ko unknown
- 2021-05-21 WO PCT/CN2021/095292 patent/WO2022088659A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN112346859A (zh) | 2021-02-09 |
KR20220058844A (ko) | 2022-05-10 |
WO2022088659A1 (zh) | 2022-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112346859B (zh) | 资源调度方法及装置、电子设备和存储介质 | |
CN109983480B (zh) | 使用聚类损失训练神经网络 | |
WO2022262167A1 (zh) | 集群资源调度方法及装置、电子设备和存储介质 | |
CN110795241B (zh) | 一种作业调度管理方法、调度中心和系统 | |
CN110389816B (zh) | 用于资源调度的方法、装置以及计算机可读介质 | |
EP3191948A1 (en) | Computing instance launch time | |
CN112416585A (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
CN105988930A (zh) | 测试用例生成方法和装置 | |
CN103310460A (zh) | 图像特征提取的方法及系统 | |
CN113946431B (zh) | 一种资源调度方法、系统、介质及计算设备 | |
CN112486788B (zh) | 一种工作量评估方法、装置、电子设备和可读存储介质 | |
CN108241531A (zh) | 一种在集群中为虚拟机分配资源的方法和装置 | |
CN115292014A (zh) | 图像渲染方法、装置和服务器 | |
CN111506434A (zh) | 一种任务处理方法、装置及计算机可读存储介质 | |
CN114943885A (zh) | 一种基于训练任务的同步缓存加速方法及系统 | |
US11941519B2 (en) | Machine learning training platform | |
CN113419833A (zh) | 用于量子云计算平台任务调度的方法、装置和量子云计算平台任务调度服务器 | |
CN116820714A (zh) | 一种算力设备的调度方法、装置、设备和存储介质 | |
Zhang et al. | Learning driven parallelization for large-scale video workload in hybrid CPU-GPU cluster | |
CN111796934B (zh) | 任务下发方法、装置、存储介质和电子设备 | |
CN114510319A (zh) | 一种基于Kubernetes集群GPU空间共享的方法 | |
CN113657499A (zh) | 基于特征选择的权益分配方法、装置、电子设备及介质 | |
CN112988383A (zh) | 一种资源分配方法、装置、设备以及存储介质 | |
CN111930299A (zh) | 分配存储单元的方法及相关设备 | |
CN110442501A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40040787 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |