一种具有新型拓扑结构的服务器的制作方法

文档序号:11216244阅读:752来源:国知局
一种具有新型拓扑结构的服务器的制造方法与工艺

本发明涉及计算机应用领域,特别涉及一种具有新型拓扑结构的服务器。



背景技术:

目前,按cpu互联架构来分,服务器可以分为2类,一类为对称多处理器结构smp,另一类为非一致性存储访问结构numa。

smp结构服务器是指服务器中多个cpu对称工作,无主次和从属关系,服务器中的存储器集中放置,每个cpu共享相同的物理内存,每个cpu访问存储器的延迟都相等,但是如果不依靠节点控制器就无法进行更多cpu的互联,即smp结构服务器扩展性能有限。

图1为现有技术中服务器内部结构示意图,如图1所示,numa结构服务器10具有多种实现方式,一般分为多个节点11,每个节点由多个cpu102组成,并且具有独立的本地内存,cpu102互联架构为一个节点11内2个cpu102或者4个cpu102与一个节点控制器101互联,节点控制器101之间互联形成更大规模的系统。各个节点11之间可以通过节点控制器101进行连接,其主要功能为实现多cpu系统的节点间高速互联。该架构的特点为本地cpu访问节点内其它cpu的速度远远高于本地cpu访问远端其它节点内cpu的速度。

不管是smp结构服务器还是numa架构服务器,都会出现带宽限定问题,带宽是指在固定的时间可传输的资料数量,即在传输管道中可以传递数据的能力。图2为图1中一个节点内部结构示意图,如图1和图2所示,都是2个cpu102共享一个节点控制器101,1个节点控制器101对应2个cpu102,同一系统相同cpu102数量规模下,所需要的节点控制器101数量较多,并且不能充分利用qpi端口资源。并且在图2架构下,节点11内对角线上cpu102之间互访时,需要经过cpu转发或者节点控制器转发,导致延迟,限制了部分带宽。

由此可见,如何克服服务器节点内cpu互访导致的qpi端口资源利用率低以及数据传输效率低的问题是本领域技术人员亟待解决的问题。



技术实现要素:

本申请实施例提供了一种具有新型拓扑结构的服务器,以解决现有技术中qpi端口资源利用率低以及数据传输效率低的问题。

为解决上述技术问题,本发明提供了一种具有新型拓扑结构的服务器,包括至少一个节点,所述节点包括节点控制器和至少n个cpu,所述cpu和所述节点控制器均具有n个qpi端口,任意两个所述cpu通过各自的所述qpi端口连接,且任意一个所述cpu均通过各自的所述qpi端口与所述节点控制器连接;其中,n为大于或等于2的正整数。

优选地,所述n等于3。

优选地,所述服务器为非一致性存储访问结构numa服务器。

优选地,当所述节点数量大于1时,所述节点控制器之间通过网络接口连接,以便多个所述节点之间的cpu进行数据传输。

优选地,所述网络接口为ni总线接口。

优选地,所述节点控制器为标准控制器nc。

优选地,所述cpu为intelx86cpu。

相比于现有技术,本发明所提供的具有新型拓扑结构的服务器,包括至少一个节点,节点包括节点控制器和至少n个cpu,cpu和节点控制器均具有n个qpi端口,任意两个cpu通过各自的qpi端口连接,且任意一个cpu均通过各自的qpi端口与节点控制器连接;其中,n为大于或等于2的正整数。由此可见,一方面,服务器内一个节点包括至少n个cpu,cpu和节点控制器均具有n个qpi端口,即cpu与节点控制器上的qpi端口和cpu的个数相等,并且每个cpu均与节点控制器连接,克服了现有技术中qpi端口资源浪费以及数据传输时导致的服务器延迟问题,进而提高了qpi端口资源利用率以及数据传输效率。另一方面,任意两个cpu之间也通过qpi端口连接,进一步提高了qpi端口资源利用率以及数据传输效率。

附图说明

图1为现有技术中服务器内部结构示意图;

图2为图1中一个节点内部结构示意图;

图3为本发明实施例所提供的服务器中一个节点内部结构示意图。

具体实施方式

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

本发明的核心是提供一种具有新型拓扑结构的服务器,可以提高qpi端口资源利用率以及数据传输效率。

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

图3为本发明实施例所提供的服务器中一个节点内部结构示意图,如图3所示,本发明所提供的一种具有新型拓扑结构的服务器10包括至少一个节点11,节点11包括节点控制器101和至少n个cpu,cpu和节点控制器101均具有n个qpi端口,任意两个cpu通过各自的qpi端口连接,且任意一个cpu均通过各自的qpi端口与节点控制器101连接;其中,n为大于或等于2的正整数。

拓扑是指把实体抽象成与其大小、形状无关的“点”,而把连接实体的线路抽象成“线”,进而以图的形式来表示这些点与线之间关系的方法,其目的在于研究这些点、线之间的连接关系。表示点和线之间关系的图被称为拓扑结构图。新型拓扑结构服务器就是服务器10中各个节点11的内部模块之间的连接关系。服务器10内部包括至少一个节点11,即服务器10内部有可能有多个节点11,也有可能只有一个节点11,图3中只是一个节点11中的内部结构图,在每个节点11内又包括节点控制器101和至少n个cpu,并且cpu和节点控制器101均具有n个qpi端口,也就是说cpu与节点控制器上的qpi端口的个数和cpu的个数相等,即一个节点11内有几个cpu,节点控制器101和cpu上就会分别对应有几个qpi端口。例如,如果一个节点11内有5个cpu,cpu的qpi端口就会对应有5个,节点控制器101的qpi端口也会对应有5个。任意两个cpu通过各自的qpi端口连接,且任意一个cpu均通过各自的qpi端口与节点控制器101连接,即节点11内的所有cpu之间都是连接的,所有的cpu和节点控制器101之间也是连接的。前面数量上的对应以及节点11内的这种连接关系,就会解决qpi端口资源浪费以及服务器延迟的问题。前文提到的n为大于或等于2的正整数。

为了使本领域的技术人员更好的理解本申请实施例中一个节点内部连接关系,以n等于3为例,对本发明作进一步的详细说明。

表1为图3对应的节点内cpu之间以及该节点内cpu与其它节点cpu的连接关系表,如表1所示:

n是指cpu的个数,同时也指cpu和节点控制器101上的qpi端口个数,当n为3时,即一个节点11内有3个cpu,分别记作cpu0301、cpu1302和cpu2303,并且cpu0301、cpu1302、cpu2303和节点控制器101上分别有3个qpi端口,qpi端口顺序分别记作p0、p1、p2。上述3个cpu同时与一个节点控制器101连接,3个cpu之间以及cpu与节点控制器101之间的连接关系可参照图3和表1,这种连接方式可以实现该节点11内3个cpu之间的互访,也可以实现该节点内cpu与节点控制器101之间的访问,同时可以实现不同节点之间cpu的互访。

表1

一个节点内3个cpu共用一个节点控制器,模块之间连接关系简单、清楚并且容易实现。可以理解的是,n可以为3,还可以为4、5、6等等,n为3只是一种优选地实施方式,是一种应用场景,并不代表只有这一种方式。第cpu0、cpu1、cpu2以及qpi的端口顺序p0、p1、p2都是人为规定的,并不是固定不变的,可以根据个人习惯改变。cpu的命名方式、qpi的端口顺序并不会影响本申请实施例的实现。

严格来说,节点11实际是不存在的,只是为了研究问题方便人为划定的,并且划定方式也没有严格的要求,可以根据实际情况随意改动。可以理解的是,cpu的个数以及节点的个数并不会影响本申请实施例的实现。

本发明所提供的具有新型拓扑结构的服务器,一方面,服务器内一个节点包括至少n个cpu,cpu和节点控制器均具有n个qpi端口,即cpu与节点控制器上的qpi端口和cpu的个数相等,并且每个cpu均与节点控制器连接,克服了现有技术中qpi端口资源浪费以及数据传输时导致的服务器延迟问题,进而提高了qpi端口资源利用率以及数据传输效率。另一方面,任意两个cpu之间也通过qpi端口连接,进一步提高了qpi端口资源利用率以及数据传输效率。

在上述实施例的基础上,作为优选地实施方式,服务器为numa(非一致性存储访问结构)服务器。

numa架构服务器采用分布式存储器模式,每个cpu访问本地节点内其它cpu的速度高于访问某些远端节点内的cpu的速度。换句话说,也就是访问不同节点内cpu花费的时间是不相等的,numa既具有简便的应用程序编程模式以及易于管理的特点,又具有可扩充性,可以有效地扩充系统的规模。numa架构服务器,尤其是内部具有超过8个cpu互联时,通常比其它服务器更加经济且性能更高。numa的主要优点是伸缩性,numa架构服务器相比于其它架构服务器在可伸缩性上有所改进,服务器可伸缩性是指当服务器中cpu数量变化时,服务器的处理能力随之变化的现象,一般架构服务器所有的内存访问都传递到相同的共享内存总线,这种方式一般适用于cpu数量相对较少的情况,但不适用于cpu数量较多的情况,因为cpu会相互竞争对共享内存总线的访问,numa通过限制任何一条内存总线上的cpu数量并依靠节点控制器高速互联来连接各个节点,从而可以避免上述问题。numa架构服务器可以在一个服务器内集成多个cpu,使系统具有较高的事务处理能力。可以理解的是,服务器可以为numa架构服务器,也可以为符合条件的其它服务器,服务器的类型并不影响本申请实施例的实现。

在上述实施例的基础上,作为优选地实施方式,当节点11数量大于1时,节点控制器101之间通过网络接口连接,以便多个节点11之间的cpu102进行数据传输。

当服务器10内具有多个节点11,并且本地节点cpu102需要访问远端节点cpu时,就需要通过节点控制器101进行数据转发,即本地节点cpu102先将数据传输给本地节点控制器101,本地节点控制器101再将接收到的数据通过网络接口传输给远端节点控制器,最后由远端节点控制器将数据传输给远端节点cpu,最终实现本地节点cpu102访问远端节点cpu。该过程可以实现不同节点之间cpu的数据传输。在本申请实施例中,网络接口可以为ni总线接口,ni总线接口数据传输效率高,当然,也可以是其它符合条件的网络接口,网络接口的类型并不影响本申请实施例的实现。

在上述实施例的基础上,作为优选地实施方式,节点控制器101为nc(标准控制器)。

节点控制器101在每个节点的数据传输过程中起着重要作用,节点控制器由各厂家实现其规范和具体功能,分布在每个节点上,其主要功能为实现多处理器系统的全局缓存一致性和节点间高速互连,实现cpu之间数据的快速传输访问,节点控制器的类型和内部实现方式并不影响本申请实施例的实现。

在上述实施例的基础上,作为优选地实施方式,cpu为intelx86cpu。

x86是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,x与cpu没有任何关系,它是一个对所有86系统的简单的通配符定义,x86指令集是美国intel公司为其第一块16位cpu专门开发的。intelx86cpu的制造工艺先进、功耗低、稳定性强、成本低、单核性能和功耗控制较好,总之,本发明实施例所提供的具有拓扑结构的服务器,intelx86cpu具有更高的性能、更快的速度、更好的兼容性。当然,cpu的类型并不会影响本申请实施例的实现。

以上对本发明所提供的具有新型拓扑结构的服务器进行了详细介绍。本文中运用几个实例对本发明的原理及实施方式进行了阐述,以上实施例的说明,只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制,本领域技术人员,在没有创造性劳动的前提下,对本发明所做出的修改、等同替换、改进等,均应包含在本申请中。

还需要说明的是,在本说明书中,诸如cpu0和cpu1等之类的关系术语仅仅用来将一个操作与另一个操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。

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