异构计算任务的异步调度方法、装置、设备及存储介质与流程

摘要: 本技术涉及人工智能评测,尤其涉及异构计算任务的异步调度方法、装置、设备及存储介质。背景技术:1、目前,在具身智能等复杂人工智能评测系统中,通常需要同时处理多种资...
异构计算任务的异步调度方法、装置、设备及存储介质与流程

本技术涉及人工智能评测,尤其涉及异构计算任务的异步调度方法、装置、设备及存储介质。

背景技术:

1、目前,在具身智能等复杂人工智能评测系统中,通常需要同时处理多种资源特性差异巨大的评测场景,例如纯推理评测、代码执行评测以及多模态感知评测等。现有技术方案通常采用单一流水线共享资源池或统一的沙箱生命周期管理策略来处理这些异构负载。然而,由于不同评测阶段对计算资源的类型、并发特性与生命周期要求各不相同,共享资源池容易导致慢速阶段阻塞快速阶段,造成整体资源利用率低下;统一的沙箱管理无法同时满足任务级共享与轮次级独占的差异化需求;且缺乏有效的部署速率控制与孤儿容器回收机制,在大规模多节点部署时容易引发部署风暴或因进程异常导致资源长期泄漏。

技术实现思路

1、本技术的主要目的在于提供一种异构计算任务的异步调度方法、装置、设备及存储介质,旨在解决现有方案存在的异构评测负载调度效率低、资源生命周期管理混乱及多节点扩展性差的技术问题。

2、为实现上述目的,本技术提出一种异构计算任务的异步调度方法,所述异构计算任务的异步调度方法包括:

3、获取待处理的异构计算任务,解析所述异构计算任务的任务属性信息,得到所述异构计算任务的资源需求类型,并根据所述资源需求类型在多节点集群环境中将所述异构计算任务分配至目标计算节点上的异步处理队列;

4、在所述异步处理队列中,以异步等待方式获取与所述异构计算任务对应的预设路由凭证,并流转所述预设路由凭证,所述预设路由凭证至少包括任务标识;

5、基于流转中的所述预设路由凭证的所述任务标识从全局状态存储区中获取所述异构计算任务的运行上下文,并根据所述运行上下文向目标执行环境下发当前阶段的执行指令;

6、响应于所述当前阶段的执行指令执行完成,根据所述异构计算任务的任务属性信息,从多个异步处理队列中确定下一阶段的异步处理队列,并将所述预设路由凭证异步路由至所述下一阶段的异步处理队列。

7、在一实施例中,所述获取待处理的异构计算任务,解析所述异构计算任务的任务属性信息,得到所述异构计算任务的资源需求类型,并根据所述资源需求类型在多节点集群环境中将所述异构计算任务分配至目标计算节点上的异步处理队列的步骤包括:

8、获取待处理的异构计算任务,解析所述异构计算任务的任务属性信息,得到所述异构计算任务的资源需求类型;

9、根据所述资源需求类型,从所述多节点集群中确定目标计算节点,所述资源需求类型包括图形处理器推理资源、中央处理器计算资源、独占沙箱资源以及共享沙箱资源中的至少一种;

10、获取所述多节点集群中各计算节点对应所述资源需求类型的实时资源水位;

11、基于所述实时资源水位,采用贪心分箱算法,从所述各计算节点中筛选出满足所述异构计算任务的资源需求的候选计算节点;

12、获取各所述候选计算节点上待运行作业的积压数量,将所述积压数量未超过预设背压阈值的候选计算节点确定为所述目标计算节点;

13、在所述积压数量均超过所述预设背压阈值的情况下,触发独立编排实例对所述候选计算节点执行弹性扩容,并将扩容后的候选计算节点确定为目标计算节点;

14、在所述目标计算节点上,将所述异构计算任务分配至与所述资源需求类型对应的异步处理队列。

15、在一实施例中,所述在所述积压数量均超过所述预设背压阈值的情况下,触发独立编排实例对所述候选计算节点执行弹性扩容,并将扩容后的候选计算节点确定为目标计算节点的步骤之后,还包括:

16、通过独立运行的监控线程监测所述目标计算节点的资源占用状态;

17、在检测到所述资源占用状态达到预设的满载阈值且存在优先级大于当前优先级的外部任务请求接入所述目标节点的情况下,自动取消已提交至所述目标计算节点的历史异构计算任务,以释放所述目标计算节点的计算资源供外部任务调度使用。

18、在一实施例中,所述响应于所述当前阶段的执行指令执行完成,根据所述异构计算任务的任务属性信息,从多个异步处理队列中确定下一阶段的异步处理队列,并将所述预设路由凭证异步路由至所述下一阶段的异步处理队列的步骤包括:

19、响应于所述当前阶段的执行指令执行完成,获取所述异构计算任务的任务属性信息中配置的资源属性以及隔离分配模式;

20、根据所述资源属性和所述隔离分配模式从多个异步处理队列中确定下一阶段的异步处理队列,并将所述预设路由凭证异步路由至所述下一阶段的异步处理队列。

21、在一实施例中,所述根据所述资源属性和所述隔离分配模式从多个异步处理队列中确定下一阶段的异步处理队列,并将所述预设路由凭证异步路由至所述下一阶段的异步处理队列的步骤包括:

22、在所述资源属性指示需要判定服务的情况下,确定下一阶段的异步处理队列为判定服务队列,将所述预设路由凭证路由至所述判定服务队列;

23、在所述资源属性指示需要计算服务的情况下,确定下一阶段的异步处理队列为本地计算队列,将所述预设路由凭证路由至所述本地计算队列;

24、在所述资源属性指示需要隔离执行环境且所述隔离分配模式为任务级共享的情况下,确定下一阶段的异步处理队列为共享隔离执行环境队列,将所述预设路由凭证异步路由至所述共享隔离执行环境队列;

25、在所述资源属性指示需要隔离执行环境且所述隔离分配模式为轮次级独占的情况下,确定下一阶段的异步处理队列为独占隔离执行环境队列,将所述预设路由凭证异步路由至所述独占隔离执行环境队列。

26、在一实施例中,所述方法还包括:

27、在所述异构计算任务执行过程中,以追加方式在全局状态存储区中维护租约日志,所述租约日志用于记录所述异构计算任务所申请资源的租约获取事件和租约释放事件;

28、周期性扫描所述租约日志,在识别到存在所述租约获取事件但未记录对应的所述租约释放事件的异常任务的情况下,回收所述异常任务占用的执行资源;

29、在所述异构计算任务执行前,对所述租约日志执行原子重命名操作以生成快照文件,基于所述快照文件识别未正常结束的历史任务,并回收所述历史任务占用的执行资源。

30、在一实施例中,根据所述运行上下文向目标执行环境下发当前阶段的执行指令的步骤包括:

31、根据所述运行上下文,向沙箱管理器发起获取沙箱资源的请求,并接收所述沙箱管理器返回的沙箱资源实例;

32、根据所述异构计算任务对应的隔离分配模式,采用对应的句柄协议对所述沙箱资源实例进行生命周期管理;

33、在获取所述沙箱资源实例的过程中,通过部署门控信号量对所述沙箱管理器创建沙箱资源的请求进行并发限流,以抑制部署风暴;

34、将所述沙箱资源实例作为目标执行环境,并将所述当前阶段的执行指令下发至所述目标执行环境。

35、在一实施例中,所述根据所述运行上下文,向沙箱管理器发起获取沙箱资源的请求,并接收所述沙箱管理器返回的沙箱资源实例的步骤之后,还包括:

36、根据所述异构计算任务对应的隔离分配模式,采用对应的句柄协议对所述沙箱资源实例进行生命周期管理;

37、在获取所述沙箱资源实例的过程中,通过部署门控信号量对所述沙箱管理器创建沙箱资源的请求进行并发限流,以抑制部署风暴。

38、在一实施例中,所述根据所述异构计算任务对应的隔离分配模式,采用对应的句柄协议对所述沙箱资源实例进行生命周期管理的步骤包括:

39、在所述异构计算任务对应的隔离分配模式为任务级共享的情况下,通过异步锁和引用计数机制对所述沙箱资源实例进行并发控制,并在所述沙箱资源实例的引用计数大于零时保持所述沙箱资源实例的存活状态;

40、在所述异构计算任务对应的隔离分配模式为轮次级独占的情况下,通过活动门控信号量对所述沙箱资源实例进行并发控制,以限制同时处于运行状态的独占沙箱资源实例的数量。

41、此外,为实现上述目的,本技术还提出一种异构计算任务的异步调度装置,所述异构计算任务的异步调度装置包括:

42、获取模块,用于获取待处理的异构计算任务,解析所述异构计算任务的任务属性信息,得到所述异构计算任务的资源需求类型,并根据所述资源需求类型在多节点集群环境中将所述异构计算任务分配至目标计算节点上的异步处理队列;

43、生成模块,用于在所述异步处理队列中,以异步等待方式获取与所述异构计算任务对应的预设路由凭证,并流转所述预设路由凭证,所述预设路由凭证至少包括任务标识;

44、所述获取模块,还用于基于流转中的所述预设路由凭证的所述任务标识从全局状态存储区中获取所述异构计算任务的运行上下文,并根据所述运行上下文向目标执行环境下发当前阶段的执行指令;

45、确定模块,用于响应于所述当前阶段的执行指令执行完成,根据所述异构计算任务的任务属性信息,从多个异步处理队列中确定下一阶段的异步处理队列,并将所述预设路由凭证异步路由至所述下一阶段的异步处理队列。

46、此外,为实现上述目的,本技术还提出一种异构计算任务的异步调度设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上文所述的异构计算任务的异步调度方法的步骤。

47、此外,为实现上述目的,本技术还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的异构计算任务的异步调度方法的步骤。

48、此外,为实现上述目的,本技术还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上文所述的异构计算任务的异步调度方法的步骤。

49、本技术提出的一个或多个技术方案,获取待处理的异构计算任务,解析所述异构计算任务的任务属性信息,得到所述异构计算任务的资源需求类型,并根据所述资源需求类型在多节点集群环境中将所述异构计算任务分配至目标计算节点上的异步处理队列;在所述异步处理队列中,以异步等待方式获取与所述异构计算任务对应的预设路由凭证,并流转所述预设路由凭证,所述预设路由凭证至少包括任务标识;基于流转中的所述预设路由凭证的所述任务标识从全局状态存储区中获取所述异构计算任务的运行上下文,并根据所述运行上下文向目标执行环境下发当前阶段的执行指令;响应于所述当前阶段的执行指令执行完成,根据所述异构计算任务的任务属性信息,从多个异步处理队列中确定下一阶段的异步处理队列,并将所述预设路由凭证异步路由至所述下一阶段的异步处理队列。通过将任务调度与状态存储解耦,利用轻量级的预设路由凭证在队列间流转,避免了完整上下文在队列间复制带来的内存膨胀与一致性风险;同时,基于任务属性信息的动态路由机制使得不同资源需求类型的任务能够自动分流至对应的专用队列,消除了异构资源共享线程池导致的相互阻塞,提升了系统的整体吞吐量与资源利用率。