一种图像视频任务均衡分配方法与流程

摘要: 本发明涉及计算机任务调度与计算资源分配,具体为一种图像视频任务均衡分配方法。背景技术:1、图像任务与视频任务在同一计算资源池中执行时,通常由调度模块依据各计算节...
一种图像视频任务均衡分配方法与流程

本发明涉及计算机任务调度与计算资源分配,具体为一种图像视频任务均衡分配方法。

背景技术:

1、图像任务与视频任务在同一计算资源池中执行时,通常由调度模块依据各计算节点当前的处理器利用率、图形处理器利用率、任务数量及剩余资源确定任务分配位置。该类方式能够反映任务下发时刻的节点状态,但图像任务与连续视频任务的执行过程不同,前者通常在限定数据集合内集中处理,后者则随视频数据持续输入,在解码、预处理和计算过程中形成连续变化的资源占用。

2、当多个已分配任务尚未进入高资源占用阶段时,计算节点当前负载仍可能处于较低水平。若后续多个任务的高资源占用过程在同一时段重叠,原本低负载的节点会在任务实际执行后形成集中拥塞。现有方式通常在检测到节点负载升高后再迁移任务,此时已经产生的待处理数据和执行状态还会增加迁移开销。因此,如何在图像任务与连续视频任务混合分配过程中识别后续资源占用叠加对节点承载状态的影响,是现有任务均衡分配过程中需要解决的问题。

技术实现思路

1、针对现有技术的不足,本发明提供了一种图像视频任务均衡分配方法,以解决上述背景技术中提出的问题。

2、为实现上述目的,本发明提供如下技术方案:一种图像视频任务均衡分配方法,包括以下步骤:

3、s1、读取处理资源池中各处理节点的设备配置、处理程序部署信息及允许并发任务数量;接收图像任务和连续视频任务,根据实际到达的数据及前序处理完成信息,登记各任务的当前处理位置和目标处理资源;

4、s2、以任务编号和当前任务数据标识共同对应的一次实际处理数据作为任务状态登记及数量统计单位;根据各处理节点返回的资源取得信息、任务执行信息和资源释放信息,分别登记已经取得目标处理资源的任务、已经完成前序处理且尚未取得目标处理资源的任务,以及处理完成但目标处理资源尚未释放的任务;

5、s3、在待分配任务申请目标处理资源前,筛选能够执行该任务的处理节点,将已经取得目标处理资源的任务数量与处理完成但目标处理资源尚未释放的任务数量作为当前占用任务数量,并根据当前占用任务数量、已经完成前序处理且尚未取得目标处理资源的任务数量及允许并发任务数量确定承载节点,建立待分配任务与承载节点的分配关系;完成当前任务的分配关系登记后,再对下一待分配任务执行节点选择;

6、s4、当前承载节点的当前占用任务数量低于允许并发任务数量时,使已经完成前序处理且按照分配关系等待进入目标处理资源的任务发起资源申请;当前占用任务数量达到允许并发任务数量时,在目标处理资源释放后发起资源申请;资源申请成功时更新任务的资源取得状态,资源申请失败时撤销当前分配关系,将任务退回资源申请前最后完成的处理位置,并重新选择处理节点;

7、s5、任务发起目标处理资源申请前,核验输入数据、前序处理完成信息和承载节点可用状态;核验条件失效时撤销当前分配关系;当前承载节点的当前占用任务数量达到允许并发任务数量,且其他可执行节点的当前占用任务数量低于对应允许并发任务数量时,将尚未发起目标处理资源申请的任务重新分配,并更新任务与处理节点的分配关系。

8、进一步的,s1包括:

9、允许并发任务数量取自设备驱动的并发配置;设备驱动未提供并发配置时,取自处理程序的并发配置;前述配置均不存在时,在相同处理节点、相同处理程序版本和相同目标处理资源申请方式下进行加载验证,以资源申请连续完成、设备未发生异常复位且进入目标处理资源的任务完成主体处理作为验证条件,将满足验证条件的最大同时任务数量确定为允许并发任务数量。

10、进一步的,s1还包括:

11、处理程序采用单幅图像处理时,以完成读取校验的单幅图像形成当前任务数据;处理程序采用固定批次图像处理时,以达到设定批次数量且能够连续读取的图像集合形成当前任务数据;

12、处理程序采用单帧视频处理时,以完整接收的视频帧形成当前任务数据;处理程序采用连续帧组处理时,以达到设定输入数量且数据完整的视频帧组形成当前任务数据;

13、处理程序完成目标处理资源申请前的固定处理动作后,形成与任务编号及当前任务数据标识对应的前序处理完成信息。

14、进一步的,s2包括:

15、以任务编号和当前任务数据标识共同对应一次实际处理数据;

16、前序处理完成信息与当前任务数据标识一致且尚未取得目标处理资源时,登记为已经完成前序处理且尚未取得目标处理资源的任务;

17、设备驱动返回资源申请成功信息时,取消前一登记并登记为已经取得目标处理资源的任务;

18、主体处理完成且目标处理资源尚未释放时,转为处理完成但目标处理资源尚未释放的任务;

19、设备驱动返回资源释放完成信息时,解除当前任务数据对应的资源占用登记。

20、进一步的,s3包括:

21、将已经取得目标处理资源的任务数量与处理完成但目标处理资源尚未释放的任务数量合并作为当前占用任务数量,将已经完成前序处理且尚未取得目标处理资源的任务数量单独登记;

22、将当前占用任务数量与对应处理节点的允许并发任务数量进行比较,并将已经完成前序处理且尚未取得目标处理资源的任务数量用于处理节点之间的承载节点选择。

23、进一步的,s3还包括:

24、存在当前占用任务数量低于允许并发任务数量的处理节点时,从该类处理节点中选择已经完成前序处理且尚未取得目标处理资源的任务数量较少的处理节点;

25、前述任务数量相同时,选择允许并发任务数量与当前占用任务数量之间差值较大的处理节点;

26、前述差值仍相同时,按照设备配置中固定的节点编号顺序确定承载节点;

27、完成当前任务与承载节点的分配关系登记,并将当前任务登记为已经完成前序处理且尚未取得目标处理资源的任务后,再对下一待分配任务执行节点选择。

28、进一步的,s4包括:

29、当前承载节点的当前占用任务数量低于允许并发任务数量时,使已经完成前序处理且尚未取得目标处理资源的任务发起目标处理资源申请;

30、当前占用任务数量达到允许并发任务数量时,保持任务处于目标处理资源申请前位置,并在目标处理资源释放后发起资源申请;

31、存在多个等待取得目标处理资源的任务时,按照各任务分配关系完成登记的先后顺序依次发起资源申请,每次资源申请成功后更新当前占用任务数量,再判断下一任务是否进入资源申请。

32、进一步的,s4还包括:

33、设备驱动返回资源申请失败信息时,撤销当前任务与承载节点的分配关系,并删除当前任务在该承载节点中已经完成前序处理且尚未取得目标处理资源的登记;

34、当前任务数据及前序处理完成信息仍有效时,保持资源申请前最后完成的处理位置,并按照s3重新选择处理节点;

35、设备驱动未返回明确的资源申请成功信息和资源申请失败信息时,不对当前任务重复发起资源申请,直至取得对应资源申请结果。

36、进一步的,s5包括:

37、在目标处理资源申请发出前,核验当前任务数据、前序处理完成信息及承载节点可用状态;

38、当前任务数据失效时撤销分配关系;当前任务数据能够重新取得时,将任务退回数据接收位置,并基于重新取得的数据形成新的当前任务数据标识;当前任务数据不能重新取得时,终止当前任务数据对应的本次资源申请过程;前序处理完成信息失效时撤销分配关系,并将任务退回前序处理位置;承载节点停止接受目标处理资源申请时撤销当前分配关系,并按照s3重新选择处理节点;

39、当前承载节点的当前占用任务数量达到允许并发任务数量,且另一可执行处理节点的当前占用任务数量低于对应允许并发任务数量时,在另一可执行处理节点完成当前任务数据核对并返回任务接收信息后更新承载节点,同时解除原承载节点对应的等待任务登记。

40、与现有技术相比,本发明提供了一种图像视频任务均衡分配方法,具备以下有益效果:

41、1、根据实际到达的数据和前序处理完成信息登记任务处理位置及目标处理资源,将已经取得目标处理资源的任务、已经完成前序处理但尚未取得目标处理资源的任务以及处理完成但资源尚未释放的任务分别登记,并区分节点当前实际资源占用与已经形成的后续资源需求。在待分配任务进入目标处理资源前,根据上述任务状态及允许并发任务数量确定承载节点,并在当前任务完成分配登记后再执行下一任务的节点选择,使已经形成但尚未进入目标处理资源的图像数据、视频帧及视频帧组能够提前参与后续任务分配,减少仅依据节点当前负载进行分配时多个任务后续高资源占用阶段集中于同一节点的情况,解决图像任务与连续视频任务混合运行过程中当前节点负载难以反映后续资源占用叠加、任务实际执行后形成集中拥塞的问题。

42、2、以设备实际返回的资源取得信息和资源释放信息作为任务进入、退出目标处理资源的依据,在资源申请前继续核验输入数据、前序处理完成信息及承载节点可用状态;原承载节点不能及时提供并发位置时,对尚未发起资源申请的任务重新选择处理节点,资源申请失败时退回资源申请前最后完成的处理位置。已经取得目标处理资源的任务保持在当前节点完成本次处理,从而减少执行过程中转移已形成的设备执行状态及中间数据,同时使任务登记、节点分配和实际资源占用保持对应。