发明内容
本申请实施例提出了一种云服务器及其节点互联方法、云服务器***,以解决现有技术中云服务器架构通过单一网络互联,云服务器***性能较低的技术问题。
本申请实施例提供了一种云服务器,包括在一个机柜***内部通过Rapidio网络互联的多个CPU节点,所述多个CPU节点互联形成正六面体结构,每个CPU节点均包括六条互联线路,所述CPU节点包括:
全连接节点,所述全连接节点位于正六面体的中心,所述六条互联线路均为内部互联线路;
面节点,所述面节点位于正六面体各面的内部,所述六条互联线路中五条为内部互联线路、一条为外部互联线路;
边沿节点,所述边沿节点位于正六面体各边的内部,所述六条互联线路中四条为内部互联线路、两条为外部互联线路;
角节点,所述角节点位于位于正六面体各边的端部,所述六条互联线路中三条为内部互联线路、三条为外部互联线路。
本申请实施例提供了一种云服务器***,包括上述云服务器以及集成有PCIe接口的CPU,所述CPU通过PCIe转Rapidio器件与所述云服务器互联。
本申请实施例提供了一种云服务器节点互联方法,包括如下步骤:
将在一个机柜***内的多个CPU节点通过Rapidio网络互联形成正六面体结构;每个CPU节点均包括六条互联线路;
将位于正六面体中心的全连接节点通过所述六条互联线路与所述***内其他节点互联;
将位于正六面体各面内部的面节点通过所述六条互联线路中的五条互联线路与所述***内其他节点互联;
将位于正六面体各边内部的边沿节点通过所述六条互联线路中的四条互联线路与所述***内其他节点互联;
将位于正六面体各边端部的角节点通过所述六条互联线路中的三条互联线路与所述***内其他节点互联。
有益效果如下:
本申请实施例所提供的云服务器及其节点互联方法、云服务器***,将在一个机柜***内的多个CPU节点通过Rapidio网络互联起来,形成正六面体结构,每个CPU节点均包括六条互联线路,其中位于正六面体中心的全连接CPU节点的六条互联线路均为内部互联线路,与外部没有直接互联线路,全连接节点通过这六条互联线路分别与***内部面节点互联,其他节点除与内部节点互联之外,还可以利用余下的互联线路与外部***直接互联。由于本申请实施例中,位于同一机柜***内的各节点通过Rapidio网络互联成正六面体结构,确保密度较高的同一机柜***时延较低,当需要多机柜互联扩展时,还可以根据实际需要通过Rapidio网络或者其他网络与其他***互联,充分利用各个网络的优势构建云服务器,显著提高云服务器***的性能。
具体实施方式
为了使本申请的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。
针对现有技术的不足,本申请实施例提出了一种云服务器及其节点互联方法、云服务器***,下面进行说明。
图2示出了本申请实施例中云服务器框图的后半部分结构示意图,前半部分与后半部分结构相同(图2中未示出前半部分结构)。
如图所示,所述云服务器包括在一个机柜***内部通过Rapidio网络互联的多个CPU节点,所述多个CPU节点互联形成正六面体结构,每个CPU节点包括六条互联线路,所述CPU节点包括:
全连接节点,所述全连接节点位于正六面体的中心,所述六条互联线路均为内部互联线路;
面节点,所述面节点位于正六面体各面的内部,所述六条互联线路中五条为内部互联线路、一条为外部互联线路;
边沿节点,所述边沿节点位于正六面体各边的内部,所述六条互联线路中四条为内部互联线路、两条为外部互联线路;
角节点,所述角节点位于位于正六面体各边的端部,所述六条互联线路中三条为内部互联线路、三条为外部互联线路。
在本申请实施例中,Rapidio互联网络用于各个CPU节点互联,在一个机箱或机柜***内部可以包括以下几种节点:
1)一个全连接CPU节点,如图2中所示的节点A,节点A与***内部其他CPU节点互联包括z上、z下、x左、x右、y前、y后6条互联线路,与外部没有直接互联线路;
2)***上、下、左、右、前、后六个面的面节点,仅以上面、左面进行示例说明:
***上面内部CPU面节点,如图2中所示的节点B,节点B与***内部其他节点互联包括z下、x左、x右、y前、y后5条互联线路,与外部有z上这1条直接互联线路;
***左面内部CPU面节点,图中未示出,左面内部CPU面节点与***内部其他节点互联包括z上、z下、x右、y前、y后5条互联线路,与外部有x左这1条直接互联线路;
***下面内部CPU面节点、***右面内部CPU面节点、***前面内部CPU面节点、***后面内部CPU面节点在此不做赘述。
3)边沿节点,如图2中所示的节点C,节点C与***内部其他节点互联包括z下、x左、y前、y后4条互联线路,与外部有z上、x右这2条直接互联线路;
4)角节点,如图2中所示的节点D,节点D与***内部其他节点互联包括z下、x左、y前这3条互联线路,与外部有z上、x右、y后这3条直接互联线路。
由于本申请实施例中,位于同一机柜***内的各节点通过Rapidio网络互联成正六面体结构,确保密度较高的同一机柜***内各节点之间传输的时延较低,当需要多机柜互联扩展时,还可以根据实际需要选择Rapidio网络或者其他网络与其他***互联,充分利用各个网络的优势构建云服务器,极大地提高了云服务器***的性能。
实施中,位于所述正六面体中同一面的面节点、边沿节点和角节点可以通过各自的外部互联线路与外部其他***链接。
在本申请实施例中,与外部***互联的链路包括z上、z下、x左、x右、y前、y后6组面互联链路,每组面互联链路数为相应面上节点的数目。例如,在z上这一面中,如图2所示,相应的组面互联链路数为12条,也即,有12个节点存在z上互联线路。
在多个***互联扩展时,可以通过面互联链路来实现同性质互联扩展。图3示出了本申请实施例中Rapidio互联扩展的结构示意图,如图所示,可以通过右边***的x左面互联链路组与左边***的x右面互联链路组连接,实现两个***的互联扩展。
当然,也可以通过其他面互联链路组实现扩展,例如:通过右边***的z上面互联链路组与左边***的z下面互联链路组连接,实现扩展。本申请对于采用哪个面互联链路组实现扩展不作限制。
由于Rapidio具有低时延、低抖动、易扩展等优点,本申请实施例可以直接利用各个节点在Rapidio网络中的外部互联线路,形成面互联链路,直接与外部***链接,实现本***与外部***的扩展。
实施中,未与外部其他***互联的面节点、边沿节点或角节点可以通过各自的外部互联线路环回互联。
当各个角节点或者面节点的链路,没有用于和外部***互联时,可以用来实现环回互联,如图3中左边***的左侧形成环回互联结构。
本申请实施例中将没有用于与外部***互联的面节点、边沿节点或角节点实现环回互联,使得网络中节点不再有位于中心或边缘之分,各节点在每一维度上均有两个邻节点,使得消息传递更加方便、时延更低。
实施中,所述面节点、边沿节点和/或角节点的串行吉比特介质无关接口(SGMII,Serial Gigabit Media Independent Interface)可以与串行吉比特以太网交换机SGMII Switch(或者称为千兆位以太网交换机GbE Switch)链接,所述SGMII Switch可以引出一路或多路SGMII到外部其他***。
图4示出了SGMII互联扩展的结构示意图,如图所示,正六面体同一面上的每个CPU的SGMII都链接到一个SGMII Switch,SGMII Switch出一路或多路SGMII到其他***。
发明人在发明过程中注意到,以太网互联比较适合地理上分散的、对时延要求不高的***,因此,可以用以太网互联来实现不同***之间的互联扩展。在本申请实施例中,SGMII(或者千兆位以太网GbE)在互联***中可以用于管理***与各CPU节点的互联,也可以用于多个***互联扩展,代替Rapidio面互联方式来互联各个***,以便实现远距离多个***的互联扩展。
实施中,所述全连接节点、面节点、边沿节点和/或角节点可以与PCIeSwitch链接,所述PCIe Switch可以外接扩展PCIe模块。
发明人在发明过程中注意到,PCIe互联可以对单板上的分层总线结构提供很好的支持,可以用于板上、板间和设备间的通信。在本申请实施例中,PCIe可以用于各个CPU节点与其相应的外扩功能模块的互联。
图5示出了本申请实施例中PCIe互联的结构示意图一,如图所示,可以是所有CPU节点连接到一个PCIe Switch,然后再外接一个PCIe模块,所有CPU节点可以共享这个PCIe模块。
本申请实施例中将各个节点与外接有PCIe模块的PCIe Switch连接,从而实现机柜***可以通过添加接口得到进一步完善,PCIe模块可以通过PCIexpress通道与主板连接等。
实施中,所述全连接节点、面节点、边沿节点或角节点可以直接与PCIe模块链接。
在本申请实施例中,可以是单个CPU节点直接连接到一个PCIe模块,独享该PCIe模块。图6示出了PCIe互联的结构示意图二,如图所示,节点A可以直接连接到外扩PCIe模块。
采用上述方式,使得机柜***中的某个节点可以独享该PCIe模块。
在本申请实施例中,***内部可以包括RapidIO、SGMII(GbE)、PCIe多种互联网络,在具体实施时,可以根据各个互联网络的特点有选择的实现云服务器***之间的扩展。
基于同一发明构思,本申请实施例中还提供了一种云服务器***,包括上述云服务器以及集成有PCIe接口的CPU,所述CPU通过PCIe转Rapidio器件与所述云服务器互联。
目前的CPU架构主要为Intel、AMD的X86,IBM、FREESCALE等的PowerPC MISC,在X86架构中没有集成Rapidio链路接口,在PowerPC MISC中有一些是有Rapidio链路接口的。在具体实施时,集成Rapidio接口的可以直接实现本申请的Rapidio互联架构,没有Rapidio接口的,可以通过PCIe转Rapidio器件实现Rapidio接口,实现Rapidio互联架构。
因为大部分CPU都集成有PCIe接口,通过PCIe转Rapidio器件,即可把大部分CPU接入到本申请实施例的Rapidio互联***。在具体实施中,所述CPU可以通过PCIe转Rapidio器件与所述云服务器的面节点、边沿节点或者角节点互联,本申请对此不作限制。
基于同一发明构思,本申请实施例中还提供了一种云服务器节点互联方法,下面进行说明。
图7示出了本申请实施例中云服务器节点互联方法实施的流程示意图,如图所示,所述方法可以包括如下步骤:
步骤701、将在一个机柜***内的多个CPU节点通过Rapidio网络互联形成正六面体结构;每个CPU节点均有六条互联线路;
步骤702、将位于正六面体中心的全连接节点通过所述六条互联线路与所述***内其他节点互联;
步骤703、将位于正六面体各面内部的面节点通过所述六条互联线路中的五条互联线路与所述***内其他节点互联;
步骤704、将位于正六面体各边内部的边沿节点通过所述六条互联线路中的四条互联线路与所述***内其他节点互联;
步骤705、将位于正六面体各边端部的角节点通过所述六条互联线路中的三条互联线路与所述***内其他节点互联。
实施中,所述方法可以进一步包括:
将位于所述正六面体同一面的面节点、边沿节点和角节点通过各自余下的互联线路与外部其他***链接。
实施中,所述方法可以进一步包括:
将所述面节点、边沿节点和/或角节点的SGMII与SGMII Switch链接,从所述SGMII Switch引出一路或多路SGMII到外部其他***。
实施中,所述方法可以进一步包括:
将所述全连接节点、面节点、边沿节点和/或角节点的PCIe接口与PCIeSwitch链接,并将所述PCIe Switch与外部扩展PCIe模块链接。
本申请实施例提供的云服务器CPU节点的互联方法,在一个机柜或机箱***内通过Rapidio互联各个CPU节点,在多个机柜或机箱之间通过Rapidio或GbE等网络互联,适用于密度较高、多机柜同性质互联扩展的云服务器***。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。