一种用于驱动多DPU协同工作的驱动方法和系统技术方案

技术编号:39186234 阅读:9 留言:0更新日期:2023-10-27 08:33
本发明专利技术提供一种用于驱动多DPU协同工作的驱动方法和系统,所述方法包括:通过应用编程接口接收来自上层的原始指令,基于多个DPU的硬件功能协同工作方式确定每个DPU的目标功能,将所述原始指令转化并分发为针对每个DPU的目标功能的子指令,其中,所述多个DPU的硬件功能协同工作方式包括每个DPU独立完成相同硬件功能的横向协同方式和每个DPU分别完成完整硬件功能中的部分硬件功能的纵向协同方式;将每个子指令所对应的处理负载传递到相应的DPU,并向每个DPU提供支持实现目标功能的子驱动;获得每个DPU的处理负载的结果,并基于全部DPU的处理负载的结果生成向上层反馈的数据。本发明专利技术能够在降低上层实现复杂功能的软件设计难度的同时提高多DPU硬件协作的处理性能。计难度的同时提高多DPU硬件协作的处理性能。计难度的同时提高多DPU硬件协作的处理性能。

【技术实现步骤摘要】
一种用于驱动多DPU协同工作的驱动方法和系统


[0001]本专利技术涉及外设驱动
,尤其涉及一种用于驱动多DPU协同工作的驱动方法和系统。

技术介绍

[0002]DPU(Data Processing Unit)是以数据为中心构造的专用处理器,随着DPU技术的兴起,DPU功能越来越强大,其硬件实现也越来越复杂。当一个单独的DPU无法实现一个更复杂功能时,可能的技术路线包括:(1)将DPU功能进行横向拆分,使每一个DPU独立完成相同的功能,通过负载分担的方式对上提供高规格性能;(2)将DPU功能进行纵向拆分,使每个DPU完成一部分功能,DPU之间相互配合实现一个复杂功能。
[0003]以上将DPU功能横向拆分或纵向拆分的方法虽然可以显著降低单一硬件功能的实现难度,但是均可能增加对于Host主机的软件实现上的复杂性。
[0004]为此,如何提供一种在DPU功能横向拆分和纵向拆分的模式下的克服软件实现复杂性的方法,是一个亟待解决的技术问题。

技术实现思路

[0005]鉴于此,本专利技术实施例提供了一种用于驱动多DPU协同工作的通用驱动方法和系统,以消除或改善现有技术中存在的一个或更多个缺陷。
[0006]本专利技术的一个方面提供了一种用于驱动多DPU协同工作的驱动方法,该方法包括以下步骤:通过应用编程接口接收来自上层的原始指令,基于多个DPU的硬件功能协同工作方式确定每个DPU的目标功能,将所述原始指令转化并分发为针对每个DPU的目标功能的子指令,其中,所述多个DPU的硬件功能协同工作方式包括每个DPU独立完成相同硬件功能的横向协同方式和每个DPU分别完成完整硬件功能中的部分硬件功能的纵向协同方式;将每个子指令所对应的处理负载传递到相应的DPU,并向每个DPU提供支持实现目标功能的子驱动;获得每个DPU的处理负载的结果,并基于全部DPU的处理负载的结果生成向上层反馈的数据。
[0007]在本专利技术的一些实施例中,来自上层的原始指令、每个子指令所对应的处理负载和向上层反馈的数据基于PCIe协议进行传输。
[0008]在本专利技术的一些实施例中,所述基于多个DPU的硬件功能协同工作方式和每个DPU的目标功能,将所述原始指令转化并分发为针对每个DPU的目标功能的子指令包括:当多个DPU的硬件功能协同工作方式为横向协同方式,每个DPU的目标功能功能相同且包含目标实现的完整硬件功能,将所述原始指令所对应的处理负载基于负载均衡的原则分配到不同的DPU,并生成相应的针对每个DPU的子指令。
[0009]在本专利技术的一些实施例中,所述基于多个DPU的硬件功能协同工作方式和每个DPU的目标功能,将所述原始指令转化并分发为针对每个DPU的子指令还包括:当多个DPU的硬件功能协同工作方式为横向协同方式,对于存在设备故障的DPU选择忽略,并将所述原始指
令所对应的处理负载基于负载均衡的原则分配到不存在设备故障的其他DPU。
[0010]在本专利技术的一些实施例中,在所述获得每个DPU的处理负载的结果,并基于全部DPU的处理负载的结果生成向上层反馈的数据步骤后,该方法还包括:将生成的向上层反馈的数据放置在缓存器中;当通过应用编程接口接收到来自上层的调用指令,基于调用指令所对应的处理负载从所述缓存器中获取相应数据并向上层反馈。
[0011]在本专利技术的一些实施例中,所述基于多个DPU的硬件功能协同工作方式和每个DPU的目标功能,将所述原始指令转化并分发为针对每个DPU的目标功能的子指令包括:当多个DPU的硬件功能协同工作方式为纵向协同方式,每个DPU的目标功能不同且分别包含完整功能中的部分功能,将所述原始指令所对应的处理负载按照每一DPU的目标功能和记录待实现功能的原始指令进行分配,并生成相应的针对每个DPU的子指令。
[0012]在本专利技术的一些实施例中,所述获得每个DPU的处理负载的结果,并基于全部DPU的处理负载的结果生成向上层反馈的数据步骤包括:DPU所对应的子驱动在接收到子指令后,触发对相应DPU的操作以完成处理负载并生成向上层反馈的数据。
[0013]在本专利技术的一些实施例中,该方法还包括:DPU所对应的子驱动在接收到子指令后,触发对相应DPU的操作以完成处理负载后,生成对其他DPU的进行操作的子指令和相应的负载任务。
[0014]本专利技术的另一方面提供了一种用于驱动多DPU协同工作的驱动系统,包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如上实施例中任一项所述方法的步骤。
[0015]本专利技术的另一方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上实施例中任一项所述方法的步骤。
[0016]本专利技术所提供的用于驱动多DPU协同工作的驱动方法和系统,能够针对多个DPU硬件的横向协同方式和纵向协同方式将多个DPU硬件虚拟为一个DPU硬件,并将该统一的虚拟的DPU硬件通过应用编程接口提供给上层,一方面降低了上层实现复杂功能的软件设计难度,另一方面协同工作的多个DPU硬件也提供了更强的处理性能,进而支持更为复杂的DPU功能的设计。
[0017]本专利技术的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本专利技术的实践而获知。本专利技术的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
[0018]本领域技术人员将会理解的是,能够用本专利技术实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本专利技术能够实现的上述和其他目的。
附图说明
[0019]此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,并不构成对本专利技术的限定。附图中的部件不是成比例绘制的,而只是为了示出本专利技术的原理。为了便于示出和描述本专利技术的一些部分,附图中对应部分可能被放大,即,相对于依据本专利技术实际制造的示例性装置中的其它部件可能变得更大。在附图中:
[0020]图1为本专利技术一实施例中用于驱动多DPU协同工作的通用驱动方法流程图。
[0021]图2为本专利技术一实施例中基于负载分担的横向协同方式的系统架构。
[0022]图3为本专利技术一实施例中基于功能拆分的纵向协同方式的系统架构。
具体实施方式
[0023]为使本专利技术的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本专利技术做进一步详细说明。在此,本专利技术的示意性实施方式及其说明用于解释本专利技术,但并不作为对本专利技术的限定。
[0024]在此,还需要说明的是,为了避免因不必要的细节而模糊了本专利技术,在附图中仅仅示出了与根据本专利技术的方案密切相关的结构和/或处理步骤,而省略了与本专利技术关系不大的其他细节。
[0025]应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。...

【技术保护点】

【技术特征摘要】
1.一种用于驱动多DPU协同工作的驱动方法,其特征在于,该方法包括以下步骤:通过应用编程接口接收来自上层的原始指令,基于多个DPU的硬件功能协同工作方式确定每个DPU的目标功能,将所述原始指令转化并分发为针对每个DPU的目标功能的子指令,其中,所述多个DPU的硬件功能协同工作方式包括每个DPU独立完成相同硬件功能的横向协同方式和每个DPU分别完成完整硬件功能中的部分硬件功能的纵向协同方式;将每个子指令所对应的处理负载传递到相应的DPU,并向每个DPU提供支持实现目标功能的子驱动;获得每个DPU的处理负载的结果,并基于全部DPU的处理负载的结果生成向上层反馈的数据。2.根据权利要求1所述的方法,其特征在于,来自上层的原始指令、每个子指令所对应的处理负载和向上层反馈的数据基于PCIe协议进行传输。3.根据权利要求1所述的方法,其特征在于,所述基于多个DPU的硬件功能协同工作方式和每个DPU的目标功能,将所述原始指令转化并分发为针对每个DPU的目标功能的子指令包括:当多个DPU的硬件功能协同工作方式为横向协同方式,每个DPU的目标功能功能相同且包含目标实现的完整硬件功能,将所述原始指令所对应的处理负载基于负载均衡的原则分配到不同的DPU,并生成相应的针对每个DPU的子指令。4.根据权利要求3所述的方法,其特征在于,所述基于多个DPU的硬件功能协同工作方式和每个DPU的目标功能,将所述原始指令转化并分发为针对每个DPU的子指令还包括:当多个DPU的硬件功能协同工作方式为横向协同方式,对于存在设备故障的DPU选择忽略,并将所述原始指令所对应的处理负载基于负载均衡的原则分配到不存在设备故障的其他DPU。5.根据权利要求3所述的方法,其特征在于,在所述获得每...

【专利技术属性】
技术研发人员:马智伟张宇鄢贵海
申请(专利权)人:中科驭数北京科技有限公司
类型:发明
国别省市:

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

1