1.本技术涉及数据传输和数据处理技术领域,具体涉及一种融合计算和通信的计算网络单元、计算节点及计算网络。
背景技术:2.随着数据中心、大数据分析挖掘等技术的发展,对以高密度计算机集群为代表的数字基础设施产生了很大的需求。实际应用中,受限于本地有限的资源,可能难以满足本地的算力需求,而另一些地方则可能面临算力过剩的情况。为了改善数字基础设施不平衡的布局,可以通过网络将本地的算力需求引导到算力过剩的地方进行存储和计算,例如最近启动的“东数西算”工程就通过构建新型算力网络将我国东部的算力需求引导到西部的数据基础设施来进行存储和计算。另一方面,随着应用的多元化和碎片化分布的趋势,更容易出现算力需求难以在本地得到满足的问题,这样也就催生了更大量的数据要通过网络传输,从而对网络带宽和输入输出处理能力带来更大的负担。现有技术中,负责数据传输和输入输出处理的网络设备例如网卡一般与负责计算的处理器如中央处理器(central processing unit,cpu)和图形处理器(graphics processing unit,gpu)分开设计和制造,例如在多核处理器的服务器上让多个cpu或者多个gpu共用一张网卡。这样做有利于分别升级拓展网络功能和计算功能,例如可以升级现有网卡或加装更多张网卡,还可以升级现有处理器或加装更多处理器。但是,将网络设备和处理器区分开的做法,也导致共用网卡的不同处理器之间存在竞争冲突且设备之间传输路径增加延迟,这样在面对上述的海量数据通过网络传输等情况会引起网络传输拥塞和增加网络数据处理延迟。计算和网络的融合例如计算机相关硬件设备和软件与网络结合是未来计算发展的趋势。例如智能网卡(network interface card,nic)通过现场可编程逻辑门阵列(field programmable gate array,fpga)提供可编程的网络接口处理能力并能应对通用计算需求。但是现有的融合计算和网络的设备如智能nic需要通过硬件编程来调节网络接口处理能力,因此难以灵活快速地响应持续变化的需求。特别是在当前需要将大量的本地算力需求通过如“东数西算”工程引导到算力过剩地区的趋势下,通过网络接口的数据量大且可能有较大的波动,也可能需要较为频繁地对输入输出处理能力进行调节以应对负载的变化,现有的将网络设备和处理器区分开的做法或者现有的融合计算和网络的设备如智能nic均难以在高性能、高效率和兼顾网络通讯和计算能力各方面都做到较好的表现。
3.为此,需要一种融合计算和通信的计算网络单元、计算节点及计算网络,能够应对海量数据通过网络传输且存在较大波动以及应对需要结合负载变化和算力引导需要来灵活快速调节网络接口处理能力和输入输出处理能力,并且在高性能、高效率和兼顾网络通讯和计算能力各方面都做到较好的表现。
技术实现要素:4.第一方面,本技术实施例提供了一种计算网络单元(computation network unit,
cnu),用于融合计算和通信。所述cnu包括:远程通讯模块,用于为所述cnu提供网络通讯;本地通讯模块,用于为所述cnu提供本地数据交互;计算模块,用于处理所述cnu所接收的计算任务;和彼此独立且大小相同的多个高带宽缓存hbm。其中,所述cnu的内部数据流向定义为第一数据流向和第二数据流向,所述第一数据流向发起于所述远程通讯模块再经过至少一个hbm和所述计算模块后结束于所述本地通讯模块,所述第二数据流向发起于所述本地通讯模块再经过至少一个hbm和所述计算模块后结束于所述远程通讯模块。其中,所述多个hbm中的每一个hbm被调用后处在所述第一数据流向或者所述第二数据流向并且该hbm的工作模式根据该hbm所处的数据流向确定,其中,处在所述第一数据流向的hbm的工作模式是网络数据处理模式,处在所述第二数据流向的hbm的工作模式是本地数据处理模式。其中,所述cnu配置为可动态调整所述多个hbm中工作在所述网络数据处理模式的hbm的个数和/或所述多个hbm中工作在所述本地数据处理模式的hbm的个数。
5.第一方面所描述的技术方案,实现了本地和网络之间的数据交互以及达到了高速计算和高速网络通讯的融合。
6.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述多个hbm由第一类hbm和第二类hbm组成,所述第一类hbm的个数与所述第二类hbm的个数相同,所述第一类hbm的工作模式均是所述网络数据处理模式,所述第二类hbm的工作模式均是所述本地数据处理模式。
7.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述cnu还用于通过调整所述多个hbm中各个hbm的工作模式而使得所述cnu处在多种预设工作状态中的一种预设工作状态,其中,所述多种预设工作状态根据所述多个hbm中工作在所述网络数据处理模式的hbm的个数相对于所述多个hbm中工作在所述本地数据处理模式的hbm的个数的比例确定。
8.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述cnu还用于通过调整所述多个hbm中各个hbm的工作模式而使得所述cnu处在多种预设工作状态中的一种预设工作状态。其中,所述多种预设工作状态包括:本地单向工作状态,其中,当所述cnu处在所述本地单向工作状态时,所述多个hbm中工作在所述网络数据处理模式的hbm的个数小于所述多个hbm中工作在所述本地数据处理模式的hbm的个数;网络单向工作状态,其中,当所述cnu处在所述网络单向工作状态时,所述多个hbm中工作在所述网络数据处理模式的hbm的个数大于所述多个hbm中工作在所述本地数据处理模式的hbm的个数相同;双向工作状态,其中,当所述cnu处在所述双向工作状态时,所述多个hbm中工作在所述网络数据处理模式的hbm的个数等于所述多个hbm中工作在所述本地数据处理模式的hbm的个数。
9.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述多个hbm是两个hbm,当所述cnu处在所述本地单向工作状态时所述两个hbm均工作在所述本地数据处理模式,当所述cnu处在所述网络单向工作状态时所述两个hbm均工作在所述网络数据处理模式,当所述cnu处在所述双向工作状态时所述两个hbm分别工作在所述本地数据处理模式和所述网络数据处理模式。
10.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述cnu还用于通过在所述多种预设工作状态之间切换来提供可变网络数据处理能力和/或可
变本地数据处理能力。
11.根据第一方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述cnu还包括本地通讯接口和网络通讯接口,其中,所述本地通讯接口与所述本地通讯模块连接,所述网络通讯接口与所述远程通讯模块连接。
12.第二方面,本技术实施例提供了一种cnu组。所述cnu组包括多个根据第一方面中任一项所述的cnu,其中,所述cnu组所包括的所述多个cnu通过共用的开关来并行化执行计算和数据通讯。
13.第二方面所描述的技术方案,实现了本地和网络之间的数据交互以及达到了高速计算和高速网络通讯的融合。
14.第三方面,本技术实施例提供了一种计算网络。所述计算网络包括多个计算节点,所述多个计算节点中的至少一个计算节点包括根据第一方面中任一项所述的cnu,该至少一个计算节点通过所述cnu实现两个本地计算节点之间的互联,两个网络计算节点之间的互联,或者本地计算节点和网络计算节点之间的互联。
15.第三方面所描述的技术方案,实现了本地和网络之间的数据交互以及达到了高速计算和高速网络通讯的融合。
16.第四方面,本技术实施例提供了一种计算节点。所述计算节点包括:至少一个本地处理器;本地交互开关;网络连接开关;和至少一个cnu,所述至少一个cnu并行连接在所述本地交互开关和所述网络连接开关之间。其中,针对所述至少一个cnu中的每一个cnu,该cnu包括:远程通讯模块,用于为该cnu提供网络通讯;本地通讯模块,用于为该cnu提供本地数据交互;计算模块,用于处理该cnu所接收的计算任务;和彼此独立且大小相同的多个高带宽缓存hbm。该cnu的内部数据流向定义为第一数据流向和第二数据流向,所述第一数据流向发起于所述远程通讯模块再经过至少一个hbm和所述计算模块后结束于所述本地通讯模块,所述第二数据流向发起于所述本地通讯模块再经过至少一个hbm和所述计算模块后结束于所述远程通讯模块。其中,所述多个hbm中的每一个hbm被调用后处在所述第一数据流向或者所述第二数据流向并且该hbm的工作模式根据该hbm所处的数据流向确定,其中,处在所述第一数据流向的hbm的工作模式是网络数据处理模式,处在所述第二数据流向的hbm的工作模式是本地数据处理模式。其中,该cnu配置为可动态调整所述多个hbm中工作在所述网络数据处理模式的hbm的个数和/或所述多个hbm中工作在所述本地数据处理模式的hbm的个数。
17.第四方面所描述的技术方案,实现了本地和网络之间的数据交互以及达到了高速计算和高速网络通讯的融合。
18.根据第四方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述本地交互开关是pcie开关或者具备dma功能,所述网络连接开关具备rdma功能。
19.根据第四方面的技术方案的一种可能的实现方式,本技术实施例还提供了,针对所述至少一个cnu中的每一个cnu,该cnu还用于通过调整所述多个hbm中各个hbm的工作模式而使得该cnu处在多种预设工作状态中的一种预设工作状态。其中,所述多种预设工作状态包括:本地单向工作状态,其中,当该cnu处在所述本地单向工作状态时,所述多个hbm中工作在所述网络数据处理模式的hbm的个数小于所述多个hbm中工作在所述本地数据处理模式的hbm的个数;网络单向工作状态,其中,当该cnu处在所述网络单向工作状态时,所述
多个hbm中工作在所述网络数据处理模式的hbm的个数大于所述多个hbm中工作在所述本地数据处理模式的hbm的个数相同;双向工作状态,其中,当该cnu处在所述双向工作状态时,所述多个hbm中工作在所述网络数据处理模式的hbm的个数等于所述多个hbm中工作在所述本地数据处理模式的hbm的个数。
20.根据第四方面的技术方案的一种可能的实现方式,本技术实施例还提供了,针对所述至少一个cnu中的每一个cnu,所述多个hbm是两个hbm,当该cnu处在所述本地单向工作状态时所述两个hbm均工作在所述本地数据处理模式,当该cnu处在所述网络单向工作状态时所述两个hbm均工作在所述网络数据处理模式,当该cnu处在所述双向工作状态时所述两个hbm分别工作在所述本地数据处理模式和所述网络数据处理模式。
21.根据第四方面的技术方案的一种可能的实现方式,本技术实施例还提供了,针对所述至少一个cnu中的每一个cnu,该cnu还用于通过在所述多种预设工作状态之间切换来提供可变网络数据处理能力和/或可变本地数据处理能力。
22.根据第四方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述计算节点的整体网络数据处理能力和整体本地数据处理能力根据所述计算节点的所述至少一个cnu中的每一个cnu的所述可变网络数据处理能力和所述可变本地数据处理能力确定。
23.根据第四方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述计算节点的整体网络数据处理能力和整体本地数据处理能力通过设定所述计算节点的所述至少一个cnu中的每一个cnu各自的预设工作状态来调节。
24.根据第四方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述至少一个cnu所包括的所述多个cnu通过共用的开关来并行化执行计算和数据通讯。
25.根据第四方面的技术方案的一种可能的实现方式,本技术实施例还提供了,所述计算节点通过所述至少一个cnu实现两个本地计算节点之间的互联,两个网络计算节点之间的互联,或者本地计算节点和网络计算节点之间的互联。
附图说明
26.为了说明本技术实施例或背景技术中的技术方案,下面将对本技术实施例或背景技术中所需要使用的附图进行说明。
27.图1示出了本技术实施例提供的计算网络单元的框图。
28.图2示出了本技术实施例提供的计算节点的示意图。
29.图3示出了本技术实施例提供的计算网络的示意图。
具体实施方式
30.本技术实施例为了解决现有的将网络设备和处理器区分开的做法或者现有的融合计算和网络的设备无法兼顾高性能、高效率和兼顾网络通讯和计算能力各方面这样的技术难题,提出了一种融合计算和通信的计算网络单元、计算节点及计算网络。其中,所述cnu包括:远程通讯模块,用于为所述cnu提供网络通讯;本地通讯模块,用于为所述cnu提供本地数据交互;计算模块,用于处理所述cnu所接收的计算任务;和彼此独立且大小相同的多个高带宽缓存hbm。其中,所述cnu的内部数据流向定义为第一数据流向和第二数据流向,所
述第一数据流向发起于所述远程通讯模块再经过至少一个hbm和所述计算模块后结束于所述本地通讯模块,所述第二数据流向发起于所述本地通讯模块再经过至少一个hbm和所述计算模块后结束于所述远程通讯模块。其中,所述多个hbm中的每一个hbm被调用后处在所述第一数据流向或者所述第二数据流向并且该hbm的工作模式根据该hbm所处的数据流向确定,其中,处在所述第一数据流向的hbm的工作模式是网络数据处理模式,处在所述第二数据流向的hbm的工作模式是本地数据处理模式。其中,所述cnu配置为可动态调整所述多个hbm中工作在所述网络数据处理模式的hbm的个数和/或所述多个hbm中工作在所述本地数据处理模式的hbm的个数。本技术实施例具有以下有益技术效果:能够应对海量数据通过网络传输且存在较大波动以及应对需要结合负载变化和算力引导需要来灵活快速调节网络接口处理能力和输入输出处理能力,并且在高性能、高效率和兼顾网络通讯和计算能力各方面都做到较好的表现。
31.本技术实施例可用于以下应用场景,包括但是不限于,数据中心、大数据分析、云计算、数据一体化、算力网络、算力枢纽等。
32.本技术实施例可以依据具体应用环境进行调整和改进,此处不做具体限定。
33.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术的实施例进行描述。
34.图1示出了本技术实施例提供的计算网络单元的框图。应当理解的是,图1仅仅说明性地示出了计算网络单元(computation network unit,cnu)的一种可能的实施方式的结构。如图1所示,所述cnu包括:远程通讯模块110,用于为所述cnu提供网络通讯;本地通讯模块120,用于为所述cnu提供本地数据交互;计算模块130,用于处理所述cnu所接收的计算任务;和彼此独立且大小相同的多个高带宽缓存(high-band memory,hbm)。这里,图1上示意性示出了共计6个hbm,并且分别编号为hbm 141、hbm 142、hbm 143、hbm 144、hbm 145、hbm 146。应当理解的是,cnu可以包括其他数量的hbm,这一点下面详细说明。另外,远程通讯模块110、本地通讯模块120和计算模块130应理解为包括必要的电路等细节以实现本技术实施例中所描述的相关功能和操作,例如可以用硬件,软件,固件或固态逻辑电路中的任何一种或组合来实现并且可以结合信号处理,控制和/或专用电路。
35.继续参阅图1,所述cnu的内部数据流向定义为第一数据流向和第二数据流向,所述第一数据流向发起于所述远程通讯模块110再经过至少一个hbm和所述计算模块130后结束于所述本地通讯模块120,所述第二数据流向发起于所述本地通讯模块120再经过至少一个hbm和所述计算模块130后结束于所述远程通讯模块110。其中,所述多个hbm中的每一个hbm被调用后处在所述第一数据流向或者所述第二数据流向并且该hbm的工作模式根据该hbm所处的数据流向确定,其中,处在所述第一数据流向的hbm的工作模式是网络数据处理模式,处在所述第二数据流向的hbm的工作模式是本地数据处理模式。其中,所述cnu配置为可动态调整所述多个hbm中工作在所述网络数据处理模式的hbm的个数和/或所述多个hbm中工作在所述本地数据处理模式的hbm的个数。应当理解的是,所述cnu在动态调整所述多个hbm中工作在所述网络数据处理模式的hbm的个数和/或所述多个hbm中工作在所述本地数据处理模式的hbm的个数的同时或者之前或者之后,还应配置为通过某种机制实现必要的不同模块之间的协同,例如当有更多的hbm或者更少的hbm工作在所述网络数据处理模式/所述本地数据处理模式,所述cnu还需要协同计算模块130等来满足动态调整后的需要。
36.继续参阅图1,上面提到,实践中需要面对通过网络接口的海量数据且有较大波动还需要较为频繁地对输入输出处理能力进行调节以应对负载的变化,这些情况对于用于融合计算和通信的cnu而言,体现在该cnu一方面要面临大量且变化的从本地发起最终上传到网络的本地计算任务以及另一方面要面临大量且变化的从网络开始最终下载到本地的网络计算任务。其中本地计算任务从本地发起,可以理解为利用了本地的算力资源或者本地的数字基础设施,例如与所述cnu位于同一个系统或者同一个平台的处理器如cpu、gpu等。而网络计算任务从网络开始,可以理解为利用了相对于所述cnu所在区域或者位置或者网络虚拟地址而言的异地计算资源,而将计算结果通过所述cnu下载到本地。以上面提到的如“东数西算”工程等将甲方的算力需求引导到乙方来由乙方满足的情况为例,设甲方部署了cnu,则甲方的算力需求是通过乙方满足而且乙方通过网络将计算结果经甲方的cnu下载到甲方本地,因此甲方的cnu需要处理大量的网络计算任务。相对的,设乙方也部署了cnu,则乙方是在乙方本地进行计算然后将计算结果上传回网络,因此乙方的cnu需要处理大量的本地计算任务。以上是假设将甲方的算力需求引导到乙方的情况,但是实践中可能面临甲乙方互换的情形,例如原本算力不足的是甲方而算力过剩的是乙方,因为某些因素而变成算力不足的是乙方而算力过剩的是甲方,也因此变成将乙方的算力需求引导到甲方的情况,则甲方的cnu变成需要应对大量的本地计算任务而乙方的cnu变成需要应对大量的网络计算任务。因此,对于连入网络的某个计算节点而言,例如代表甲方或者乙方的计算节点,该计算节点处的cnu需要面临的本地计算任务和网络计算任务的各自的数量及相对比例,是可能发生剧烈变化的。
37.上述的cnu将内部数据流向定义为第一数据流向和第二数据流向,以及要求所述多个hbm中的每一个hbm被调用后处在所述第一数据流向或者所述第二数据流向并且该hbm的工作模式根据该hbm所处的数据流向确定。如此,hbm的工作模式及hbm所处的数据流向,就体现了所述cnu针对本地计算任务和网络计算任务的处理能力。所述cnu配置为可动态调整所述多个hbm中工作在所述网络数据处理模式的hbm的个数和/或所述多个hbm中工作在所述本地数据处理模式的hbm的个数。这意味着所述cnu可以通过动态调整所述多个hbm中每个hbm的工作模式来精细化控制所述cnu的针对本地计算任务和网络计算任务的处理能力。而且这样的精细化控制是通过对hbm的工作模式的控制来实现,因此无需经过复杂的可编程硬件的介入就能实现,只要能满足上述的不同模块之间的协同需要。如此,所述cnu可以快速响应发生变化的所述cnu所需要应对的本地计算任务和网络计算任务的各自的数量及相对比例,例如当面对更多的本地计算任务时可以调整更多的hbm处在所述本地数据处理模式也因此增加了处在所述第二数据流向的hbm的数量,这样就有利于更高效地完成本地计算任务(本地计算任务从本地发起最终上传到网络,因此对应了发起于所述本地通讯模块120再经过至少一个hbm和所述计算模块130后结束于所述远程通讯模块110的所述第二数据流向)。类似地,当面对更多的网络计算任务时可以调整更多的hbm处在所述网络数据处理模式也因此增加了处在所述第一数据流向的hbm的数量,这样就有利于更高效地完成网络计算任务(网络计算任务从网络开始最终下载到本地,因此对应了发起于所述远程通讯模块110再经过至少一个hbm和所述计算模块130后结束于所述本地通讯模块120的所述第一数据流向)。因此,所述cnu作为本地计算资源和外部网络之间的桥梁,一方面实现了本地和网络之间的数据交互,另一方面也承担了并行化处理的任务,达到了高速计算和高
速网络通讯的合为一体。
38.在一种可能的实施方式中,所述多个hbm由第一类hbm和第二类hbm组成,所述第一类hbm的个数与所述第二类hbm的个数相同,所述第一类hbm的工作模式均是所述网络数据处理模式,所述第二类hbm的工作模式均是所述本地数据处理模式。以图1所示的6个hbm为例,可以设定其中3个hbm为第一类hbm,而另外3个hbm为第二类hbm。
39.在一种可能的实施方式中,所述cnu还用于通过调整所述多个hbm中各个hbm的工作模式而使得所述cnu处在多种预设工作状态中的一种预设工作状态,其中,所述多种预设工作状态根据所述多个hbm中工作在所述网络数据处理模式的hbm的个数相对于所述多个hbm中工作在所述本地数据处理模式的hbm的个数的比例确定。如此有利于灵活调整以适用不同情况。
40.在一种可能的实施方式中,所述cnu还用于通过调整所述多个hbm中各个hbm的工作模式而使得所述cnu处在多种预设工作状态中的一种预设工作状态。其中,所述多种预设工作状态包括:本地单向工作状态,其中,当所述cnu处在所述本地单向工作状态时,所述多个hbm中工作在所述网络数据处理模式的hbm的个数小于所述多个hbm中工作在所述本地数据处理模式的hbm的个数;网络单向工作状态,其中,当所述cnu处在所述网络单向工作状态时,所述多个hbm中工作在所述网络数据处理模式的hbm的个数大于所述多个hbm中工作在所述本地数据处理模式的hbm的个数相同;双向工作状态,其中,当所述cnu处在所述双向工作状态时,所述多个hbm中工作在所述网络数据处理模式的hbm的个数等于所述多个hbm中工作在所述本地数据处理模式的hbm的个数。如此,通过设定多种预设工作状态,可以更便利地调整所述cnu以适用不同情况。在一些实施例中,所述多个hbm是两个hbm,当所述cnu处在所述本地单向工作状态时所述两个hbm均工作在所述本地数据处理模式,当所述cnu处在所述网络单向工作状态时所述两个hbm均工作在所述网络数据处理模式,当所述cnu处在所述双向工作状态时所述两个hbm分别工作在所述本地数据处理模式和所述网络数据处理模式。应当理解的是,这样的两个hbm的示例可以推广到任意数量的hbm的示例。
41.在一种可能的实施方式中,所述cnu还用于通过在所述多种预设工作状态之间切换来提供可变网络数据处理能力和/或可变本地数据处理能力。
42.在一种可能的实施方式中,所述cnu还包括本地通讯接口(未示出)和网络通讯接口(未示出),其中,所述本地通讯接口与所述本地通讯模块连接,所述网络通讯接口与所述远程通讯模块连接。应当理解的是,本地通讯接口和网络通讯接口可能以集成的方式或者单独提供,在此不做具体限定。
43.另外,图1所示的cnu还可以跟其他的cnu一起组成cnu组,所述cnu组所包括的所述多个cnu通过共用的开关来并行化执行计算和数据通讯。所述cnu组的对外整体上的网络数据处理能力和本地数据处理能力至少可以通过所述cnu来调节。
44.图2示出了本技术实施例提供的计算节点的示意图。所述计算节点包括:至少一个本地处理器210;本地交互开关220;网络连接开关230;和至少一个cnu,所述至少一个cnu并行连接在所述本地交互开关220和所述网络连接开关230之间。其中,针对所述至少一个cnu中的每一个cnu,该cnu包括:远程通讯模块,用于为该cnu提供网络通讯;本地通讯模块,用于为该cnu提供本地数据交互;计算模块,用于处理该cnu所接收的计算任务;和彼此独立且大小相同的多个高带宽缓存hbm。该cnu的内部数据流向定义为第一数据流向和第二数据流
向,所述第一数据流向发起于所述远程通讯模块再经过至少一个hbm和所述计算模块后结束于所述本地通讯模块,所述第二数据流向发起于所述本地通讯模块再经过至少一个hbm和所述计算模块后结束于所述远程通讯模块。其中,所述多个hbm中的每一个hbm被调用后处在所述第一数据流向或者所述第二数据流向并且该hbm的工作模式根据该hbm所处的数据流向确定,其中,处在所述第一数据流向的hbm的工作模式是网络数据处理模式,处在所述第二数据流向的hbm的工作模式是本地数据处理模式。其中,该cnu配置为可动态调整所述多个hbm中工作在所述网络数据处理模式的hbm的个数和/或所述多个hbm中工作在所述本地数据处理模式的hbm的个数。这里,所述至少一个cnu包括3个cnu分别为cnu 240、cnu 242和cnu 244。应当理解的是,图2所示的计算节点可以包括任意数量的cnu。这里,cnu 240、cnu 242和cnu 244各自具有与图1的cnu类似的结构并均实现了高速计算和高速网络通讯的合为一体。通过将cnu 240、cnu 242和cnu 244一起组合来为图2的计算节点提供本地和网络之间的数据交互,有利于图2的计算节点实现通过该计算节点的海量数据且有较大波动以及有利于该节点高效灵活地调节该计算节点的输入输出处理能力以应对负载的变化。并且,通过将3个cnu一起合并,等效于将这3个cnu的最大输入输出处理能力进行了整合。另外,通过为该计算节点配置更多如图1所示的cnu,还可以进一步提升该计算节点的对外整体上的最大输入输出处理能力,从而更好地应对复杂多变的需求。
45.在一种可能的实施方式中,所述本地交互开关是pcie开关或者具备dma功能,所述网络连接开关具备rdma功能。
46.在一种可能的实施方式中,针对所述至少一个cnu中的每一个cnu,该cnu还用于通过调整所述多个hbm中各个hbm的工作模式而使得该cnu处在多种预设工作状态中的一种预设工作状态。其中,所述多种预设工作状态包括:本地单向工作状态,其中,当该cnu处在所述本地单向工作状态时,所述多个hbm中工作在所述网络数据处理模式的hbm的个数小于所述多个hbm中工作在所述本地数据处理模式的hbm的个数;网络单向工作状态,其中,当该cnu处在所述网络单向工作状态时,所述多个hbm中工作在所述网络数据处理模式的hbm的个数大于所述多个hbm中工作在所述本地数据处理模式的hbm的个数相同;双向工作状态,其中,当该cnu处在所述双向工作状态时,所述多个hbm中工作在所述网络数据处理模式的hbm的个数等于所述多个hbm中工作在所述本地数据处理模式的hbm的个数。
47.在一种可能的实施方式中,针对所述至少一个cnu中的每一个cnu,所述多个hbm是两个hbm,当该cnu处在所述本地单向工作状态时所述两个hbm均工作在所述本地数据处理模式,当该cnu处在所述网络单向工作状态时所述两个hbm均工作在所述网络数据处理模式,当该cnu处在所述双向工作状态时所述两个hbm分别工作在所述本地数据处理模式和所述网络数据处理模式。
48.在一种可能的实施方式中,针对所述至少一个cnu中的每一个cnu,该cnu还用于通过在所述多种预设工作状态之间切换来提供可变网络数据处理能力和/或可变本地数据处理能力。
49.在一种可能的实施方式中,所述计算节点的整体网络数据处理能力和整体本地数据处理能力根据所述计算节点的所述至少一个cnu中的每一个cnu的所述可变网络数据处理能力和所述可变本地数据处理能力确定。
50.在一种可能的实施方式中,所述计算节点的整体网络数据处理能力和整体本地数
据处理能力通过设定所述计算节点的所述至少一个cnu中的每一个cnu各自的预设工作状态来调节。
51.在一种可能的实施方式中,所述至少一个cnu所包括的所述多个cnu通过共用的开关来并行化执行计算和数据通讯。
52.在一种可能的实施方式中,所述计算节点通过所述至少一个cnu实现两个本地计算节点之间的互联,两个网络计算节点之间的互联,或者本地计算节点和网络计算节点之间的互联。
53.图3示出了本技术实施例提供的计算网络的示意图。所述计算网络包括多个计算节点,所述多个计算节点中的至少一个计算节点包括根据图1所示的cnu或者至少一个计算节点为图2所示的计算节点,该至少一个计算节点通过所述cnu实现两个本地计算节点之间的互联,两个网络计算节点之间的互联,或者本地计算节点和网络计算节点之间的互联。如图3所示,所述计算网络包括两个本地计算节点分别为本地计算节点310和本地计算节点312,还包括两个网络计算节点分别为网络计算节点320和网络计算节点322,以及包括cnu的计算节点330。应当理解的是,所述计算网络的示例中的各种节点数量仅为说明性,只要至少一个计算节点包括例如图1所示的cnu,可以应用于任意数量的本地计算节点和任意数量的网络计算节点的计算网络。图3所示的计算网络中,通过包括cnu的计算节点330实现了两个本地计算节点之间的互联,两个网络计算节点之间的互联,或者本地计算节点和网络计算节点之间的互联,并且实现了本地和网络之间的数据交互以及达到了高速计算和高速网络通讯的融合。
54.本技术提供的具体实施例可以用硬件,软件,固件或固态逻辑电路中的任何一种或组合来实现,并且可以结合信号处理,控制和/或专用电路来实现。本技术具体实施例提供的设备或装置可以包括一个或多个处理器(例如,微处理器,控制器,数字信号处理器(dsp),专用集成电路(asic),现场可编程门阵列(fpga)等),这些处理器处理各种计算机可执行指令从而控制设备或装置的操作。本技术具体实施例提供的设备或装置可以包括将各个组件耦合在一起的系统总线或数据传输系统。系统总线可以包括不同总线结构中的任何一种或不同总线结构的组合,例如存储器总线或存储器控制器,外围总线,通用串行总线和/或利用多种总线体系结构中的任何一种的处理器或本地总线。本技术具体实施例提供的设备或装置可以是单独提供,也可以是系统的一部分,也可以是其它设备或装置的一部分。
55.本技术提供的具体实施例可以包括计算机可读存储介质或与计算机可读存储介质相结合,例如能够提供非暂时性数据存储的一个或多个存储设备。计算机可读存储介质/存储设备可以被配置为保存数据,程序器和/或指令,这些数据,程序器和/或指令在由本技术具体实施例提供的设备或装置的处理器执行时使这些设备或装置实现有关操作。计算机可读存储介质/存储设备可以包括以下一个或多个特征:易失性,非易失性,动态,静态,可读/写,只读,随机访问,顺序访问,位置可寻址性,文件可寻址性和内容可寻址性。在一个或多个示例性实施例中,计算机可读存储介质/存储设备可以被集成到本技术具体实施例提供的设备或装置中或属于公共系统。计算机可读存储介质/存储设备可以包括光存储设备,半导体存储设备和/或磁存储设备等等,也可以包括随机存取存储器(ram),闪存,只读存储器(rom),可擦可编程只读存储器(eprom),电可擦可编程只读存储器(eeprom),寄存器,硬
盘,可移动磁盘,可记录和/或可重写光盘(cd),数字多功能光盘(dvd),大容量存储介质设备或任何其他形式的合适存储介质。
56.以上是本技术实施例的实施方式,应当指出,本技术具体实施例描述的方法中的步骤可以根据实际需要进行顺序调整、合并和删减。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。可以理解的是,本技术实施例以及附图所示的结构并不构成对有关装置或系统的具体限定。在本技术另一些实施例中,有关装置或系统可以包括比具体实施例和附图更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。本领域技术人员将理解,在不脱离本技术具体实施例的精神和范围的情况下,可以对具体实施例记载的方法和设备的布置,操作和细节进行各种修改或变化;在不脱离本技术实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本技术的保护范围。
技术特征:1.一种计算网络单元cnu,用于融合计算和通信,其特征在于,所述cnu包括:远程通讯模块,用于为所述cnu提供网络通讯;本地通讯模块,用于为所述cnu提供本地数据交互;计算模块,用于处理所述cnu所接收的计算任务;和彼此独立且大小相同的多个高带宽缓存hbm,其中,所述cnu的内部数据流向定义为第一数据流向和第二数据流向,所述第一数据流向发起于所述远程通讯模块再经过至少一个hbm和所述计算模块后结束于所述本地通讯模块,所述第二数据流向发起于所述本地通讯模块再经过至少一个hbm和所述计算模块后结束于所述远程通讯模块,其中,所述多个hbm中的每一个hbm被调用后处在所述第一数据流向或者所述第二数据流向并且该hbm的工作模式根据该hbm所处的数据流向确定,其中,处在所述第一数据流向的hbm的工作模式是网络数据处理模式,处在所述第二数据流向的hbm的工作模式是本地数据处理模式,其中,所述cnu配置为可动态调整所述多个hbm中工作在所述网络数据处理模式的hbm的个数和/或所述多个hbm中工作在所述本地数据处理模式的hbm的个数。2.根据权利要求1所述的cnu,其特征在于,所述多个hbm的个数是偶数,所述多个hbm由第一类hbm和第二类hbm组成,所述第一类hbm的个数与所述第二类hbm的个数相同,所述第一类hbm的工作模式均是所述网络数据处理模式,所述第二类hbm的工作模式均是所述本地数据处理模式。3.根据权利要求1所述的cnu,其特征在于,所述cnu还用于通过调整所述多个hbm中各个hbm的工作模式而使得所述cnu处在多种预设工作状态中的一种预设工作状态,其中,所述多种预设工作状态根据所述多个hbm中工作在所述网络数据处理模式的hbm的个数相对于所述多个hbm中工作在所述本地数据处理模式的hbm的个数的比例确定。4.根据权利要求1所述的cnu,其特征在于,所述cnu还用于通过调整所述多个hbm中各个hbm的工作模式而使得所述cnu处在多种预设工作状态中的一种预设工作状态,其中,所述多种预设工作状态包括:本地单向工作状态,其中,当所述cnu处在所述本地单向工作状态时,所述多个hbm中工作在所述网络数据处理模式的hbm的个数小于所述多个hbm中工作在所述本地数据处理模式的hbm的个数;网络单向工作状态,其中,当所述cnu处在所述网络单向工作状态时,所述多个hbm中工作在所述网络数据处理模式的hbm的个数大于所述多个hbm中工作在所述本地数据处理模式的hbm的个数相同;双向工作状态,其中,当所述cnu处在所述双向工作状态时,所述多个hbm中工作在所述网络数据处理模式的hbm的个数等于所述多个hbm中工作在所述本地数据处理模式的hbm的个数。5.根据权利要求4所述的cnu,其特征在于,所述多个hbm是两个hbm,当所述cnu处在所述本地单向工作状态时所述两个hbm均工作在所述本地数据处理模式,当所述cnu处在所述网络单向工作状态时所述两个hbm均工作在所述网络数据处理模式,当所述cnu处在所述双向工作状态时所述两个hbm分别工作在所述本地数据处理模式和所述网络数据处理模式。
6.根据权利要求4所述的cnu,其特征在于,所述cnu还用于通过在所述多种预设工作状态之间切换来提供可变网络数据处理能力和/或可变本地数据处理能力。7.根据权利要求5所述的cnu,其特征在于,所述cnu还包括本地通讯接口和网络通讯接口,其中,所述本地通讯接口与所述本地通讯模块连接,所述网络通讯接口与所述远程通讯模块连接。8.一种cnu组,其特征在于,所述cnu组包括多个根据权利要求1至7中任一项所述的cnu,其中,所述cnu组所包括的所述多个cnu通过共用的开关来并行化执行计算和数据通讯。9.一种计算网络,其特征在于,所述计算网络包括多个计算节点,所述多个计算节点中的至少一个计算节点包括根据权利要求1至7中任一项所述的cnu,该至少一个计算节点通过所述cnu实现两个本地计算节点之间的互联,两个网络计算节点之间的互联,或者本地计算节点和网络计算节点之间的互联。10.一种计算节点,其特征在于,所述计算节点包括:至少一个本地处理器;本地交互开关;网络连接开关;和至少一个cnu,所述至少一个cnu并行连接在所述本地交互开关和所述网络连接开关之间,其中,针对所述至少一个cnu中的每一个cnu,该cnu包括:远程通讯模块,用于为该cnu提供网络通讯;本地通讯模块,用于为该cnu提供本地数据交互;计算模块,用于处理该cnu所接收的计算任务;和彼此独立且大小相同的多个高带宽缓存hbm,其中,该cnu的内部数据流向定义为第一数据流向和第二数据流向,所述第一数据流向发起于所述远程通讯模块再经过至少一个hbm和所述计算模块后结束于所述本地通讯模块,所述第二数据流向发起于所述本地通讯模块再经过至少一个hbm和所述计算模块后结束于所述远程通讯模块,其中,所述多个hbm中的每一个hbm被调用后处在所述第一数据流向或者所述第二数据流向并且该hbm的工作模式根据该hbm所处的数据流向确定,其中,处在所述第一数据流向的hbm的工作模式是网络数据处理模式,处在所述第二数据流向的hbm的工作模式是本地数据处理模式,其中,该cnu配置为可动态调整所述多个hbm中工作在所述网络数据处理模式的hbm的个数和/或所述多个hbm中工作在所述本地数据处理模式的hbm的个数。11.根据权利要求10所述的计算节点,其特征在于,所述本地交互开关是pcie开关或者具备dma功能,所述网络连接开关具备rdma功能。12.根据权利要求10所述的计算节点,其特征在于,针对所述至少一个cnu中的每一个cnu,该cnu还用于通过调整所述多个hbm中各个hbm的工作模式而使得该cnu处在多种预设工作状态中的一种预设工作状态,其中,所述多种预设工作状态包括:本地单向工作状态,其中,当该cnu处在所述本地单向工作状态时,所述多个hbm中工作
在所述网络数据处理模式的hbm的个数小于所述多个hbm中工作在所述本地数据处理模式的hbm的个数;网络单向工作状态,其中,当该cnu处在所述网络单向工作状态时,所述多个hbm中工作在所述网络数据处理模式的hbm的个数大于所述多个hbm中工作在所述本地数据处理模式的hbm的个数相同;双向工作状态,其中,当该cnu处在所述双向工作状态时,所述多个hbm中工作在所述网络数据处理模式的hbm的个数等于所述多个hbm中工作在所述本地数据处理模式的hbm的个数。13.根据权利要求12所述的计算节点,其特征在于,针对所述至少一个cnu中的每一个cnu,所述多个hbm是两个hbm,当该cnu处在所述本地单向工作状态时所述两个hbm均工作在所述本地数据处理模式,当该cnu处在所述网络单向工作状态时所述两个hbm均工作在所述网络数据处理模式,当该cnu处在所述双向工作状态时所述两个hbm分别工作在所述本地数据处理模式和所述网络数据处理模式。14.根据权利要求12所述的计算节点,其特征在于,针对所述至少一个cnu中的每一个cnu,该cnu还用于通过在所述多种预设工作状态之间切换来提供可变网络数据处理能力和/或可变本地数据处理能力。15.根据权利要求14所述的计算节点,其特征在于,所述计算节点的整体网络数据处理能力和整体本地数据处理能力根据所述计算节点的所述至少一个cnu中的每一个cnu的所述可变网络数据处理能力和所述可变本地数据处理能力确定。16.根据权利要求14所述的计算节点,其特征在于,所述计算节点的整体网络数据处理能力和整体本地数据处理能力通过设定所述计算节点的所述至少一个cnu中的每一个cnu各自的预设工作状态来调节。17.根据权利要求10至16中任一项所述的计算节点,其特征在于,所述至少一个cnu所包括的所述多个cnu通过共用的开关来并行化执行计算和数据通讯。18.根据权利要求10至16中任一项所述的计算节点,其特征在于,所述计算节点通过所述至少一个cnu实现两个本地计算节点之间的互联,两个网络计算节点之间的互联,或者本地计算节点和网络计算节点之间的互联。
技术总结本申请涉及一种融合计算和通信的计算网络单元(CNU)、计算节点及计算网络。CNU包括:远程通讯模块;本地通讯模块;计算模块;和彼此独立且大小相同的多个高带宽缓存HBM。第一数据流向发起于远程通讯模块再经过至少一个HBM和计算模块后结束于本地通讯模块,第二数据流向发起于本地通讯模块再经过至少一个HBM和计算模块后结束于远程通讯模块。HBM被调用后处在第一或者第二数据流向并且工作模式根据所处数据流向确定。处在第一数据流向的是网络数据处理模式,处在第二数据流向的是本地数据处理模式。CNU可动态调整在网络数据处理模式的HBM的个数和/或在本地数据处理模式的HBM的个数。如此融合高速计算和高速网络通讯。如此融合高速计算和高速网络通讯。如此融合高速计算和高速网络通讯。
技术研发人员:王玮
受保护的技术使用者:深圳致星科技有限公司
技术研发日:2022.03.30
技术公布日:2022/7/5