应用于加速板卡的数据调度方法、装置及加速板卡和介质制造方法及图纸

技术编号:26845424 阅读:19 留言:0更新日期:2020-12-25 13:07
本申请公开了一种应用于加速板卡的数据调度方法、装置及加速板卡和介质,加速板卡与主机通过PCIe总线进行数据传输,该方法包括:若输入缓冲器的可用容量达到第一阈值,则利用PCIe DMA对主机DDR内的目标数据进行分割;将分割后的子数据块拷贝至通过同步时钟接口连接数据处理单元的输入缓冲器,以便数据处理单元依次读取输入缓冲器的数据并进行处理;当数据处理单元得到处理结果后,将处理结果填充至通过同步时钟接口连接数据处理单元的输出缓冲器中;若输出缓冲器的已用容量达到第二阈值,则通过PCIe DMA将处理结果回填至主机DDR内的指定区域。本申请降低了系统复杂度和硬件成本,打破了本地DDR的带宽需求瓶颈。

【技术实现步骤摘要】
应用于加速板卡的数据调度方法、装置及加速板卡和介质
本申请涉及计算机
,更具体地说,涉及一种应用于加速板卡的数据调度方法、装置及一种加速板卡和一种计算机可读存储介质。
技术介绍
随着大数据、AI(ArtificialIntelligence,人工智能)、5G等新兴产业的迅速发展,各式应用场景层出不穷,计算机系统当中的通用CPU处理压力持续增大,再加上通用CPU(CentralProcessingUnit,中央处理器)对一些计算任务的执行效率不高,这都不断地提高了计算机系统中CPU的占用率,CPU处理能力的瓶颈最终会限制计算机系统整体性能的提升与扩展。基于此,工业界出现了各种各样的硬件加速板卡,这些板卡可以通过PCIe(Peripheralcomponentinterconnectexpress,外设高速互联)等通用高速数据接口接驳于计算机系统的主机主板之上,用于承载原来由CPU负责执行的某种/多种计算任务。传统的主机和加速板卡之间的数据链路如下图1所示,共分为四个步骤:数据从主机DDR(DoubleDataRate,双倍速率)通过PCIe总线拷贝到加速板卡的本地DDR,加速板卡上的数据处理单元从本地DDR内顺序读取数据并进行处理,数据处理单元不断将处理后的结果数据写回到本地DDR,在结果数据累积到一定大小后,将被本地DDR搬移至主机DDR,从而完成一次数据处理回路。由于本地DDR可以提供可观的数据缓冲空间,上述方案可以一次搬送比较大的数据块,以降低每次启动PCIe所需要的固有时延对整体数据带宽的影响,最大化的利用PCIe总线的带宽。然而,此方案对本地DDR的带宽有着更高的要求。在数据流动起来之后,同一个数据块要两入两出本地DDR,若不考虑数据块在处理前后大小上可能的变化,其带宽的需求上限是PCIe设计带宽的两倍。例如,在理论PCIe带宽32GB(PCIeGen4X16)的情况下,对应的,本地DDR需要支持实现64GB的理论带宽,这对系统架构设计和物理实现都十分具有挑战因此,如何解决上述问题是本领域技术人员需要重点关注的。
技术实现思路
本申请的目的在于提供一种应用于加速板卡的数据调度方法、装置及一种加速板卡和一种计算机可读存储介质,降低了加速板卡的系统复杂度和硬件成本,同时打破了板卡上本地DDR的带宽需求瓶颈。为实现上述目的,本申请提供了一种应用于加速板卡的数据调度方法,所述加速板卡与主机通过PCIe总线进行数据传输,所述方法包括:对输入缓冲器的可用容量进行监测,若所述可用容量达到第一阈值,则利用PCIeDMA对主机DDR内的目标数据进行分割;将分割后的子数据块拷贝至所述输入缓冲器,所述输入缓冲器通过同步时钟接口连接数据处理单元,以便所述数据处理单元依次读取所述输入缓冲器的数据并进行处理;当所述数据处理单元得到处理结果后,将所述处理结果填充至输出缓冲器中,所述数据处理单元与所述输出缓冲器通过同步时钟接口进行连接;对所述输出缓冲器的已用容量进行监测,若所述已用容量达到第二阈值,则通过PCIeDMA将所述处理结果回填至所述主机DDR内的指定区域。可选的,所述对输入缓冲器的可用容量进行监测,包括:通过第一填充计数器确定所述输入缓冲器内的现存数据大小;其中,所述第一填充计数器的数值根据一次写入所述输入缓冲器的数据量和每个时钟周期所述数据处理单元的读取数据量进行确定;结合所述输入缓冲器的总容量、处于PCIe总线传输链路的待写入数据大小和所述现存数据大小,确定所述输入缓冲器的可用容量。可选的,所述对所述输出缓冲器的已用容量进行监测,包括:通过第二填充计数器确定所述输出缓冲器的已用容量;其中,所述第二填充计数器的数值根据一次从所述输出缓冲器迁出的数据量和每个时钟周期所述数据处理单元的填充数据量进行确定。可选的,所述第一阈值和所述第二阈值均为预设调度颗粒度。可选的,所述若所述可用容量达到第一阈值,则利用PCIeDMA对主机DDR内的目标数据进行分割,包括:若监测到所述可用容量大于或等于所述预设调度颗粒度的大小时,则触发数据写入操作,以根据所述预设调度颗粒度、数据传输物理地址对PCIeDMA进行配置,以利用PCIeDMA对主机DDR内的目标数据进行分割。可选的,还包括:在每次将所述处理结果回填至所述主机DDR内的指定区域之后,根据当次数据调度过程中所述输入缓冲器和/或所述输出缓冲器的实时填充深度,对所述预设调度颗粒度进行修正,得到更新后调度颗粒度;在对输入缓冲器的可用容量进行监测之前,查询所述更新后调度颗粒度,以根据所述更新后调度颗粒度进行下次数据调度。为实现上述目的,本申请提供了一种应用于加速板卡的数据调度装置,包括:容量监测单元,用于对输入缓冲器的可用容量进行监测,若所述可用容量达到第一阈值,则利用PCIeDMA对主机DDR内的目标数据进行分割;数据拷贝单元,用于将分割后的子数据块拷贝至所述输入缓冲器,所述输入缓冲器通过同步时钟接口连接数据处理单元,以便所述数据处理单元依次读取所述输入缓冲器的数据并进行处理;数据填充单元,用于当所述数据处理单元得到处理结果后,将所述处理结果填充至输出缓冲器中,所述数据处理单元与所述输出缓冲器通过同步时钟接口进行连接;数据回填单元,用于对所述输出缓冲器的已用容量进行监测,若所述已用容量达到第二阈值,则通过PCIeDMA将所述处理结果回填至所述主机DDR内的指定区域。可选的,所述容量监测单元,包括:现存数据确定子单元,用于通过第一填充计数器确定所述输入缓冲器内的现存数据大小;其中,所述第一填充计数器的数值根据一次写入所述输入缓冲器的数据量和每个时钟周期所述数据处理单元的读取数据量进行确定;可用容量确定子单元,用于确定结合所述输入缓冲器的总容量、处于PCIe总线传输链路的待写入数据大小和所述现存数据大小,确定所述输入缓冲器的可用容量。为实现上述目的,本申请提供了一种加速板卡,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现前述公开的任一种应用于加速板卡的数据调度方法的步骤。为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的任一种应用于加速板卡的数据调度方法的步骤。通过以上方案可知,本申请提供的一种应用于加速板卡的数据调度方法,所述加速板卡与主机通过PCIe总线进行数据传输,所述方法包括:对输入缓冲器的可用容量进行监测,若所述可用容量达到第一阈值,则利用PCIeDMA对主机DDR内的目标数据进行分割;将分割后的子数据块拷贝至所述输入缓冲器,所述输入缓冲器通过同步时钟接口连接数据处理单元,以便所述数据处理单元依次读取所述输入缓冲器的数据并进行处理;当所述数据处理单元得到处理结果后,将所述处理结果填充至输出缓冲器中,所述数据处理单元与所述输出缓冲器通过同步时本文档来自技高网
...

【技术保护点】
1.一种应用于加速板卡的数据调度方法,其特征在于,所述加速板卡与主机通过PCIe总线进行数据传输,所述方法包括:/n对输入缓冲器的可用容量进行监测,若所述可用容量达到第一阈值,则利用PCIe DMA对主机DDR内的目标数据进行分割;/n将分割后的子数据块拷贝至所述输入缓冲器,所述输入缓冲器通过同步时钟接口连接数据处理单元,以便所述数据处理单元依次读取所述输入缓冲器的数据并进行处理;/n当所述数据处理单元得到处理结果后,将所述处理结果填充至输出缓冲器中,所述数据处理单元与所述输出缓冲器通过同步时钟接口进行连接;/n对所述输出缓冲器的已用容量进行监测,若所述已用容量达到第二阈值,则通过PCIeDMA将所述处理结果回填至所述主机DDR内的指定区域。/n

【技术特征摘要】
1.一种应用于加速板卡的数据调度方法,其特征在于,所述加速板卡与主机通过PCIe总线进行数据传输,所述方法包括:
对输入缓冲器的可用容量进行监测,若所述可用容量达到第一阈值,则利用PCIeDMA对主机DDR内的目标数据进行分割;
将分割后的子数据块拷贝至所述输入缓冲器,所述输入缓冲器通过同步时钟接口连接数据处理单元,以便所述数据处理单元依次读取所述输入缓冲器的数据并进行处理;
当所述数据处理单元得到处理结果后,将所述处理结果填充至输出缓冲器中,所述数据处理单元与所述输出缓冲器通过同步时钟接口进行连接;
对所述输出缓冲器的已用容量进行监测,若所述已用容量达到第二阈值,则通过PCIeDMA将所述处理结果回填至所述主机DDR内的指定区域。


2.根据权利要求1所述的数据调度方法,其特征在于,所述对输入缓冲器的可用容量进行监测,包括:
通过第一填充计数器确定所述输入缓冲器内的现存数据大小;其中,所述第一填充计数器的数值根据一次写入所述输入缓冲器的数据量和每个时钟周期所述数据处理单元的读取数据量进行确定;
结合所述输入缓冲器的总容量、处于PCIe总线传输链路的待写入数据大小和所述现存数据大小,确定所述输入缓冲器的可用容量。


3.根据权利要求1所述的数据调度方法,其特征在于,所述对所述输出缓冲器的已用容量进行监测,包括:
通过第二填充计数器确定所述输出缓冲器的已用容量;其中,所述第二填充计数器的数值根据一次从所述输出缓冲器迁出的数据量和每个时钟周期所述数据处理单元的填充数据量进行确定。


4.根据权利要求1至3任一项所述的数据调度方法,其特征在于,所述第一阈值和所述第二阈值均为预设调度颗粒度。


5.根据权利要求4所述的数据调度方法,其特征在于,所述若所述可用容量达到第一阈值,则利用PCIeDMA对主机DDR内的目标数据进行分割,包括:
若监测到所述可用容量大于或等于所述预设调度颗粒度的大小时,则触发数据写入操作,以根据所述预设调度颗粒度、数据传输物理地址对PCIeDMA进行配置,以利用PCIeDMA对主机DDR内的目标数据进行分割。


6.根据权...

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

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

1