基于工作流的GPU调度方法、装置、设备及介质与流程

摘要: 本申请涉及计算机,具体提供一种基于工作流的gpu调度方法、装置、设备及介质。背景技术:1、在执行人工智能数据标注、模型推理、图像处理和视频分析等任务时,通常需要...
基于工作流的GPU调度方法、装置、设备及介质与流程

本申请涉及计算机,具体提供一种基于工作流的gpu调度方法、装置、设备及介质。

背景技术:

1、在执行人工智能数据标注、模型推理、图像处理和视频分析等任务时,通常需要利用计算机的图形处理器(graphics processing unit,gpu)进行计算,以提高数据处理效率。

2、在传统分布式工作流或者任务队列系统中,调度器根据资源情况,将任务打包后推入消息队列。然后由工作节点主动从消息队列中拉取一个任务,并在获取任务后根据任务准备执行环境,把数据从内存拷贝至显存中,调用gpu进行计算。但是,当gpu显存不足时,工作节点中的任务无法被执行,同时,消息队列中的其他任务也无法被及时执行,进而导致任务超时的技术问题。

3、相应地,本领域需要一种新的基于工作流的gpu调度方法来解决上述问题。

技术实现思路

1、为了克服上述缺陷,提出了本申请,以提供解决或至少部分地解决现有技术中,当gpu显存不足时,工作节点中的任务和消息队列中的其他任务无法及时执行,进而导致任务超时的问题。

2、第一方面,本申请提供一种基于工作流的gpu调度方法,包括:

3、获取多个空闲gpu队列;

4、从所述多个空闲gpu队列中筛选与工作节点的显存需求相对应的目标gpu队列;

5、从任务队列获取目标任务,并利用所述目标gpu队列,对所述目标任务进行处理。

6、在上述基于工作流的gpu调度方法的一个技术方案中,所述获取多个空闲gpu队列,包括:

7、获取显存容量;

8、将所述显存容量进行划分,得到多个gpu队列;

9、获取所述多个gpu队列的占用情况;

10、将所述占用情况为空闲的gpu队列作为空闲gpu队列。

11、在上述基于工作流的gpu调度方法的一个技术方案中,所述从所述空闲gpu队列中筛选与工作节点的显存需求相对应的目标gpu队列,包括:

12、遍历所述多个空闲gpu队列;

13、获取所述多个空闲gpu队列的显存;

14、将所述多个空闲gpu队列的显存大小逐个与工作节点的显存需求的大小进行比较,得到比较结果;

15、将所述比较结果为大于或等于的空闲gpu队列进行组合,得到空闲gpu队列集合;

16、从所述空闲gpu队列集合中选择一个空闲gpu队列作为目标gpu队列。

17、在上述基于工作流的gpu调度方法的一个技术方案中,所述从所述空闲gpu队列集合中选择一个空闲gpu队列作为目标gpu队列,包括:

18、将所述空闲gpu队列集合中的空闲gpu队列按照显存由大到小进行排序,得到排序空闲gpu队列;

19、将所述排序空闲gpu队列中的最后一个空闲gpu队列作为目标gpu队列。

20、在上述基于工作流的gpu调度方法的一个技术方案中,所述从任务队列获取目标任务,并利用所述目标gpu队列,对所述目标任务进行处理之前,所述方法还包括:

21、获取gpu的状态信息;

22、对所述状态信息进行检测,得到检测结果;

23、确定所述检测结果为正常。

24、在上述基于工作流的gpu调度方法的一个技术方案中,所述对所述状态信息进行检测,得到检测结果之后,所述方法还包括:

25、确定所述检测结果为不正常,则将所述gpu标记为不可用;

26、对所述gpu中的gpu队列对应的工作节点进行停止处理。

27、在上述基于工作流的gpu调度方法的一个技术方案中,所述方法还包括:

28、获取所述目标任务的执行进度;

29、确定所述执行进度为已完成,则对所述目标gpu队列进行释放处理。

30、第二方面,本申请提供一种gpu调度装置,包括:

31、获取模块,用于获取多个空闲gpu队列;

32、筛选模块,用于从所述多个空闲gpu队列中筛选与工作节点的显存需求相对应的目标gpu队列;

33、处理模块,用于从任务队列获取目标任务,并利用所述目标gpu队列,对所述目标任务进行处理。

34、第三方面,本申请提供一种gpu调度设备,包括至少一个处理器和存储器;其中,

35、所述存储器存储计算机执行指令;

36、所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行第一方面中任一项所述的方法。

37、第四方面,本申请提供一种计算机可读存储介质,其中存储有多条程序代码,所述程序代码适于由处理器加载并运行以执行第一方面中任一项所述的方法。

38、本申请提供一种基于工作流的gpu调度方法、装置、设备及介质,该方法具体为:获取多个空闲gpu队列;从多个空闲gpu队列中筛选与工作节点的显存需求相对应的目标gpu队列;从任务队列获取目标任务,并利用目标gpu队列,对目标任务进行处理,进而保证任务被及时执行。

1.一种基于工作流的gpu调度方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述获取多个空闲gpu队列,包括:

3.根据权利要求2所述的方法,其特征在于,所述从所述空闲gpu队列中筛选与工作节点的显存需求相对应的目标gpu队列,包括:

4.根据权利要求3所述的方法,其特征在于,所述从所述空闲gpu队列集合中选择一个空闲gpu队列作为目标gpu队列,包括:

5.根据权利要求1所述的方法,其特征在于,所述从任务队列获取目标任务,并利用所述目标gpu队列,对所述目标任务进行处理之前,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,所述对所述状态信息进行检测,得到检测结果之后,所述方法还包括:

7.根据权利要求1所述的方法,其特征在于,所述方法还包括:

8.一种gpu调度装置,其特征在于,包括:

9.一种gpu调度设备,包括至少一个处理器和存储器;其中,

10.一种计算机可读存储介质,其中存储有多条程序代码,其特征在于,所述程序代码适于由处理器加载并运行以执行权利要求1至7中任一项所述的方法。