实用新型内容
本实用新型实施例所要解决的其中一个技术问题是,提供一种数据处理装置和系统、服务器,以提供较强的数据处理能力,包括计算能力。
为解决上述技术问题,根据本实用新型实施例的一个方面,提供一种数据处理装置,包括主控芯片和与所述主控芯片连接的节点矩阵,所述节点矩阵包括一个以上节点芯片;其中:
所述主控芯片设置有外部接口,将通过外部接口接收到的数据处理任务分发给节点矩阵,并接收节点矩阵返回的数据处理结果;
所述节点矩阵接收主控芯片发送的数据处理任务,通过一个以上节点芯片对所述数据处理任务进行计算处理,并向主控芯片返回计算处理得到的数据处理结果。
在另一个实施例的数据处理装置中,所述节点矩阵包括N列节点芯片组,每列节点芯片组分别包括一个以上节点芯片;
其中,第一列节点芯片组中的每个节点芯片分别与所述主控芯片连接,第n列节点芯片组中的每个节点芯片,分别与第n-1列节点芯片组中的对应节点芯片连接,n∈【2,N】,N的取值为不小于1的整数。
在另一个实施例的数据处理装置中,每列节点芯片组中的节点芯片依次连接。
在另一个实施例的数据处理装置中,每列节点芯片组中分别位于首、尾节点芯片连接。
在另一个实施例的数据处理装置中,具有连接关系的主控芯片与节点芯片之间、节点芯片之间具体采用SERDES通信通道进行连接。
在另一个实施例的数据处理装置中,所述主控芯片与节点芯片上分别设置有串行器/解串器SERDES接口;具有连接关系的主控芯片与节点芯片之间、节点芯片之间具体通过SERDES接口,采用SERDES通信通道进行连接;
或者
所述主控芯片与节点芯片上分别设置有总线和接口标准PCIE接口;具有连接关系的主控芯片与节点芯片之间、节点芯片之间具体通过PCIE接口,采用PCIE通信通道进行连接。
在另一个实施例的数据处理装置中,所述外部接口包括总线和接口标准PCIE接口。
为解决上述技术问题,根据本实用新型实施例的另一个方面,提供一种数据处理系统,包括多个如本实用新型上述任一实施例所述的数据处理装置;相邻数据处理装置中的主控芯片之间连接。
在另一个实施例的数据处理系统中,相邻数据处理装置中的主控芯片之间具体通过主控芯片上的串行器/解串器SERDES接口,采用SERDES通信通道进行连接;或者
相邻数据处理装置中的主控芯片之间具体通过主控芯片上的PCIE接口,采用PCIE通信通道进行连接。
为解决上述技术问题,根据本实用新型实施例的又一个方面,提供一种服务器,包括主板,所述主板上具有一个以上卡槽,还包括:
一个以上如上述任一实施例所述的数据处理装置,所述数据处理装置中的主控芯片以插接方式插入主板上的卡槽中时,主控芯片通过外部接口与主板进行数据交互;或者
如本实用新型上述任一实施例所述的数据处理系统,所述数据系统中的多个主控芯片分别以插接方式插入主板上的不同卡槽中时,主控芯片分别通过外部接口与主板进行数据交互。
在另一个实施例的服务器中,还包括分别与每个主控芯片连接的存储单元。
基于本实用新型上述实施例提供的数据处理装置和系统、服务器,每个数据处理装置包括一个主控芯片和一个与主控芯片连接的节点矩阵,每个节点矩阵包括一个以上节点芯片;其中,主控芯片可以通过外部接口与外部设备连接,将数据处理任务分发给节点矩阵,以及向节点矩阵发送控制消息,由节点矩阵通过一个以上节点芯片对数据处理任务进行相应的处理,例如计算,并向主控芯片返回数据处理结果。由于每个数据处理装置中,只需要主控芯片与外部设备连接,用于对数据处理任务进行具体处理的节点芯片的数量可以根据数据处理任务的处理性能需求无限扩展,但是节点芯片只需与主控芯片进行连接即可,无需与外部设备连接、因此无需占用外部设备的通信接口,例如卡槽,因此本实用新型实施例中数据处理装置和系统、服务器的数据处理能力,例如计算能力,易于扩展,从而根据任务需要提供足够的数据处理能力,且避免了扩展数据处理能力需增加外部设备的通信接口所产生的成本。
本实用新型实施例的数据处理能力(例如计算能力)易于扩展,可适用于对DNN或其他任意网络中数据处理任务的处理。
上述说明仅是本实用新型技术方案的概述,为了能够更清楚了解本实用新型的技术手段,而可依照说明书的内容予以实施,并且为了让本实用新型实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本实用新型的具体实施方式对本实用新型的技术方案做进一步的详细描述。
具体实施方式
现在将参照附图来详细描述本实用新型的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件的相对布置、数字表达式和数值不限制本实用新型的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本实用新型及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术和设备可能不作详细讨论,但在适当情况下,所述技术和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1为本实用新型数据处理装置一个实施例的结构示意图。如图1所示,该实施例的数据处理装置包括主控芯片(Master Chip)1和与主控芯片1连接的节点矩阵(NodeMatrix)2,节点矩阵包括一个以上节点芯片(Node Chip)。其中:
主控芯片1,设置有外部接口,主控芯片1可以通过该外部接口接入外部设备,例如服务器中的主板上;主控芯片1用于将通过外部接口接收到的数据处理任务(例如,计算任务)分发给节点矩阵2,并接收节点矩阵2返回的数据处理结果。
示例性地,该外部接口可以是一个PCIE(总线和接口标准)接口,以接入外部设备的PCIE插槽中。另外,外部接口也可以是其他接口,只要与接入的外部设备的接口类型匹配即可。另外,主控芯片1具体可以基于FPGA(现场可编程门阵列)方式实现,这样可以根据用户需求灵活定制。
节点矩阵2,用于接收主控芯片1发送的数据处理任务,通过一个以上节点芯片对数据处理任务进行计算处理,并在计算获得数据处理结果后向主控芯片1返回获得的数据处理结果。实际应用中,节点芯片可以通过多种硬件方式实现,例如具体可以通过一个计算单元(例如,计算器)实现。
这里,将数据处理功能划分为主控芯片1和节点矩阵2两个独立的单元来执行,主控芯片1负责与外部设备(例如服务器中主板)的通信以及数据处理任务的分发,而节点矩阵2专注于对数据处理任务的具体处理。
基于本实用新型上述实施例提供的数据处理装置,每个数据处理装置包括一个主控芯片和一个与主控芯片连接的节点矩阵,每个节点矩阵包括一个以上节点芯片;其中,主控芯片可以通过外部接口与外部设备连接,将数据处理任务分发给节点矩阵,以及向节点矩阵发送控制消息,由节点矩阵通过一个以上节点芯片对数据处理任务进行相应的处理,例如计算,并向主控芯片返回数据处理结果。由于每个数据处理装置中,只需要主控芯片与外部设备连接,用于对数据处理任务进行具体处理的节点芯片的数量可以根据数据处理任务的处理性能需求无限扩展,但是节点芯片只需与主控芯片进行连接即可,无需与外部设备连接、因此无需占用外部设备的通信接口,例如卡槽,因此本实用新型实施例中数据处理装置和系统、服务器的数据处理能力,例如计算能力,可以根据需求任意扩展,从而根据任务需要提供足够的数据处理能力,不会受到主板卡槽数量的限制,且避免了扩展数据处理能力需增加外部设备的通信接口所产生的成本。
本实用新型实施例的数据处理能力(例如计算能力)易于扩展,可适用于对DNN或其他任意网络中数据处理任务的处理。
例如针对DNN,由于DNN是一层一层的,比如说有十层,下一层数据处理任务需要等到当前一层数据处理任务计算处理完之后才能开始处理,层间数据处理任务存在依赖关系,但同一层的数据处理任务可以并行处理,因此,本实用新型实施例中,同一列节点芯片组21中的节点芯片可以同时去计算处理DNN同一层的数据处理任务,例如这一层的数据处理任务包括十亿次运算操作,同一列节点芯片组21中包括四个节点芯片,可以将这一层的十亿次操作分为四部分让该列节点芯片组21中的四个节点分别去运算(即:计算),只需占用服务器中的一个卡槽便可提供相对于现有的单个GPU成倍增强的数据处理能力。
图2为现有DNN计算平台采用的单机多GPU的一个数据并行框架示意图。在现有的DNN计算平台中,一张GPU上只搭载一颗GPU芯片,GPU再插入到服务器主板的PCIE卡槽中。在图2所示的数据并行框架中,可能存在以下两种数据通信情况:
情况1:在同一台服务器上的不同GPU卡之间通信,例如,从一个服务器上的GPU A向GPU B发送数据包。GPU之间通过PCIE连接,因此GPU之间的数据包需要通过该服务器主板上的PCIE交换芯片来完成传输,该情况1中,数据包的传输顺序是:
GPU A→PCIE Hub(集线器)→GPU B。
情况2:在不同服务器上的GPU之间通信,例如,从一个服务器上的GPU A向另一服务器上的GPU C发送数据包。由于两个GPU之间的数据包需要通过交换网络才能到达目的地,该情况2中,数据包的传输顺序是:
一个服务器上GPU A→PCIE Hub→网卡→网络交换机→另一服务器上网卡→PCIEHub→GPU C。
由此,若需要同一个服务器上的多个GPU协作处理同一个DNN的数据处理任务,由于不同GPU之间的通信需要通过主板进行,GPU之间的数据传输时延较大;如果同一个服务器上的所有GPU仍不足以支持同一个DNN的数据处理任务,则还需要多个服务器上的GPU之间进行通信,则除了需要通过多个服务器上的主板转发外,还需要经过网卡、网络和网络交换机进行,不同服务器上GPU之间的数据传输时延更大。因此现有采用单机多GPU的DNN计算平台对DNN的数据处理任务的处理效率低下。
而本实用新型实施例的数据处理装置中,节点矩阵易于扩展,可以包括多个节点芯片,从而单个数据处理装置即具有强大的数据处理能力,由于数据处理装置中主控芯片与节点芯片、以及节点芯片之间直接通信,无需通过服务器的主板、以及网络进行数据转发,因此相对于现有技术具有较小的传输时延。
在图1所示实施例的数据处理装置中,节点矩阵2具体可以包括N列节点芯片组,每列节点芯片组分别包括一个以上节点芯片。其中,第一列节点芯片组中的每个节点芯片分别与主控芯片1连接,第n列节点芯片组中的每个节点芯片,分别与第n-1列节点芯片组中的对应节点芯片连接,n∈【2,N】,N的取值为不小于1的整数。
图3为本实用新型数据处理装置另一实施例的示意图。图3示出了节点矩阵2包括1列节点芯片组21、4个节点芯片的一个具体示例。该节点芯片组21中的每个节点芯片均与主控芯片1连接,负责处理相应的数据处理任务。作为示例,在图3仅示出了节点矩阵2包括四个节点芯片的一个示例,本领域技术人员基于本实用新型实施例的记载,可以了解,该列节点芯片组21中可根据需要设置所需数量的节点芯片。
图4为本实用新型数据处理装置又一实施例的示意图。如图4所示,为了满足数据处理任务的需要,在该1列节点芯片组21中,各节点芯片依次连接。由于同一列节点芯片组中的各节点芯片可通过垂直方向的互联链路直接进行通信,而无需通过主控节点转发,传输时延较低,提高了数据处理任务的处理效率。
此外,还可根据数据处理任务的特定要求,例如根据DNN的计算要求,同一列节点芯片组21中,分别位于首、尾节点芯片(即:一列节点芯片组两端的节点芯片)连接,使得同一列节点芯片组21构成一个回环结构,从而实现了同一列节点芯片组21中节点芯片之间的直接数据传输。
在图3、图4所示的实施例中,仅示例性示出了节点矩阵2包括1列节点芯片组21的示例,另外,为了进一步提高大规模或超大规模的网络数据处理效率,可以设置多列节点芯片组21,也就是说,节点矩阵2可根据需要在水平方向上进行扩展。如图5所示,为本实用新型数据处理装置再一实施例的示意图,该实施例示例性地示出了节点矩阵包括3列节点芯片组21的一个具体示例,本领域技术人员基于本实用新型实施例的记载,可以了解,节点矩阵2包括任意多列节点芯片组21的实现及各种实施例中的连接关系。
同样,在节点矩阵2包括多列节点芯片组21的实施例中,同一列列节点芯片组21中的各节点芯片依次连接,分别位于首、尾节点芯片也可以进一步连接,使得同一列节点芯片组21构成一个回环结构。
节点矩阵2包括1列节点芯片组21,也称为一维扩展;节点矩阵2包括多列节点芯片组21,也称二维扩展。同一列节点芯片组21中的节点芯片分工、并行去计算处理DNN同一层的数据处理任务,例如将DNN一个层的一亿词运算量的数据处理任务分成四份,分配给第一列节点芯片组21中的四个节点芯片进行运算,一个DNN可能是有很多层的,层间是有依赖关系的,二维扩展便可以实现DNN不同层数据处理任务的计算处理,就是说第一列节点芯片组21中的四个节点芯片并行地运算第一层的数据处理任务,并将数据处理结果传输给第二列节点芯片组21,第二列节点芯片组2中的四个节点芯片并行地运算第二层的数据处理任务,以此类推,从而实现了数据处理任务的层间流水。
基于本实用新型上述实施例提供的数据处理装置,每一列节点芯片组21中包括多个节点芯片,可以在接收到数据处理任务后同时并行地处理该数据处理任务,由于每一列节点芯片组21构成一个回环结构,每一列节点芯片组21的节点芯片形成一条环形链路,因此它们之间可以相互通信,并且通信的时间可以跟它们处理数据处理任务的时间重叠,例如针对DNN,由于DNN是一层一层的,比如说有十层,它的同一层的数据处理任务可以并行处理,本实用新型实施例同一列节点芯片组21构成的一个回环结构,同一列节点芯片组21中的节点芯片可以同时去处理DNN同一层的数据处理任务,例如这一层的数据处理任务包括十亿次运算操作,可以将这一层的十亿次操作分为四部分让该列节点芯片组21中的四个节点分别去运算,在它们运算的过程中可能存在一些数据交换就通过该环形链路传输,也就是说,同一列节点芯片组21中的四个节点可以一边运算,一边将交互数据通过该环形链路传输,为下一轮的运算做好准备,这样就不会浪费时间,提高了数据处理效率;另外,避免了同一列节点芯片21中节点芯片之间需要交互数据时,交互数据需要通过主控节点1转发占用带宽。
在本实用新型上述任一实施例的数据处理装置中,主控芯片1与节点芯片上可以分别设置PCIE接口,具有连接关系的主控芯片1与节点芯片之间,以及具有连接关系的节点芯片之间,具体可以通过芯片上的PCIE接口,采用PCOE通信通道进行连接。
或者,在本实用新型上述任一实施例的数据处理装置中,主控芯片1与节点芯片上也可以分别设置SERDES(串行器/解串器)接口,具有连接关系的主控芯片1与节点芯片之间,以及具有连接关系的节点芯片之间,具体可以通过芯片上的SERDES接口,采用SERDES通信通道进行连接。
SERDES是一种主流的TDM(时分多路复用)、P2P(点对点)的串行通信技术,即:在发送端多路低速并行信号被转换成高速串行信号,经过传输媒体(光缆或铜线),最后在接收端高速串行信号重新转换成低速并行信号。这种点对点的串行通信技术充分利用传输媒体的信道容量,减少了所需的传输信道和器件引脚数目,突破了传统并行I/O接口的数据传输瓶颈,大大降低通信成本:一是采用差分信号传输代替单端信号传输,从而增强了抗噪声、抗干扰能力;二是采用时钟和数据恢复技术代替同时传输数据和时钟,从而解决了限制数据传输速率的信号时钟偏移问题。因此,本实用新型实施例中,在芯片之间采用SERDES通信通道,有效减少了数据传输延迟。
另外,具有连接关系的芯片之间也可采用其它高速率低延迟的通信通道进行连接。
另外,在本实用新型任一实施例的数据处理装置中,针对DNN或类似数据流向具有特殊性的网络,具有连接关系的各芯片之间的通信通道可以是非对称的,也就是发送方向(Tx)和接收方向(Rx)的传输带宽不同,数据可主要沿着一个方向流动,而在另一方向上主要传递一些控制信息或者命令。例如,针对DNN的数据处理任务,可以设置SERDES通信通道在数据处理任务发送方向Tx的传输带宽大于接收方向Rx的传输带宽。
在本实用新型上述任一实施例的数据处理装置中,每个节点芯片具体可以包括多个计算单元,例如上千个计算单元。本实用新型实施例的数据处理装置可用于对包括但不限于DNN的数据处理任务进行处理。在以下的特定实施例中,以对DNN的数据处理任务进行处理为例对本实用新型实施例的数据处理装置进行进一步详细说明,但是,本领域技术人员基于本实用新型实施例的记载,可以知悉本实用新型实施例的数据处理装置基于类似的方式对其他网络中数据处理任务进行处理的具体实现。
采用实用新型实施例的数据处理装置对DNN的数据处理任务进行计算处理时,可以示例性而非限制性地采用以下策略:
通过一个节点芯片计算处理DNN中全部层的数据处理任务;或者,通过一个节点芯片运算DNN中多个层的数据处理任务,通过多个节点完成DNN中全部层的数据处理任务的运算处理。其中,前一种情况适用于单节点芯片模式,可适用于特别小型的DNN,一个节点芯片就足以高效完成一个DNN中所有的数据处理任务,这种情况下,DNN的数据处理任务数据由服务器下发给主控芯片,主控芯片再下发给节点芯片,节点芯片对DNN中全部层的数据处理任务进行运算处理,运算完毕之后再沿与任务数据相反的方向将处理结果数据回传给服务器。后一种情况下,适用于多节点芯片模式,可适用于小型的DNN,少数几个节点芯片就可以高效完成一个DNN中所有的数据处理任务,这种情况下,DNN的数据处理任务数据由服务器下发给主控芯片,主控芯片再下发给其中一个节点芯片,对DNN中多个层的数据处理任务进行运算处理,并将运算得到的临时结果数据通过节点芯片间的互联链路传输给下一个节点芯片,此时该节点芯片便可处理下一个DNN中多个层的数据处理任务,下一个节点芯片开始对后续多个层的数据处理任务进行运算处理,依次类推,完成DNN的所有数据处理任务的运算处理后,沿与任务数据相反的方向将处理结果数据回传给服务器。
通过组成一维矩阵计算处理DNN的全部数据处理任务。具体地,通过组成一维矩阵的多个节点芯片,先处理DNN一个层的数据处理任务,本层的数据处理任务运算处理完成后再一起开始运算处理下一层的数据处理任务。该情况适用于节点矩阵为一维矩阵模式。DNN的数据处理任务数据由服务器下发给主控芯片,再由主控芯片同时下发到一维矩阵的所有节点芯片,一层的数据处理任务运算处理结束之后,得到的临时结果数据暂存在节点芯片中,当所有层的数据处理任务均运算处理结束后,将最终的处理结果数据回传给主控芯片,再由主控芯片回传给服务器。在对一层数据处理任务进行运算处理时,节点芯片之间通过节点芯片间的互联通路进行数据互通,协同完成任务。例如,假设一个节点芯片中有两千个计算单元,一维节点矩阵共有四个节点芯片共八千个计算单元,八千个计算单元一起处理DNN一个层的数据处理任务,DNN一层数据处理任务具体为八亿次运算,则可以让这八千个计算单元分担预算八千万次的运算量,经过十次这样的循环运算后,便可完成这一层的数据处理任务,然后在一起进行下一层的数据处理任务的处理。
通过二维矩阵计算处理DNN的全部数据处理任务,该情况适用于节点矩阵为二维矩阵模式。具体地,DNN的数据处理任务数据由服务器下发给主控芯片,再由主控芯片同时下发到二维矩阵的第一列节点芯片组21中的多个节点芯片,二维矩阵中每列节点芯片组21的一个节点芯片处理DNN一层数据处理任务的一部分,每列节点芯片组21中的多个节点芯片并行处理,共同完成DNN一个层的数据处理任务,本层的数据处理任务运算处理完成后,将运算得到的临时结果数据通过节点芯片间的横向互联链路传输给下一列节点芯片组21,此时该节点芯片组便可处理下一个DNN中一个层的数据处理任务,下一列节点芯片组21采用类似方式对下一层的数据处理任务进行运算处理,依次类推,完成DNN的所有数据处理任务的运算处理后,沿与任务数据相反的方向将处理结果数据回传给服务器。
在单个节点芯片中,可以根据其内部计算单元的不同配置,通过以下方式来处理数据处理任务:
节点芯片中的计算单元未分组,都被配置为在同一时刻进行完全相同的运算,例如,假设一个节点芯片中有两千个计算单元,DNN一个层的数据处理任务具体为八亿次相同的运算,该节点芯片处理该一个层的数据处理任务时,两千个计算单元同时对该八亿次运算进行分担处理;
每个节点芯片中的所有计算单元被配置为几个计算单元组,同一个计算单元组内的计算单元在同一时刻进行完全相同的运算,不同计算单元组间可以执行不同的运算操作。例如,一个节点芯片包括两千个计算单元,则可以配置前一千个计算单元运算处理DNN第一层的数据处理任务,另外一千个计算单元运算处理第二层的数据处理任务,从而可以在节点芯片内部实现一个层间的流水作业。
示例性地,在本实用新型实施例中,节点芯片启动时,会从板载的ROM里将固件加载到节点芯片的微控制器(MCU)中,通过节点芯片中的固件(firmware)来选择具体采用何种方式处理数据处理任务。
根据上述策略,在基于本实用新型上述实施例的一个具体示例中,每个节点芯片中的多个计算单元被分为不同的计算单元组。该具体示例中,节点矩阵2具体通过一个节点芯片对数据处理任务进行相应的处理。相应地,接收到数据处理任务的节点芯片对数据处理任务进行相应的处理时,具体用于:根据预先配置的执行策略,分别通过该接收到数据处理任务的节点芯片中不同的计算单元组,依次对DNN中各个层或连续多个层的数据处理任务进行处理。
该具体示例可用于对特别小型DNN网络中数据处理任务的处理。
作为本实用新型各实施例的一个具体示例而非限制,其中的执行策略可以预先配置在主控芯片1中,由主控芯片1根据本次待处理DNN网络中数据处理任务的大小与单个节点芯片可支持的数据处理能力之间的关系,确定执行本次DNN网络中数据处理任务的节点芯片的数量及具体的节点芯片,从而向第一列节点芯片组21中的节点信息发送数据处理任务与控制消息。其中的执行策略可以根据需求随时修改。
此外,在基于本实用新型上述实施例的另一个具体示例中,节点矩阵2具体可以通过同一列节点芯片组21或不同列节点芯片组21中的多个节点芯片对一次DNN的数据处理任务进行相应的处理,每个节点芯片处理DNN一个层的数据处理任务。
具体地,上述多个节点芯片中的各节点芯片,可以分别用于依次对DNN中各个层或连续多个层的数据处理任务进行处理。或者,多个节点芯片中的每个节点芯片,用于对DNN一个层的数据处理任务进行处理,并在得到处理结果数据后发送给纵向连接的、所在节点芯片组21中的下一个节点芯片,或者横向连接的、下一列节点芯片组21中的下一个节点芯片,以便该下一个节点芯片对DNN下一个层的数据处理任务进行处理。
另外,在基于本实用新型上述实施例的又一个具体示例中,节点矩阵2具体还可以通过由多列节点芯片组构成的二维节点矩阵对所述DNN中所有层的数据处理任务进行相应的处理。
具体地,每一列节点芯片组中的所有节点芯片,用于对DNN一个层的数据处理任务进行并行处理,将处理数据处理任务获得的数据处理结果发送给该列节点芯片组中各节点芯片对应横向连接的、下一列节点芯片组的节点芯片,以便下一列节点芯片组中的所有节点芯片对DNN下一层的数据处理任务进行并行处理。
由于数据处理装置连接的存储单元带宽和I/O(输入/输出)带宽主要受限于主控芯片1的能力,如果一个主控芯片1可提供的带宽不足,本实用新型实施例中,还可以通过主控芯片1互联的设计来提供额外的带宽支援。如图6所示,为本实用新型数据处理系统一个实施例的示意图。该实施例的数据处理系统中,包括多个数据处理装置,相邻数据处理装置中的主控芯片1之间连接,以通过一个以上数据处理装置实现对同一个数据处理任务的处理。图6仅示例性地示出了数据处理系统包括两个数据处理装置的一个具体示例。其中的数据处理装置具体可以基于本实用新型上述任一实施例数据处理装置实现。
基于本实用新型上述实施例提供的数据处理系统,包括多个本实用新型上述实施例的数据处理装置,数据处理能力强大且易于扩展,不会受到主板卡槽数量的限制,且避免了扩展数据处理能力需增加外部设备的通信接口所产生的成本。
另外,基于本实用新型实施例的数据处理系统,通过多个数据处理装置进一步扩展了数据处理能力,若两个数据处理装置之间通过插入的主板进行通信,延时较大,而相邻数据处理装置中的主控芯片1之间连接,避免了两个数据处理装置之间通过插入的主板进行通信,降低了通信时延,提高了数据处理效率。
在上述数据处理系统实施例的一个具体示例中,主控芯片1上设置有SERDES接口,相邻数据处理装置中的主控芯片1之间具体可以通过主控芯片1上的SERDES接口,采用SERDES通信通道进行连接。
与上述数据处理装置实施例类似地,主控芯片1之间的SERDES通信通道也可以是非对称的,在数据处理任务发送方向Tx的传输带宽大于接收方向Rx的传输带宽。
或者,在上述数据处理系统实施例的另一个具体示例中,主控芯片1上设置有PCIE接口,相邻数据处理装置中的主控芯片1之间具体可以通过主控芯片1上的PCIE接口,采用PCIE通信通道进行连接。
本实用新型一个实施例提供的服务器中,包括主板,主板上具有一个以上卡槽。另外,服务器中还包括一个以上数据处理装置,数据处理装置中的主控芯片1以插接方式插入主板上的卡槽中时,主控芯片1可以通过外部接口与主板进行数据交互。其中的数据处理装置具体可以基于本实用新型上述任一实施例数据处理装置的结构实现。
基于本实用新型上述实施例提供的服务器,包括多个本实用新型上述实施例的数据处理装置,数据处理能力强大且易于扩展,不会受到主板卡槽数量的限制,且避免了扩展数据处理能力需增加外部设备的通信接口所产生的成本。
本实用新型另一个实施例提供的服务器中,包括主板,主板上具有一个以上卡槽。另外,服务器中还包括数据处理系统,数据系统中的多个主控芯片1分别以插接方式插入主板上的不同卡槽中时,主控芯片1可以分别通过外部接口与主板进行数据交互。其中的数据处理系统具体可以基于本实用新型上述任一实施例数据处理系统的结构实现。
基于本实用新型上述实施例提供的服务器,包括多个本实用新型上述实施例的数据处理系统,数据处理能力强大且易于扩展,不会受到主板卡槽数量的限制,且避免了扩展数据处理能力需增加外部设备的通信接口所产生的成本;并且,通信时延低,具有较高的数据处理效率。
如图7所示,为本实用新型服务器一个实施例的示意图,图7所示的实施例中,仅示例性地示出了服务器包括两个数据处理装置的一个具体示例。
在本实用新型上述任一实施例服务器的一个具体示例中,主控芯片1外部接口为PCIE接口,主板上的卡槽具体为PCIE插槽。另外,主控芯片1的外部接口与主板上的卡槽也可以采用其他标准实现,只要二者类型匹配即可。
另外,在本实用新型服务器的又一服务器中,上述任一实施例的服务器中,还可以包括与主板连接的、用于与其他服务器进行数据交互的外部通信接口。示例性地,外部通信接口可以是以太网接口,例如40/100G以太网接口,具体的选择可可以根据不同的应用场景灵活决定。例如,若要搭建一个云服务器中心,则外部通信接口相应设置为以太网接口。
进一步地,再参见图7,在本实用新型服务器的再一服务器中,还可以包括分别与每个主控芯片1连接的存储单元,以便进行相应的信息存储。作为本实用新型实施例的一个具体示例而非限制,该存储单元可以是DDR(双倍速率同步动态随机存储器)、LPDDR(低功率双倍速率同步动态随机存储器)、GDDR(图形双倍速率同步动态随机存储器)、HBM(高带宽存储器)、或者HMC(混合存储立方体存储器),另外,也可以是其它类型的高速存储器。
综上所述,由于本实用新型实施例提出了一种新的拓扑结构,该拓扑结构可更适合诸如DNN或深度学习的大运算量硬件加速平台的优化实现。
本实用新型实施例,具有以下总的有益技术效果:
将数据处理任务划分为主控芯片和节点芯片的两种功能芯片的解决方案,增加了数据处理装置的适应性。当计算能力不足时,可以通过对节点矩阵做一维或二维扩展来实现算力的提升,大大增强了系统的可扩展性和可伸缩性,付出的代价相对较低,提供的最大计算能力远远超过现在的GPU,整个产品的物理大小也比较紧凑;
节点芯片与主机接口无关,降低了开发难度,节点芯片的实现可以专注于数据处理功能的实现,有助于提高集成度和硬件效率;
节点芯片不会占用主板上的卡槽,易于扩展节点芯片、增强数据处理装置、系统和服务器的数据处理能力;
主控芯片可以采用FPGA方式实现,可以根据客户需求灵活定制;
各芯片间通信的延迟可控,大部分的情况下都是芯片和芯片利用高速通信通道直接进行通信;
主控芯片可以选择用FPGA(现场可编程门阵列)来实现,这样可以根据客户需求灵活定制。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本实用新型的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个实用新型方面中的一个或多个,在上面对本实用新型的示例性实施例的描述中,本实用新型的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本实用新型要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,实用新型方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本实用新型的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本实用新型的范围之内并且形成不同的实施例。例如,所公开的实施例的任意之一都可以以任意的组合方式来使用。
本实用新型实施例的各个部件可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本实用新型实施例的装置、系统、服务器中的一些或者全部部件的一些或者全部功能。
应该注意的是上述实施例对本实用新型进行说明而不是对本实用新型进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在说明书中,不应将位于括号之间的任何参考符号构造成对本实用新型实施例的限制。单词“包含”不排除存在未列出的元件。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本实用新型实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。
显然,本领域的技术人员可以对本实用新型进行各种改动和变型而不脱离本实用新型的精神和范围。这样,倘若本实用新型的这些修改和变型属于本实用新型权利要求及其等同技术的范围之内,则本实用新型也意图包含这些改动和变型在内。