一种处理器及计算设备制造技术

技术编号:37509540 阅读:16 留言:0更新日期:2023-05-07 09:49
本发明专利技术提供一种处理器及计算设备,其中,处理器包括前端控制引擎、第一级命令网络和多个计算集群,前端控制引擎包括任务调度模块以及多个第一级任务分发模块,每个计算集群中包括多个计算模块,其中,任务调度模块被配置为将计算任务发送给空闲的第一级任务分发模块;每个第一级任务分发模块用于将接收到的计算任务分解成多个计算子任务,并通过第一级命令网络将计算子任务发送给一个或多个目标计算集群;每个所述目标计算集群被配置为将接收到的计算子任务分解为多个计算工作组,并将计算工作组发送给目标计算集群中的目标计算模块执行。本发明专利技术的处理器通过两级计算任务的分解和分发,减少了控制逻辑和芯片面积,提升了处理器的任务执行效率。理器的任务执行效率。理器的任务执行效率。

【技术实现步骤摘要】
一种处理器及计算设备


[0001]本专利技术涉及处理器领域,具体来说,涉及并行处理任务的处理器领域,更具体地说,涉及一种采用多级运算任务分发处理机制的处理器及计算设备。

技术介绍

[0002]近年来,以深度学习为代表的神经网络算法在诸如智慧城市、电商推荐、大数据分析、自动驾驶、语义识别等各个领域得到了广泛应用,以神经网络为主的图像处理、目标检测、自然语言处理等技术促进了各个领域的发展。其中,深度学习算法具有参数多和并行计算要求高的特点。而通用图形处理器(General Purpose Graph Processing Unit ,简称GPGPU)由于具有众多并行的计算核心和极高的可编程性,成为了加速神经网络算法的首选芯片架构。
[0003]随着半导体工艺的发展,单位面积的芯片可以容纳更多的晶体管。基于此,为了满足大算力的需求,通用图形处理器的计算核心数目逐渐增多,从几个增加到几十,甚至上百。但是大量的计算核心也给计算任务的分配和调度提出了挑战。由于计算核心较多,计算任务分发模块不能及时向每个计算核心分发计算任务,会造成计算核心的空闲,计算核心的利用率较低,从而降低并行计算的执行效率。

技术实现思路

[0004]因此,本专利技术的目的在于克服上述现有技术的缺陷,提供一种新的处理器和计算设备。
[0005]根据本专利技术的第一方面,提供一种处理器,所述处理器包括前端控制引擎、第一级命令网络和多个计算集群,所述前端控制引擎包括任务调度模块以及多个第一级任务分发模块,每个所述计算集群中包括多个计算模块;所述任务调度模块被配置为基于预设的调度规则,将计算任务以及计算任务的控制信息发送给空闲的第一级任务分发模块;每个所述第一级任务分发模块用于将接收到的计算任务分解成多个计算子任务,并通过第一级命令网络将分解得到的所述计算子任务发送给所述计算任务的控制信息中指定的一个或多个目标计算集群;每个所述目标计算集群被配置为将接收到的计算子任务分解为多个计算工作组,并将分解得到的所述计算工作组发送给所述目标计算集群中的目标计算模块执行。
[0006]优选的,所述第一级任务分发模块的数量与计算集群数量一致。
[0007]优选的,所述前端控制引擎还包括多个计算集群资源记录模块,一个计算集群资源记录模块用于记录一个计算集群的计算任务信息存储资源和计算子任务存储资源,并基于计算集群中的计算子任务完成情况更新记录。
[0008]优选的,所述任务调度模块包括:任务缓存单元、任务调度单元、任务发送单元,任务缓存单元用于存储多个计算任务以及每个计算任务的信息;任务调度单元,用于根据计算任务的信息,从所述任务缓存单元中选取与第一级任务分发模块当前对应的目标计算集
群不重叠的计算任务作为待分发计算任务;任务发送单元,用于将所述任务调度单元选取的待分发计算任务,发送给与所述待分发计算任务的目标计算集群不重叠且有空闲的第一级任务分发模块。
[0009]优选的,所述每个第一级任务分发模块包括:第一级计算任务信息存储单元,用于存储接收到的计算任务信息,所述计算任务信息包括计算任务的描述信息和计算任务的控制信息,其中,所述计算任务的控制信息用于指示计算任务的优先级、目标计算集群和目标计算模块,所述计算任务的描述信息包括计算任务三维结构的长度、计算子任务的大小;计算集群分配单元,用于根据计算任务的控制信息给计算任务分配一个或多个计算集群作为目标计算集群,并将计算任务的控制信息发送给分配的目标计算集群;计算任务分解单元,用于根据计算任务的描述信息中描述的计算任务三维结构的长度以及计算子任务的大小,将计算任务分解为多个计算子任务;计算子任务发送单元,用于查询计算集群资源记录模块的记录,并将所述计算任务分解单元分解后的计算子任务通过所述第一级命令网络发送到已经发送过计算任务控制信息且有剩余资源能够接受新的计算子任务的目标计算集群。
[0010]优选的,所述计算任务分解单元被配置为:选择计算任务的三维结构中的一个方向为基准方向;以计算任务的描述信息中预设的计算子任务大小为分解单位,沿基准方向按行对计算任务的三维结构进行遍历,得到多个计算子任务的信息,其中,遍历过程中每查找到计算工作组的数量与计算子任务大小匹配时,得到一个计算子任务,通过所述计算子任务发送单元发送一次计算子任务的起点和大小,并记录下次计算子任务的起点直至遍历完计算任务;其中,当计算任务结尾处的剩余计算工作组数目不满足预设的计算子任务大小时,以剩余计算工作组的数目作为最后一个计算子任务的大小,得到该计算任务的最后一个计算子任务。
[0011]优选的,所述每个计算集群包括:第二级任务分发模块、第二级命令网络、多个计算模块,其中,所述第二级任务分发模块用于将接收到的计算子任务分解为多个计算工作组,并通过第二级命令网络将分解得到的计算工作组发送给计算任务的控制信息指示的多个目标计算模块进行执行。
[0012]优选的,所述第二级任务分发模块包括:第二级计算任务信息存储单元,用于存储接收到的计算任务信息;计算子任务存储单元,用于存储接收到的一个或多个计算子任务;计算模块分配单元,用于根据计算任务信息为对应的计算子任务分配一个或多个目标计算模块,并发送计算任务的信息到目标计算模块;计算子任务分发单元,用于从所述计算子任务存储单元中选取计算子任务,并将其分解为多个计算工作组以及将分解得到的计算工作组发送给计算模块分配单元分配的多个目标计算模块进行执行;多个计算模块资源记录单元,其中,一个计算模块资源记录单元用于记录一个计算模块的资源利用情况。
[0013]优选的,所述计算子任务分发单元被配置为根据计算模块资源记录单元记录的信息,依据所属计算集群中各计算模块的当前资源利用率,将分解得到的计算工作组发送给所属计算集群中的多个目标计算模块。
[0014]优选的,所述每个第一级任务分发模块被配置为:完成计算任务分解时,发送资源释放命令到该计算任务的目标计算集群,并在收集到所有目标计算集群的释放命令完成信号后,向任务调度模块发送释放命令完成信号;每个所述计算集群中的第二级任务分发模块被配置为:接收第一级任务分发模块的资源释放命令,在该计算任务的计算工作组发送
完毕后,向目标计算模块发送释放命令,并在收集到该计算任务的所有目标计算模块的释放命令完成信号后,向第一级任务分发模块发送释放命令完成信号;所述计算模块被配置为:完成计算工作组的执行后向所属计算集群的第二级任务分发模块返回释放命令完成信号。
[0015]根据本专利技术的第二方面,提供一种多级任务分发方法,应用于本专利技术第一方面所述的处理器,所述方法包括:获取计算任务,并在前端控制引擎中将计算任务分解为多个计算子任务,以及将计算子任务通过第一级命令网络发送给计算任务的控制信息中指定的计算集群;在计算集群中将计算子任务分解为多个计算工作组,并将计算工作组发送给计算集群中的计算模块进行执行。
[0016]根据本专利技术的第三方面,提供一种计算设备,包括:主机,以及与所述主机连接的一个或多个前述第一方面提供的处理器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理器,其特征在于,所述处理器包括前端控制引擎、第一级命令网络和多个计算集群,所述前端控制引擎包括任务调度模块以及多个第一级任务分发模块,每个所述计算集群中包括多个计算模块;所述任务调度模块被配置为基于预设的调度规则,将计算任务以及计算任务的控制信息发送给空闲的第一级任务分发模块;每个所述第一级任务分发模块用于将接收到的计算任务分解成多个计算子任务,并通过第一级命令网络将分解得到的所述计算子任务发送给所述计算任务的控制信息中指定的一个或多个目标计算集群;每个所述目标计算集群被配置为将接收到的计算子任务分解为多个计算工作组,并将分解得到的所述计算工作组发送给所述目标计算集群中的目标计算模块执行。2.根据权利要求1所述的处理器,其特征在于,所述任务调度模块包括:任务缓存单元,用于存储多个计算任务以及每个计算任务的信息;任务调度单元,用于根据计算任务的信息,从所述任务缓存单元中选取与第一级任务分发模块当前对应的目标计算集群不重叠的计算任务作为待分发计算任务;任务发送单元,用于将所述任务调度单元选取的待分发计算任务,发送给与所述待分发计算任务的目标计算集群不重叠且有空闲的第一级任务分发模块。3.根据权利要求1所述的处理器,其特征在于,所述前端控制引擎还包括多个计算集群资源记录模块,一个计算集群资源记录模块用于记录一个计算集群的计算任务信息存储资源和计算子任务存储资源,并基于计算集群中的计算子任务完成情况更新记录。4.根据权利要求3所述的处理器,其特征在于,所述每个第一级任务分发模块包括:第一级计算任务信息存储单元,用于存储接收到的计算任务信息,所述计算任务信息包括计算任务的描述信息和计算任务的控制信息,其中,所述计算任务的控制信息用于指示计算任务的优先级、目标计算集群和目标计算模块,所述计算任务的描述信息包括计算任务三维结构的长度、计算子任务的大小;计算集群分配单元,用于根据计算任务的控制信息给计算任务分配一个或多个计算集群作为目标计算集群,并将计算任务的控制信息发送给分配的目标计算集群;计算任务分解单元,用于根据计算任务的描述信息中描述的计算任务三维结构的长度以及计算子任务的大小,将计算任务分解为多个计算子任务;计算子任务发送单元,用于查询计算集群资源记录模块的记录,并将所述计算任务分解单元分解后的计算子任务通过所述第一级命令网络发送到已经发送过计算任务控制信息且有剩余资源能够接受新的计算子任务的目标计算集群。5.根据权利要求4所述的处理器,其特征在于,所述计算任务分解单元被配置为:选择计算任务的三维结构中的一个方向为基准方向;以计算任务的描述信息中预设的计算子任务大小为分解单位,沿基准方向按行对计算任务的三维结构进行遍历,得到多个计算子任务的信息,其中,遍历过程中每查找到计算工作组的数量与计算子任务的大小匹配时,确定一个计算子任务,通过所述计算子任...

【专利技术属性】
技术研发人员:马亮王平
申请(专利权)人:杭州登临瀚海科技有限公司
类型:发明
国别省市:

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

1