一种计算装置、节点设备和服务器的制作方法

文档序号:18923804发布日期:2019-10-19 03:48阅读:181来源:国知局
一种计算装置、节点设备和服务器的制作方法

本发明涉及计算领域,特别是涉及一种计算装置、节点设备和服务器。



背景技术:

服务器由CPU(中央处理器)、内存和外设组成,要提高服务器的运算性能,可以使用Scale-up(纵向扩展)或者Scale-out(横向扩展)的方式来组建服务器。

采用Scale-up的大型服务器使用多个CPU组成多路服务器,若干个CPU之间通过系统总线之间互连,共用内存和外设,组成一个节点;节点之间通过专用芯片比如节点控制器连接,并使得节点内的CPU可以访问其他节点的内存和外设,节点控制器主要处理CPU之间的缓存一致性。多路服务器成本较高,但计算速度很快,适用于需要快速做出响应的场合,例如联机事务处理系统(OLTP)等实时系统。

采用Scale-out的服务器系统,在相互独立的服务器之间通过外设网络设备进行互联,例如使用以太网卡、InfiniBand网卡通过交换机进行互联,多台服务器协同计算,组成集群服务器。集群服务器中的每个独立的服务器被称为节点。集群服务器成本较低、扩展性好且容错率较高,但计算速度不如多路服务器,适用于对响应时间要求不高的大规模分布式计算的场合。

现有技术中,通过节点控制器组成多路服务器,需要研发两种装置:处理器和节点控制器,增加了额外的研发费用。多路服务器的节点和集群服务器的节点之间不能直接互相转换。多路服务器的节点需要加装网卡等必要的外设才能用于组建集群服务器,集群服务器的节点需要加装节点控制器才能用于组建多路服务器。



技术实现要素:

本发明主要解决的技术问题是提供一种计算装置、节点设备,能够解决现有技术中实现不同架构的服务器需要使用不同的专用装置的问题,本发明还提供了一种使用该节点设备组建的服务器。

本发明第一方面提供了一种计算装置,该计算装置包括至少一通用计算核心电路、内部接口电路、外部接口电路、缓存一致性引擎电路以及协议转换电路;缓存一致性引擎电路分别耦接通用计算核心电路和内部接口电路;内部接口电路用于使用第一通信协议与内部装置耦接,第一通信协议是指系统总线所用的通信协议,内部装置是指通过系统总线与本计算装置共享资源的装置;外部接口电路用于使用第二通信协议与外部装置耦接,第二通信协议是指网络通信协议;协议转换电路用于在缓存一致性引擎电路所用协议与第二通信协议之间进行协议转换;缓存一致性引擎电路至少选择性工作于第一、第二模式,其中缓存一致性引擎电路工作于第一模式时,缓存一致性引擎电路在内部装置、外部装置和本计算装置之间实现缓存一致性,此时缓存一致性引擎电路、协议转换电路以及外部接口电路依序耦接;缓存一致性引擎电路工作于第二模式时,缓存一致性引擎电路在本计算装置与内部装置之间实现缓存一致性,此时缓存一致性引擎电路与外部接口电路耦接。

结合第一方面,在第一方面的第一种可能的实施方式中,缓存一致性引擎电路工作于第二模式时,通用计算核心电路用于与内部装置一起实现计算功能;或缓存一致性引擎电路工作于第二模式时,通用计算核心电路至少用于在内部装置和外部装置之间进行通信控制。

结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,计算装置进一步包括通信加速电路和外设控制电路,在缓存一致性引擎电路工作于第二模式时,通信加速电路分别耦接外设控制电路和外部接口电路,外设控制电路耦接缓存一致性引擎电路。

结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,通信加速电路集成于外部接口电路。

结合第一方面或第一方面的第一至第三种任一种可能的实施方式,在第一方面的第四种可能的实施方式中,协议转换电路集成于外部接口电路。

结合第一方面或第一方面的第一至第三种任一种可能的实施方式,在第一方面的第五种可能的实施方式中,计算装置是片上系统或处理器。

本发明第二方面提供了一种节点设备,该节点设备至少包括第一计算装置、第二计算装置和内存,其中第二计算装置是处理器,第一计算装置包括至少一通用计算核心电路、内部接口电路、外部接口电路、缓存一致性引擎电路以及协议转换电路;缓存一致性引擎电路分别耦接通用计算核心电路和内部接口电路,内部接口电路耦接第二计算装置,内存耦接通用计算核心电路或第二计算装置;内部接口电路用于使用第一通信协议与内部装置耦接,第一通信协议是指系统总线所用的通信协议,内部装置是指通过系统总线与本计算装置共享资源的装置;外部接口电路用于使用第二通信协议与外部装置耦接,第二通信协议是指网络通信协议;协议转换电路用于在缓存一致性引擎电路所用协议与第二通信协议之间进行协议转换;缓存一致性引擎电路至少选择性工作于第一、第二模式,其中缓存一致性引擎电路工作于第一模式时,缓存一致性引擎电路在内部装置、外部装置和第一计算装置之间实现缓存一致性,此时缓存一致性引擎电路、协议转换电路以及外部接口电路依序耦接;缓存一致性引擎电路工作于第二模式时,缓存一致性引擎电路在第一计算装置与内部装置之间实现缓存一致性,此时缓存一致性引擎电路与外部接口电路耦接。

结合第二方面,在第二方面的第一种可能的实施方式中,缓存一致性引擎电路工作于第二模式时,通用计算核心电路用于与内部装置一起实现计算功能;或缓存一致性引擎电路工作于第二模式时,通用计算核心电路至少用于在内部装置和外部装置之间进行通信控制。

结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,第一计算装置进一步包括通信加速电路和外设控制电路,在缓存一致性引擎电路工作于第二模式时,通信加速电路分别耦接外设控制电路和外部接口电路,外设控制电路耦接缓存一致性引擎电路。

结合第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,通信加速电路集成于外部接口电路。

结合第二方面或第二方面的第一至第三种任一种可能的实施方式,在第一方面的第四种可能的实施方式中,协议转换电路集成于外部接口电路。

结合第二方面或第二方面的第一至第三种任一种可能的实施方式,在第一方面的第五种可能的实施方式中,第一计算装置是片上系统或处理器。

本发明第三方面提供了一种服务器,该服务器包括至少两个节点设备,其中节点设备为本发明第二方面或第二方面的第一至第五种任一种可能的实施方式提供的节点设备,每个节点设备的第一计算装置的外部接口电路与其他节点设备的第一计算装置的外部接口电路耦接。

结合第三方面,在第三方面的第一种可能的实施方式中,服务器还包括交换机,至少一个节点设备的第一计算装置的外部接口电路通过交换机耦接至少一个其他节点设备的第一计算装置的外部接口电路。

本发明的有益效果是:计算装置的缓存一致性引擎电路工作于第一模式时,实现本计算装置、内部装置与外部装置之间的缓存一致性,此时计算装置作为节点控制器使用,使得内部装置与外部装置之间可以共享资源;计算装置的缓存一致性引擎电路工作于第二模式时,缓存一致性引擎只处理本装置与内部装置之间的缓存一致性,外部接口电路作为网络接口电路使用。通过配置计算装置的不同工作模式,使得使用同一种类的装置就可以实现组建不同类型的服务器,实现装置的通用性,降低成本,并实现不同方案的灵活切换。

附图说明

图1是本发明计算装置的第一实施例的结构示意图;

图2是本发明计算装置的第二实施例的结构示意图;

图3是本发明计算装置的第三实施例的结构示意图;

图4是本发明计算装置的第四实施例的结构示意图;

图5是本发明计算装置的第五实施例的结构示意图;

图6是本发明计算装置的第六实施例的结构示意图;

图7是本发明计算装置的第七实施例的结构示意图;

图8是本发明计算装置的第八实施例的结构示意图;

图9是本发明计算装置的第九实施例的结构示意图;

图10是本发明节点设备的第一实施例的结构示意图;

图11是本发明服务器的第一实施例的结构示意图;

图12是本发明服务器的第二实施例的结构示意图;

图13是本发明服务器的第三实施例的结构示意图。

具体实施方式

如图1所示,本发明计算装置111的第一实施例包括:

至少一个通用计算核心电路11(图中所画为两个)、内部接口电路12、外部接口电路13、缓存一致性引擎电路14以及协议转换电路15。通用计算核心电路11即为通用的处理器核心,具有执行指令、控制部件和处理数据功能。缓存一致性引擎电路14分别耦接所有的通用计算核心电路11和内部接口电路12。,外部接口电路13用于使用第二通信协议与其他装置耦接,

内部接口电路12用于使用第一通信协议与内部装置211耦接,本计算装置111和内部装置211之间使用系统总线连接以实现高速数据传输,例如使用QPI(Quick Path Interconnect,快速通道互联)总线、HT(HyperTransport,双向传输)总线、AXI(Advanced eXtensible Interface,高级可扩展接口)总线或其他系统总线。第一通信协议是指系统总线所用的通信协议,内部装置211是指通过系统总线与本计算装置111共享资源的装置,资源是内存、外设、I/O控制部件中的至少一个,内部装置211可以是通用处理器或者专用处理器。外部接口电路13用于使用第二通信协议与外部装置311耦接,与本计算装置111使用外部接口电路13耦接的装置被称为外部装置311,本计算装置111和外部装置311之间使用以太网或者InfiniBand连接,第二通信协议是指以太网或者InfiniBand所用数据传输的协议。协议转换电路15用于在缓存一致性引擎电路14所用协议与第二通信协议之间进行协议转换。

缓存一致性引擎电路14至少选择性工作于第一、第二模式。其中缓存一致性引擎电路14工作于第一模式时,在内部装置211、外部装置311与本计算装置111之间实现缓存一致性,此时缓存一致性引擎电路14、协议转换电路15以及外部接口电路13依序耦接。缓存一致性引擎电路14工作于第二模式时,在本计算装置111与内部装置211之间实现缓存一致性,此时缓存一致性引擎电路14与外部接口电路13耦接。此处所指的耦接是指信号的通信连接。

缓存一致性引擎电路14用于运行缓存一致性协议来实现高速缓存与内存的数据一致性。高速缓存(高速缓冲存储器)是存在于内存与处理器核心之间的存储器,容量比较小但速度比内存高得多,接近于处理器核心的速度,处理器核心通过高速缓存来访问内存。内存和高速缓存都以块为单位进行划分,并且两者之间以块为单位进行数据搬运。当处理器核心访问一个内存地址时,如果包含这个地址在内的块在高速缓存中,处理器核心直接访问高速缓存;如果不在高速缓存中,则把这个块从内存搬到高速缓存中。如果存在不止一级高速缓存,处理器核心直接访问一级高速缓存,每级高速缓存可以从更高级别的高速缓存中获取数据,最高级别的高速缓存从内存中获取数据。高速缓存中的块是内存中对应块的一个副本,内存中的一个块可能同时存在若干个副本,其中一个副本发生了改变而其他副本没有,那么就产生了数据一致性的问题,可能出现错误。例如说多核处理器系统中两个处理器核心的高速缓存中都有内存同一个块的副本,其中一个处理器核心对本处理器核心的高速缓存中的副本进行了写操作修改了数据而另一个处理器核心没有,此时两个高速缓存中的副本不一致。

为了解决这个问题,提出了缓存一致性协议来保证不同高速缓存和内存之间数据的一致性。缓存一致性协议分为基于监听和基于目录两种。其中基于监听的缓存一致性协议是指通过总线监听机制来实现高速缓存和内存之间数据的一致性,允许每个核心监听其他核心对内存的访问,如果有处理器核心对某个高速缓存的写操作修改某个块副本的数据,则在总线上发布广播,其他处理器核心收到广播并检查高速缓存中是否存有对应的块副本,如果有则将对应块的副本标记为无效。缓存一致性引擎电路14运行基于监听的缓存一致性协议时,主要负责广播的接收和发送。基于目录的缓存一致性协议是指建立目录来保持高速缓存中的块副本状态信息,当某个高速缓存中的某个块副本发生了变化时,在目录中检索哪些高速缓存中存有对应的块副本,并向这些高速缓存发送通知使得对应的块副本无效。缓存一致性引擎电路14运行基于目录的缓存一致性协议时,主要负责目录的建立、管理与检索,以及向相关高速缓存发送通知。

缓存一致性引擎电路14工作在第一模式时,用于处理内部装置211、本计算装置111与外部装置311之间的缓存一致性,即作为多路服务器中的节点控制器工作。使得共用内存的内部装置211和本计算装置111与有自己内存的外部装置311可以相互访问内存。当缓存一致性引擎电路14运行基于监听的缓存一致性协议时,负责接收本计算装置111中的通用计算核心电路11和内部装置211的计算核心电路发出的广播并发给外部装置311,以及从外部装置311接收广播并发给本计算装置111中的通用计算核心电路11和内部装置211的计算核心电路。当缓存一致性引擎电路14运行基于目录的缓存一致性协议时,负责管理完整或者部分的目录,并向相关的高速缓存发送通知。此时缓存一致性引擎电路14、协议转换电路15以及外部接口电路13依序耦接,协议转换电路15用于接收缓存一致性引擎电路14发来的缓存一致性协议的内容并转换为可以在以太网或InfiniBand上传输的数据包,然后将数据包发送给外部接口电路13;协议转换电路15还用于从外部接口电路13接收外部装置311发送的数据包并转化为缓存一致性协议的内容,然后将内容发送给缓存一致性引擎电路14。

缓存一致性引擎电路14工作在第二模式时,用于处理本计算装置111与内部装置211之间的缓存一致性,缓存一致性引擎电路14与外部接口电路13耦接。外部接口电路13作为网络接口电路工作,负责在本计算装置111和外部装置311之间传输数据,本计算装置111和外部装置311之间使用TCP/IP等通信协议进行通信。本计算装置111和内部装置211共用内存,但是不能与外部装置311相互访问内存。本计算装置111和内部装置211可以组成集群服务器的一个节点,也可以组成一个小型的单节点多路服务器。

此外,缓存一致性引擎电路14工作在第二模式时,如果外部接口电路13不工作,那么本计算装置111可以只作为一个处理器来工作。可以通过本地修改BIOS(Basic Input Output System,基本输入输出系统)或者远程控制BMC(Baseboard Management Controller,基板管理控制器)的方式来配置计算装置111的不同工作模式。

由以上实施例可以看出,计算装置在不同的工作模式下有不同的功能,可以作为多路服务器或者集群服务器的耦接部件或计算部件。通过配置计算装置的不同工作模式,使得使用同一种类的装置就可以组建不同类型的服务器,实现装置的通用性,降低成本,并实现不同类型服务器的灵活切换。

如图2所示,本发明计算装置的第二实施例,是在本发明计算装置的第一实施例的基础上,缓存一致性引擎电路24工作在第二模式时,通用计算核心电路21用于与内部装置212一起实现计算功能,即作为处理器核心工作。此时外部接口电路23将接收到的数据发送到缓存一致性引擎电路24,然后缓存一致性引擎电路24以DMA(Direct Memory Access,直接内存访问)方式通过总线将数据发送给内存(图中未画出),缓存一致性引擎电路24还以DMA方式从内存获取数据发给外部接口电路23以发送给外部装置312。计算装置112作为一个集成了网络接口电路的处理器工作,外部接口电路23作为网络接口电路工作。计算装置112和内部装置212可以组成集群服务器的一个节点,也可以组成一个小型的单节点多路服务器。

如图3所示,本发明计算装置的第三实施例,是在本发明计算装置的第一实施例的基础上,缓存一致性引擎电路34工作在第二模式时,至少一个通用计算核心电路31不再用于计算,而是用于在内部装置213和外部装置313之间进行通信控制,即负责数据的传输、打包、解压、分发,或者进一步运行预设的指令来处理通信协议。图中所画的两个通用计算核心电路31都用于通信控制,也可以只有一个通用计算核心电路31用于通信控制,另一个仍用于计算。此时外部接口电路33将接收到的数据发给缓存一致性引擎电路34,然后通过负责通信控制的通用计算核心电路31发送给内存;缓存一致性引擎电路34还通过负责通信控制的通用计算核心电路31从内存获取数据,然后发给外部接口电路33以发送给外部装置313。计算装置113作为通信卸载工作,可以与内部装置213一起组成集群服务器的一个节点,计算装置113作为通信卸载用于节点之间的互联和数据传输。计算装置113和内部装置213也可以组成一个小型的单节点多路服务器,计算装置113作为通信卸载用于处理与客户端之间的数据传输。与本发明计算装置的第二实施例相比,数据传输能力更强。

如图4所示,本发明计算装置的第四实施例,是在本发明计算装置的第二实施例或第三实施例的基础上,进一步包括通信加速电路46和外设控制电路47。缓存一致性引擎电路44工作于第二模式时,通信加速电路46分别耦接外设控制电路47和外部接口电路43,外设控制电路47耦接缓存一致性引擎电路44。通信加速电路46用于通信协议的卸载,即在通信加速电路46中完成全部或者部分通信协议的处理,以减轻通用计算核心电路41的负担和加快处理速度,处理的内容包括中断操作、数据分包、拷贝、报文处理等。通信加速电路46可以用于最常用的TCP/IP协议栈的卸载,也可以用于InfiniBand上使用的IPoIB(Internet Protocol over InfiniBand,InfiniBand上的IP协议)、RDS(Reliable Datagram Sockets,可靠数据报套接字)、SDP(Session Description Protocol,会话描述协议)等协议的卸载。外设控制电路47用于控制系统的外设,一般来说,是通过控制连接外设的总线来控制外设,例如,外设控制电路47为PCIe(Peripheral Component Interface Express,快速外设组件接口)控制器,控制连接在PCIe总线上的外设。

外部接口电路43将接收到的从外部装置314发来的数据包发送给通信加速电路46,通信加速电路46对数据包进行处理之后将得到的数据发给外设控制电路47,外设控制电路47将处理后的数据发给缓存一致性引擎电路44。当计算装置114作为本发明计算装置第二实施例中的集成了网络接口电路的处理器工作时,缓存一致性引擎电路44以DMA的方式将处理过的数据发送给内存(图中未画出);当计算装置114作为发明计算装置第三实施例中的通信卸载工作时,缓存一致性引擎电路44通过负责通信控制的通用计算核心电路41将处理过的数据发送给内存。上述过程描述了本装置114从外部装置314接收数据的过程,反向可以推出向外部装置314发送数据的过程。

如图5所示,本发明计算装置的第五实施例,是在本发明计算装置的第四实施例的基础上,将通信加速电路56与外部接口电路53集成在一起,外部接口电路53、通信加速电路56、外设控制电路57依序耦接,集成之后的外部接口电路53和通信加速电路56作为一个集成了通信协议卸载引擎的网卡工作,此网卡符合总线标准,可以作为外设连接在总线(例如PCIe总线)上。

如图6所示,本发明计算装置的第六实施例,是在本发明计算装置的第一实施例的基础上,将协议转换电路65与外部接口电路63集成在一起。当缓存一致性引擎电路64工作在第一模式时,协议转换电路65负责处理缓存一致性引擎电路64和外部接口电路63之间的数据转换;当缓存一致性引擎电路64工作在第二模式时,协议转换电路65不工作。本实施例还可以与本发明计算装置的第二、三、四、五实施例相结合。例如,如图7所示,在本发明计算装置的第五实施例的基础上,进一步将外部接口电路73、通信加速电路76与协议转换电路75集成在一起,即将本发明计算装置的第五实施例和第六实施例结合在一起作为本发明计算装置的第七实施例。

在本发明计算装置的第八实施例中,计算装置118是片上系统或处理器。通用处理器80包括通用计算核心电路81、内部接口电路82和缓存一致性引擎电路84。计算装置118可以是将通用处理器80和协议转换电路85、外部接口电路83封装在一起组成的片上系统,如图8所示;也可以是将所有模块集成在一个芯片内组成的一个处理器。本实施例可以和本发明计算装置的任意一个实施例相结合。当本实施例与包含外设控制电路的实施例结合时,如果计算装置是片上系统,外设控制电路一般是通用处理器的一个组成部分。如图9所示,将本发明计算装置的第四实施例与第八实施例组合得到本发明计算装置的第九实施例,其中通用处理器90包括通用计算核心电路91、内部接口电路92、缓存一致性引擎电路94和外设控制电路97。通用处理器90和协议转换电路95、外部接口电路93、通信加速电路96封装在一起组成计算装置119。

此外,为了提高性能,可以在计算装置中加入内存控制电路,内存控制电路耦接缓存一致性引擎电路,使得计算装置无需通过前端总线即可直接访问内存。如果计算装置是片上系统的话,那么内存控制电路是通用处理器的一个组成部分。

如图10所示,在本发明节点设备的第一实施例中,

节点设备100,至少包括第一计算装置10、第二计算装置20和两者共用的内存(图中未画出)。节点设备100也可以进一步包括共用的其他部件比如DMA控制电路(图中未画出)、硬盘(图中未画出)、I/O控制部件(图中未画出)等。

其中第一计算装置10包括至少一个通用计算核心电路101(图中所画为两个)、内部接口电路102、外部接口电路103、缓存一致性引擎电路104以及协议转换电路105,通用计算核心电路101即为通用的处理器核心,具有执行指令、控制部件和处理数据功能。缓存一致性引擎电路104分别耦接每个通用计算核心电路101和内部接口电路102,内部接口电路102用于使用第一通信协议耦接每个第二计算装置20,外部接口电路103用于使用第二通信协议与外部装置30耦接,协议转换电路105用于在缓存一致性引擎电路104所用协议与第二通信协议之间进行协议转换。

与第一计算装置1使用内部接口电路102耦接的第二计算装置20也被称为内部装置,第一计算装置10和第二计算装置20之间使用系统总线连接以实现高速数据传输,例如使用QPI总线、HT总线、AXI总线或其他系统总线,第一通信协议是指系统总线所用数据传输协议。第二计算装置20通过系统总线与第一计算装置10共享资源,资源为内存、外设,I/O控制部件中的至少一个。与第一计算装置10使用外部接口电路103耦接的装置被称为外部装置30,第一计算装置10和外部装置30之间使用以太网或者InfiniBand连接,第二通信协议是指以太网或者InfiniBand数据传输的协议。

缓存一致性引擎电路104至少选择性工作于第一、第二模式。其中缓存一致性引擎电路104工作于第一模式时,在内部装置(即第二计算装置20)、外部装置30与第一计算装置10之间实现缓存一致性,此时缓存一致性引擎电路104、协议转换电路105以及外部接口电路103依序耦接。缓存一致性引擎电路104工作于第二模式时,在第一计算装置10与内部装置(即第二计算装置20)之间实现缓存一致性,此时缓存一致性引擎电路104与外部接口电路103耦接。此处所指的耦接是指信号的通信连接。

缓存一致性协议以及缓存一致性引擎电路104的功能参见本发明计算装置的第一实施例中的相关描述。缓存一致性引擎电路104工作在第一模式时,用于处理第一计算装置10、第二计算装置20与外部装置30之间的缓存一致性,即处理本节点设备100和其他节点设备之间的缓存一致性,使得第一计算装置10、第二计算装置20与外部装置30之间可以相互访问内存。此时缓存一致性引擎电路104、协议转换电路105以及外部接口电路103依序耦接。协议转换电路105用于接收缓存一致性引擎电路104发来的缓存一致性协议的内容并转换为可以在以太网或InfiniBand上传输的数据包,然后将数据包发送给外部接口电路103;协议转换电路105还用于从外部接口电路103接收外部装置30发送的数据包并转化为缓存一致性协议的内容,然后将内容发送给缓存一致性引擎电路104。此时节点设备100作为多路服务器中的一个节点,与其他节点一起组成多路服务器,节点之间可以相互访问内存和其他部件。第一计算装置10作为节点控制器工作,外部装置30是另一个节点设备的节点控制器。

缓存一致性引擎电路104工作在第二模式时,用于处理第一计算装置10与第二计算装置20之间的缓存一致性,即只处理节点设备100内部的缓存一致性。缓存一致性引擎电路104与外部接口电路103耦接,外部接口电路103负责在第一计算装置10和外部装置30之间传输数据。第一计算装置10和外部装置30之间使用TCP/IP等通信协议进行通信。如果外部装置30是另一个节点设备中负责数据传输的部件,那么节点设备100作为集群服务器中的一个节点,与其他节点一起组成集群服务器,节点之间可以传输数据,共同完成分布式计算工作,但不能相互访问内存和其他部件,外部接口电路103作为集群服务器中节点的网络接口电路工作。如果外部装置30是其他网络节点,例如客户端,那么节点设备100作为一个小型的单节点多路服务器提供服务,外部接口电路103作为服务器中的网络接口电路工作。

第二计算装置20可以是通用处理器,也可以是专用的处理器。第二计算装置20使用的系统总线与第一计算装置10的内部接口电路102使用的系统总线相匹配。第二计算装置20也可以是第一计算装置10,第一计算装置10作为第二计算装置20工作时,缓存一致性引擎电路14工作在第二模式,并且外部接口电路103不工作。

图中只画出了两个第二计算装置20与第一计算装置10相互耦接,共同组成节点设备100,实际第二计算装置20的数量可以更少,也可以更多,只要不超过用于相互耦接的内部接口(例如第一计算装置10中的内部接口电路102的接口)数量的限制即可。

第一计算装置10和第二计算装置20共用内存。内存可以通过内存控制器耦接前端总线,前端总线分别耦接第一计算装置10和第二计算装置20,前端总线耦接第一计算装置10时,通过缓存一致性引擎电路14耦接通用计算核心电路101。也可以在第一计算装置10和/或第二计算装置20内部集成内存控制器,内存耦接内存控制器;如果内存容量较大需要使用至少两个内存条时,可以不同内存条分别耦接不同计算装置的内存控制器,也可以所有内存条耦接同一计算装置的内存控制器。

可以通过本地修改BIOS或者远程控制BMC的方式来配置第一计算装置10的不同工作模式。

由以上实施例可以看出,节点设备中的第一计算装置在不同的工作模式下有不同的功能,使得节点设备可以作为一个小型的多路服务器、多路服务器的一个节点、集群服务器的一个节点来使用。通过配置计算装置的不同工作模式,使得使用同一种类的节点设备就可以实现组建不同类型的服务器,实现设备的通用性,降低成本,并实现不同方案的灵活切换。

在本发明节点设备的后续实施例中,节点设备中的第一计算装置为本发明计算装置第二至第九实施例以及可能的组合中的计算装置。

如图11所示,本发明服务器的第一实施例包括:至少两个节点设备1、2和3,图中所画为三个。每个节点设备可以为本发明节点设备任一实施例中的节点设备。每个节点设备可以相同,也可以不同;每个节点设备使用的第二计算装置的数量可以相同(图中所画的情况,每个节点设备使用了两个第二计算装置),也可以不同。每个节点设备的第一计算装置的外部接口电路分别与其他节点设备的第一计算装置的外部接口电路使用以太网或者InfiniBand耦接,以实现三个节点设备1、2和3的互联。相对于节点设备1,节点设备2和3都是外部设备,同理可得其他节点设备的情况。

配置三个节点设备1、2和3的第一计算装置110、210和310的工作模式,使得第一计算装置110、210和310作为节点控制器工作,即每个第一计算装置的缓存一致性引擎电路(图中未画出)都工作在第一模式,缓存一致性引擎电路处理不同节点设备之间的缓存一致性,使得不同的节点设备之间可以相互访问内存和其他部件。三个节点设备1、2和3共同组成了一个六路服务器,可以根据实际需求,通过调整每个节点设备中第二计算装置的个数和/或节点设备的数量来改变服务器的路数。

传统的多路服务器中,不同节点设备之间一般是使用高速总线互联,受限于高速总线的性能,节点设备之间的物理距离不能太远,一般来说是将所有的节点设备都集成在一个机柜内。随着节点设备的数量增多,对硬件系统的散热、走线等设计要求变高,不利于多路服务器的扩展。本实施例中使用的以太网或者InfiniBand的可延伸距离远超过高速总线,使得节点设备是可以独立设置,便于服务器的扩展。

如图12所示,本发明服务器的第二实施例包括:至少两个节点设备4、5和6。每个节点设备可以为本发明节点设备任一实施例中的节点设备。每个节点设备可以相同,也可以不同;每个节点设备使用的第二计算装置的数量可以相同(图中所画的情况,每个节点设备使用了两个第二计算装置),也可以不同。每个节点设备的第一计算装置的外部接口电路与其他节点设备的第一计算装置的外部接口电路使用以太网或者InfiniBand耦接,以实现节点设备之间的互联。相对于节点设备1,节点设备2和3都是外部设备,同理可得其他节点设备的情况。

配置三个节点设备4、5和6的第一计算装置410、510和610的工作模式,使得第一计算装置410、510和610的缓存一致性引擎电路(图中未画出)都工作在第二模式,缓存一致性引擎电路处理本节点设备内部的缓存一致性。不同的节点设备之间不可以相互访问内存和其他部件,三个节点设备4、5和6组成了一个集群服务器。第一计算装置410、510和610的外部接口电路411、511和611作为网络接口电路工作。

对于单个节点设备中的第一计算装置而言,如果其中的通用计算核心电路(图中未画出)都用于计算,那么该第一计算装置作为集成了网络接口电路的处理器工作;如果其中的至少一个通用计算核心电路用于通信控制,那么该第一计算装置作为通信卸载工作。两种工作模式下外部接口电路都是作为网络接口电路工作,更详细的描述可参考本发明计算装置的第二实施例和第三实施例。相比较而言,通信卸载模式下的第一计算装置数据传输能力更强。

可以根据对数据传输能力的要求来选择集群服务器中每个节点设备的第一计算装置的工作模式。比如说对于通信负担较重的节点设备(例如该节点设备还负责与客户端的通信),可以将其中的第一计算装置的工作模式配置为通信卸载,而其他通信负担较轻的节点设备的第一计算装置作为集成了网络接口电路的处理器工作。当然也可以将所有节点设备的第一计算装置的工作模式都配置为通信卸载,或者都配置为集成了网络接口电路的处理器。

由以上服务器的两个实施例可以看出,使用具有良好的通用性的节点设备,可以组建多路服务器或集群服务器。每个节点设备的第一计算装置的工作模式不同,使得以太网或者InfiniBand上传输的内容不同,多路服务器的节点之间可以相互访问内存而集群服务器的不可以。而通过配置节点设备的第一计算装置的不同工作模式,使得不同节点设备之间在可以相互访问内存的状态和不可相互访问内存的状态中切换,实现在多路服务器和集群服务器的方案之间切换,节约成本。

如图13所示,本发明服务器的第三实施例,是在本发明服务器的第一实施例或第二实施例的基础上,进一步包括交换机200。交换机200使用以太网或者InfiniBand耦接节点设备7、8和9的第一计算装置710、810和910的外部接口电路711、811和911,外部接口电路711、811和911之间不再直接耦接,而是通过交换机200完成数据传输。交换机200用于根据需要在外部接口电路711、811和911之间建立信号通路以传输数据。

图中所画是以本发明服务器的第一实施例为基础,也可以是以本发明服务器的第二实施例为基础。图中的交换机200耦接所有外部接口电路711、811和911,也可以其中两个外部接口电路直接耦接,并通过交换机200耦接另一个外部接口电路,例如外部接口电路711和811直接耦接,外部接口电路711或811通过交换机200耦接外部接口电路911。以此类推,可以得出使用更多节点设备组建的服务器中包含交换机200可能的耦接情况。

图11和图12中所画的节点设备都是采用自组网的方式来组建服务器,即节点设备两两之间直接使用以太网或者InfiniBand耦接。如果采用加入新的节点设备的方式来扩展服务器,新加入的节点设备需要与已有的所有节点设备直接耦接。而本发明服务器的第一实施例和第二实施例中,不同节点设备之间的互联都是通过其中的第一计算装置的外部接口电路来实现的,外部接口电路的接口数量是有限的,限制了采用自组网方式组建的服务器的规模。本实施例在服务器中加入交换机,并且部分或者全部节点设备之间通过交换机耦接,突破接口数量的限制以实现组建更大规模的服务器。

以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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