任务处理装置和系统的制作方法

摘要: 本申请涉及计算机领域,更具体地,涉及一种任务处理装置和系统。背景技术:1、随着计算密集型应用的普及和数据量的爆炸性增长,许多应用领域对计算机的数据处理速度都有了...
任务处理装置和系统的制作方法

本申请涉及计算机领域,更具体地,涉及一种任务处理装置和系统。

背景技术:

1、随着计算密集型应用的普及和数据量的爆炸性增长,许多应用领域对计算机的数据处理速度都有了越来越高的要求。现有技术中通常会通过提升通用计算平台的算力来应对大规模并发的数据处理需求。但是,通用计算平台的算力往往是呈线性增长的,而数据处理需求则呈指数级增长,两者并不匹配。为此,现有技术中提出了使用硬件加速器辅助通用计算平台进行计算的方案。常见的硬件加速器可包括专用集成电路(asic)、图形处理单元(gpu)、现场可编程门阵列(fpga)、数字信号处理器(dsp)等专用计算硬件,以提升对特定计算任务的处理速度,从而提高计算效率。

2、然而,现有的硬件加速器在多任务并发的情形下存在性能瓶颈,并不能完全发挥硬件加速器中所有计算引擎的性能。

技术实现思路

1、本申请的目的之一在于提供一种任务处理装置以充分发挥硬件加速器的计算引擎的性能。

2、根据本申请的一些方面,提供了一种任务处理装置。该任务处理装置包括:存储单元;获取单元,其被配置用于从主机获取配置描述符并将其存储在所述存储单元中,其中所述配置描述符指示来自于所述主机的计算任务并包括所述计算任务的配置信息;调度单元,其被配置用于从所述存储单元存储的多个配置描述符中确定可调度的配置描述符;多个计算单元,每个计算单元包括数据预取器、引擎控制器和计算引擎,其中,所述调度单元还被配置用于将所述可调度的配置描述符分配给所述多个计算单元中的可用计算单元,从而所述可用计算单元的数据预取器基于所述可调度的配置描述符中的配置信息从所述主机获取输入数据,所述可用计算单元的引擎控制器基于所述可调度的配置描述符中的配置信息对所述可用计算单元的计算引擎进行配置,并且所述可用计算单元的计算引擎在被配置后对所述输入数据进行处理以产生输出数据。

3、根据本申请的另一些方面,提供了一种任务处理系统。所述任务处理系统包括主机和耦接至所述主机的至少一个任务处理装置;所述主机被配置用于产生配置描述符,所述配置描述符指示所述主机的计算任务并包括所述计算任务的配置信息;并且所述任务处理装置包括:存储单元;获取单元,其被配置用于从所述主机获取所述配置描述符并将其存储在所述存储单元中;调度单元,其被配置用于从所述存储单元存储的多个配置描述符中确定可调度的配置描述符;多个计算单元,每个计算单元包括数据预取器、引擎控制器和计算引擎,其中,所述调度单元还被配置用于将所述可调度的配置描述符分配给所述多个计算单元中的可用计算单元,从而所述可用计算单元的数据预取器基于所述可调度的配置描述符中的配置信息从所述主机获取输入数据,所述可用计算单元的引擎控制器基于所述可调度的配置描述符中的配置信息对所述可用计算单元的计算引擎进行配置,并且所述可用计算单元的计算引擎在被配置后对所述输入数据进行处理以产生输出数据。

4、本申请的技术方案的任务处理装置中单个计算任务被划分为不同阶段,并由不同的处理单元进行处理,实现了对计算任务的控制信息和数据信息的分离,通过流水线化设计实现了任务处理装置中多个计算引擎的并行执行,从而能够充分发挥这些计算引擎的性能。

5、以上为本申请的概述,可能有简化、概括和省略细节的情况,因此本领域的技术人员应该认识到,该部分仅是示例说明性的,而不旨在以任何方式限定本申请范围。本概述部分既非旨在确定所要求保护主题的关键特征或必要特征,也非旨在用作为确定所要求保护主题的范围的辅助手段。

1.一种任务处理装置,其特征在于,所述任务处理装置包括:

2.根据权利要求1所述的任务处理装置,其特征在于,所述配置信息包括所述计算任务的算法、操作模式、输入缓冲区的信息和输出缓冲区的信息。

3.根据权利要求1所述的任务处理装置,其特征在于,所述存储单元包括描述符缓冲区和调度信息表,所述描述符缓冲区用于存储从所述主机获取的配置描述符,所述调度信息表包括多个槽项,其中每个槽项用于存储从所述描述符缓冲区中的一个配置描述符中提取的与计算任务的调度相关的调度信息。

4.根据权利要求3所述的任务处理装置,其特征在于,所述获取单元从所述主机获取所述配置描述符包括:

5.根据权利要求4所述的任务处理装置,其特征在于,所述获取单元还被配置用于:

6.根据权利要求4所述的任务处理装置,其特征在于,所述存储单元还包括待定请求表,所述待定请求表用于跟踪尚未完成的对所述待处理的配置描述符的所述读请求。

7.根据权利要求4所述的任务处理装置,其特征在于,所述待处理的配置描述符指示的计算任务为由具有依赖关系的多个子任务构成的任务队列中的待处理的子任务,所述具有依赖关系的多个子任务需要按照预设顺序执行;并且所述存储单元还包括依赖关系序列表,所述依赖关系序列表用于记录所述任务队列中的按照所述预设顺序第一个未处理的子任务的编号。

8.根据权利要求7所述的任务处理装置,其特征在于,所述存储单元还包括依赖关系任务表,所述依赖关系任务表用于记录处理所述任务队列的计算单元的信息以及所述任务队列中的按照所述预设顺序第一个未处理的子任务的编号。

9.根据权利要求8所述的任务处理装置,其特征在于,所述存储单元还包括为所述主机中的每个qp设置的本地缓冲区;所述获取单元还被配置用于:

10.根据权利要求3所述的任务处理装置,其特征在于,所述调度单元从所述存储单元中的多个配置描述符中确定可调度的配置描述符包括:

11.根据权利要求10所述的任务处理装置,其特征在于,所述调度单元还被配置用于:

12.根据权利要求2所述的任务处理装置,其特征在于,所述可用计算单元的数据预取器基于所述可调度的配置描述符中的配置信息从所述主机获取所述输入数据包括:

13.根据权利要求12所述的任务处理装置,其特征在于,所述可用计算单元的数据预取器基于所述可调度的配置描述符中的配置信息从所述主机获取所述输入数据还包括:

14.根据权利要求13所述的任务处理装置,其特征在于,所述可用计算单元的数据预取器还被配置用于:

15.根据权利要求2所述的任务处理装置,其特征在于,所述可用计算单元的引擎控制器还被配置用于:

16.根据权利要求15所述的任务处理装置,其特征在于,所述可用计算单元的引擎控制器还被配置用于:

17.根据权利要求15所述的任务处理装置,其特征在于,所述可用计算单元的引擎控制器还被配置用于:

18.一种任务处理系统,其特征在于,所述任务处理系统包括: