一种用于异构计算系统的任务同步通信方法、设备及介质与流程

    技术2024-12-11  17


    本技术涉及电数字数据处理,尤其涉及一种用于异构计算系统的任务同步通信方法、设备及介质。


    背景技术:

    1、异构计算系统通常包含一个主设备(如cpu)和多个从设备,这种系统架构旨在通过利用不同处理单元的计算特点和优势,实现高效的数据处理任务分配与执行。然而,随着应用层程序复杂度的增加,在异构计算环境中有效管理和同步多个应用进程及其数据处理任务成为了一个挑战。

    2、现有的解决方案主要依赖于进程间共享内存与cpu轮询查询从设备内存中状态标志的方式来实现任务同步通信。例如,当一个应用进程的数据处理任务依赖于另一个应用进程的任务完成时,cpu需要不断地查询从设备的状态,以确认依赖的任务是否已经完成。

    3、这种频繁轮询查询的方式占用了较大的cpu资源,且频繁占用高速串行计算机扩展总线标准(peripheral component interconnect express,pcie)总线,影响系统的处理效率以及用户的使用体验。


    技术实现思路

    1、本技术实施例提供了一种用于异构计算系统的任务同步通信方法、设备及介质,用于解决现有的异构计算系统实现任务同步需要投入较大cpu资源,对pcie占用率较高,造成系统处理效率较低的技术问题。

    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、分别将各所述匹配分值与1比较,并分别确定比较结果的最小值为类型匹配度;

    27、根据同一所述可用资源向量,计算各所述资源类型对应的各所述类型匹配度的和值,为相应所述从设备对应的所述第一资源匹配度;

    28、基于所述待执行任务的优先级计算数据,确定所述待执行任务对应的任务优先级,具体包括:

    29、根据所述待执行任务的所述任务类型及历史优先级权重列表,确定相应的优先级权重组;其中,所述优先级权重组包括所述任务紧急程度、所述任务重要程度及所述依赖关系分别对应的优先级权重;

    30、根据所述优先级权重组、所述任务紧急程度、所述任务重要程度及所述依赖关系,计算相应的加权和值,为所述任务优先级。

    31、在本技术的一种实现方式中,所述方法还包括:

    32、在所述第一依赖属性任务执行失败的情况下,所述从设备向所述主设备发送任务执行失败错误值,并不生成相应的所述信号函数的所述触发信号。

    33、在本技术的一种实现方式中,所述从设备至少包括以下类型:图形处理器gpu、现场可编程逻辑门阵列fpga。

    34、另一方面,本技术实施例还提供了一种用于异构计算系统的任务同步通信设备,所述设备包括:

    35、至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述所述的一种用于异构计算系统的任务同步通信方法。

    36、再一方面,本技术实施例还提供了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令能够执行如上述所述的一种用于异构计算系统的任务同步通信方法。

    37、本技术与现有技术相比,其显著效果如下:

    38、本技术通过上述方案,建立信号和监听的通信机制,为进程之间有前后依赖关系的待执行任务设计了与之对应的信号函数和监听函数,实现了不同应用进程的任务之间的有效同步。避免了应用进程中的任务因为不满足执行条件而造成的等待或死锁;同时与现有的通过共享内存和cpu轮训查询从设备状态标志的方案相比,减少了对cpu资源的消耗,通过避免轮训查询设备端状态标志,降低了对pice总线的访问占用频率,提高了系统的整体处理效率。


    技术特征:

    1.一种用于异构计算系统的任务同步通信方法,其特征在于,所述方法包括:

    2.根据权利要求1所述的一种用于异构计算系统的任务同步通信方法,其特征在于,基于所述任务执行集合与预设依赖关系列表,将依赖触发函数组中的函数分配至相应的待执行任务,具体包括:

    3.根据权利要求1所述的一种用于异构计算系统的任务同步通信方法,其特征在于,在基于所述任务执行集合与预设依赖关系列表,将依赖触发函数组中的函数分配至相应的待执行任务之后,所述方法还包括:

    4.根据权利要求1所述的一种用于异构计算系统的任务同步通信方法,其特征在于,基于函数分配后的各所述待执行任务及预设从设备分配策略,将所述待执行任务发送至相应的选定从设备,具体包括:

    5.根据权利要求4所述的一种用于异构计算系统的任务同步通信方法,其特征在于,在基于各所述资源匹配度及所述任务优先级的乘积值,分别确定在同一执行时段内的各所述待执行任务对应的所述选定从设备之后,所述方法还包括:

    6.根据权利要求4所述的一种用于异构计算系统的任务同步通信方法,其特征在于,基于所述需求计算资源向量及各所述可用资源向量,确定所述待执行任务分别与各所述从设备对应的第一资源匹配度,具体包括:

    7.根据权利要求1所述的一种用于异构计算系统的任务同步通信方法,其特征在于,所述方法还包括:

    8.根据权利要求1所述的一种用于异构计算系统的任务同步通信方法,其特征在于,所述从设备至少包括以下类型:图形处理器gpu、现场可编程逻辑门阵列fpga。

    9.一种用于异构计算系统的任务同步通信设备,其特征在于,所述设备包括:

    10.一种非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令能够执行如上述权利要求1-8任一项所述的一种用于异构计算系统的任务同步通信方法。


    技术总结
    本申请提供了一种用于异构计算系统的任务同步通信方法、设备及介质,属于电数字数据处理技术领域。该方法确定多个待执行应用进程对应的任务执行集合;基于任务执行集合与预设依赖关系列表,将依赖触发函数组中的函数分配至相应的待执行任务;依赖触发函数组包括分配至第一依赖属性任务的信号函数、分配至第二依赖属性任务的监听函数;信号函数与监听函数包括一对一的绑定关系。基于函数分配后的各待执行任务及预设从设备分配策略,将待执行任务发送至相应的选定从设备;当选定从设备执行第一依赖属性任务完成之后,获取相应信号函数的触发信号并根据触发信号调用相应的监听函数,以将被调用的监听函数对应的第二依赖属性任务发送至选定从设备。

    技术研发人员:王景,赵鑫鑫,姜凯,李锐
    受保护的技术使用者:山东浪潮科学研究院有限公司
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-23439.html

    最新回复(0)