CN113282536B - 基于内存密集型算法的数据处理系统和计算机设备 - Google Patents
基于内存密集型算法的数据处理系统和计算机设备 Download PDFInfo
- Publication number
- CN113282536B CN113282536B CN202110841493.1A CN202110841493A CN113282536B CN 113282536 B CN113282536 B CN 113282536B CN 202110841493 A CN202110841493 A CN 202110841493A CN 113282536 B CN113282536 B CN 113282536B
- Authority
- CN
- China
- Prior art keywords
- switch
- memory
- primary
- system block
- conversion
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Multi Processors (AREA)
Abstract
本发明提供一种基于内存密集型算法的数据处理系统和计算机设备,该系统包括处理器、数据交换模块、转换模块和内存模块;处理器包括多个计算核心;数据交换模块包括多个交换单元;转换模块包括多个转换单元;内存模块包括多个内存单元;每一计算核心与一交换单元、一转换单元以及一内存单元组成一系统块,每一计算核心与同一系统块的交换单元连接,交换单元与同一系统块的转换单元连接,每一计算核心还与其他的各系统块的交换单元连接,各转换单元与同一系统块的内存单元连接。通过交换模块将各计算核心与不同系统块的内存单元连接,使得各计算核心对各内存单元进行数据的读取,避免了由于内存带宽而导致的性能瓶颈。
Description
技术领域
本发明涉及内存密集型算法技术领域,特别涉及一种基于内存密集型算法的数据处理系统和计算机设备。
背景技术
POW(Proof of Work,工作量证明)的本质是基于算力解决一个数学上困难的问题,解决问题关键点是除了暴力枚举,没有任何办法可以找到我们所需要的nonce值,但对于验证输出的结果是非常简单容易的。
对于内存密集型(memory-hard function)算法而言,在运算过程中,算法需要重复从内存随机地提取大量数据进行运算,在这种算法的性能瓶颈为内存带宽,让多核平行处理发挥不出来,使性能只与内存大小有关。
由于Memory-hard算法的本质特性,因此内存读取带宽成为性能瓶颈。因此,如何解决内存的读取带宽成为性能瓶颈,是该算法目前急需解决的。
发明内容
基于此,有必要针对上述技术问题,提供一种基于内存密集型算法的数据处理系统和计算机设备。
一种基于内存密集型算法的数据处理系统,包括:处理器、数据交换模块、转换模块和内存模块;
所述处理器包括多个计算核心,每一所述计算核心具有多个连接接口;所述数据交换模块包括多个交换单元,每一所述交换单元具有多个输入端口和多个输出端口;所述转换模块包括多个转换单元,每一所述转换单元具有多个转换输入端口和多个转换输出端口;所述内存模块包括多个内存单元;
每一所述计算核心与一所述交换单元、一所述转换单元以及一内存单元组成一系统块,每一所述计算核心的各连接接口与同一所述系统块的所述交换单元的各输入端口连接,所述交换单元的输出端口与同一所述系统块的所述转换单元的转换输入端口一一对应连接,每一所述计算核心的连接接口还与其他的各所述系统块的所述交换单元的输入端口连接,各所述转换输出端口分别与同一所述系统块的所述内存单元连接。
在其中一个实施例中,所述交换单元的输入端口的数量小于所述交换单元的输出端口的数量。
在其中一个实施例中,每一所述系统块的所述交换单元包括至少一个一级交换机和至少一个二级交换机,每一所述一级交换机具有多个一级输入端口和多个一级输出端口,每一所述二级交换机具有多个二级输入端口和多个二级输出端口;
每一所述计算核心的各连接接口与同一所述系统块的所述一级交换机的多个一级输入端口一一对应连接,所述一级交换机的部分的一级输出端口与同一所述系统块的所述二级交换机的部分的二级输入端口一一对应连接,所述一级交换机的另一部分的一级输出端口与其他的各所述系统块的所述二级交换机的部分的二级输入端口一一对应连接;
所述二级交换机的二级输出端口与同一所述系统块的所述转换单元的各转换输入端口一一对应连接。
在其中一个实施例中,所述计算核心的数量为n个,所述一级交换机具有m个一级输入端口和n个一级输出端口,其中,n大于m;
每一所述计算核心的各连接接口与同一所述系统块的所述一级交换机的m个一级输入端口一一对应连接,所述一级交换机的n个一级输出端口分别与同一所述系统块的所述二级交换机的多个二级输入端口,以及其他的各所述系统块的所述二级交换机的部分的二级输入端口一一对应连接。
在其中一个实施例中,所述二级交换机具有m个二级输入端口和m个二级输出端口;
所述二级交换机的m个二级输入端口与同一所述系统块的所述一级交换机的部分的一级输出端口,以及其他的各所述系统块的所述一级交换机的部分的一级输出端口一一对应连接;
所述二级交换机的m个二级输出端口与同一所述系统块的所述转换单元的各转换输入端口一一对应连接;
每一所述系统块中的所述交换单元中的所述二级交换机的数量为2n/m个。
在其中一个实施例中,每一所述系统块的所述交换单元还包括至少一个三级交换机;
所述三级交换机具有多个三级输入端口和多个三级输出端口;
所述二级交换机的各二级输出端口与同一所述系统块的所述三级交换机的各三级输入端口一一对应连接;
所述三级交换机的各三级输出端口与同一所述系统块的所述转换单元的转换输入端口一一对应连接。
在其中一个实施例中,每一系统块中的所述三级交换机的三级输入端口的总数量小于其三级输出端口的总数量。
在其中一个实施例中,所述三级交换机具有2n/m个三级输入端口和m个三级输出端口;
所述二级交换机的m个二级输出端口与同一所述系统块的所述三级交换机的2n/m个三级输入端口一一对应连接;
所述三级交换机的m个三级输出端口与同一所述系统块的所述转换单元的各转换输入端口一一对应连接。
在其中一个实施例中,还包括内存控制模块,所述转换模块的各所述转换输出端口分别通过所述内存控制模块与同一所述系统块的所述内存单元连接。
一种计算机设备,所述计算机设备包括上述任一实施例中所述的基于内存密集型算法的数据处理系统。
上述基于内存密集型算法的数据处理系统和计算机设备,通过交换模块将各计算核心与不同系统块的内存单元连接,实现各计算核心与不同系统块的内存单元的通信,使得各计算核心能够对各内存单元进行数据的读取,有效提高了数据读取的效率,避免了由于内存带宽而导致的性能瓶颈。
附图说明
图1为一个实施例中基于内存密集型算法的数据处理系统的架构示意图;
图2为一个实施例中的计算机设备的架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
实施例一
本实施例中,如图1所示,提供了一种基于内存密集型算法的数据处理系统200,其包括:处理器201、数据交换模块、转换模块209和内存模块213;
所述处理器201包括多个计算核心,每一所述计算核心具有多个连接接口;所述数据交换模块包括多个交换单元,每一所述交换单元具有多个输入端口和多个输出端口;所述转换模块209包括多个转换单元,每一所述转换单元具有多个转换输入端口和多个转换输出端口;所述内存模块213包括多个内存单元;
每一所述计算核心与一所述交换单元、一所述转换单元以及一内存单元组成一系统块,每一所述计算核心的各连接接口与同一所述系统块的所述交换单元的各输入端口连接,所述交换单元的输出端口与同一所述系统块的所述转换单元的转换输入端口一一对应连接,每一所述计算核心的连接接口还与其他的各所述系统块的所述交换单元的输入端口连接,各所述转换输出端口分别与同一所述系统块的所述内存单元连接。
具体地,一个实施例中,该处理器201为CPU(central processing unit,中央处理器),在其他的一些实施例中,该处理器也可以是GPU(graphics processing unit,图形处理器)或FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)或ASIC(Application SpecificIntegrated Circuit,专用集成电路)。该处理器201包括多个计算核心,该计算核心也可以称为Core,如图1所示,处理器201的多个计算核心分别为Core0、Core1、Core2、Core3……。本实施例中,系统包括多个系统块,该系统块为block,具体地,根据计算核心的数量将系统划分为多个系统块Block1、Block2、Block3……,每一系统块内包括一计算核心,此外,本实施例中,还根据内存模块213中内存单元的数量划分系统块,使得每一系统块包括一内存单元。
交换单元用于实现计算核心与同一系统块内的内存单元的通信,此外,还用于实现计算核心与不同的系统块的内存单元的通信,进而使得计算核心能够与任意的系统块的内存单元通信。
本实施例中,计算核心与交换模块之间的连接协议为AXI(Advanced eXtensibleInterface,高级可扩展接口)总线协议。即计算核心的连接接口与述交换单元的输入端口之间的连接协议为AXI总线协议。
转换模块209也可以称为转换器,转换器包括多个转换单元,转换单元用于将交换单元的通信协议转换为与内存的通信协议,使得交换单元能够与内存单元通信。该内存单元存储了算法所需的运算数据,计算核心通过交换单元与内存单元通信,从内存单元读取数据。
本实施例中,通过设置交换模块,使得计算核心能够与不同的系统块的内存单元进行通信,相较于直接将计算核心与内存模块213的不同内存单元连接,能够有效减少计算核心所需的连接接口的数量,使得计算核心的连接接口的数量在无需增加的情况下,与内存模块213的所有内存单元通信。
上述实施例中,通过交换模块将各计算核心与不同系统块的内存单元连接,实现各计算核心与不同系统块的内存单元的通信,使得各计算核心能够对各内存单元进行数据的读取,有效提高了数据读取的效率,避免了由于内存带宽而导致的性能瓶颈。
一个实施例中,所述交换单元的输入端口的数量小于所述交换单元的输出端口的数量。
本实施例中,每一系统块的交换单元的输出端口的数量大于输出端口的数量,并且交换单元的输入端口与计算核心的连接接口一一连接,这样,使得计算核心的与内存单元连接的端口得到扩展,,进而使得计算核心能够连接更多的内存单元。
在一个实施例中,如图1所示,每一所述系统块的所述交换单元包括至少一个一级交换机203和至少一个二级交换机205,每一所述一级交换机203具有多个一级输入端口和多个一级输出端口,每一所述二级交换机205具有多个二级输入端口和多个二级输出端口;每一所述计算核心的各连接接口与同一所述系统块的所述一级交换机203的多个一级输入端口一一对应连接,所述一级交换机203的部分的一级输出端口与同一所述系统块的所述二级交换机205的部分的二级输入端口一一对应连接,所述一级交换机203的另一部分的一级输出端口与其他的各所述系统块的所述二级交换机205的部分的二级输入端口一一对应连接;所述二级交换机205的二级输出端口与同一所述系统块的所述转换单元的各转换输入端口一一对应连接。
本实施例中,计算核心的连接接口与一级交换机203的一级输入端口之间的连接协议为AXI协议。该一级交换机203和二级交换机205分别为crossbar(交叉开关矩阵)交换机,一级交换机203和二级交换机205均为基于总线结构的交换机。一级交换机203的一级输出端口的数量大于一级输入端口的数量,并且同一系统块内的计算核心的连接接口的数量与一级交换机203的一级输出端口的总量相等,这样,一级交换机203能够将计算核心的接口数量扩展,进而与其他系统块的二级交换机205进行通信,使得计算核心能够与其他系统块的内存单元进行通信,这样,无需对计算核心的连接接口的数量进行扩展,即可使得计算核心能够与内存模块213的各内存单元进行通信。
本实施例中,一级交换机203一部分的一级输出端口与同一系统块内的二级交换机205的二级输入端口连接,而另一部分的一级输出端口与其他的各系统块内的二级交换机205的二级输入端口连接,从而使得每一个系统块内的计算核心能与其他各系统块的二级交换机205连接,从而与各系统块的内存单元通信。
本实施例中,通过设置一级交换机203和二级交换机205,通过交换机的级联,使得不同的系统块之间的计算核心与内存单元能够实现通信,相较于直接将计算核心与内存模块213的不同内存单元连接,能够有效减少计算核心所需的连接接口的数量,使得计算核心的连接接口的数量在无需增加的情况下,计算核心能够与内存模块213的所有内存单元通信。
在一个实施例中,所述计算核心的数量为n个,每一所述计算核心具有2m个计算单元。
本实施例中,将系统划分为n个系统块,每一系统块包括一个计算核心,每一计算核心具有2m个计算单元,每一个计算单元用于运行内存密集型算法,比如,每一计算单元用于运行工作量证明算法。这样,即可将系统划分为n个系统块,并且
在一个实施例中,所述一级交换机203具有m个一级输入端口和n个一级输出端口,其中,n大于m;每一所述计算核心的各连接接口与同一所述系统块的所述一级交换机203的m个一级输入端口一一对应连接,所述一级交换机203的n个一级输出端口分别与同一所述系统块的所述二级交换机205的多个二级输入端口,以及其他的各所述系统块的所述二级交换机205的部分的二级输入端口一一对应连接。
本实施例中,每一所述系统块的所述交换单元包括两个一级交换机203和三个二级交换机205。同一所述系统块的两个一级交换机203的一级输入端口的总数量为2m个,一级输出端口的总数量为2n个,计算核心的2m个计算单元分别与2m个一级输入端口一一对应连接,并且通过2n个一级输出端口与同一系统块以及其他系统块的二级交换机205连接,从而使得计算核心能够与不同的系统块的内存单元通信。
在一个实施例中,所述二级交换机205具有m个二级输入端口和m个二级输出端口;所述二级交换机205的m个二级输入端口与同一所述系统块的所述一级交换机203的部分的一级输出端口,以及其他的各所述系统块的所述一级交换机203的部分的一级输出端口一一对应连接;所述二级交换机205的m个二级输出端口与同一所述系统块的所述转换单元的各转换输入端口一一对应连接。
一个实施例中,每一所述系统块中的所述交换单元中的所述二级交换机205的数量为2n/m个。
本实施例中,同一所述系统块的2n/m个二级交换机205的二级输入端口的总数量为2n个,二级输出端口的总数量为2n个,因此,一级交换机203的其中n个一级输出端口与同一所述系统块的二级交换机205的其中n个二级输入端口一一对应连接,一级交换机203的另外n个一级输出端口与其他系统块的n个二级交换机205的二级输入端口一一对应连接,从而实现了一级交换机203和二级交换机205的级联,并且使得不同系统块的一级交换机203与二级交换机205之间的连接。
在一个实施例中,如图1所示,每一所述系统块的所述交换单元还包括至少一个三级交换机207;所述三级交换机207具有多个三级输入端口和多个三级输出端口;所述二级交换机205的各二级输出端口与同一所述系统块的所述三级交换机207的各三级输入端口一一对应连接;所述三级交换机207的各三级输出端口与同一所述系统块的所述转换单元的转换输入端口一一对应连接。
本实施例中,三级交换机207为crossbar交换机,且每一系统块中的三级交换机207的三级输入端口的总数量小于其三级输出端口的总数量,也就是说,三级交换机207的三级输出端口的总数量大于三级输入端口的总数量,使得计算核心与内存单元连接的端口得到进一步扩展,进而使得计算核心能够连接更多的内存单元,使得计算核心能够连接内存单元中更多的地址。
在一个实施例中,所述三级交换机207具有2n/m个三级输入端口和m个三级输出端口;所述二级交换机205的m个二级输出端口与同一所述系统块的所述三级交换机207的2n/m个三级输入端口一一对应连接;所述三级交换机207的m个三级输出端口与同一所述系统块的所述转换单元的各转换输入端口一一对应连接。
本实施例中,每一所述三级交换机207具有2n/m个三级输入端口和m个三级输出端口,且每一所述系统块中的所述交换单元中的所述三级交换机207的数量为m个,这样,使得每一所述系统块中的三级交换机207的三级输入端口的总数量为2n个,能够与2n个二级输出端口一一对应连接。本实施例中,2n小于m,使得三级输出端口的总数量大于三级输入端口的总数量,使得三级交换机207能够对二级交换机205的二级输出端口的数量进行扩展,进而使得计算核心能够连接更多的内存单元。
上述实施例中,由于一级交换机203的一级输出端口的数量大于一级输入端口的数量,且每一系统块中的三级交换机207的三级输入端口的总数量小于其三级输出端口的总数量,通过一级交换机203、二级交换机205以及三级交换机207的级联,能够有效对端口进行扩展,使得计算核心能够与更多的内存单元连接,能够与内存单元中的更多的地址连接,而无需增加计算核心的端口,有效降低了成本,并且提高了通信效率。此外,通过设置二级交换机205,使得计算单元能够通过一级交换机203与不同的系统块的内存单元进行通信,使得各计算核心能够对各内存单元进行数据的读取,有效提高了数据读取的效率,避免了由于内存带宽而导致的性能瓶颈。
一个实施例中,请再次参见图1,基于内存密集型算法的数据处理系统200还包括内存控制模块211,所述转换模块209的各所述转换输出端口分别通过所述内存控制模块211与同一所述系统块的所述内存单元连接。
本实施例中,该内存控制模块211为controller 和phy接口,该内存控制模块211用于控制对应的内存单元和负责内存单元的数据传输。该内存控制模块211包括多个内存控制单元,每一系统块包括一内存控制单元,转换单元的各所述转换输出端口通过内存控制单元与同一所述系统块的所述内存单元连接。
实施例二
本实施例中,如图1所示,图中201为处理器,203为一级交换机,205为二级交换机,207为三级交换机,209为转换器,211为内存控制模块,213为内存模块。
其中,处理器包括n个计算核心,每一计算核心内的计算单元为2m个,本实施例中,计算核心包括Core0、Core1、Core2、Core3、Core4、Core5,计算核心的数量为6,每一计算核心内的计算单元的数量为8,因此,n=6,m=4。本实施例中,将系统根据计算核心的数量,将系统划分为6个系统块,即6个Block,包括Block1、Block2、Block3、Block4、Block5和Block6。
每一计算核心的2m个计算单元分别通过一连接接口与一级交换机的一输入端口连接。
一级交换机为m*n crossbar交换机,即一级交换机具有m个输入端口,n个输出端口,使得任意一个系统块中的计算核心可以连接自身所在系统块和其他任意系统块中的某一个二级交换机。本实施例中,每一系统块Block包括2个一级交换机,这样,每一系统块中的一级交换机的输入端口的总数量为8个,与计算核心的8个计算单元一一对应连接。而一级交换机的输出端口的总数量为12个,使得计算核心对外连接的端口数量得到了拓展。
二级交换机为m*m crossbar交换机,即二级交换机具有m个输入端口,m个输出端口。本实施例中,每一系统块Block包括2n/m个二级交换机,每一系统块中的二级交换机的输入端口的总数量为2n个,输出端口的总数量为2n个,本实施例中,每一系统块Block包括3个二级交换机,这样,即每一系统块中的二级交换机的输入端口的总数量为12个,输出端口的总数量为12个,使得二级交换机的输入端口的数量即可满足与自身所在的系统块的一级交换机的连接,也可以满足其他系统块的一级交换机的连接。
三级交换机为(2n/m)*m crossbar交换机,即三级交换机具有2n/m个输入端口,m个输出端口;每一系统块Block包括m个三级交换机。本实施例中,每一系统块中三级交换机的输入端口的总数量为12,输出端口的总数量为16,使得计算核心对外连接的端口数量得到了进一步拓展,使得计算核心能够连接更多的内存单元,连接更多的内存单元的地址。
每一系统块中的转换单元具有m*m个通道,因此,每一个通道与三级交换机的一个输出端口连接,内存控制模块为DDR(Double Data Rate,双倍速率) controller(控制器)+phy(Physical,物理层)接口,内存控制模块复用转换单元的一路通道,内存控制模块用于控制相应的RAM(Random Access Memory,随机存取存储器)和数据传输。内存模块为RAM存储,用于存储算法中所需提取的数据。
本实施例中,通过一级交换机、二级交换机以及三级交换机的级联,能够有效对端口进行扩展,使得计算核心能够与更多的内存单元连接,能够与内存单元中的更多的地址连接,而无需增加计算核心的端口,有效降低了成本,并且提高了通信效率。此外,通过设置二级交换机,使得计算单元能够通过一级交换机与不同的系统块的内存单元进行通信,使得各计算核心能够对各内存单元进行数据的读取,有效提高了数据读取的效率,避免了由于内存带宽而导致的性能瓶颈。
实施例三
本实施例中,提供一种计算机设备,所述计算机设备包括上述任一实施例中所述的基于内存密集型算法的数据处理系统。
本实施例中,计算机设备用于计算工作量证明算法,该工作量证明算法为内存密集型算法。该计算机设备通过设置交换模块,使得计算核心能够与不同的系统块的内存单元进行通信,相较于直接将计算核心与内存模块的不同内存单元连接,能够有效减少计算核心所需的连接接口的数量,使得计算核心的连接接口的数量在无需增加的情况下,与内存模块的所有内存单元通信。
本实施例中,提供了计算机设备。其内部结构图可以如图2所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序,且该非易失性存储介质部署有数据库,该数据库用于存储内存密集型算法。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的内存储器即为上述实施例的内存模块,该计算机设备处理器和内存模块的连接架构,可采用上述任一实施例中的基于内存密集型算法的数据处理系统的架构实现。
该计算机设备的网络接口用于与部署了应用软件的其他计算机设备通信。该计算机程序被处理器执行时以实现一种基于内存密集型算法的数据处理系统。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于内存密集型算法的数据处理系统,其特征在于,包括:处理器、数据交换模块、转换模块和内存模块;
所述处理器包括多个计算核心,每一所述计算核心具有多个连接接口;所述数据交换模块包括多个交换单元,每一所述交换单元具有多个输入端口和多个输出端口;所述转换模块包括多个转换单元,每一所述转换单元具有多个转换输入端口和多个转换输出端口;所述内存模块包括多个内存单元;
每一所述计算核心与一所述交换单元、一所述转换单元以及一内存单元组成一系统块,每一所述计算核心的各连接接口与同一所述系统块的所述交换单元的各输入端口连接,所述交换单元的输出端口与同一所述系统块的所述转换单元的转换输入端口一一对应连接,每一所述计算核心的连接接口还与其他的各所述系统块的所述交换单元的输入端口连接,各所述转换输出端口分别与同一所述系统块的所述内存单元连接;
所述交换单元用于实现计算核心与同一系统块内的内存单元的通信,还用于实现计算核心与不同的系统块的内存单元的通信;
所述转换模块为转换器,所述转换单元用于将所述交换单元的通信协议转换为与内存通信的协议,使得所述交换单元能够与所述内存单元通信。
2.根据权利要求1所述的基于内存密集型算法的数据处理系统,其特征在于,所述交换单元的输入端口的数量小于所述交换单元的输出端口的数量。
3.根据权利要求1所述的基于内存密集型算法的数据处理系统,其特征在于,每一所述系统块的所述交换单元包括至少一个一级交换机和至少一个二级交换机,每一所述一级交换机具有多个一级输入端口和多个一级输出端口,每一所述二级交换机具有多个二级输入端口和多个二级输出端口;
每一所述计算核心的各连接接口与同一所述系统块的所述一级交换机的多个一级输入端口一一对应连接,所述一级交换机的部分的一级输出端口与同一所述系统块的所述二级交换机的部分的二级输入端口一一对应连接,所述一级交换机的另一部分的一级输出端口与其他的各所述系统块的所述二级交换机的部分的二级输入端口一一对应连接;
所述二级交换机的二级输出端口与同一所述系统块的所述转换单元的各转换输入端口一一对应连接。
4.根据权利要求3所述的基于内存密集型算法的数据处理系统,其特征在于,所述计算核心的数量为n个,所述一级交换机具有m个一级输入端口和n个一级输出端口,其中,n大于m;
每一所述计算核心的各连接接口与同一所述系统块的所述一级交换机的m个一级输入端口一一对应连接,所述一级交换机的n个一级输出端口分别与同一所述系统块的所述二级交换机的多个二级输入端口,以及其他的各所述系统块的所述二级交换机的部分的二级输入端口一一对应连接。
5.根据权利要求4所述的基于内存密集型算法的数据处理系统,其特征在于,所述二级交换机具有m个二级输入端口和m个二级输出端口;
所述二级交换机的m个二级输入端口与同一所述系统块的所述一级交换机的部分的一级输出端口,以及其他的各所述系统块的所述一级交换机的部分的一级输出端口一一对应连接;
所述二级交换机的m个二级输出端口与同一所述系统块的所述转换单元的各转换输入端口一一对应连接;
每一所述系统块中的所述交换单元中的所述二级交换机的数量为2n/m个。
6.根据权利要求5所述的基于内存密集型算法的数据处理系统,其特征在于,每一所述系统块的所述交换单元还包括至少一个三级交换机;
所述三级交换机具有多个三级输入端口和多个三级输出端口;
所述二级交换机的各二级输出端口与同一所述系统块的所述三级交换机的各三级输入端口一一对应连接;
所述三级交换机的各三级输出端口与同一所述系统块的所述转换单元的转换输入端口一一对应连接。
7.根据权利要求6所述的基于内存密集型算法的数据处理系统,其特征在于,每一系统块中的所述三级交换机的三级输入端口的总数量小于其三级输出端口的总数量。
8.根据权利要求6所述的基于内存密集型算法的数据处理系统,其特征在于,所述三级交换机具有2n/m个三级输入端口和m个三级输出端口;
所述二级交换机的m个二级输出端口与同一所述系统块的所述三级交换机的2n/m个三级输入端口一一对应连接;
所述三级交换机的m个三级输出端口与同一所述系统块的所述转换单元的各转换输入端口一一对应连接。
9.根据权利要求1-8任一项中所述的基于内存密集型算法的数据处理系统,其特征在于,还包括内存控制模块,所述转换模块的各所述转换输出端口分别通过所述内存控制模块与同一所述系统块的所述内存单元连接。
10.一种计算机设备,其特征在于,所述计算机设备包括权利要求1至9任一项中所述的基于内存密集型算法的数据处理系统。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110841493.1A CN113282536B (zh) | 2021-07-26 | 2021-07-26 | 基于内存密集型算法的数据处理系统和计算机设备 |
PCT/CN2022/089276 WO2023005299A1 (zh) | 2021-07-26 | 2022-04-26 | 基于内存密集型算法的数据处理系统和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110841493.1A CN113282536B (zh) | 2021-07-26 | 2021-07-26 | 基于内存密集型算法的数据处理系统和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113282536A CN113282536A (zh) | 2021-08-20 |
CN113282536B true CN113282536B (zh) | 2021-11-30 |
Family
ID=77287255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110841493.1A Active CN113282536B (zh) | 2021-07-26 | 2021-07-26 | 基于内存密集型算法的数据处理系统和计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113282536B (zh) |
WO (1) | WO2023005299A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282536B (zh) * | 2021-07-26 | 2021-11-30 | 浙江毫微米科技有限公司 | 基于内存密集型算法的数据处理系统和计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546302A (zh) * | 2009-05-07 | 2009-09-30 | 复旦大学 | 一种多核处理器的互连结构及基于该结构的层次化互连设计方法 |
TW201342209A (zh) * | 2011-12-29 | 2013-10-16 | Intel Corp | 在多核心處理器中的非對稱核心之間遷移執行緒 |
CN107122162A (zh) * | 2016-02-25 | 2017-09-01 | 深圳市知穹科技有限公司 | 基于cpu和gpu的异构千核高通量处理系统及其修改方法 |
CN108597551A (zh) * | 2018-04-26 | 2018-09-28 | 上海交通大学 | 读密集型大数据处理的内存刷新方法和系统 |
CN109445565A (zh) * | 2018-11-08 | 2019-03-08 | 北京航空航天大学 | 一种基于流多处理器内核独占和预留的gpu服务质量保障方法 |
CN112463719A (zh) * | 2020-12-04 | 2021-03-09 | 上海交通大学 | 一种基于粗粒度可重构阵列实现的存内计算方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620587B (zh) * | 2008-07-03 | 2011-01-19 | 中国人民解放军信息工程大学 | 柔性可重构任务处理单元结构 |
US20170220499A1 (en) * | 2016-01-04 | 2017-08-03 | Gray Research LLC | Massively parallel computer, accelerated computing clusters, and two-dimensional router and interconnection network for field programmable gate arrays, and applications |
US10866753B2 (en) * | 2018-04-03 | 2020-12-15 | Xilinx, Inc. | Data processing engine arrangement in a device |
CN111045974A (zh) * | 2019-11-19 | 2020-04-21 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于交换结构的多处理器数据交互方法 |
CN113282536B (zh) * | 2021-07-26 | 2021-11-30 | 浙江毫微米科技有限公司 | 基于内存密集型算法的数据处理系统和计算机设备 |
-
2021
- 2021-07-26 CN CN202110841493.1A patent/CN113282536B/zh active Active
-
2022
- 2022-04-26 WO PCT/CN2022/089276 patent/WO2023005299A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546302A (zh) * | 2009-05-07 | 2009-09-30 | 复旦大学 | 一种多核处理器的互连结构及基于该结构的层次化互连设计方法 |
TW201342209A (zh) * | 2011-12-29 | 2013-10-16 | Intel Corp | 在多核心處理器中的非對稱核心之間遷移執行緒 |
CN107122162A (zh) * | 2016-02-25 | 2017-09-01 | 深圳市知穹科技有限公司 | 基于cpu和gpu的异构千核高通量处理系统及其修改方法 |
CN108597551A (zh) * | 2018-04-26 | 2018-09-28 | 上海交通大学 | 读密集型大数据处理的内存刷新方法和系统 |
CN109445565A (zh) * | 2018-11-08 | 2019-03-08 | 北京航空航天大学 | 一种基于流多处理器内核独占和预留的gpu服务质量保障方法 |
CN112463719A (zh) * | 2020-12-04 | 2021-03-09 | 上海交通大学 | 一种基于粗粒度可重构阵列实现的存内计算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113282536A (zh) | 2021-08-20 |
WO2023005299A1 (zh) | 2023-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Buluc et al. | Challenges and advances in parallel sparse matrix-matrix multiplication | |
CN113282536B (zh) | 基于内存密集型算法的数据处理系统和计算机设备 | |
Saini et al. | Performance evaluation of the intel sandy bridge based nasa pleiades using scientific and engineering applications | |
Jahanshahi et al. | A new approach to improve reliability of the multistage interconnection networks | |
EP3561739A1 (en) | Data accelerated processing system | |
Jiang et al. | An asymmetric interdependent networks model for cyber-physical systems | |
WO2021036729A1 (zh) | 一种矩阵运算方法、运算装置以及处理器 | |
Lara-Nino et al. | Small lightweight hash functions in FPGA | |
US20180011713A1 (en) | Bios control method for pci-e lane | |
CN110413561B (zh) | 数据加速处理系统 | |
Saini et al. | Scientific application-based performance comparison of SGI Altix 4700, IBM POWER5+, and SGI ICE 8200 supercomputers | |
CN116225177B (zh) | 内存系统、内存资源调节方法、装置、电子设备和介质 | |
Rumley et al. | Impact of photonic switch radix on realizing optical interconnection networks for exascale systems | |
CN117573441A (zh) | 支持硬件故障随机覆盖的锁步存内计算结构 | |
US20190005378A1 (en) | Electronic circuit, particularly for the implementation of neural networks with multiple levels of precision | |
CN117155532A (zh) | 一种基于组合混沌加密算法的集成电路系统、方法及介质 | |
CN116932421A (zh) | 一种数据存储方法、装置、设备及存储介质 | |
US6367063B1 (en) | Method and apparatus for selectively performing a plurality of logic operations and memory functions | |
CN113704166B (zh) | 一种fpga运算设备和运算算力提升系统 | |
CN113946882B (zh) | 基于施密特触发器的超低功耗弱物理不可克隆函数电路 | |
Mendes | Conditional exponents, entropies and a measure of dynamical self-organization | |
CN115391269A (zh) | 工作量证明计算芯片、数据处理方法及电子设备 | |
CN207833382U (zh) | 一种用于x86验证平台的时钟系统 | |
WO2021086469A1 (en) | Programmable device configuration memory system | |
CN112783809A (zh) | 一种硬盘连接装置、方法、计算机设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |