一种数据调度装置、方法和加速处理芯片制造方法及图纸

技术编号:27836123 阅读:23 留言:0更新日期:2021-03-30 12:02
本申请提供一种数据调度装置、方法和加速处理芯片,数据调度装置通过片载的输入缓冲器和输入缓冲器替代了本地DDR缓存,在移除本地DDR之后可以降低加速板卡的系统复杂度和硬件成本,可以充分释放PCIe的带宽性能;在有限的片上缓存资源的约束下,进行去中心化调度,将调度控制分解为请求分解模块、配置接口模块、输入调度模块、输出调度模块、状态接口模块和响应合成模块,各个模块异步工作,顺序处理任务队列中的任务,从而实现任务间的流水处理,有效地保证了任务请求之间背靠背的无缝链接,增加了数据处理单元的利用率,从而提高了整体系统的数据吞吐量。系统的数据吞吐量。系统的数据吞吐量。

【技术实现步骤摘要】
一种数据调度装置、方法和加速处理芯片


[0001]本申请涉及数据调度
,特别涉及一种数据调度装置、方法和加速处理芯片。

技术介绍

[0002]随着大数据、AI(Artificial Intelligence,人工智能)、5G等新兴产业的迅速发展,各式应用场景层出不群,存储计算系统当中的通用CPU处理压力持续增大,再加上通用CPU(Central Processing Unit,中央处理器)对某些计算任务的执行效率不高,这都不断地推高了存储计算系统中CPU的占用率,CPU处理能力的瓶颈最终会限制存储计算系统整体性能的提升与扩展。
[0003]相关技术中采用调度控制中心进行数据的调度,请参考图1,图1为相关技术的数据处理业务的流程示意图,其中,在加速处理芯片内需要一个统一的调度控制中心,它的具体实现可以是专用硬件电路或者通用微控制器辅以相应软件程序,按照数据业务处理流程,顺序执行如下调度步骤:
[0004]1.调度控制中心首先需要通过PCIe(Peripheral component interconnect express,外设高速互联)接口从主机侧DDR((Double Data Rate,双倍速率)内取回待处理数据块的配置信息;2.在调度控制中心拿到配置信息后,需要对其进行解析,并和数据处理单元进行握,若其处于空闲状态,则写入相应配置后启动数据处理操作;于此同时,还需要根据数据输入缓冲的状态(填充深度)不断地从主机侧DDR中调入数据,这个过程因数据块大小的不同又耗时若干个us;3.在输出结果数据的方向上,调度控制中心也需要根据数据输出缓冲的状态(填充深度)不断地调出数据到主机侧DDR中,并在数据处理单元处理结束后,读取最终的状态信息(包括处理后数据块的大小和错误码等);4.最后,调度控制中心将该数据块的结果信息封装,并通过PCIe总线传输到主机侧DDR中,通知主机拿取处理后的数据结果,传输上百个字节的反馈信息耗时约1us左右。
[0005]但是面对每秒数十万次的IO请求时,请参考图2,图2为相关技术对应的任务处理流水示意图,都无法实时地照顾到每个请求,并最终实现各项硬件资源之间的无缝衔接只能数据块依次处理,系统的数据吞吐率低,数据处理单元的利用率低。
[0006]因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。

技术实现思路

[0007]本申请的目的是提供一种数据调度装置、方法和加速处理芯片,增加了数据处理单元的利用率,从而提高了整体系统的数据吞吐量。其具体方案如下:
[0008]本申请提供了一种数据调度装置,包括:
[0009]请求分解模块,用于将主机DDR发送的数据块的请求配置信息进行分解,得到多个子配置信息,并将所述子配置信息写入配置FIFO、同步FIFO1、同步FIFO2、同步FIFO3中;
[0010]配置接口模块,用于根据所述配置FIFO对数据处理单元进行配置;
[0011]输入调度模块,用于当输入缓冲器还存在剩余空间时,通过配置PCIe DMA从所述主机DDR按照所述同步FIFO1取回待处理数据块至所述输入缓冲器,以使所述数据处理单元的输入数据不断流;
[0012]输出调度模块,用于通过配置PCIe DMA将所述数据处理单元处理待处理数据块得到的结果数据按照所述同步FIFO2从所述输出缓冲器传输至所述主机DDR,以使所述数据处理单元不被输出数据流反压;
[0013]状态接口模块,用于接收所述数据处理单元的任务完成时的结果状态信息,并将所述结果状态信息传递给响应合成模块;
[0014]所述响应合成模块,用于将所述结果状态信息封装,并通过配置PCIe DMA根据所述同步FIFO3传输至所述主机DDR。
[0015]优选地,所述配置接口模块,用于:
[0016]监控所述数据处理单元的处理状态;
[0017]当所述处理状态是闲状态时,将所述配置FIFO中的下一信息写入实时数据处理单元的寄存器中,以便所述数据处理单元进行数据处理。
[0018]优选地,所述输入调度模块,用于:
[0019]通过配置PCIe DMA从所述主机DDR取回所述待处理数据块至所述输入缓冲器;
[0020]在当前请求的所有源数据都调入所述输入缓冲器后,若所述输入缓冲器存在剩余空间,则从所述同步FIFO1中读取下一个信息,继续调入数据至所述输入缓冲器中。
[0021]优选地,所述输出调度模块,用于:
[0022]当所述结果数据的大小为确定值,则通过配置PCIe DMA将所述数据处理单元处理待处理数据块得到的结果数据,按照所述同步FIFO2中的与所述确定值对应的所述存放结果数据空间大小搬运至所述主机DDR中。
[0023]优选地,所述输出调度模块,用于:
[0024]实时监控所述状态接口模块的状态FIFO的填充状态;
[0025]当检测到所述填充状态非空,则从所述状态FIFO读取实际产生的所述结果数据的大小;
[0026]依据实际产生的所述结果数据的大小,将所述输出缓冲器中剩余的数据一次或分多次按照所述同步FIFO2中的存放结果数据地址传输至所述主机DDR。
[0027]优选地,所述响应合成模块,用于:
[0028]当判定所述同步FIFO3和同步FIFO4的内容均为非空,则将所述结果状态信息封装;
[0029]其中,所述同步FIFO4是所述输出调度模块将所述状态FIFO的相关内容存入同步FIFO4,用以形成响应封装。
[0030]本申请提供了一种数据调度方法,包括:
[0031]请求分解模块将主机DDR发送的数据块的请求配置信息进行分解,得到多个子配置信息,并将所述子配置信息写入配置FIFO、同步FIFO1、同步FIFO2、同步FIFO3中;
[0032]配置接口模块根据所述配置FIFO对数据处理单元进行配置;
[0033]当输入缓冲器还存在剩余空间时,输入调度模块通过配置PCIe DMA从所述主机
DDR按照所述同步FIFO1取回待处理数据块至所述输入缓冲器,以使所述数据处理单元的输入数据不断流;
[0034]输出调度模块通过配置PCIe DMA将所述数据处理单元处理待处理数据块得到的结果数据按照所述同步FIFO2从所述输出缓冲器传输至所述主机DDR,以使所述数据处理单元不被输出数据流反压;
[0035]状态接口模块接收所述数据处理单元的任务完成时的结果状态信息,并将所述结果状态信息传递给响应合成模块;
[0036]所述响应合成模块将所述结果状态信息封装,并通过配置PCIe DMA根据所述同步FIFO3传输至所述主机DDR。
[0037]优选地,所述配置接口模块根据配置FIFO对数据处理单元进行配置,包括:
[0038]所述配置接口模块监控所述数据处理单元的处理状态;
[0039]当所述处理状态是闲状态时,将所述配置FIFO中的下一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据调度装置,其特征在于,包括:请求分解模块,用于将主机DDR发送的数据块的请求配置信息进行分解,得到多个子配置信息,并将所述子配置信息写入配置FIFO、同步FIFO1、同步FIFO2、同步FIFO3中;配置接口模块,用于根据所述配置FIFO对数据处理单元进行配置;输入调度模块,用于当输入缓冲器还存在剩余空间时,通过配置PCIe DMA从所述主机DDR按照所述同步FIFO1取回待处理数据块至所述输入缓冲器,以使所述数据处理单元的输入数据不断流;输出调度模块,用于通过配置PCIe DMA将所述数据处理单元处理所述待处理数据块得到的结果数据按照所述同步FIFO2从所述输出缓冲器传输至所述主机DDR,以使所述数据处理单元不被输出数据流反压;状态接口模块,用于接收所述数据处理单元的任务完成时的结果状态信息,并将所述结果状态信息传递给响应合成模块;所述响应合成模块,用于将所述结果状态信息封装,并通过配置PCIe DMA根据所述同步FIFO3传输至所述主机DDR。2.根据权利要求1所述的数据调度装置,其特征在于,所述配置接口模块,用于:监控所述数据处理单元的处理状态;当所述处理状态是闲状态时,将所述配置FIFO中的下一信息写入实时数据处理单元的寄存器中,以便所述数据处理单元进行数据处理。3.根据权利要求2所述的数据调度装置,其特征在于,所述输入调度模块,用于:通过配置PCIe DMA从所述主机DDR取回所述待处理数据块至所述输入缓冲器;在当前请求的所有源数据都调入所述输入缓冲器后,若所述输入缓冲器存在剩余空间,则从所述同步FIFO1中读取下一个信息,继续调入数据至所述输入缓冲器中。4.根据权利要求3所述的数据调度装置,其特征在于,所述输出调度模块,用于:当所述结果数据的大小为确定值,则通过配置PCIe DMA将所述数据处理单元处理待处理数据块得到的结果数据,按照所述同步FIFO2中的与所述确定值对应的所述存放结果数据空间大小搬运至所述主机DDR中。5.根据权利要求3所述的数据调度装置,其特征在于,所述输出调度模块,用于:实时监控所述状态接口模块的状态FIFO的填充状态;当检测到所述填充状态非空,则从所述状态FIFO读取实际产生的所述结果数据的大小;依据实际产生的所述结果数据的大小,将所述输出缓冲器中剩余的数据一次或分多次按照所述同步FIFO2中的存放结果数据地...

【专利技术属性】
技术研发人员:王江孙华锦李树青
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司
类型:发明
国别省市:

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

1