CN115344393A - 业务处理方法及相关设备 - Google Patents

业务处理方法及相关设备 Download PDF

Info

Publication number
CN115344393A
CN115344393A CN202211034432.5A CN202211034432A CN115344393A CN 115344393 A CN115344393 A CN 115344393A CN 202211034432 A CN202211034432 A CN 202211034432A CN 115344393 A CN115344393 A CN 115344393A
Authority
CN
China
Prior art keywords
core
service data
processing
service
target computing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211034432.5A
Other languages
English (en)
Inventor
张静东
阚宏伟
王江为
郝锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN202211034432.5A priority Critical patent/CN115344393A/zh
Publication of CN115344393A publication Critical patent/CN115344393A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

本申请公开了一种业务处理方法,应用于硬件加速器,包括:接收主机侧发送的业务数据;将所述业务数据写入至目标计算核对应的内存块,所述目标计算核为微核阵列中的一个或多个计算核;通过检测核采集所述内存块的写入信息,并将所述写入信息发送至所述目标计算核;通过所述目标计算核根据所述写入信息从所述内存块中读取所述业务数据,并对所述业务数据进行处理,获得处理结果。应用本申请所提供的技术方案,可以有效降低主机设备对CPU的占用,进而提高了系统整机性能。本申请还公开了一种业务处理装置、电子设备及计算机可读存储介质,同样具有上述技术效果。

Description

业务处理方法及相关设备
技术领域
本申请涉及计算机技术领域,特别涉及一种业务处理方法、装置、电子设备及计算机可读存储介质。
背景技术
随着云计算和大数据的不断发展,越来越多的边缘计算设备通过互联网被连接到云端,边缘服务器每天需要处理大量来自边缘设备的数据,并通过网络上传到云端数据中心,对数据中心的CPU、网络、内存等资源消耗越来越大。现有的边缘设备,采用以CPU为主要处理器的软件加工处理方案,CPU需要同时负责数据存储、加工处理、数据传输等工作,例如,数据压缩处理主要依靠CPU上运行的压缩算法程序来进行,采用多核并行技术的压缩处理方案能够进一步提高软件处理速度,但同时增加了对CPU内核进程的占用;数据加密处理需要依靠CPU上运行的加密算法程序进行,这种基于CPU软件处理数据的方案均需要CPU深度参与,才能完成数据的加工处理和传输。
传统的基于CPU软件加工处理和传输数据的边缘计算方案,具有很明显的缺点,如CPU在数据被处理的各个阶段都处于高负荷状态,基于CPU软件实现算法的方案,在处理数据时,并行处理能力依赖单纯的多核或多线程,并行处理能力和效率有限,数据通过以太网向外传输需要CPU深度参与,导致系统整机性能下降。
因此,如何有效降低主机设备对CPU的占用,提高系统整机性能是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种业务处理方法,该业务处理方法可以有效降低主机设备对CPU的占用,进而提高了系统整机性能;本申请的另一目的是提供一种业务处理装置、电子设备及计算机可读存储介质,均具有上述有益效果。
第一方面,本申请提供了一种业务处理方法,应用于硬件加速器,包括:
接收主机侧发送的业务数据;
将所述业务数据写入至目标计算核对应的内存块,所述目标计算核为微核阵列中的一个或多个计算核;
通过检测核采集所述内存块的写入信息,并将所述写入信息发送至所述目标计算核;
通过所述目标计算核根据所述写入信息从所述内存块中读取所述业务数据,并对所述业务数据进行处理,获得处理结果。
可选地,所述将所述业务数据写入至目标计算核对应的内存块,包括:
根据所述业务数据确定业务类型;
根据所述业务类型确定所述目标计算核;
将所述业务数据写入至所述目标计算核对应的内存块。
可选地,所述通过检测核采集所述内存块的写入信息,包括:
通过所述检测核进行信号监测,并在监测到帧满信号时,采集获得所述内存块中的写入信息。
可选地,所述写入信息包括所述业务数据的存储首地址和存储数据长度,所述通过所述目标计算核根据所述写入信息从所述内存块中读取所述业务数据,包括:
确定所述目标计算核的计算核数量;
根据所述存储首地址、所述存储数据长度、所述计算核数量确定各所述目标计算核对应的读取首地址和读取数据长度;
通过所述目标计算核从所述读取首地址开始进行数据读取,获得所述读取数据长度对应的业务数据。
可选地,所述对所述业务数据进行处理,获得处理结果,包括:
确定所述目标计算核对应的目标PE单元,所述目标PE单元为PE脉动阵列中的一个或多个PE单元;
通过所述目标计算核和所述目标PE单元对所述业务数据进行处理,获得所述处理结果。
可选地,所述对所述业务数据进行处理,获得处理结果之后,还包括:
发送中断信息至所述主机侧,以使所述主机侧根据所述中断信息读取所述处理结果。
可选地,所述对所述业务数据进行处理,获得处理结果之后,还包括:
通过DMA控制器将所述处理结果反馈至所述主机侧。
第二方面,本申请还公开了一种业务处理装置,应用于硬件加速器,包括:
接收模块,用于接收主机侧发送的业务数据;
写入模块,用于将所述业务数据写入至目标计算核对应的内存块,所述目标计算核为微核阵列中的一个或多个计算核;
采集模块,用于通过检测核采集所述内存块的写入信息,并将所述写入信息发送至所述目标计算核;
处理模块,用于通过所述目标计算核根据所述写入信息从所述内存块中读取所述业务数据,并对所述业务数据进行处理,获得处理结果。
第三方面,本申请还公开了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的任一种业务处理方法的步骤。
第四方面,本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的任一种业务处理方法的步骤。
本申请所提供的一种业务处理方法,应用于硬件加速器,包括:接收主机侧发送的业务数据;将所述业务数据写入至目标计算核对应的内存块,所述目标计算核为微核阵列中的一个或多个计算核;通过检测核采集所述内存块的写入信息,并将所述写入信息发送至所述目标计算核;通过所述目标计算核根据所述写入信息从所述内存块中读取所述业务数据,并对所述业务数据进行处理,获得处理结果。
应用本申请所提供的技术方案,将主机设备与硬件加速器相结合,由硬件加速器实现主机设备中原有的各项业务处理,并且,在硬件加速器中设置微核阵列,从而在业务处理过程中通过微核阵列中的一个或多个计算核并行执行实际的业务数据处理,大大降低了主机设备对CPU的占用,进一步提高了系统整机性能。此外,微核阵列的设置可以实现各个计算核的灵活划分,也即可以根据业务需要配置不同数量的计算核用于进行业务数据处理,可以有效降低芯片功耗。
本申请所提供的业务处理装置、电子设备及计算机可读存储介质,均具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。
图1为本申请所提供的一种业务处理方法的流程示意图;
图2为本申请所提供的一种硬件加速器的结构示意图;
图3为本申请所提供的一种基于AXI4的内存数据高速总线互联拓扑图;
图4为本申请所提供的一种基于NoC片上总线的流式数据高速总线互联拓扑图;
图5为本申请所提供的一种单个微核与单个PE单元之间的通信拓扑图;
图6为本申请所提供的一种业务处理装置的结构示意图;
图7为本申请所提供的一种电子设备的结构示意图。
具体实施方式
本申请的核心是提供一种业务处理方法,该业务处理方法可以有效降低主机设备对CPU的占用,进而提高了系统整机性能;本申请的另一核心是提供一种业务处理装置、电子设备及计算机可读存储介质,均具有上述有益效果。
为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种业务处理方法。
请参考图1,图1为本申请所提供的一种业务处理方法的流程示意图,该业务处理方法应用于硬件加速器,可以包括如下S101至S104。
S101:接收主机侧发送的业务数据;
本步骤主要实现业务数据的获取,该业务数据即为用于实现相应业务处理的各项数据信息,当然,其具体内容由实际的业务需求所决定,本申请对此不做限定。
需要说明的是,本申请实施例所提供的业务处理方法应用于硬件加速器。具体而言,可以预先创建硬件加速器,并将其与主机设备(即上述主机侧)进行连接(二者的连接形式可以包括但不限于有线连接、无线连接、硬件加速器采用卡片形式插入主机设备等),由此,硬件加速器即可与主机设备进行数据通信从而实现各项业务处理。可以理解的是,硬件加速技术是利用硬件电路实现传统在CPU上运行的软件算法,提高算法执行效率、降低CPU工作负载、提高整个系统效率的一种技术。其中,硬件加速器的设备类型并不影响本技术方案的实施,本申请对此不做限定,例如,在一种可能的实现方式中,可以采用FPGA(FieldProgrammable Gate Array,现场可编程与门阵列)实现,采用FPGA实现软件算法,无需像传统CPU执行算法似的执行读取指令、译码指令等操作,同时可以并行实现多个相同算法硬件电路来并行处理数据,达到加速计算的效果。
在实现过程中,当主机设备接收到待处理的业务指令时,即可从中解析获得需要处理的业务数据,并将其转发给硬件加速器,由硬件加速器进行实际的业务数据处理,那么,对于主机侧而言,只需等待获取硬件加速器关于业务数据的处理结果即可。由此,将实际的业务处理操作交由硬件加速器执行,主机侧只需进行各项数据传输操作,极大地降低了主机设备对CPU(主处理器)的占用。
S102:将业务数据写入至目标计算核对应的内存块,目标计算核为微核阵列中的一个或多个计算核;
本步骤旨在实现业务数据的写入,此处主要是指将业务数据写入硬件加速器的内存中。具体而言,在硬件加速器开发过程中,可以预先创建微核阵列和内存,其中,微核阵列用于执行实际的业务数据处理操作,内存则用于实现业务数据和业务数据处理结果的缓存/暂存。
进一步,微核阵列中设置有多个微核,所有的微核以阵列的形式组成微核阵列,微核主要分为检测核和计算核两种类型,其中,检测核用于检测内存中关于业务数据的写入信息,该写入信息主要是指业务数据在内存中的存储信息,可以包括但不限于业务数据在内存中的存储地址、数据长度等信息;计算核则用于执行实际的业务数据计算操作。可以理解的是,检测核和计算核的数量并不唯一,一般情况下,检测核的数量较少,而计算核的数量较多。在一种可能的实现方式中,微核阵列所使用的微核具体可以为RISC-V微核,RISC-V指令集一个最近形成的开源指令集架构,具有模块化、社区化和清晰的分层设计等特点,其核心基础是RV32I,属于最基本的指令集模块,可以根据应用程序需要扩展其他模块指令集,并且,基于RISC-V的芯片具有低功耗的特点,适合嵌入式、边缘设备等领域。
另外,对于内存而言,可以预先对其进行内存块的划分,使得每一个内存块对应于一个或多个计算核。由此,检测核则可以具体用于检测业务数据在相应内存块中的写入信息。需要说明的是,内存的具体类型并不影响本技术方案的实施,由技术人员根据实际需求进行设定即可,本申请对此不做限定,例如,在一种可能的实现方式中,可以采用HBM(HighBandwidth Memory,高带宽存储器)实现。
在实现过程中,硬件加速器在接收到主机侧发送的业务数据之后,即可先确定该业务数据对应的计算核,即微核阵列中用于处理该业务数据的计算核,也即上述目标计算核,该目标计算核可以为微核阵列中的一个或多个计算核,并将业务数据写入该目标计算核对应的内存块中。
可以想到的是,目标计算核的数量由实际的业务需求所决定,当待处理业务规模较大,业务数据较多时,目标计算核的数量可以为多个,当待处理业务规模较小,业务数据较少时,目标计算核的数量可以为一个。因此,可以预先根据业务需求进行目标计算核的分配,例如,针对数据压缩业务而言,可以预先为其分配一个检测核,两个计算核,一个内存块,由此,即可将待压缩的业务数据写入至该内存块,并由检测核检测业务数据在内存块中的写入信息,由两个计算核对业务数据执行计算操作。
S103:通过检测核采集内存块的写入信息,并将写入信息发送至目标计算核;
本步骤旨在实现业务数据在内存块中的写入信息的采集,由微核阵列中的检测核实现。具体而言,在将业务数据写入至内存块的过程中,硬件加速器可以通过检测核对内存块的写入信息进行实时统计,并将统计获得的写入信息发送至相应的目标计算核,如上所述,写入信息主要是指业务数据在内存中的存储信息,因此,将写入信息发送至目标计算核旨在告知业务数据的存储位置,以便于目标计算核根据该写入信息从内存块中读取获得业务数据,并进行业务数据的计算操作。
S104:通过目标计算核根据写入信息从内存块中读取业务数据,并对业务数据进行处理,获得处理结果。
本步骤旨在实现业务数据处理,获得相应的业务处理结果。具体而言,在通过检测核将采集到的写入信息发送至目标计算核之后,即可通过目标计算核根据写入信息从相应的内存块中读取获得业务数据,然后对该业务数据进行处理,如数据压缩处理、数据加密数据等操作,即可得到最终的业务处理结果。更进一步地,在获得业务处理结果之后,还可以将其反馈给主机侧,当然,该过程可以为主机侧的主动获取,也可以为硬件加速器的主动上传,本申请对此不做限定。至此,实现了基于硬件加速器的业务处理。
可见,本申请实施例所提供的业务处理方法,将主机设备与硬件加速器相结合,由硬件加速器实现主机设备中原有的各项业务处理,并且,在硬件加速器中设置微核阵列,从而在业务处理过程中通过微核阵列中的一个或多个计算核并行执行实际的业务数据处理,大大降低了主机设备对CPU的占用,进一步提高了系统整机性能。此外,微核阵列的设置可以实现各个计算核的灵活划分,也即可以根据业务需要配置不同数量的计算核用于进行业务数据处理,可以有效降低芯片功耗。
在本申请的一个实施例中,上述将业务数据写入至目标计算核对应的内存块,可以包括如下步骤:
根据业务数据确定业务类型;
根据业务类型确定目标计算核;
将业务数据写入至目标计算核对应的内存块。
本申请实施例提供了一种将业务数据写入至目标计算核对应的内存块的实现方法。如上所述,可以预先根据业务需求进行目标计算核的分配,因此,在获得主机侧发送的业务数据之后,可以先根据该业务数据确定当前业务类型;进一步,针对不同的业务类型,可以预先配置不同数量的计算核,例如,当微核阵列中包括有4个计算核时,可以预先配置前两个计算核用于执行数据压缩处理,后两个计算核用于执行数据加密处理,那么,在确定业务类型之后,即可根据该业务类型确定处理该业务数据所需的目标计算核,假设在确定业务类型为数据压缩处理时,即可将微核阵列中的前两个计算核作为目标计算核;最后,将业务数据写入至目标计算核对应的内存块即可。
在本申请的一个实施例中,上述通过检测核采集内存块的写入信息,可以包括如下步骤:
通过检测核进行信号监测,并在监测到帧满信号时,采集获得内存块中的写入信息。
本申请实施例提供了一种通过检测核采集内存块写入信息的实现方法。具体而言,在通过检测核对内存块进行监测的过程中,可以在监测到帧满信号时,获取内存块中的写入信息,并将该写入信息发送至目标计算核。其中,帧满信号即为监测到写入内存块的业务数据满一帧的信号,这是因为内存块中的数据是以数据帧为单位进行数据处理的。
在本申请的一个实施例中,上述写入信息可以包括业务数据的存储首地址和存储数据长度,上述通过目标计算核根据写入信息从内存块中读取业务数据,可以包括如下步骤:
确定目标计算核的计算核数量;
根据存储首地址、存储数据长度、计算核数量确定各目标计算核对应的读取首地址和读取数据长度;
通过目标计算核从读取首地址开始进行数据读取,获得读取数据长度对应的业务数据。
本申请实施例提供了一种通过目标计算核从内存块中读取业务数据的实现方法。首先,写入信息中具体可以包括业务数据在内存块中的存储首地址(即写入内存块时的第一个地址信息)和存储数据长度(即业务数据的总长度)。进一步,上述提到,目标计算核的数量并不唯一,可能为一个,也可能为多个,当目标计算核的数量为多个时,则可以进行多个目标计算核的并行运行,以实现业务数据的并行处理,基于此,在进行多个目标计算核的业务数据分配时,可以先统计目标计算核的计算核数量,然后根据写入信息中的存储首地址和存储数据长度以及计算核数量计算获得每一个目标计算核对应的读取首地址和读取数据长度,由此,即可通过各个目标计算核从自身对应的读取首地址开始进行数据读取,得到读取数据长度对应的业务数据。
例如,当存储首地址为a,存储数据长度为n,目标计算核的计算核数量为2时,那么,第一个目标计算核的读取首地址为a,读取数据长度为n/2,第二个目标计算核的读取首地址为a+n/2,读取数据长度为n/2。也就是说,将业务数据平均分配至各个目标计算核中进行计算处理。
在本申请的一个实施例中,上述对业务数据进行处理,获得处理结果,可以包括如下步骤:
确定目标计算核对应的目标PE单元(Processor Elements,处理单元),目标PE单元为PE脉动阵列中的一个或多个PE单元;
通过目标计算核和目标PE单元对业务数据进行处理,获得处理结果。
本申请实施例提供了一种通过目标计算核进行业务数据处理的实现方法。具体而言,还可以进一步在硬件加速器中创建PE脉动阵列,该PE脉动阵列中包括有多个PE单元,每一个PE单元均有其对应的计算核,一个计算核可以对应于一个或多个PE单元,每一个PE单元均可以用于实现业务计算操作过程中的部分数据处理,如数据压缩过程中的点积运算,以便于为相应的计算核分担计算压力。
因此,在通过目标计算核进行业务数据处理的过程中,可以先确定各个目标计算核对应的目标PE单元,同样的,该目标PE单元可以为PE脉动阵列中的一个或多个PE单元;进一步,硬件加速器则可以利用目标计算核和目标PE单元相结合进行业务数据的计算处理,即目标计算核进行一部分计算操作,目标PE单元进行另一部分计算操作,从而获得最终的处理结果。
在本申请的一个实施例中,上述对业务数据进行处理,获得处理结果之后,还可以包括如下步骤:
发送中断信息至主机侧,以使主机侧根据中断信息读取处理结果。
本申请实施例所提供的业务处理方法可以进一步实现业务处理结果的反馈功能,其实现方法为基于主机侧的主动获取。具体而言,在通过计算核对业务数据进行处理获得处理结果之后,即可将该处理结果缓存至相应的内存块或者自身的DDR(Double DataRate,双倍速率)存储器中,然后上传中断信息至主机侧,用于告知主机侧当前业务数据处理完成。当然,中断信息中可以包括有处理结果的存储信息,由此,主机侧即可从该中断信息中解析获得处理结果的存储信息(主要是指处理结果的存储位置),并根据该存储信息从硬件加速器中读取获得业务数据的处理结果,从而实现基于主机侧的主动获取。
在本申请的一个实施例中,上述对业务数据进行处理,获得处理结果之后,还可以包括如下步骤:
通过DMA(Direct Memory Access,直接数据存取)控制器将处理结果反馈至主机侧。
本申请实施例所提供的业务处理方法提供了另一种反馈业务处理结果的实现方式,即基于硬件加速器的主动上传。具体而言,可以在硬件加速器中设置DMA控制器,基于此,在通过计算核对业务数据进行处理获得处理结果之后,可以将该处理结果缓存至相应的内存块或者自身的DDR存储器中,再由DMA控制器读取该业务数据的处理结果并直接上传至主机侧即可。由此,实现基于硬件加速器的主动上传。
在上述各实施例的基础上,本申请实施例提供了另一种业务处理方法。
首先,请参考图2,图2为本申请所提供的一种硬件加速器的结构示意图,该硬件加速器具体为基于FPGA的加速计算处理板,板上有FPGA芯片、FPGA片上HBM内存,FPGA芯片通过Gen5 PCIe x16物理链路与服务器主板连接。
进一步,FPGA内部逻辑处理模块有包括PE脉动阵列、PE阵列管理模块、片上高速互联总线、RISC-V微核阵列、RISC-V微核管理模块、DMA控制器、HBM多通道控制器和PCIe控制器。请参考图3,图3为本申请所提供的一种基于AXI4的内存数据高速总线互联拓扑图,单个RISC-V微核通过AXI4总线连接到系统总线从而访问其他模块(如HBM内存);请参考图4,图4为本申请所提供的一种基于NoC片上总线的流式数据高速总线互联拓扑图,RISC-V微核之间和PE单元之间均通过流式NoC高速片上系统总线互连,单个PE单元通过流式NoC片上互联总线连接下一级PE单元,数据由左上方向向右方向下传输;请参考图5,图5为本申请所提供的一种单个微核与单个PE单元之间的通信拓扑图,单个微核与单个PE单元之间使用双向NoC高速互联总线连接。
下面以在FPGA内部实现压缩算法为例详细说明配置步骤。
1、切分压缩算法执行流程,划分两个RISC-V核并行执行该算法,每个RISC-V核配备一个PE单元加速适合FPGA处理的向量点积部分(当然,此处仅做示例,还可以通过AXIS总线级联多个PE单元处理多重点积运算);
2、本地主机通过PCIe通道AXI-Lite总线配置FPGA内部RISC-V微核阵列和PE脉动阵列,确定由RISC-V核00通过内部AXI4总线负责IO外设的管理和数据传输存储,包括通过总线访问HBM内存;
3、配置RISC-V核10和RISC-V核20分别并行执行切分后的压缩算法,也包括配置对应编号的PE单元,同时配置RISC-V核10和RISC-V核20分别处理DDR中缓存数据的前半段和后半段;
4、外部IO输入的数据首先通过内部AXI4高速总线经过RISC-V核00和HBM多通道控制器被同时写入到通道10和通道20对应HBM内存中(相同偏移首地址);
5、RISC-V核00检测到输入数据满一帧的信号后,告知RISC-V核10和RISC-V核20数据帧在HBM中的存储信息,如首地址a,长度n等;
6、RISC-V核10、RISC-V核20根据待处理数据存储信息分别从HBM通道10的a地址和HBM通道20的(a+1/2帧所占偏移地址n)地址开始,读取各自需要处理的帧数据,开始进行压缩处理;
7、算法中的点积运算交由PE单元硬件加速处理,数据通过AXIS高速总线传递给RISC-V核10配备的PE单元处理;同理,RISC-V核20及其PE单元同时也按该流程并行处理其负责的后半段数据;
8、经过PE单元处理执行完点积运算后,结果数据通过AXIS总线返回给RISC-V核10、RISC-V核20,二者再通过AXI4总线将结果写回到DDR中;
9、DMA控制器通过AXI4总线和PCIe通道将RISC-V核10、RISC-V核20处理完的结果数据搬移到主机内存中;
10、RISC-V核10、RISC-V核20通过AXI Lite总线和PCIe通道向主机发送中断信息,告知主机数据加速处理完成,通知主机读取使用。
显然,本申请实施例所提供的业务处理方法具有如下优势:
(1)系统具有基于RISC-V的处理核,具有灵活的指令集模块,可以根据不同的业务需要设计不同的指令集模块,降低了芯片功耗;
(2)系统具有多个基于RISC-V的处理核,增强了系统并行处理能力,不同核之间采用片上专用高速总线互联,增强了核间数据传输的能力,具有较好的扩展能力;
(3)基于FPGA硬件电路实现了PE阵列,大大增强了系统的数据智能处理能力,可以卸载CPU上的计算密集型算法中的部分任务,特别是流式数据的处理能力,通过灵活配置PE阵列数据处理流,提高了应用算法的执行效率;
(4)PE阵列间、RISC-V微核与片上其他资源间,通过片上专用高速总线互联,降低了处理单元读写数据的延迟,提高了处理单元间通信的灵活性;
(5)RISC-V微核和PE阵列之间通过片上高速总线互联,提高了两种处理单元之间的通信能力,进而提高了系统的性能。
本申请实施例提供了一种业务处理装置。
请参考图6,图6为本申请所提供的一种业务处理装置的结构示意图,该业务处理装置应用于硬件加速器,可以包括:
接收模块1,用于接收主机侧发送的业务数据;
写入模块2,用于将业务数据写入至目标计算核对应的内存块,目标计算核为微核阵列中的一个或多个计算核;
采集模块3,用于通过检测核采集内存块的写入信息,并将写入信息发送至目标计算核;
处理模块4,用于通过目标计算核根据写入信息从内存块中读取业务数据,并对业务数据进行处理,获得处理结果。
可见,本申请实施例所提供的业务处理装置,将主机设备与硬件加速器相结合,由硬件加速器实现主机设备中原有的各项业务处理,并且,在硬件加速器中设置微核阵列,从而在业务处理过程中通过微核阵列中的一个或多个计算核并行执行实际的业务数据处理,大大降低了主机设备对CPU的占用,进一步提高了系统整机性能。此外,微核阵列的设置可以实现各个计算核的灵活划分,也即可以根据业务需要配置不同数量的计算核用于进行业务数据处理,可以有效降低芯片功耗。
在本申请的一个实施例中,上述写入模块2可以包括:
第一确定单元,用于根据业务数据确定业务类型;
第二确定单元,用于根据业务类型确定目标计算核;
写入单元,用于将业务数据写入至目标计算核对应的内存块。
在本申请的一个实施例中,上述采集模块3可具体用于通过检测核进行信号监测,并在监测到帧满信号时,采集获得内存块中的写入信息。
在本申请的一个实施例中,上述写入信息可以包括业务数据的存储首地址和存储数据长度,上述处理模块4可以包括:
第三确定单元,用于确定目标计算核的计算核数量;
第四确定单元,用于根据存储首地址、存储数据长度、计算核数量确定各目标计算核对应的读取首地址和读取数据长度;
读取单元,用于通过目标计算核从读取首地址开始进行数据读取,获得读取数据长度对应的业务数据。
在本申请的一个实施例中,上述处理模块4可以包括:
第五确定单元,用于确定目标计算核对应的目标PE单元,目标PE单元为PE脉动阵列中的一个或多个PE单元;
处理单元,用于通过目标计算核和目标PE单元对业务数据进行处理,获得处理结果。
在本申请的一个实施例中,该业务处理装置还可以包括第一反馈模块,用于在上述对业务数据进行处理,获得处理结果之后,发送中断信息至主机侧,以使主机侧根据中断信息读取处理结果。
在本申请的一个实施例中,该业务处理装置还可以包括第二反馈模块,用于在上述对业务数据进行处理,获得处理结果之后,通过DMA控制器将处理结果反馈至主机侧。
对于本申请实施例提供的装置的介绍请参照上述方法实施例,本申请在此不做赘述。
本申请实施例提供了一种电子设备。
请参考图7,图7为本申请所提供的一种电子设备的结构示意图,该电子设备可包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时可实现如上述任意一种业务处理方法的步骤。
如图7所示,为电子设备的组成结构示意图,电子设备可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
在本申请实施例中,处理器10可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行业务处理方法的实施例中的操作。
存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器11中至少存储有用于实现以下功能的程序:
接收主机侧发送的业务数据;
将业务数据写入至目标计算核对应的内存块,目标计算核为微核阵列中的一个或多个计算核;
通过检测核采集内存块的写入信息,并将写入信息发送至目标计算核;
通过目标计算核根据写入信息从内存块中读取业务数据,并对业务数据进行处理,获得处理结果。
在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
通信接口12可以为通信模块的接口,用于与其他设备或者系统连接。
当然,需要说明的是,图7所示的结构并不构成对本申请实施例中电子设备的限定,在实际应用中电子设备可以包括比图7所示的更多或更少的部件,或者组合某些部件。
本申请实施例提供了一种计算机可读存储介质。
本申请实施例所提供的计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如上述任意一种业务处理方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本申请实施例提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请的保护范围内。

Claims (10)

1.一种业务处理方法,其特征在于,应用于硬件加速器,包括:
接收主机侧发送的业务数据;
将所述业务数据写入至目标计算核对应的内存块,所述目标计算核为微核阵列中的一个或多个计算核;
通过检测核采集所述内存块的写入信息,并将所述写入信息发送至所述目标计算核;
通过所述目标计算核根据所述写入信息从所述内存块中读取所述业务数据,并对所述业务数据进行处理,获得处理结果。
2.根据权利要求1所述的业务处理方法,其特征在于,所述将所述业务数据写入至目标计算核对应的内存块,包括:
根据所述业务数据确定业务类型;
根据所述业务类型确定所述目标计算核;
将所述业务数据写入至所述目标计算核对应的内存块。
3.根据权利要求1所述的业务处理方法,其特征在于,所述通过检测核采集所述内存块的写入信息,包括:
通过所述检测核进行信号监测,并在监测到帧满信号时,采集获得所述内存块中的写入信息。
4.根据权利要求1至3任一项所述的业务处理方法,其特征在于,所述写入信息包括所述业务数据的存储首地址和存储数据长度,所述通过所述目标计算核根据所述写入信息从所述内存块中读取所述业务数据,包括:
确定所述目标计算核的计算核数量;
根据所述存储首地址、所述存储数据长度、所述计算核数量确定各所述目标计算核对应的读取首地址和读取数据长度;
通过所述目标计算核从所述读取首地址开始进行数据读取,获得所述读取数据长度对应的业务数据。
5.根据权利要求1所述的业务处理方法,其特征在于,所述对所述业务数据进行处理,获得处理结果,包括:
确定所述目标计算核对应的目标PE单元,所述目标PE单元为PE脉动阵列中的一个或多个PE单元;
通过所述目标计算核和所述目标PE单元对所述业务数据进行处理,获得所述处理结果。
6.根据权利要求1所述的业务处理方法,其特征在于,所述对所述业务数据进行处理,获得处理结果之后,还包括:
发送中断信息至所述主机侧,以使所述主机侧根据所述中断信息读取所述处理结果。
7.根据权利要求1所述的业务处理方法,其特征在于,所述对所述业务数据进行处理,获得处理结果之后,还包括:
通过DMA控制器将所述处理结果反馈至所述主机侧。
8.一种业务处理装置,其特征在于,应用于硬件加速器,包括:
接收模块,用于接收主机侧发送的业务数据;
写入模块,用于将所述业务数据写入至目标计算核对应的内存块,所述目标计算核为微核阵列中的一个或多个计算核;
采集模块,用于通过检测核采集所述内存块的写入信息,并将所述写入信息发送至所述目标计算核;
处理模块,用于通过所述目标计算核根据所述写入信息从所述内存块中读取所述业务数据,并对所述业务数据进行处理,获得处理结果。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的业务处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的业务处理方法的步骤。
CN202211034432.5A 2022-08-26 2022-08-26 业务处理方法及相关设备 Pending CN115344393A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211034432.5A CN115344393A (zh) 2022-08-26 2022-08-26 业务处理方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211034432.5A CN115344393A (zh) 2022-08-26 2022-08-26 业务处理方法及相关设备

Publications (1)

Publication Number Publication Date
CN115344393A true CN115344393A (zh) 2022-11-15

Family

ID=83953345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211034432.5A Pending CN115344393A (zh) 2022-08-26 2022-08-26 业务处理方法及相关设备

Country Status (1)

Country Link
CN (1) CN115344393A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115686870A (zh) * 2022-12-29 2023-02-03 深圳开鸿数字产业发展有限公司 并行计算方法、终端及计算机可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115686870A (zh) * 2022-12-29 2023-02-03 深圳开鸿数字产业发展有限公司 并行计算方法、终端及计算机可读存储介质

Similar Documents

Publication Publication Date Title
US20220121603A1 (en) Network-on-chip data processing method and device
CN110309088B (zh) Zynq fpga芯片及其数据处理方法、存储介质
US8825922B2 (en) Arrangement for processing trace data information, integrated circuits and a method for processing trace data information
US11003606B2 (en) DMA-scatter and gather operations for non-contiguous memory
CN111858284A (zh) 一种人工智能服务器的资源监控方法和装置
CN106776458B (zh) 基于fpga和hpi的dsp间的通信装置及通信方法
CN109298839A (zh) 基于pis的存储装置控制器、存储装置、系统及方法
CN115344393A (zh) 业务处理方法及相关设备
US10216634B2 (en) Cache directory processing method for multi-core processor system, and directory controller
CN106227506A (zh) 一种内存压缩系统中的多通道并行压缩解压系统及方法
WO2022095439A1 (zh) 一种用于数据处理的硬件加速系统及芯片
CN115079936A (zh) 一种数据写入方法及装置
WO2023207295A1 (zh) 数据处理方法、数据处理单元、系统及相关设备
CN103176941B (zh) 核间通信方法和代理装置
US20100257329A1 (en) Apparatus and method for loading and storing multi-dimensional arrays of data in a parallel processing unit
CN109491949B (zh) 基于Zynq的动态可重构框架及方法
WO2023124304A1 (zh) 芯片的缓存系统、数据处理方法、设备、存储介质及芯片
US11552892B2 (en) Dynamic control of latency tolerance reporting values
CN209044575U (zh) 基于pis的存储装置控制器、存储装置及系统
CN114116554A (zh) 一种基于fpga的雷达数据转发架构及转发方法
CN111382853B (zh) 数据处理装置、方法、芯片及电子设备
CN101539849B (zh) 一种处理器以及一种寄存器选通方法
CN212873459U (zh) 一种用于数据压缩存储的系统
CN116795442B (zh) 一种寄存器配置方法、dma控制器及图形处理系统
CN117271430A (zh) 一种基于fpga和arm的嵌入式高性能异构计算平台

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination