一种多路服务器及其节点间通信方法与流程

文档序号:15049776发布日期:2018-07-28 00:00阅读:263来源:国知局

本发明涉及服务器技术领域,特别是涉及一种多路服务器及其节点间通信方法。



背景技术:

多路服务器通常由一个主节点和多个从节点组成,从cpu互联架构看,目前numa结构的服务器占有较大比例,numa结构服务器具有多种实现方式,一般分为多个节点,每个节点由多个cpu(如4个)组成,并且具有独立的本地内存等。节点之间可以通过nc(处理器协同芯片)进行连接,其主要功能是实现多处理器系统的全局cache一致性和节点间高速互连,通过硬件支持全系统共享访问。

图1为现有技术提供的一种服务器的拓扑结构图。如图1所示,该服务器包括一个主节点10和n个从节点11,主节点10和从节点11具有同样的拓扑结构,均包括4个cpu、两个nc、一个bmc(基板管理器)和一个pch(南桥芯片)。为了便于区分对每个节点的bmc进行编号,分别为bmc0、bmc1、……、bmcn。在服务器运行到一定阶段后(服务器的运行阶段主要分为两个,一个是节点融合前,一个是节点融合后,这里主要是指节点融合后)只有某一个节点的pch起作用(通常是主节点),其他节点的pch被关闭。如图1所示,由于各节点的bmc是通过pch获取本节点内的cpu的运行信息,因此,一旦本节点中的pch关闭,则该bmc无法获取本节点内各cpu的信息。

为了克服这一问题,现有技术中,通过将各bmc相连,每个节点的nc将本节点的cpu的运行信息发送至主节点的bmc,当节点融合后,若某一个从节点的bmc需要本节点的cpu的运行信息,则向主节点的bmc申请,主节点bmc再将相应的信息反馈至对应的从节点的bmc。

很显然,上述过程的交互使得cpu的运行信息传递过于复杂,对于主节点bmc的负担过重,且传输效率较低。



技术实现要素:

本发明的目的是提供一种多路服务器及其节点间通信方法,能够实现在节点融合之后,每个节点上的bmc均能够获取本节点内cpu的运行信息,该结构不仅克服了运行信息传递过于复杂的问题,而且还能降低主节点bmc的负担,传输效率较高。

为解决上述技术问题,本发明提供一种多路服务器,包括主节点和多个从节点,所述主节点中的主bmc与所述主节点中的其中一个cpu通信连接以获取所述主节点中各cpu的运行信息,所述从节点中的从bmc与自身所在节点的其中一个cpu通信连接以获取本节点中各cpu的运行信息。

优选地,所述主bmc具体通过自身的pcie端口与所述主节点中的cpu通信连接,所述从bmc具体通过自身的pcie端口与所述从节点中的cpu通信连接。

优选地,所述主bmc和各所述从bmc均通过通信网络连接。

优选地,所述主节点还包括主存储器,用于存储各所述从bmc的通信地址,所述从节点还包括从存储器,用于存储各所述从bmc和所述主bmc的通信地址。

优选地,所述主节点和各所述从节点中的cpu数量均为4个,nc的数量均为两个。

为解决上述技术问题,本发明提供一种多路服务器的节点间通信方法,包括:

主节点中的主bmc通过与其通信连接的cpu获取所述主节点中各cpu的运行信息;

从节点中的从bmc通过与其通信连接的cpu获取本节点中各cpu的运行信息。

优选地,所述主bmc具体通过自身的pcie端口与所述主节点中的cpu通信连接,所述从bmc具体通过自身的pcie端口与所述从节点中的cpu通信连接。

优选地,所述主bmc和各所述从bmc均通过通信网络连接。

优选地,还包括:

所述主节点的主存储器存储各所述从bmc的通信地址;

所述从节点的从存储器存储各所述从bmc和所述主bmc的通信地址。

优选地,所述主节点和各所述从节点中的cpu数量均为4个,nc的数量均为两个。

本发明所提供的多路服务器,将各节点的bmc直接与本节点内的其中一个cpu连接,由于节点内的cpu之间是相互通信连接,因此,每个节点的bmc均可以获取到本节点中的各cpu的运行信息,并且无论在节点融合之前还是节点融合之后,各bmc和各cpu的工作状态不会发生改变,则每个bmc能够获取本节点各cpu的运行信息,而不需其它节点转发。相对于现有技术中,bmc需要通过pch的转发而言,本结构解决了传递过于复杂的问题,而且还能降低主节点bmc的负担,传输效率较高。此外,该结构并不需要改变pch的连接结构,因此不影响pch的正常运行。

本发明所提供的多路服务器的节点间通信方法,效果如上。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术提供的一种服务器的拓扑结构图;

图2为本发明实施例提供的一种多路服务器的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。

本发明的核心是提供一种多路服务器及其节点间通信方法,能够实现在节点融合之后,每个节点上的bmc均能够获取本节点内cpu的运行信息,该结构不仅克服了运行信息传递过于复杂的问题,而且还能降低主节点bmc的负担,传输效率较高。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

图2为本发明实施例提供的一种多路服务器的结构图。如图2所示,该服务器包括主节点10和多个从节点11,主节点10中的主bmc与主节点10中的其中一个cpu通信连接以获取主节点10中各cpu的运行信息,从节点11中的从bmc与自身所在节点的其中一个cpu通信连接以获取本节点中各cpu的运行信息。

需要说明的是,本发明所提到的多路服务器通常是numa结构服务器,每个节点的拓扑结构参见图1或图2,主节点和各从节点中的cpu数量均为4个,nc的数量均为两个。但并不局限与图1和图2所示的拓扑结构,具体的连接关系本发明不再赘述。

在具体实施中,主bmc(bmc0)与现有技术相比,不再与pch连接,而是直接与本节点中的某一个cpu连接,当然需要这一cpu具有剩余的接口,否则是无法与bmc连接的。pch的连接方式不变,即仍然与本节点内的某一cpu连接。可以理解的是,与主bmc连接的cpu和与pch连接cpu可以为同一个cpu,也可以是不同的。如图2所示,主bmc连接cpu0,pch也连接cpu0。

在具体实施中,从bmc(bmc1-bmc1n)与现有技术相比,不再与pch连接,而是直接与本节点中的某一个cpu连接,当然需要这一cpu具有剩余的接口,否则是无法与bmc连接的。pch的连接方式不变,即仍然与本节点内的某一cpu连接。可以理解的是,与从bmc连接的cpu和与pch连接cpu可以为同一个cpu,也可以是不同的。如图2所示,从bmc连接cpu0,pch也连接cpu0。

在节点融合之前,所有的pch都是起作用,即可以获取所在节点的各cpu的运行信息,因此,在这一阶段,既可以通过pch获取每个节点的cpu的运行信息,也可以通过bmc获取每个节点的cpu运行信息。为了减少冗余,节约资源,作为优选地实施方式,在节点融合之前,可以暂停bmc与cpu的数据传输,也就是说只通过pch获取各cpu的运行信息;在节点融合时开始,回复bmc与cpu的数据传输,也就是说可以通过bmc获取各cpu的运行信息。

本实施例提供的多路服务器,将各节点的bmc直接与本节点内的其中一个cpu连接,由于节点内的cpu之间是相互通信连接,因此,每个节点的bmc均可以获取到本节点中的各cpu的运行信息,并且无论在节点融合之前还是节点融合之后,各bmc和各cpu的工作状态不会发生改变,则每个bmc能够获取本节点各cpu的运行信息,而不需其它节点转发。相对于现有技术中,bmc需要通过pch的转发而言,本结构解决了传递过于复杂的问题,而且还能降低主节点bmc的负担,传输效率较高。此外,该结构并不需要改变pch的连接结构,因此不影响pch的正常运行。

在上述实施例的基础上,主bmc具体通过自身的pcie端口与主节点中的cpu通信连接,从bmc具体通过自身的pcie端口与从节点中的cpu通信连接。

在具体实施中,每个bmc均包含有pcie相关设备,而cpu也具有pcie端口,因此,本实施例中,通过bmc的pcie端口cpu通信连接,可见,该连接方式无需增加额外硬件,节约成本。可以理解的是,这一连接方式只是一种优选地实施方式,并不代表只能通过pcie端口连接。

在上述实施例的基础上,主bmc和各从bmc均通过通信网络连接。

在实际应用中,如果某一节点的bmc出现故障,而其它节点的bmc需要获取该节点的运行信息时,需要通过相应的nc的转发,这一过程会降低运行信息传输的速度。基于此,本实施例中,将每个bmc通过通信网络连接,全部的bmc都在这一网络中,因此,bmc间的通信就不需要依赖nc的转发。需要说明的是,通信网络的类型可以根据实际情况而定,本发明不再赘述。

在上述实施例的基础上,主节点还包括主存储器,用于存储各从bmc的通信地址,从节点还包括从存储器,用于存储各从bmc和主bmc的通信地址。

为了方便bmc间的通信,本实施例中,为每个bmc创建一个通信地址,在具体实施中,当需要发送信息至相应的节点上时,首先判断当前所在的节点,然后通过预先建立的地址映射表确定出当前节点和目标节点的通信地址,从而实现与目标bmc的通信。

上文中对于多路服务器的相关实施例进行了详细说明,本发明还提供一种与其对应的多路服务器的节点间通信方法,可以理解的是,该通信方法的实施例可以参见上文,重复部分不再赘述。该通信方法具体包括:

主节点中的主bmc通过与其通信连接的cpu获取主节点中各cpu的运行信息;

从节点中的从bmc通过与其通信连接的cpu获取本节点中各cpu的运行信息。

需要说明的是,本发明所提到的多路服务器通常是numa结构服务器,具体结构参见上文的描述。

本实施例提供的多路服务器的节点间通信方法,各节点的bmc直接与本节点内的其中一个cpu通信连接从而获取本节点各cpu的运行信息,并且无论在节点融合之前还是节点融合之后,各bmc和各cpu的工作状态不会发生改变,则每个bmc能够获取本节点各cpu的运行信息,而不需其它节点转发。相对于现有技术中,bmc需要通过pch的转发而言,本方法解决了传递过于复杂的问题,而且还能降低主节点bmc的负担,传输效率较高。此外,该方法并不需要改变pch的连接结构,因此不影响pch的正常运行。

作为优选地实施方式,主bmc具体通过自身的pcie端口与主节点中的cpu通信连接,从bmc具体通过自身的pcie端口与从节点中的cpu通信连接。

作为优选地实施方式,主bmc和各从bmc均通过通信网络连接。

作为优选地实施方式,还包括:

主节点的主存储器存储各从bmc的通信地址;

从节点的从存储器存储各从bmc和主bmc的通信地址。

以上对本发明所提供的多路服务器及其节点间通信方法进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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