System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种任务处理方法、装置、设备及可读存储介质制造方法及图纸_技高网

一种任务处理方法、装置、设备及可读存储介质制造方法及图纸

技术编号:40205486 阅读:7 留言:0更新日期:2024-02-02 22:17
本发明专利技术在计算机应用技术领域,公开了一种任务处理方法、装置、设备及可读存储介质,该方法包括:获取待处理的目标任务,并在目标任务中声明使用加速设备的情况下,将执行目标任务的POD调度到具有充足虚拟加速设备的目标节点上;在目标节点中创建POD的过程中,根据虚拟设备列表,选择虚拟加速设备;利用虚拟加速设备的虚拟UUID,确定实际UUID;将实际UUID传递给环境变量后,将环境变量注入到POD中,启动POD对应容器执行目标任务。技术效果:在本发明专利技术中,通过虚拟出的虚拟加设备,可以使得任务能够及时被调度,而不必等待加速设备被释放,可以有效提高加速任务被执行的效率。

【技术实现步骤摘要】

本专利技术涉及计算机应用,特别是涉及一种任务处理方法、装置、设备及可读存储介质


技术介绍

1、对于离线批处理作业,需要创建多个pod(kubernetes集群中能够被创建和管理的最小部署单元,实质为一组容器的集合)副本来协同工作,当这些pod副本都完成自己的任务时,整个批处理作业就结束了。

2、这种pod仅运行一次的特殊调度,用常规的rc(replication controller,副本控制器)或者deployment(编排器)都无法解决,所以kubernetes(k8s,容器编排引擎)引入了新的pod调度控制器(job)来解决问题,并继续延伸了定时作业的调度控制器(cronjob)。job在k8s中负责批量处理短暂的一次性任务,仅执行一次,并保证处理的一个或者多个pod成功结束。

3、由于k8s的资源管理特性,推理任务只能使用整卡资源,而集群中加速卡(即加速设备)资源都是十分稀缺的,且很多情况下,在线服务也需要占用加速卡资源,那么在这种情况下,需要使用加速卡的离线任务和在线服务以及离线任务与离线任务之间会产生资源的竞争。nvidia为k8s管理gpu提供了设备插件,这个设备插件将会自动对节点中设备的具体信息上报给k8s,当离线任务想使用gpu时,需要申请nvidia.com/gpu资源,调度器将会根据资源负载情况选择合适的节点部署pod,那么此时节点的gpu资源会有相应的占用,此时若k8s资源管理监测到并未有多余的加速卡之后,再次创建加速卡任务或者在线服务都会处于资源等待(pending)状态,严重影响任务执行效果。

4、综上所述,如何有效地提高任务处理效率的问题,是目前本领域技术人员急需解决的技术问题。


技术实现思路

1、本专利技术的目的是提供一种任务处理方法、装置、设备及可读存储介质,基于虚拟加速设备可顺利完成任务调度,在执行时,基于虚拟加速设备的虚拟uuid转换为实际uuid,即可提升任务调度与执行速度,能够有效提高任务处理效率。

2、为解决上述技术问题,本专利技术提供如下技术方案:

3、一种任务处理方法,包括:

4、获取待处理的目标任务,并在所述目标任务中声明使用加速设备的情况下,将执行所述目标任务的pod调度到具有充足虚拟加速设备的目标节点上;

5、在所述目标节点中创建所述pod的过程中,根据虚拟设备列表,选择虚拟加速设备;

6、利用所述虚拟加速设备的虚拟uuid,确定实际uuid;

7、将所述实际uuid传递给环境变量后,将所述环境变量注入到所述pod中,启动所述pod对应容器执行所述目标任务。

8、优选地,还包括:

9、利用所述设备插件对加速设备进行虚拟,得到比加速设备数量更多的所述虚拟加速设备和所述虚拟uuid;

10、在所述虚拟设备列表中记录所述虚拟加速设备。

11、优选地,利用所述虚拟加速设备的虚拟uuid,确定实际uuid,包括:

12、以所述虚拟uuid作为参数,调用所述设备插件的分配接口,将所述虚拟uuid转化为所述实际uuid。

13、优选地,还包括:

14、在离线任务队列出现阻塞的情况下,获取已被调度的任务列表;

15、计算所述任务列表中每一个执行中任务的预计结束时间;

16、计算被阻塞的目标离线任务以当前时间开始执行的预计结束时间;

17、若所述目标离线任务的预计结束时间早于目标执行中任务的预计结束时间,且所述目标离线任务通过资源校验,则将所述目标离线任务从所述离线任务队列中移出,并立即执行所述目标离线任务。

18、优选地,所述获取待处理的目标任务,包括:

19、接收提交的离线任务,并获得所述离线任务的任务信息;

20、利用所述任务信息,确定所述离线任务是否需要使用加速设备;

21、如果否,则在所述离线任务申请的资源小于等于最大场景资源减去场景预留资源的情况下,将所述离线任务放入任务队列中;

22、如果是,则在所述离线任务申请的资源小于等于所述最大场景资源的情况下,将所述离线任务放入所述任务队列中;

23、从所述任务队列中获取所述目标任务。

24、优选地,所述获得所述离线任务的任务信息,包括:

25、获取所述离线任务对应的资源配置参数、运行等级参数、存储参数和预计运行时间参数;

26、将所述资源配置参数、所述运行等级参数、所述存储参数和所述预计运行时间参数确定为所述任务信息;

27、其中,所述资源配置参数包括cpu占用核数、内存资源、是否使用加速设备;

28、所述存储参数包括存储类型、是否持久化任务执行结果,所述存储类型包括持久卷声明信息;

29、所述预计运行时间为预计任务运行的最长时间,若未设置所述预计运行时间,则默认运行时间为无限长,在任务运算完成后,退出任务并释放资源,若设置有所述预计运行时间,则运行超过所述预计运行时间的情况下,确定任务执行失败,结束任务并释放资源;

30、所述运行等级参数包括紧急、高、中、低,所述运行等级参数用于确定任务放入所述任务队列的位置。

31、优选地,在为场景分配加速设备的过程中,标记加速设备的场景预留资源,所述场景预留资源包括cpu资源和内存资源;

32、在任务调度过程中,若当前任务需使用加速设备,则判断当前场景的剩余资源是否满足所述当前任务的调度条件;

33、若所述当前任务无需使用加速设备,且加速设备已被其他任务使用,则在当前场景的剩余资源满足所述调度条件下,对所述当前任务进行调度;

34、若所述当前任务无需使用加速设备,且加速设备未被其他任务使用,则在当前场景的剩余资源减去所述场景预留资源后满足所述调度条件下,对所述当前任务进行调度。

35、一种任务处理装置,包括:

36、任务分配模块,用于获取待处理的目标任务,并在所述目标任务中声明使用加速设备的情况下,将执行所述目标任务的pod调度到具有充足虚拟加速设备的目标节点上;

37、虚拟设备选择模块,用于在所述目标节点中创建所述pod的过程中,根据虚拟设备列表,选择虚拟加速设备;

38、转换模块,用于利用所述虚拟加速设备的虚拟uuid,确定实际uuid;

39、任务执行模块,用于将所述实际uuid传递给环境变量后,将所述环境变量注入到所述pod中,启动所述pod对应容器执行所述目标任务。

40、一种电子设备,包括:

41、存储器,用于存储计算机程序;

42、处理器,用于执行所述计算机程序时实现上述任务处理方法的步骤。

43、一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任务处理方法的步骤。

44、应用本专利技术实施例所本文档来自技高网...

【技术保护点】

1.一种任务处理方法,其特征在于,包括:

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

3.根据权利要求1所述的方法,其特征在于,利用所述虚拟加速设备的虚拟UUID,确定实际UUID,包括:

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

5.根据权利要求1所述的方法,其特征在于,所述获取待处理的目标任务,包括:

6.根据权利要求5所述的方法,其特征在于,所述获得所述离线任务的任务信息,包括:

7.根据权利要求1至6任一项所述的方法,其特征在于,在为场景分配加速设备的过程中,标记加速设备的场景预留资源,所述场景预留资源包括CPU资源和内存资源;

8.一种任务处理装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:

10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述任务处理方法的步骤。

【技术特征摘要】

1.一种任务处理方法,其特征在于,包括:

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

3.根据权利要求1所述的方法,其特征在于,利用所述虚拟加速设备的虚拟uuid,确定实际uuid,包括:

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

5.根据权利要求1所述的方法,其特征在于,所述获取待处理的目标任务,包括:

6.根据权利要求5所述的方法,其特征在于,所述获得所述离线任务的...

【专利技术属性】
技术研发人员:宋小妹
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1