CN111694648B - 一种任务调度方法、装置以及电子设备 - Google Patents
一种任务调度方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN111694648B CN111694648B CN202010518709.6A CN202010518709A CN111694648B CN 111694648 B CN111694648 B CN 111694648B CN 202010518709 A CN202010518709 A CN 202010518709A CN 111694648 B CN111694648 B CN 111694648B
- Authority
- CN
- China
- Prior art keywords
- task
- gpu
- scheduled
- tasks
- stage
- 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 73
- 230000008569 process Effects 0.000 claims abstract description 32
- 230000000875 corresponding effect Effects 0.000 claims description 38
- 230000015654 memory Effects 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000002596 correlated effect Effects 0.000 claims description 3
- 230000003797 telogen phase Effects 0.000 claims description 2
- 238000010801 machine learning Methods 0.000 abstract description 7
- 238000012549 training Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种任务调度方法、装置以及电子设备,涉及调度技术领域。具体实现方案为:接收针对待调度任务的调度请求;响应于调度请求,计算待调度任务与N个图形处理器GPU的每个GPU中运行的任务之间的第一相关度,获得N个第一相关度,N为大于1的整数;基于N个第一相关度,确定目标GPU,其中,目标GPU为N个GPU中相关度最小的GPU;将待调度任务调度至目标GPU执行。在选择执行待调度任务的目标GPU的过程中,考虑了待调度任务与GPU中运行的任务之间的相关度,将待调度任务调度至相关度最小的目标GPU上执行,如此,可提高GPU上任务的并发度,可提高GPU资源的利用率,可应用于自动驾驶系统、高性能计算机、机器学习训练平台等场景。
Description
技术领域
本申请涉及计算机技术中的调度技术领域,尤其涉及一种任务调度方法、装置以及电子设备。
背景技术
随着计算任务复杂度的提高,以及对计算性能要求的提高,CPU+多GPU(图形处理器)的架构越来越多,该架构广泛用于各场景,例如,自动驾驶系统、高性能计算机、机器学习训练平台等。
目前在对GPU任务进行调度过程中,通常采用的方式是将GPU任务调度到运行任务最少的GPU上运行,然而,这种方式容易导致GPU资源利用率较低的情况。
发明内容
本申请提供一种任务调度方法、装置和电子设备,以解决现有任务调度过程中GPU资源利用率较低的问题。
第一方面,本申请一个实施例提供一种任务调度方法,包括:
接收针对待调度任务的调度请求;
响应于所述调度请求,计算所述待调度任务与N个图形处理器GPU的每个GPU中运行的任务之间的第一相关度,获得N个第一相关度,N为大于1的整数;
基于所述N个第一相关度,确定目标GPU,其中,所述目标GPU为所述N个GPU中相关度最小的GPU;
将所述待调度任务调度至所述目标GPU执行。
在本申请实施例的任务调度方法中,在接收到针对待调度任务的调度请求后,可计算所述待调度任务与每个GPU中运行的任务之间的第一相关度,将N个GPU中相关度最小的GPU作为目标GPU,用来执行待调度任务。在选择执行待调度任务的目标GPU的过程中,考虑了待调度任务与GPU中运行的任务之间的相关度,将待调度任务调度至相关度最小的目标GPU上执行,如此,可提高GPU上任务的并发度,可提高GPU资源的利用率。
第二方面,本申请一个实施例提供一种任务调度装置,所述装置包括:
请求接收模块,用于接收针对待调度任务的调度请求;
第一计算模块,用于响应于所述调度请求,计算所述待调度任务与N个图形处理器GPU的每个GPU中运行的任务之间的第一相关度,获得N个第一相关度,N为大于1的整数;
第一确定模块,用于基于所述N个第一相关度,确定目标GPU,其中,所述目标GPU为所述N个GPU中相关度最小的GPU;
调度模块,用于将所述待调度任务调度至所述目标GPU执行。
通过本申请实施例的任务调度装置,在接收针对待调度任务的调度请求后,可计算所述待调度任务与每个GPU中运行的任务之间的第一相关度,将N个GPU中相关度最小的GPU作为目标GPU,用来执行待调度任务。在选择执行待调度任务的目标GPU的过程中,考虑了待调度任务与GPU中运行的任务之间的相关度,将待调度任务调度至相关度最小的目标GPU上执行,如此,可提高GPU上任务的并发度,可提高GPU资源的利用率。
第三方面,本申请一个实施例还提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请各实施例提供的方法。
第四方面,本申请一个实施例还提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请各实施例提供的方法。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请提供的一个实施例的任务调度方法的流程示意图之一;
图2是本申请提供的一个实施例的任务调度方法的流程示意图之二;
图3是本申请提供的一个实施例的任务调度方法的原理图之一;
图4是本申请提供的一个实施例的任务调度方法的原理图之二;
图5是本申请提供的一个实施例的任务调度装置的结构图之一;
图6是本申请提供的一个实施例的任务调度装置的结构图之二;
图7是本申请提供的一个实施例的任务调度装置的结构图之三;
图8是本申请提供的一个实施例的任务调度装置的结构图之四;
图9是用来实现本申请实施例的任务调度方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
如图1所示,根据本申请的实施例,本申请提供一种任务调度方法,包括:
步骤S101:接收针对待调度任务的调度请求。
待调度任务为需要GPU执行的等待被调度的任务,首先在CPU产生待调度任务,可向CPU中的Master进程(主进程)发送调度请求,以请求执行待调度任务的GPU,Master进程接收调度请求后,对待调度任务进行调度。
步骤S102:响应于调度请求,计算待调度任务与N个图形处理器GPU的每个GPU中运行的任务之间的第一相关度,获得N个第一相关度。
N为大于1的整数,该任务调度方法可应用到任务调度系统中,任务调度系统中包括N个GPU,Master进程接收到调度请求后,每个GPU中有当前正在运行的任务,例如,对于GPU1,在Master进程收到调度请求后,GPU1当前正在运行的任务为任务1和任务2。如此,可计算待调度任务与每个GPU中运行的任务之间的第一相关度。需要说明的是,相关度可以理解为对资源的相关度,待调度任务与运行的任务之间的相关度越低,待调度任务与运行的任务之间的关联性越低,对同一资源竞争的时间越少,即相关度可用于表征对同一资源竞争的时间。例如,相关度越高,表示对相同GPU资源的竞争越激烈,任务之间需要串行的部分越多,对相同GPU资源的竞争时间越多。相关度越低,表示对相同GPU资源的竞争越小,任务之间需要串行的部分越少,需要并行的部分越多,对相同GPU资源的竞争时间越少。
若GPU中运行的任务有多个,待调度任务与该GPU中运行的任务之间的第一相关度为待调度任务与该GPU中每个运行的任务之间的相关度之和,表示待调整任务与GPU中运行的任务整体之间的相关度。例如,对于GPU1中正在运行的任务1和任务2,计算得到的待调度任务与GPU1中运行任务之间的第一相关度可以理解为待调度任务分别与GPU1中任务1以及任务2之间的相似度之和。
步骤S103:基于N个第一相关度,确定目标GPU,其中,目标GPU为N个GPU中相关度最小的GPU。
步骤S104:将待调度任务调度至目标GPU执行。
待调度任务与每个GPU中运行的任务之间的第一相关度,可以理解为每个GPU对应的第一相关度,将N个第一相关度中最小相关度的GPU作为目标GPU,将待调度任务调度到该目标GPU中运行。N个第一相关度中最小相关度的GPU,其中运行的任务与待调度任务之间的关联性在N个GPU中最低,对同一资源竞争的时间最少,将其作为目标GPU,用来执行待调度任务。
在本申请实施例的任务调度方法中,接收针对待调度任务的调度请求后,可计算所述待调度任务与每个GPU中运行的任务之间的第一相关度,将N个GPU中相关度最小的GPU作为目标GPU,用来执行待调度任务。在选择执行待调度任务的目标GPU的过程中,考虑了待调度任务与GPU中运行的任务之间的相关度,将待调度任务调度至相关度最小的目标GPU上执行,如此,可提高GPU上任务的并发度,可提高GPU资源的利用率。
在一个实施例中,待调度任务包括M个第一阶段任务,M为正整数。作为一个示例,基于所需资源的类型将待调度任务划分得到有序的M个第一阶段任务,有序表示待调度任务执行时有时间先后顺序,每个第一阶段任务有对应所需资源,每两相邻第一阶段任务所需资源的类型不同,可以理解,若两相邻第一阶段任务所需资源的类型,例如,均需要计算资源,在阶段任务分类时,分成同一第一一阶段任务。
其中,计算待调度任务与N个图形处理器GPU的每个GPU中运行的任务之间的第一相关度,包括:获取每个GPU中运行的任务的剩余阶段任务;确定每个GPU中的剩余阶段任务中与每个第一阶段任务之间的并行阶段任务;对于每个GPU的并行阶段任务,计算每个第一阶段任务的第一参数与对应的并行阶段任务的第一参数之和,得到每个GPU的M个第一求和结果,其中,第一参数表示对所需资源的占用强度;对每个GPU的M个第一求和结果分别进行求和,得到每个GPU中运行的任务与待调度任务之间的第一相关度。即在本实施例中,还提供一种任务调度方法,如图2所示,该方法包括:
步骤S201:接收针对待调度任务的调度请求。
步骤S201与步骤S101对应,在此不再赘述。
步骤S202:响应于调度请求,获取每个GPU中运行的任务的剩余阶段任务。
接收调度请求后,每个GPU中有正在运行的任务,每个运行的任务包括多个阶段任务,接收调度请求后,GPU中正在运行的任务可能已经运行完部分阶段任务,从而,在接收调度请求后,先获取每个GPU中运行的任务的剩余阶段任务,即运行的任务中还未执行完毕的阶段任务。
步骤S203:确定每个GPU中的剩余阶段任务中与每个第一阶段任务之间的并行阶段任务。
对于每个GPU,由于待调度任务包括M个第一阶段任务,需确定每个GPU中剩余阶段任务中与每个第一阶段任务的重合部分,即并行阶段任务。举例说明,对于GPU1中运行的任务包括任务1和任务2,任务1包括阶段任务11、阶段任务12、阶段任务13和的阶段任务14,任务2包括的阶段任务21、阶段任务22和阶段任务23,对于任务1,在接收到调度请求后,阶段任务11已执行完成,剩余阶段任务12、阶段任务13和的阶段任务14,对于任务2,在接收到调度请求后,阶段任务21和阶段任务22已执行完成,剩余阶段任务23,如此,GPU1中剩余阶段任务包括阶段任务12、阶段任务13和、阶段任务14和阶段任务23。待调度任务中M个第一阶段任务包括第一阶段任务d1以及第一阶段任务d2,对于GPU1,确定其中剩余阶段任务分别与第一阶段任务d1以及第一阶段任务d2之间的并行阶段任务,比如,上述剩余阶段任务中与第一阶段任务d1之间的并行阶段任务包括阶段任务12和阶段任务22,即第一阶段任务d1对应的并行阶段任务包括阶段任务12和阶段任务22,上述剩余阶段任务中与第一阶段任务d2之间的并行阶段任务包括阶段任务13和阶段任务22,即第一阶段任务d2对应的并行阶段任务包括阶段任务13和阶段任务22。
作为一个示例,可通过预先设定的每个第一阶段任务的预设资源占用时长,确定每个GPU中的剩余阶段任务中与每个第一阶段任务之间的并行阶段任务,GPU中的剩余阶段任务为GPU中正在运行的任务中未执行完的阶段任务,待调度任务是本次还未执行等待被调度的任务,预先可对待调度任务中M个第一阶段任务的每个第一阶段任务的资源占用时长进行预测,即每个第一阶段任务的预设资源占用时长,如此,可利用每个第一阶段任务的预设资源占用时长,确定GPU中的剩余阶段任务中与每个第一阶段任务之间的并行阶段任务。另外,在确定执行待调度任务的目标GPU之前,还可预先对每个GPU中正在运行的任务的每个阶段任务的资源占用时长进行预测,得到每个GPU中正在运行的任务的每个阶段任务的预测资源占用时长,可利用每个第一阶段任务的预设资源占用时长以及每个GPU中正在运行的任务的每个阶段任务的预测资源占用时长,确定每个GPU中的剩余阶段任务中与每个第一阶段任务之间的并行阶段任务。例如,对于待调度任务中的第一阶段任务d1和第一阶段任务d2,第一阶段任务d1需先于第一阶段任务d2执行,对于GPU1中的任务1,剩余阶段任务包括阶段任务12、阶段任务13和的阶段任务14,如此,可根据第一阶段任务d1的预设资源占用时长,以及阶段任务12、阶段任务13和的阶段任务14的预测资源占用时长,预测阶段任务12、阶段任务13和的阶段任务14中与第一阶段任务d1在时间上并行的阶段任务,即并行阶段任务,例如,对于GPU1中的任务1的剩余阶段任务,第一阶段任务d1对应的并行阶段任务包括阶段任务12。
步骤S204:对每个GPU的并行阶段任务,计算每个第一阶段任务的第一参数与对应的并行阶段任务的第一参数之和,得到每个GPU的M个第一求和结果。
其中,第一参数表示对所需资源的占用强度,例如,第一阶段任务的第一参数表示第一阶段任务对执行第一阶段任务所需资源的占用强度,对于某个第一阶段任务,执行时需要计算资源,则该第一阶段任务的第一参数表示对计算资源的占用强度。占用强度可以通过占用大小得到,占用大小表示执行任务时占用所需资源的大小,占用大小越大,占用强度越大,例如,对于总的计算资源为X,执行第一阶段任务时占用计算资源大小为0.5倍X,可依此可确定该第一阶段任务对计算资源的占用强度,例如,可以为0.5,对某个资源占用强度越大,表示对该资源占用越强,对某个资源占用强度越小,表示对该资源占用越弱,占用强度在[0,1]的范围内。
如上举例,对于GPU1,计算第一阶段任务d1的第一参数与对应的并行阶段任务(即阶段任务12和阶段任务22)的第一参数之和,即第一阶段任务d1的第一参数、阶段任务12的第一参数和阶段任务22的第一参数之和,得到一个第一求和结果,以及计算第一阶段任务d2的第一参数与对应的并行阶段任务(即阶段任务13和阶段任务22)的第一参数之和,即第一阶段任务d2的第一参数、阶段任务13的第一参数和阶段任务22的第一参数之和,另外得到一个第一求和结果,如此,得到2个第一求和结果,第一求和结果的数量与第一阶段任务的数量相同。通过上述类似过程,可计算针对每个GPU的并行阶段任务,每个第一阶段任务的第一参数与对应的并行阶段任务的第一参数之和。
步骤S205:对每个GPU的M个第一求和结果分别进行求和,得到每个GPU中运行的任务与待调度任务之间的第一相关度。
每个GPU对应M个第一求和结果,分别对每个GPU中的M个第一求和结果求和,得到每个GPU对应的第一相关度。如上举例说明,对于GPU1,包括2个第一求和结果,将其相加,得到GPU1对应的第一相关度。对于每个GPU的M个第一求和结果进行求和,得到每个GPU对应的第一相关度。
步骤S206:基于N个第一相关度,确定目标GPU,其中,目标GPU为N个GPU中相关度最小的GPU。
步骤S207:将待调度任务调度至目标GPU执行。
步骤206-S207与上述步骤S103-S104一一对应,在此不再赘述。
在本实施例中,通过确定每个GPU中运行的任务的剩余阶段任务,利用每个GPU中的剩余阶段任务中与每个第一阶段任务之间的并行阶段任务的第一参数与对应第一阶段任务的第一参数之和,确定第一相关度,不但滤除GPU中运行的任务的已执行完成的阶段任务,而且利用的是GPU中的剩余阶段任务中与每个第一阶段任务之间的并行阶段任务的第一参数与对应第一阶段任务的第一参数之和确定第一相关度,如此,可提高第一相关度的准确性,从而可提高基于第一相关度进行任务调度的准确性。与此同时,计算第一相关度与GPU中的并行阶段任务有关,利用N个第一相关度中最小相关度对应的目标GPU执行待调度任务,可提高目标GPU的并行资源利用率。
在一个实施例中,对每个GPU的M个第一求和结果分别进行求和,得到每个GPU中运行的任务与待调度任务之间的第一相关度,包括:对每个GPU的M个第一求和结果分别进行求和,得到每个GPU的第二求和结果;将每个GPU的第二求和结果与对应的预设权重相乘,得到每个GPU中运行的任务与待调度任务之间的第一相关度。
GPU的预设权重可以理解为待调度任务对GPU的亲和度,预设权重为[0,1]范围内的值,GPU的预设权重可预先根据待调度任务中M个第一阶段任务所需资源以及该GPU的实际资源情况确定,对于同一GPU,不同的待调度任务,预设权重可不同,预设权重可表示待调度任务在GPU上运行的速度,GPU的预设权重越大,待调度任务在该GPU上运行的速度越快。如上举例说明,对于GPU1,将2个第一求和结果得到第二求和结果,然后将第二求和结果与GPU1对应的预设权重相乘,得到GPU1对应的第一相关度。
在本实施计算第一相关度的过程中,不但考虑了GPU的M个第一求和结果之和,而且考虑了GPU的预设权重,可提高第一相关度的准确性。
在一个实施例中,基于N个第一相关度,确定目标GPU之前,还包括:计算待调度任务与N个GPU的P个候选GPU中运行的任务之间的第二相关度,得到P个第二相关度。
其中,P为正整数,第二相关度可以理解为候选GPU的第二相关度,每个候选GPU的其他运行任务与接收调度请求后对应的候选GPU中运行的任务匹配,每个候选GPU的其他运行任务为每个候选GPU在历史时间里执行目标调度任务过程中除目标调度任务外其他运行的任务,目标调度任务与待调度任务匹配;
在本实施例中,基于N个第一相关度,确定目标GPU,包括:基于N个第一相关度以及P个第二相关度,确定目标GPU。
若GPU中其他运行任务与GPU中当前运行的任务匹配,则将该GPU确定为候选GPU,候选GPU在历史时间里执行过与待调度任务匹配的目标调度任务。作为一个示例,目标调度任务与待调度任务匹配,可表示目标调度任务与待调度任务相同,例如,均是某个机器学习任务等,即该机器学习任务可执行多次,在本次调度该机器学习任务之前执行过该机器学习任务。作为一个示例,候选GPU的其他运行任务与其中当前运行的任务匹配,表示候选GPU的其他运行任务与其中运行的任务相同,例如,候选GPU的其他运行任务包括任务1和任务2,接收调度请求后,候选GPU的运行的任务也包括任务1和任务2,即候选GPU的其他运行任务与其中运行的任务匹配。在本实施例中,N个GPU中存在P个候选GPU,除计算每个GPU的第一相关度之外,还需计算P个候选GPU对应的第二相关度。利用N个第一相关度以及P个第二相关度,确定目标GPU,既考虑了第一相关度,且考虑了第二相关度,如此,可提高目标GPU的准确性,将待调度任务调度至目标GPU执行,提高GPU资源利用率。
在一个实施例中,计算待调度任务与N个GPU的P个候选GPU中运行的任务之间的第二相关度,得到P个第二相关度,包括:
获取P个候选GPU中目标调度任务的运行时长;
根据P个候选GPU中目标调度任务的运行时长,计算P个第二相关度,第二相关度与运行时长正相关。
待调度任务与目标调度任务匹配,待调度任务的运行时长与目标调度任务的运行时长(目标调度任务实际执行过程中的实际运行时长)匹配,在获得每个候选GPU执行目标调度任务过程中,目标调度任务的运行时长后,可利用P个候选GPU中目标调度任务的运行时长,得到待调度任务与P个候选GPU中运行的任务之间的第二相关度,待调度任务与目标GPU中运行的任务之间的第二相关度与待调度任务匹配的目标调度任务在该GPU中的运行时长正相关。
在本实施例中,利用候选GPU的与待调度任务匹配的目标调度任务的运行时长确定候选GPU的第二相关度,提高第二相关度的准确性,进而提高对待调度任务调度的准确性。
下面以一个具体实施例对上述任务调度方法的过程加以具体说明。待调度任务为待调度GPU任务,GPU的运行的任务为运行GPU任务,GPU任务包括待调度GPU任务和运行GPU任务。
首先,对每个GPU任务进行阶段划分和GPU竞争资源特征标定。
将GPU任务进行阶段划分,划分依据是GPU上不同竞争资源的占用情况。例如,可将GPU上的资源划分为:GPU内存申请、GPU内存释放、CPU和GPU间数据传输带宽、浮点计算资源、算数逻辑资源以及GPU设备同步等。后续根据相关度调度GPU,通过资源类型的划分,可将占用不同类型资源的任务尽量放到一个GPU上,如此,可提高资源利用利率。
基于资源类型,将GPU任务进行阶段划分,例如,一个机器学习的推理任务,可以划分为三个阶段任务,特征提取、推理、和提取推理结果,三个阶段任务的划分,是根据各个阶段任务对GPU资源占用情况即所需资源的类型,特征提取阶段任务占用内存带宽,推理阶段任务占用计算资源,提取推理结果阶段任务占用内存带宽。
划分阶段后,需对每一个阶段任务的资源竞争属性(阶段任务所需资源属性,比如,阶段任务所需资源大小)和资源占用时长进行预设,并且需要根据阶段任务的资源竞争属性确定对应资源的强度值(即该阶段任务的第一参数),强度值为[0,1]范围内的值,其中1表示对竞争资源的占用强度最强,0表示对竞争资源的占用强度最弱。
然后,计算待调度GPU任务在不同GPU上与GPU上运行的任务并发运行时的相关度,对同一资源竞争的时间越少,相关度越低。
其次,根据待调度GPU任务与GPU上运行的任务之间的相关度,进行GPU调度。例如,调度相关度最小的GPU执行待调度GPU任务。
其中,对于计算待调度GPU任务在不同GPU上与GPU上运行的任务并发运行时的相关度的过程如下。
首先,如图3所示,在CPU生成待调度GPU任务,待调度GPU任务在使用GPU之前,先向CPU中的GPU调度Master进程请求GPU。调度进程维护各个GPU上的任务信息,当一个待调度GPU任务向调度Master进程申请GPU资源时,调度Master进程调度算法如下:
计算待调度GPU任务调度到GPU上后,与该GPU上所有运行的任务之间的第一相关度。调度Master进程可记录每个GPU上每个运行的任务运行到了哪个阶段,即可记录运行的任务中当前运行的阶段任务,因此可以获取每个运行的任务的剩余需要运行的阶段任务即剩余阶段任务,将待调度GPU任务的整个阶段和GPU上当前运行的任务中剩余阶段任务之间进行相关度计算。例如,以上述举例说明的GPU1为例,获取待调度GPU任务和GPU1上运行的任务的剩余阶段任务的重合部分,重和部分包含并行阶段任务,将这些并行阶段任务的资源占用强度(即第一参数),进行累加,获得总的资源占用强度,将总的资源占用强度作为第一相关度,即得到待调度GPU任务与GPU1运行的任务之间的第一相关度。如此,对于每个GPU进行上述过程,得到待调度GPU任务与每个GPU运行的任务之间的第一相关度。
如图4所示,对于GPU1中运行的任务包括任务1和任务2,任务1包括阶段任务11、阶段任务12、阶段任务13和的阶段任务14,任务2包括的阶段任务21、阶段任务22和阶段任务23,对于任务1,在接收到调度请求后,阶段任务11已执行完成,剩余阶段任务12、阶段任务13和的阶段任务14,对于任务2,在接收到调度请求后,阶段任务21和阶段任务22已执行完成,剩余阶段任务23,如此,GPU1中剩余阶段任务包括阶段任务12、阶段任务13和、阶段任务14和阶段任务23。待调度任务中M个第一阶段任务包括第一阶段任务d1以及第一阶段任务d2,对于GPU1,确定其中剩余阶段任务分别与第一阶段任务d1以及第一阶段任务d2之间的并行阶段任务,比如,上述剩余阶段任务中与第一阶段任务d1之间的并行阶段任务包括阶段任务12和阶段任务22,即第一阶段任务d1对应的并行阶段任务包括阶段任务12和阶段任务22,上述剩余阶段任务中与第一阶段任务d2之间的并行阶段任务包括阶段任务13和阶段任务22,即第一阶段任务d2对应的并行阶段任务包括阶段任务13和阶段任务22。如此,将第一阶段任务d1的强度值与对应的阶段任务12和阶段任务22的强度值相加,得到一个第一求和结果,将第一阶段任务d2的强度值与对应的阶段任务13和阶段任务22的强度值相加,得到另一个第一求和结果。将2个第一求和结果相加,得到第二求和结果,然后乘以GPU的预设权重,即可得到待调度任务在GPU1上的第一相关度。
其次,Master进程统计待调度任务匹配的目标调度任务在P个候选GPU上运行时的实际运行时长,需要说明的是,只需计算候选GPU上的第二相关度,候选GPU在历史时间段里运行目标调度任务时其他运行任务与当前调度过程中该候选GPU上运行的任务相同。根据实际运行时长,生成待调度GPU任务在候选GPU上的第二相关度。
将计算得到的N个第一相关度和统计得到的P个第二相关度进行比较,将N个第一相关度和P个第二相关度中相关度最小的GPU作为执行待调度GPU任务的目标GPU,Master进程确定目标GPU后,向CPU返回调度回应,携带目标GPU的信息,然后将调度GPU任务调度至该目标GPU中执行。
通过预先分析GPU任务对GPU并行资源的竞争使用情况,对GPU任务进行阶段划分,计算GPU任务之间在同一GPU上竞争资源的相关度。相关度越高,说明并行任务对某一GPU资源的竞争越激烈,并行任务之间需要串行的部分越多,相关度越低,说明并行任务对某一GPU资源的竞争越小,并行计算的部分就越多。通过相关度对GPU进行调度,可以减少并发GPU任务在同一个GPU上的资源竞争,增加GPU的并发度,提高资源占用率。
如图5所示,本申请提供一种实施例的任务调度装置500,该装置500包括:
请求接收模块501,用于接收针对待调度任务的调度请求;
第一计算模块502,用于响应于调度请求,计算待调度任务与N个图形处理器GPU的每个GPU中运行的任务之间的第一相关度,获得N个第一相关度,N为大于1的整数;
第一确定模块503,用于基于N个第一相关度,确定目标GPU,其中,目标GPU为N个GPU中相关度最小的GPU;
调度模块504,用于将待调度任务调度至目标GPU执行。
在一个实施例中,待调度任务包括M个第一阶段任务,M为正整数;
如图6所示,第一计算模块502,包括:
第一获取模块5021,用于获取每个GPU中运行的任务的剩余阶段任务;
第二确定模块5022,用于确定每个GPU中的剩余阶段任务中与每个第一阶段任务之间的并行阶段任务;
第一求和模块5023,用于对于每个GPU的并行阶段任务,计算每个第一阶段任务的第一参数与对应的并行阶段任务的第一参数之和,得到每个GPU的M个第一求和结果,其中,第一参数表示对所需资源的占用强度;
第二求和模块5024,用于对每个GPU的M个第一求和结果分别进行求和,得到每个GPU中运行的任务与待调度任务之间的第一相关度。
如图7所示,在一个实施例中,第二求和模块5024,包括:
求和子模块50241,用于对每个GPU的M个第一求和结果分别进行求和,得到每个GPU的第二求和结果;
相乘模块50242,用于将每个GPU的第二求和结果与对应的预设权重相乘,得到每个GPU中运行的任务与待调度任务之间的第一相关度。
如图8所示,在一个实施例中,装置还包括:
第三计算模块505,用于在第一确定模块执行基于N个第一相关度,确定目标GPU之前,计算待调度任务与N个GPU的P个候选GPU中运行的任务之间的第二相关度,得到P个第二相关度;
其中,P为正整数,每个候选GPU的其他运行任务与接收调度请求后对应的候选GPU中运行的任务匹配,每个候选GPU的其他运行任务为每个候选GPU在历史时间里执行目标调度任务过程中除目标调度任务外其他运行的任务,目标调度任务与待调度任务匹配;
基于N个第一相关度,确定目标GPU,包括:基于N个第一相关度以及P个第二相关度,确定目标GPU。
在一个实施例中,第三计算模块,包括:
第二获取模块,用于获取P个候选GPU中目标调度任务的运行时长;
第二相关度计算模块,用于根据P个候选GPU中目标调度任务的运行时长,计算P个第二相关度,第二相关度与运行时长正相关。
上述各实施例的任务调度装置为实现上述各实施例的任务调度方法的装置,技术特征对应,技术效果对应,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图9所示,是根据本申请实施例的任务调度方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图9所示,该电子设备包括:一个或多个处理器901、存储器902,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUM的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器901为例。
存储器902即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的任务调度方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的任务调度方法。
存储器902作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的任务调度方法对应的程序指令/模块(例如,附图5所示的请求接收模块501、第一计算模块502、第一确定模块503、调度模块504)。处理器901通过运行存储在存储器902中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的任务调度方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据键盘显示的电子设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至键盘显示的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
任务调度方法的电子设备还可以包括:输入装置903和输出装置904。处理器901、存储器902、输入装置903和输出装置904可以通过总线或者其他方式连接,图9中以通过总线连接为例。
输入装置903可接收输入的数字或字符信息,以及产生与键盘显示的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置904可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASMC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者第二可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,接收针对待调度任务的调度请求后,可计算所述待调度任务与每个GPU中运行的任务之间的第一相关度,将N个GPU中相关度最小的GPU作为目标GPU,用来执行待调度任务。在选择执行待调度任务的目标GPU的过程中,考虑了待调度任务与GPU中运行的任务之间的相关度,将待调度任务调度至相关度最小的目标GPU上执行,如此,可提高GPU上任务的并发度,可提高GPU资源的利用率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (10)
1.一种任务调度方法,其特征在于,所述方法包括:
接收针对待调度任务的调度请求;
响应于所述调度请求,计算所述待调度任务与N个图形处理器GPU的每个GPU中运行的任务之间的第一相关度,获得N个第一相关度,N为大于1的整数;
基于所述N个第一相关度,确定目标GPU,其中,所述目标GPU为所述N个GPU中相关度最小的GPU;
将所述待调度任务调度至所述目标GPU执行;
所述待调度任务包括M个第一阶段任务,M为正整数;
所述计算所述待调度任务与N个图形处理器GPU的每个GPU中运行的任务之间的第一相关度,包括:
获取每个GPU中运行的任务的剩余阶段任务;
确定每个GPU中的剩余阶段任务中与每个第一阶段任务之间的并行阶段任务;
对于每个GPU的并行阶段任务,计算每个第一阶段任务的第一参数与对应的并行阶段任务的第一参数之和,得到每个GPU的M个第一求和结果,其中,所述第一参数表示对所需资源的占用强度;
对每个GPU的M个第一求和结果分别进行求和,得到每个GPU中运行的任务与所述待调度任务之间的第一相关度。
2.根据权利要求1所述的方法,其特征在于,所述对每个GPU的M个第一求和结果分别进行求和,得到每个GPU中运行的任务与所述待调度任务之间的第一相关度,包括:
对每个GPU的M个第一求和结果分别进行求和,得到每个GPU的第二求和结果;
将每个GPU的第二求和结果与对应的预设权重相乘,得到每个GPU中运行的任务与所述待调度任务之间的第一相关度。
3.根据权利要求1所述的方法,其特征在于,所述基于所述N个第一相关度,确定目标GPU之前,还包括:
计算所述待调度任务与所述N个GPU的P个候选GPU中运行的任务之间的第二相关度,得到P个第二相关度;
其中,所述P为正整数,每个候选GPU的其他运行任务与接收所述调度请求后对应的候选GPU中运行的任务匹配,每个候选GPU的其他运行任务为每个候选GPU在历史时间里执行目标调度任务过程中除所述目标调度任务外其他运行的任务,所述目标调度任务与所述待调度任务匹配;
所述基于所述N个第一相关度,确定目标GPU,包括:
所述基于所述N个第一相关度以及所述P个第二相关度,确定所述目标GPU。
4.根据权利要求3所述的方法,其特征在于,所述计算所述待调度任务与所述N个GPU的P个候选GPU中运行的任务之间的第二相关度,得到P个第二相关度,包括:
获取所述P个候选GPU中目标调度任务的运行时长;
根据所述P个候选GPU中目标调度任务的运行时长,计算所述P个第二相关度,所述第二相关度与所述运行时长正相关。
5.一种任务调度装置,其特征在于,所述装置包括:
请求接收模块,用于接收针对待调度任务的调度请求;
第一计算模块,用于响应于所述调度请求,计算所述待调度任务与N个图形处理器GPU的每个GPU中运行的任务之间的第一相关度,获得N个第一相关度,N为大于1的整数;
第一确定模块,用于基于所述N个第一相关度,确定目标GPU,其中,所述目标GPU为所述N个GPU中相关度最小的GPU;
调度模块,用于将所述待调度任务调度至所述目标GPU执行;
所述待调度任务包括M个第一阶段任务,M为正整数;
所述第一计算模块,包括:
第一获取模块,用于获取每个GPU中运行的任务的剩余阶段任务;
第二确定模块,用于确定每个GPU中的剩余阶段任务中与每个第一阶段任务之间的并行阶段任务;
第一求和模块,用于对于每个GPU的并行阶段任务,计算每个第一阶段任务的第一参数与对应的并行阶段任务的第一参数之和,得到每个GPU的M个第一求和结果,其中,所述第一参数表示对所需资源的占用强度;
第二求和模块,用于对每个GPU的M个第一求和结果分别进行求和,得到每个GPU中运行的任务与所述待调度任务之间的第一相关度。
6.根据权利要求5所述的装置,其特征在于,所述第二求和模块,包括:
求和子模块,用于对每个GPU的M个第一求和结果分别进行求和,得到每个GPU的第二求和结果;
相乘模块,用于将每个GPU的第二求和结果与对应的预设权重相乘,得到每个GPU中运行的任务与所述待调度任务之间的第一相关度。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第三计算模块,用于在所述第一确定模块执行所述基于所述N个第一相关度,确定目标GPU之前,计算所述待调度任务与所述N个GPU的P个候选GPU中运行的任务之间的第二相关度,得到P个第二相关度;
其中,所述P为正整数,每个候选GPU的其他运行任务与接收所述调度请求后对应的候选GPU中运行的任务匹配,每个候选GPU的其他运行任务为每个候选GPU在历史时间里执行目标调度任务过程中除所述目标调度任务外其他运行的任务,所述目标调度任务与所述待调度任务匹配;
所述基于所述N个第一相关度,确定目标GPU,包括:
所述基于所述N个第一相关度以及所述P个第二相关度,确定所述目标GPU。
8.根据权利要求7所述的装置,其特征在于,所述第三计算模块,包括:
第二获取模块,用于获取所述P个候选GPU中目标调度任务的运行时长;
第二相关度计算模块,用于根据所述P个候选GPU中目标调度任务的运行时长,计算所述P个第二相关度,所述第二相关度与所述运行时长正相关。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-4中任一所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行如权利要求1-4中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010518709.6A CN111694648B (zh) | 2020-06-09 | 2020-06-09 | 一种任务调度方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010518709.6A CN111694648B (zh) | 2020-06-09 | 2020-06-09 | 一种任务调度方法、装置以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111694648A CN111694648A (zh) | 2020-09-22 |
CN111694648B true CN111694648B (zh) | 2023-08-15 |
Family
ID=72479840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010518709.6A Active CN111694648B (zh) | 2020-06-09 | 2020-06-09 | 一种任务调度方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111694648B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112269660B (zh) * | 2020-10-28 | 2023-04-11 | 浙江纺织服装职业技术学院 | 一种海量数据处理并发任务自适应测控方法及系统 |
CN115098240B (zh) * | 2022-07-25 | 2022-11-15 | 中诚华隆计算机技术有限公司 | 一种多处理器应用调度方法和系统及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981807A (zh) * | 2012-11-08 | 2013-03-20 | 北京大学 | 一种基于cuda并行环境的gpu程序优化方法 |
CN104199738A (zh) * | 2014-08-11 | 2014-12-10 | 苏州阔地网络科技有限公司 | 一种多数据处理设备协同工作方法及系统 |
CN104580306A (zh) * | 2013-10-21 | 2015-04-29 | 北京计算机技术及应用研究所 | 一种多终端备份服务系统及其任务调度方法 |
CN109254851A (zh) * | 2018-09-30 | 2019-01-22 | 武汉斗鱼网络科技有限公司 | 一种调度gpu的方法及相关装置 |
CN109995862A (zh) * | 2019-03-29 | 2019-07-09 | 北京百度网讯科技有限公司 | 一种资源调度方法及终端 |
CN109992422A (zh) * | 2019-04-11 | 2019-07-09 | 北京朗镜科技有限责任公司 | 一种面向gpu资源的任务调度方法、装置和系统 |
CN110494848A (zh) * | 2018-03-28 | 2019-11-22 | 深圳市大疆创新科技有限公司 | 任务处理方法、设备及机器可读存储介质 |
CN110837410A (zh) * | 2019-10-30 | 2020-02-25 | 北京奇艺世纪科技有限公司 | 任务调度方法、装置、电子设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8887163B2 (en) * | 2010-06-25 | 2014-11-11 | Ebay Inc. | Task scheduling based on dependencies and resources |
-
2020
- 2020-06-09 CN CN202010518709.6A patent/CN111694648B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981807A (zh) * | 2012-11-08 | 2013-03-20 | 北京大学 | 一种基于cuda并行环境的gpu程序优化方法 |
CN104580306A (zh) * | 2013-10-21 | 2015-04-29 | 北京计算机技术及应用研究所 | 一种多终端备份服务系统及其任务调度方法 |
CN104199738A (zh) * | 2014-08-11 | 2014-12-10 | 苏州阔地网络科技有限公司 | 一种多数据处理设备协同工作方法及系统 |
CN110494848A (zh) * | 2018-03-28 | 2019-11-22 | 深圳市大疆创新科技有限公司 | 任务处理方法、设备及机器可读存储介质 |
CN109254851A (zh) * | 2018-09-30 | 2019-01-22 | 武汉斗鱼网络科技有限公司 | 一种调度gpu的方法及相关装置 |
CN109995862A (zh) * | 2019-03-29 | 2019-07-09 | 北京百度网讯科技有限公司 | 一种资源调度方法及终端 |
CN109992422A (zh) * | 2019-04-11 | 2019-07-09 | 北京朗镜科技有限责任公司 | 一种面向gpu资源的任务调度方法、装置和系统 |
CN110837410A (zh) * | 2019-10-30 | 2020-02-25 | 北京奇艺世纪科技有限公司 | 任务调度方法、装置、电子设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
云计算环境下多GPU资源调度机制研究;吕相文 等;《小型微型计算机系统》;20160430;第37卷(第4期);第687-693页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111694648A (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3866008A1 (en) | Method for processing tasks in parallel, device and storage medium | |
JP7214786B2 (ja) | 深層学習推論エンジンのスケジューリング方法、装置、機器及び媒体 | |
CN111597028B (zh) | 用于任务调度的方法和装置 | |
CN111461290B (zh) | 模型参数更新方法及装置 | |
CN111275190B (zh) | 神经网络模型的压缩方法及装置、图像处理方法及处理器 | |
CN112000450A (zh) | 神经网络架构搜索方法以及装置 | |
CN110706147B (zh) | 图像处理的环境确定方法、装置、电子设备和存储介质 | |
CN111694648B (zh) | 一种任务调度方法、装置以及电子设备 | |
CN112560499B (zh) | 语义表示模型的预训练方法、装置、电子设备及存储介质 | |
CN113792876B (zh) | 骨干网络的生成方法、装置、设备以及存储介质 | |
CN111079813B (zh) | 基于模型并行的分类模型计算方法和装置 | |
CN116502680B (zh) | 一种用于混合专家模型的并行训练方法及装置 | |
CN111696134B (zh) | 一种目标检测方法、装置以及电子设备 | |
EP3268859A1 (en) | Scheduling heterogenous processors | |
CN112306452A (zh) | 归并排序算法处理业务数据的方法、装置及系统 | |
CN114579191A (zh) | 一种指令发射方法、装置、电子设备及存储介质 | |
CN116126719A (zh) | 接口测试方法、装置、电子设备及存储介质 | |
CN114091686B (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN112036561B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN110751282A (zh) | 面向深度学习训练任务的处理器内存优化方法及装置 | |
CN111353581B (zh) | 轻量模型获取方法、装置、电子设备及存储介质 | |
CN111176797B (zh) | 数据并发的处理方法、装置、电子设备及可读存储介质 | |
CN115729688B (zh) | 处理器的多线程调度方法、装置、电子设备和存储介质 | |
CN112114874B (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN113778610B (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 |
Effective date of registration: 20211012 Address after: 105 / F, building 1, No. 10, Shangdi 10th Street, Haidian District, Beijing 100085 Applicant after: Apollo Intelligent Technology (Beijing) Co.,Ltd. Address before: 2 / F, baidu building, 10 Shangdi 10th Street, Haidian District, Beijing 100085 Applicant before: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |