分布式交换机上的可扩展数据中心网络拓扑的制作方法

文档序号:19227480发布日期:2019-11-26 02:42阅读:314来源:国知局
分布式交换机上的可扩展数据中心网络拓扑的制作方法

本发明一般涉及数据中心网络结构,更具体地,涉及构建具有反映网络方面的所有约束的多个节点的数据中心网络结构。本发明还涉及一种用于在数据中心网络中对多个节点联网的方法,以及一种计算机程序产品。



背景技术:

云计算数据中心在大小和能力方面不断增长。这包括计算节点的数量。计算节点可以被视为数据中心的三个元素之一:节点,交换机和网络连接。另外,需要考虑路由协议。如今,云数据中心(dc)托管了数千个活动节点,每个数据中心趋向于流向数万个节点。每个节点可以是服务器(单个,smp[对称多处理],小型集群),存储器或加速器。所有这些节点需要通过一个(或几个)部分dc网络互连。许多网络拓扑都是众所周知的,现在已经完全理解:许多版本的树结构(全部到全部(又名“全网格”)、2d/3d网格2d/3d圆环、树、胖树、xgft、蜻蜓式、蜻蜓+式、2层蜻蜓式、汉明图、hyperx等等),每个都有一个或几个网络级别。通常,对于云计算数据中心,有一些基本目标:增加互连节点的数量,具有高性能的路由协议,并且实现上述目标同时满足如成本、延迟和带宽(即性能)以及ras功能(可靠性,可用性和可维护性)等重要边界条件。

然而,每个网络拓扑具有相同的基本问题:给定节点的数量,节点的物理空间要求规定节点之间的间距将大于高速(10+gbps)电缆能够桥接的间距(这由物理定律给出)。结果,除了网络交换机之外,还需要许多光缆来实现上述网络拓扑之一。一个(最终极端)示例:对于1024个节点的全网连接,将需要约500,000个光缆。如果这些每个是100gbps以太网连接,当前大路货价格约为1,500美元/电缆,这增加了大约7.85亿美元的dc成本,或者说每节点增加了767k美元!因此,需要一种网络结构,其最小化光学(距离>约5m)电缆的数量。更一般地说:传统网络拓扑可以解决云计算数据中心的节点扩展方面,但同时优化其他边界条件也非常困难。

有几个与数据中心网络结构有关的公开内容。文献us2010/0020806a1公开了一种方法,包括在耦合到多个交换机的交换机处接收数据分组。交换机可以从包括多个前缀的第一级表确定与所接收的分组的目的地地址的第一部分匹配的前缀。当第一级表的匹配前缀与第二级表相关联时,交换机还可以从包括多个后缀的第二级表确定与所接收的分组的目的地地址的第二部分匹配的后缀。该结构用于数据中心通信结构的实现,该数据中心通信结构使用具有基本相同大小和容量的多个较小的单个交换机提供具有显著容错的可扩展通信带宽。

文献us9166886b1公开了一种用于确定包括多个节点的网络的物理拓扑的系统。每个节点包括一个多芯片高层交换机。多芯片高层交换机中的每个芯片包括多个端口。网络配置模块被配置为通过迭代过程将物理连接分配给较高层交换机的相应芯片端口。迭代过程包括选择多个路由的第一路由,为所选路由的源节点、具有奇数个空闲端口的第一芯片上的第一部分签名。

已知解决方案的一个缺点在于,底层网络特性的优化主要仅根据诸如所选择的网络架构、每个交换机的端口数量、网络维度(2d,3d,nd)一跳连接的达到,所需的总跳数,等等中的一个作为可能的变量来进行。

然而,可能需要仅在一个方向上克服优化的这种限制。这尤其可以应用于反映上述边界的优化以及包括数百或数千个节点的大型数据中心中的短距离和长距离网络连接的相关成本。



技术实现要素:

本部分旨在包括示例而非旨在进行限制。

根据本发明的示例实施例,提供了一种包括多个节点的数据中心网络结构。该数据中心网络结构包括:至少十个基本单元,每个基本单元包括通过多主机nic控制器的南向连接连接的第一节点集合,所述多主机nic控制器具有北向比南向更高的总带宽;包括十个基本单元的超级单元,其各自的多主机nic控制器以改进的peterson图形形式连接为组内网络,使得超级单元的十个基本单元包括三组,每组包括十个基本单元中的三个,其中每个所述多主机nic控制器适于使用三个北向连接以直接连接到超级单元的三个其他基本单元,并且其中每组的两个基本单元经由第四组内北向连接中相应的一个连接到所述另外两组之一,并且所述十个基本单元中的剩余基本单元,其不是三个基本单元的三组之一的一部分,适于使用三个北向连接以直接连接到三组中的每组中的基本单元,并且其中所述多主机nic控制器被配置为蜻蜓式交换机。

根据本发明的另一示例实施例,提供了一种用于将数据中心网络结构中的多个节点联网的方法。该方法包括:连接至少十个基本单元,每个基本单元包括具有多主机nic控制器的南向连接的第一连接节点集合,所述多主机nic控制器具有北向比南向更高的总带宽,将十个基本单元与它们各自的多主机nic控制器以修改的peterson图形式连接形成组内网络以构建超级单元,使得超级单元的十个基本单元包括三组,每组包括十个基本单元中的三个,其中每个基本单元中的每一个多主机nic控制器使用三个北向连接以直接连接到超级单元的三个其他基本单元,并且其中每组的两个基本单元经由第四北向连接中的相应一个连接到所述三个基本单元的另外两组之一个,并且所述十个基本单元中的剩余基本单元,其不是三个基本单元的三组之一的一部分,适于使用三个北向连接以直接连接到三组中的每组中的基本单元,其中所述多主机nic控制器被配置为蜻蜓式交换机。

根据本发明的又一示例实施例,提供了一种用于将数据中心网络中的多个节点联网的计算机程序产品。该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有嵌入其中的程序指令,所述程序指令可由一个或多个计算系统执行以使所述一个或多个计算系统:连接至少十个基本单元,每个基本单元包括具有多主机nic控制器的南向连接的第一连接节点集合,所述多主机nic控制器具有北向比南向更高总带宽,将十个基本单元与其各自的多主机nic控制器以修改的peterson图形形式连接为用于构建超级单元的组内网络,使得超级单元的十个基本单元包括三组,每组包括十个基本单元中的三个,其中每个所述多主机nic控制器使用三个北向连接以直接连接到超级单元的三个其他基本单元,其中每组的两个基本单元经由第四北向连接中的相应一个连接到另外两组中的一组,其中所述多主机nic控制器被配置为蜻蜓式交换机。

附图说明

仅通过举例的方式,并参考以下附图,将描述本发明的优选实施例,其中:

图1示出了根据本发明示例性实施例的数据中心网络结构的框图;

图2显示了传统上用于在数据中心中构建网络的peterson图;

图3示出了根据本发明示例性实施例的图1的组内网络作为具有节点和蜻蜓式交换机的一个块;

图4示出了根据本发明示例性实施例的多主机nic连接器;

图5a,5b示出了根据本发明示例性实施例的蜻蜓式交换机的概念;

图6示出了根据本发明示例性实施例的组合成表示为机箱(chassis)的超级单元的基本单元;

图7示出了根据本发明示例性实施例的两个机架(rack)的组合;

图8示出了根据本发明示例性实施例的构建数据中心网络的z维组的10个y维组;

图9示出了根据本发明示例性实施例的数据中心的网络的w维度;

图10示出了根据本发明示例性实施例的表示用于数据中心网络中的多个节点联网的方法的框图;

图11示出了根据本发明示例性实施例的适用于网络中使用的计算系统节点的框图的实施例。

具体实施方式

应该注意,参考不同的主题描述了本发明的实施例。具体地,参考方法类型权利要求描述了一些实施例,而已经参考装置类型权利要求描述了其他实施例。然而,除非另有通知,否则本领域技术人员将从以上和以下描述中收集,除了属于一种类型主题的特征的任何组合之外,还涉及与不同主题相关的特征之间的任何组合,特别地,在方法类型权利要求的特征与装置类型权利要求的特征之间的任意组合,被认为在本文件中公开。

根据下文将描述的实施例的示例,本发明的上述方面和其他方面是显而易见的,并且参考实施例的示例进行解释,但本发明不限于此。

在下文中,将给出对附图的详细描述。图中的所有说明都是示意性的。首先,给出了本发明的数据中心网络结构的实施例的框图。然后,将描述另外的实施例,以及用于数据中心网络中的多个节点联网的方法的实施例。

在本说明书的上下文中,可以使用以下约定,术语和/或表达:

术语“数据中心网络结构”可以表示数据中心中的节点之间的数据交换网络的拓扑,该数据中心包括多个体系结构同构或异构的节点。

术语“节点”可以表示配备有至少一个服务器和一个多主机nic连接器的计算节点、加速器节点、存储节点或类似节点。节点本身可以配置有单个cpu或多cpu计算节点。该节点还可以表示为包括服务器和多主机nic控制器的基本单元。给定模具可用的多主机nic控制器,每个多主机nic控制器具有两个、三个甚至四个服务器的版本也是可能的。

术语“基本单元”可以表示网络拓扑中的节点,例如,实现为刚刚描述的节点。基本单元可以包括使用例如基于连接的南向pcie的多主机nic控制器。但是,服务器和多主机nic控制器之间的替代连接技术也是可能的。基本单元也可以表示为“插板”。

术语“多主机nic控制器”可以表示支持单个根io虚拟化(sr-vio)的网络适配器,其实现为在适配器的物理端口和内部虚拟端口(vport)之间转发网络流量的硬件桥。这种桥也称为nic交换机。每个nic交换机至少包括以下组件:(i)一个外部或物理端口,其提供到外部物理网络的网络连接;(ii)一个内部报告,其在网络适配器上提供可访问外部物理网络的pciexpress(pcie)物理功能(fp)。内部端口也称为虚拟端口(vport)。物理功能可以始终具有可以被创建并分配给它的vport。此vport称为默认vport,可由default-vport-id标识符引用;(iii)此外,可以使用一个或多个vport,其可以在网络适配器上提供对外部物理网络的访问的pcie虚拟功能(vf)。

术语“交换机”或网络交换机(也称为交换集线器、桥接集线器、正式mac桥接器)是通过使用分组交换来接收、处理和转发数据到目的地设备而在计算机网络上将设备连接在一起的计算机网络设备。与不太先进的网络集线器不同,网络交换机仅将数据转发到需要接收它的一个或多个设备,而不是从每个端口广播相同的数据。

术语“北向”可以表示网络交换机的上行链路侧。该表达式通常与表示网络交换机的下行链路侧的南向连接形成对比。

这里,网络交换机的术语“总带宽”可以表示网络交换机的所有北向端口的总和。

术语“超级单元”可以表示一组10个基本单元(例如,每个基本单元配置有最少的一个计算节点和一个多主机nic控制器)以这里讨论的修改的peterson图形式连接。超级单元也可以表示为具有10个基本单元或简单机箱的机箱。

术语“蜻蜓式交换机”可以表示以构建虚拟交换机的形式彼此连接的至少两个网络交换机。先决条件可能是北向带宽的总和高于南向带宽的总和。超出的北向容量可以用作北向交换容量,而不会影响每个单独交换机的性能和吞吐量(也可以比较图3)。

术语“服务器”可以表示计算服务器、加速器和存储服务器或类似形式的基本单元的组件。服务器或第一组服务器的组可以表示数据网络中的节点。

术语“x维度单元”可以表示构建数据中心网络的一个维度的多个基本单元。在这里讨论的实施例中,x维单元可以包括4个超级单元(即机箱)每个机箱包括10个基本单元,即节点。

术语“y维度组”可以表示数据中心网络拓扑的另一维度。在这里讨论的实施例中,y维度可以包括4个x维度单位。

术语“pod”可以表示多个或多或少商品化的服务器组件,用于使用裸露的19英寸机架创建高性能计算平台,并用具有1到4u形状因子的服务器填充它们。数据中心pod的其他所需组件是用于在不同服务器之间传输数据的网络和数据交换和路由技术。

图1示出了根据示例性实施例的数据中心网络结构的实施例的框图。数据中心网络结构包括多个基本单元102、104、...、120。每个基本单元包括第一组节点。每个节点可以是计算节点、存储节点、加速器节点或类似物。基本单元102、104、...、120内的每个节点连接到多主机nic控制器的南向连接。节点可以通过pcie(外围组件互连快速)连接连接到基本单元102、104、...、120中的每一个中的多主机nic控制器。多主机nic控制器的北向总带宽高于南向。

基本单元102、104、...、120中的十个构建了超级单元100(也表示为“机箱”)。基本单元以修改的peterson图形式连接为组内网络。基本单元102、104、...、120的每个多主机nic控制器适于使用三个北向连接122、124、126,以直接连接到其他三个基本单元。每个基本单元102、104、...、120的三个连接仅示例性地使用基本单元108示出。刚才描述的三个连接(在基座单元108的情况下)表示为122、124、126,并且它们直接将基座单元106、104和102与基座单元108连接。对于每个基本单元102、104、...、120,在图1中可以识别具有3个连接的类似连接几何形状。

可以注意到,在超级单元100中存在三组三个基本单元,其中仅需要一跳来到达该组的每个成员。这些组是:(a)基本单元104、106、108,(b)基本单元110、112、114,(c)基本单元116、108、120。

此外,每组三个基本单元中的两个基本单元(即每组的外边缘处的那些基本单元,即104/108、110/114和116/120),通过相应的第四北向连接,连接到三个基本单元的另外两组之一。作为示例:组(a)的基本单元104连接到组(b)的基本单元110,组(a)的基本单元108连接到组(c)的基本单元120。可以看出,基本单元102不属于组(a),(b),(c)中的任何组。

这样,保证了在3个基本单元的每组内存在1跳连接。还可以注意到,多主机nic控制器被配置为蜻蜓式交换机,这也将在后面描述。

另外,还可以注意到,基本单元可以包括上述节点类型(计算节点、存储节点、加速器节点)。在一个实施例中,基本单元可以是包括多达4个节点的插板。然而,示例性插板可包括一个双插槽(即,用于2个cpu)服务器。每个cpu可以具有至少一个相关的pcie连接,用于将其连接到插板或基本单元内的多主机nic控制器。第二pcie连接还可用于将相应的cpu连接到服务器中包括的多主机nic控制器,以便将从服务器到网络的可用带宽加倍。更多细节可以在图3中看到。

图2示出了传统上用于在数据中心中构建网络的peterson图200。节点202、204、...、220以所示方式连接。节点202、204、...、220中的两个之间的每个链路表示网络连接。如可以容易地看到的,从节点202、204、...、220中的任何一个开始,可以使用2跳建立与peterson图形式网络中的任何其他节点的连接。这与如上所述的修改的peterson图结构形成对比,如上所述,其不表示全部到全部二跳网络结构,但允许修改后的peterson图形式网络的子组(a)、(b)、(c)中的1跳连接。peterson图结构类型网络将在以后使用。

现在再次回到图1:在数据中心网络结构100中,三个基本单元的三组(a)、(b)、(c)中的每一个中的每个基本单元104...106、110...114、116......120)包括至少一个(第五个)北向连接128、130、132(仅具有基本单元104...106的组(a)中的那些具有附图标记),使得三个基本单元的每组启用三组出站连接。它们表示为数据中心网络结构的北向x维连接,数据中心网络结构的北向y维连接以及数据中心网络结构的北向z维连接。

在一个实施例中,“未组合的”中央基本单元102还包括这样的附加连接134,其可以用作到修改的peterson图形式的组内网络的服务连接或用作对用户数据i/o(输入/输出)连接。

根据一个实施例,三个基本单元的组中的每个基本单元不包括第五北向组内连接(即,中间基本单元106、112、118)还包括可用作在数据中心网络结构的w维度中建立四个附加北向连接136的附加服务连接的附加北向电连接。

结合以上所有内容,到达图3,其示出了图1的组内网络作为具有节点308的一个块(仅10个中的一个具有附图标记)和在x、y、z和w维度中具有可能的网络连接的(虚拟)蜻蜓式交换机302(在下面进一步解释)。从图1可以得出,在数据中心网络中,在x方向上有3个北向连接,在y方向上有3个北向连接,在z方向上有3个连接,有w方向的4个连接。另外,示出了u连接(比较图1中的134)以及2个附加的潜在服务连接's'。

示例性地,10次中的2次2个框304和306(也具有示例性参考标号)被环绕并且表示双插槽服务器。从10个服务器的20个cpu中的每一个,实线310(为清楚起见,仅示出一个示例性参考标号)表示从相应cpu到其多主机nic连接器的pcie连接,多主机nic连接器组合所有10个多主机nic连接器构建为虚拟蜻蜓式交换机302。在cpu和虚拟蜻蜓式交换机302之间的虚线312(仅20中的一个具有示例性的参考标号)可以表示(在另外的实施例中)从cpu到相关的基本单元/插板(图1的参考号102...120)的相关的多主机nic连接器的另外的可选pcie连接。

注意,除了pcie连接之外的连接也可以用在其他实施例中。还应注意,对于任何所述连接,可以使用电连接(电缆)或光学连接(电缆)。然而,优选使用光缆用于物理上更长的距离。

基于该核心结构(也称为“超级单元”或“机箱”)可以构建更大的数据中心网络。然而,在详述该方面之前,将解释多主机nic控制器以及相关且已经引用的蜻蜓式结构的一些细节。

图4示出了多主机nic控制器400的实施例。它可以作为包括多主机nic内部交换机412的网络交换机操作。南向多nic内部交换机412包括网络接口控制器401、…、410。可以使用南向节点连接414(例如,经由pcie连接)来连接两个节点或服务器。北向,多个端口416...428(例如,4×25gbps的连接组)是可用的。它们可以根据不同的规则和优先级进行分组。在一个实施例中,使用3×100gbps连接,每个超级单元10个基本单元,即每个机箱10个插板,北向端口416和418可以用作x维全部到全部网络。

端口422的四个附加连接可以用作附加ras连接(可靠性、可用性和可服务性)。可以优选地使用其他端口424。最后,端口426和428用作2倍100gbps端口,用于缩放到其他维度,即y维度、z维度和w维度。可以再次注意,可以通过电缆或光缆启用到多主机nic连接器400的所有北向连接。此外,值得一提的是,多主机nic内部交换机412可以是,例如,基于来自intel的红岩连接器(redrockconnector)。

图5a、5b示出了蜻蜓式交换机的概念。参考图5a,可以假设南向端口401...410具有比多nic内部交换机412的北向端口更小的带宽。如果是这种情况,则所有南向连接的服务器可以使用使用完整的南向带宽进行通信,还在多主机nic内部交换机412的北向侧留下额外的过剩带宽502。可以利用北向侧的该过剩带宽504来构建包括至少2两个多主机nic连接器400的分布式交换机。但是,存在避免交换机超额预订的边界条件:组合的nic节点带宽加上北向的分布式交换机带宽应小于或等于内部交换机带宽容量。

然而,互连的基本单元(比较图1)用于构建更大的虚拟分布式交换机。两个多主机nic连接器的组合构建了从节点到外部连接的蜻蜓式多主机nic控制器带宽。

参考图5b,虚线506指的是如此构建的蜻蜓式交换机500的外部交换容量,而实线508指的是从南向nic401...410到北向端口的或者通过左侧的多主机nic控制器400或者通过右侧的多主机nic控制器400的交换连接。

图6示出了组合到超级单元602...618,也表示为机箱602...618,的基本单元102(仅代表性的使用了参考标号)。这些超级单元602...618中的每一个包括10个基本单元(其中一个具有参考号102,比较图1)。这些超级单元中的四个(即基本单元602、604、606、608)被组合成x维组。这种x维度组610构建网络的x维度,即40个基本单位。这些x维度组610、620中的两个可以组合在一个工业标准机架600中。两个机箱610、620之间的虚线622示出了机架600中的分离逻辑。每个超级单元内的圆圈和将它们链接在一起的线条表示四个相关机箱602、604、606、608和612、614、616、618各自的全部到全部的连接。可以注意到,从每个机箱,三个连接到x维组610、620的另一个机箱之一。

图7示出了两个机架600的组合。这构建了示例性网络的y维组700。此外,4机箱各自的全部到全部的连接以圆圈形式显示(每个机箱一个)连接到相关的其他机箱。可以注意到,每个x层(即x维度组)水平跨越两个机架。

图8示出了构建数据中心的网络的z维度组804的10个y维组。y维组中的一个是虚线环绕的802。10个y维组802没有以全部到全部的方式连接,而是以如上所述的petersen图200的形式连接(比较图2)。10个双机架802也可以表示为网络的平面。因此,z维度显示为10个平面。

图9示出了数据中心的网络的w维度。这里,五个超平面(即,z维度组804)与20个机架组之间使用全对对全部的连接组合。总共1600条电缆(例如光缆)可用于构建完整的数据中心网络pod900。较短距离的网络电缆可以是电连接。

如果在一个实施例中对于x维度和y维度可以使用电连接并且在z维度中可以使用光缆,则需要160条光缆(10条电缆×2列×8机架)。如果w维度也可以与光缆连接,那么总共2400根光缆可能必须连接到每个pod的8000个基本单元/插板的4800个光学端口。这可能代表60%光学端口的平均使用率。因此,数据中心pod的100个机架可以与2400个光缆连接,这数量可以代表比通常需要8000个基本单元(节点)的传统pod低得多的数量,因此网络成本更低。

图10示出了用于将数据中心网络中的多个节点联网的方法1000的实施例的框图。该方法包括在1002连接多个基本单元,每个基本单元包括具有多主机nic控制器的南向连接的第一连接节点集。多主机nic控制器的北向总带宽高于南向。

该方法还包括在1004以修改的peterson图形式将10个基本单元与其各自的多主机nic控制器连接,作为构建超级单元的组内网络,其中每个多主机nic控制器正在使用三个用于直接连接到其他三个基本单元的北向连接,并且其中三个基本单元的每组的两个基本单元经由第四北向连接中的相应一个连接到三个基本单元的另外两组中的一个。方法1000还包括在1006将两个多主机nic控制器连接作为相应的蜻蜓式交换机。因此,交换机的北向连接的一部分用于蜻蜓式交换机的组内网络端口。

本发明的实施例可以与几乎任何类型的计算机一起实现,而不管平台是否适合于存储和/或执行程序代码。作为示例,图11示出了适合于执行与所提出的方法有关的程序代码并且还作为计算节点的示例的计算系统1100。

计算系统1100仅是合适的计算机系统的一个示例,并不旨在对本文描述的本发明的实施例的使用范围或功能提出任何限制。无论如何,计算机系统1100能够实现和/或执行上文阐述的任何功能。在计算机系统1100中,存在可与许多其他通用或专用计算系统环境或配置一起操作的组件。可适用于计算机系统/服务器1100的众所周知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户端、胖客户端、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络pc、小型计算机系统、大型计算机系统、以及包括任何上述系统或设备的分布式云计算环境等。计算机系统/服务器1100可以在由计算机系统1100执行的计算机系统可执行指令(例如程序模块)的一般上下文中描述。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的等等的例程、程序、对象、组件,逻辑、数据结构等。计算机系统/服务器1100可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。

如图所示,计算机系统/服务器1100以通用计算设备的形式表现。计算机系统/服务器1100的组件可以包括但不限于:一个或者多个处理器或者处理单元1102,系统存储器1104,连接不同系统组件(包括系统存储器1104和处理单元1102)的总线1106。总线1106表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线、微通道体系结构(mac)总线、增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线、互连(pci)总线、特别是外围组件互连快速(pcie)总线。外部设备1119,特别是多主机nic可以直接连接到总线1106,或者可以通过i/o接口块(1114)连接。计算机系统/服务器1100通常包括各种计算机系统可读介质。这样的介质可以是计算机系统/服务器1100可访问的任何可用介质,并且它包括易失性和非易失性介质,可移动和不可移动的介质。

系统存储器1104可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)1108和/或高速缓存存储器1110。计算机系统/服务器1110可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统1112可以用于读写不可移动的、非易失性磁介质(图中未显示,通常称为“硬盘驱动器”)。尽管图中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线1106相连。存储器1104可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块1116的程序/实用工具1115,可以存储在例如存储器1104中,这样的程序模块1116包括(但不限于)操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块1116通常执行本发明所描述的实施例中的功能和/或方法。

计算机系统/服务器1100也可以与一个或多个外部设备1118(例如键盘、指向设备、显示器1120等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器1100交互的设备通信,和/或与使得该计算机系统/服务器1100能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口1114进行。并且,计算机系统/服务器1100还可以通过网络适配器1122与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器1122通过总线1106与计算机系统/服务器1100的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器1100使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

可以注意到,上述基本单元可以以计算系统1100的形式实现。然而,在一个实施例中,计算系统1100可以以双插槽服务器的形式实现。在那种情况下,如技术人员所知,一些其他组件也可以是两次可用的。

根据本发明的一个方面,可以提供包括多个节点的数据中心网络结构。数据中心网络结构可以包括多个基本单元,每个基本单元包括通过多主机nic控制器的南向连接连接的第一节点集合。多主机nic控制器的北向总带宽可能高于南向。

数据中心网络结构还可以包括超级单元,该超级单元包括十个基本单元,其中各自的多主机nic控制器以修改的peterson图形形式连接为组内网络,其中每个多主机nic控制器适用于使用三个北向连接直接连接到其他三个基本单元,并且其中三个基本单元的每组的两个基本单元可以通过第四北向连接中的相应一个连接到三个基本单元中另外两组的一个。此外,多主机nic控制器可以配置为蜻蜓式交换机。

根据本发明的另一方面,可以提供一种用于将数据中心网络中的多个节点联网的方法。该方法可以包括连接多个基本单元,每个基本单元包括具有多主机nic控制器的南向连接的第一连接节点集合。多主机nic控制器的北向总带宽可能高于南向。

该方法还可以包括以修改的peterson图形形式将十个基本单元与它们各自的多主机nic控制器连接,作为构建超级单元的组内网络,其中基本单元的每个多主机nic控制器是使用三个北向连接直接连接到其他三个基本单元,并且其中三个基本单元的每组的两个基本单元通过第四北向连接中的相应一个连接到三个基本单元中另外两组的一个。多主机nic控制器可以配置为蜻蜓式交换机。

此外,实施例可以采取相关计算机程序产品的形式,可从计算机可用或计算机可读介质访问,该计算机可用或计算机可读介质提供程序代码以供计算机或任何指令执行系统使用或与之结合使用。为了本说明书的目的,计算机可用或计算机可读介质可以是任何装置,其可以包含用于存储、通信、传播或传输程序以供由或与其连接的指令执行系统、装置、或设备使用的装置。

所提出的数据中心网络结构可以提供多种优点和技术效果:

这里提出的数据中心网络结构的拓扑结构,使用作为核心构建块的超级单元(即机箱)由以修改的peterson图形形式配置和联网的节点网络组成,允许构建高度可扩展的平衡超过一个或两个架构约束或边界的数据中心网络拓扑。特别注意资源有效设计,以便仅在彼此具有较大距离的构建块之间需要昂贵的光缆。

修改的peterson图网络拓扑并且在10个节点核心构建块(即,超级单元或机箱)中的每个的三个节点的三组之间实现保证的1跳连接。在这种超级单元内,网络连接可以基于电连接;这同样适用于数据中心网络结构的x维和y维。物理上更远的组件(例如,数据中心网络结构的z和w维组件)可以与光缆连接。这可以通过仅在pod(交付点)中平均使用60%的光学端口来显着减少对光缆的需求,该pod包括100个机架,每个机架具有80个基本单元或节点。因此,可能只需要2.400根光缆就可以扩展到100个机架。与传统使用的数据中心网络拓扑相比,这可能代表了更具成本效益的数据中心网络拓扑。因此,这里提出的超级单元的核心构建块以改进的peterson图形形式连接,可以平衡数据中心网络的经典设计边界,即所选择的网络层次结构、每个交换机的端口数量、网络维度(2d、3d、nd),到达数据中心内目地的节点所需的一跳的范围和总跳数,以及网络成本。

在下文中,将描述数据中心网络结构的另一实施例(也适用于相关方法)。

根据数据中心网络结构的一个有利实施例,一个(即,至少一个)基本单元可以包括一个额外的北向连接,适于用作与组内网络的外部(即北向)连接。因此,超级单元可以用作核心网络拓扑结构,用于使用超级单元作为核心构建块来配置更大的数据中心网络。

根据数据中心网络结构的一个优选实施例,三组三个基本单元中的每一组中的每个基本单元可以包括至少一个北向连接,使得三个基本单元的每组可以启用三组的出站连接。这三组的出站连接中的一个可以用作数据中心网络结构的x维中的北向连接,这三组的出站连接中的另一个可以用作数据中心网络结构的y维中的北向连接,三组的出站连接中的最后一个可以用作数据中心网络结构的z维度中的北向连接。因此,所提出的拓扑可以为具有数千或10,000个计算节点、加速器、存储节点等的高度可扩展的数据中心网络构建核心结构。

根据数据中心网络结构的一个允许实施例,每个基本单元可包括至少一个服务器。但是,每个基本单元可以提供多个服务器,具体取决于所使用的多主机nic连接器的南向容量。示例性基本单元可以实现为具有一个多主机nic连接器的双插槽服务器(两个cpu插槽)。但是,代替一个双插槽服务器,其他配置是可能的:多个单插槽服务器或具有更多cpu插槽的服务器,而不仅仅是两个。另外,计算加速器(例如包括专用计算单元,例如图形计算单元、加密单元、存储节点等)也是可能的。此外,服务器的pcie连接的数量可以是可变的,以使用服务器与多主机nic控制器的南向连接之间的一个或多个连接。这可以允许基本单元的配置的高度灵活性。

根据数据中心网络结构的另外优选实施例,不属于三个基本单元的组之一的十个基本单元中的剩余基本单元也可以包括北向连接。它可以用于进一步的可扩展性选项,也可以用作超级单元的用户或管理员i/o。

根据数据中心网络结构的另一有利实施例,不包括第四北向连接的三个基本单元的组中的每个基本单元还可以包括第四北向连接,其可用作构建数据中心网络结构的w维度中的北向连接的附加连接。这些到超级单元的核心结构的附加连接可以用作数据中心网络拓扑的附加维度可扩展性选项。

根据数据中心网络结构的一个优选实施例,四个超级单元可以以全部到全部的方式连接,构建数据中心网络结构的x维单元。如果超级单元的大小可以是典型的19英寸机架的1/8,则四个超级单元需要一半这样的机架。因此,通常在数据中心中使用的电气和机械基础设施组件也可以用于高度可扩展的数据中心网络结构的超级单元的新提出的核心结构。

根据数据中心网络结构的另一优选实施例,四个x维单元(即,2个机架)可以以全部到全部的方式连接,构建数据中心网络结构的y维组。同样,它证明了在一个机箱中使用10个超级单元的所选架构正在以非常有效的方式使用可用的基础架构组件。以修改的peterson图形式配置的10个基本单元的基本结构正在有效地使用已经可用的基础设施组件。

根据数据中心网络结构的另一有利实施例,可以根据建立数据中心网络结构的z维组的(传统的)peterson图表形式连接十个y维组(即,10个平面,每个平面具有2个机架,从而产生20个机架)。可以注意到,每个peterson图包括10个节点并且内部需要15个顶点/电缆。还可以注意到,为了连接y维组的超级单元或机箱,可能需要多个peterson结构。数据中心网络结构的这个维度可能依赖于已知的拓扑。因此,将核心单元(即超级单元)的修改后的peterson图形形式与已知的数据中心网络拓扑相结合,可以实现高度可靠的、成本和资源有效的网络结构,不仅可以优化性能,还可以考虑所需以电气和/或光学形式布线的成本。

根据数据中心网络结构的一个另外的允许实施例,五个z维组可以以全部到全部的方式连接,构建数据中心网络结构的pod。这样的pod可以包括100个机架中的最少8000个服务器,其可以构建传统或可选的云计算数据中心的典型大小。

根据一些实施例,多主机nic控制器的任何另外可用的北向连接可用于实现物理上分离的服务网络。因此,可以使用另外的北向连接,其可以在“真实世界”的多主机nic中可用,以实现物理上分离的(即另外的)数据中心广域网络,其可以用于服务/管理。这样的网络在云数据中心中很重要,因为当“正常”网络由于某种原因被阻塞/中断时,数据中心运营商可以通过单独的网络访问超级单元及其节点以管理和/或服务节点和/或多主机nic。

已经出于说明的目的给出了对本发明的各种实施例的描述,但是并不旨在穷举或限制于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。选择这里使用的术语是为了最好地解释实施例的原理、实际应用或对市场中发现的技术的技术改进,或者使本领域普通技术人员能够理解本文公开的实施例。

本发明可以体现为系统,方法和/或计算机程序产品。该计算机程序产品可以包括计算机可读存储介质,其上具有计算机可读程序指令,用于使处理器执行本发明的各方面。

介质可以是用于传播介质的电子、磁、光、电磁、红外或半导体系统。计算机可读介质的示例可以包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(ram)、只读存储器(rom)、刚性磁盘和光学器件。光盘的当前示例包括压缩、只读存储器(cd-rom)、压缩读/写盘(cd-r/w),dvd和蓝光盘。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或另一个设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

这里使用的术语仅用于描述特定实施例的目的,并不意图限制本发明。如这里所使用的,单数形式“一”,“一个”和“该”旨在也包括复数形式,除非上下文另有明确说明。将进一步理解,当在本说明书中使用时,术语“包括”和/或“包含”指定所述特征、整数、步骤、操作、元件和/或组件的存在,但不排除存在或者添加一个或多个其他特征、整数、步骤、操作、元素、组件和/或其组。

以下权利要求中的所有装置或步骤加上功能元件的对应结构、材料、动作和等同物旨在包括用于结合其他要求保护的元件执行功能的任何结构、材料或动作,如具体要求保护的那样。已经出于说明和描述的目的给出了对本发明的描述,但是并不旨在穷举或将本发明限于所公开的形式。在不脱离本发明的范围的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。选择和描述实施例是为了最好地解释本发明的原理和实际应用,并使本领域普通技术人员能够理解本发明的各种实施例,其具有适合于预期的特定用途的各种修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1