一种多路服务器时钟系统、多路服务器及其控制方法与流程

文档序号:14989881发布日期:2018-07-20 22:00阅读:202来源:国知局

本发明涉及计算机技术领域,具体而言,涉及一种多路服务器时钟系统、多路服务器及其控制方法。



背景技术:

多路服务器包含当前主流的4路、8路服务器,其架构相对复杂,通常需要支持分区模式,即一个4路服务器可拆分为两个2路服务器工作,一个8路服务器可拆分为两个4路服务器工作。分区后,系统拆分为两个分区系统独立工作,但无论是分区前还是分区后,同一系统内的所有计算节点所需的pcie(peripheralcomponentinterfaceexpress,外设接口标准)时钟信号,都要求同源。

目前常见多路服务器时钟系统的实现方法,是用一个公共节点(即分区间共用的节点模块)来放置时钟源,例如唯一的背板或者唯一的存储节点。如果采用背板,则背板上需要放置时钟芯片,众所周知,有源背板的可生产性、可靠性相比无源背板都会显著降低,同时也增加了后期维护难度。并且,这种采用一个公共节点来放置时钟源的系统存在单点故障,即如果背板或存储节点上的时钟电路出现问题,则整个系统无法工作,且由于没有备份电路,功能无法快速恢复,只能通过到现场拆机箱更换背板或存储节点来解决,这极大的降低了系统的可靠性和可用性。而且,显然这种方法不适用于无公共节点的多路服务器。



技术实现要素:

本发明实施例提供了一种多路服务器时钟系统、多路服务器及其控制方法,以至少解决相关技术中采用一个公共节点来放置时钟源的系统存在单点故障的问题。

根据本发明的实施例,提供了一种多路服务器时钟系统,该多路服务器时钟系统包括:

第一路时钟源电路和第二路时钟源电路,其中,所述第一路时钟源电路和所述第二路时钟源电路分别位于所述多路服务器的不同的管理板上,分别用于为所述多路服务器提供第一路时钟源和第二路时钟源;

双源输入时钟驱动器,位于所述多路服务器的计算节点上,用于接收所述第一路时钟源和第二路时钟源,并选择其中一路时钟源,然后驱动出多路时钟信号提供给所述计算节点。

在本发明的上述实施例中,设计两组对等的时钟源电路,分别放在两个管理板上,而计算节点上的时钟接收端则采用双源输入的时钟驱动器,来同时支持两个时钟源的输入。通过控制计算节点上的双源输入时钟驱动器的输入切换,来满足不同情况下多路服务器的时钟需求。

其中,所述第一路时钟源电路和所述第二路时钟源电路分别包括:

时钟发生器,用于产生系统工作所需的时钟源;

时钟控制模块,用于识别所述多路服务器的分区模式和时钟发生器所产生的时钟源的状态,并根据所述分区模式和时钟源的状态使能/关闭所述时钟发生器以及控制所述双源输入时钟驱动器的输入时钟源的切换。

其中,所述第一路时钟源电路和所述第二路时钟源电路分别还包括:

时钟驱动器,用于将时钟发生器输出的所述时钟源驱动成多路时钟源,并分别提供给多个计算节点。

所述bmc时钟控制模块,还用于使能/关闭所述时钟驱动器。

其中,所述时钟控制模块,还用于在识别出所述多路服务器的分区模式为未分区的情况下,根据时钟源状态使能/关闭对应的时钟发生器以及控制所述双源输入时钟驱动器的输入时钟源的切换,使得所述第一路时钟源和第二路时钟源以主备方式为所述多路服务器的计算节点提供时钟信号。

其中,所述时钟控制模块,还用于在识别出所述多路服务器的分区模式为分区的情况下,通过使能所述时钟发生器以及控制所述双源输入时钟驱动器的输入时钟源的切换,使得所述第一路时钟源和第二路时钟源分别为各自所在的分区的计算节点提供时钟信号。

根据本发明的另一实施例,提供了一种多路服务器,该多路服务器包括前文中所述的时钟系统,其中,所述第一路时钟源电路和所述第二路时钟源电路分别位于第一管理板和第二管理板,所述计算节点可以为多个。

根据本发明的再一实施例,提供了一种应用于前文所述的多路服务器的时钟系统控制方法,该时钟系统控制方法包括:

系统上电初始,所述第一路时钟源和第二路时钟源都默认关闭;所述第一管理板的时钟控制模块按照系统初始设定的分区模式和时钟源状态,联合第二管理板的时钟控制模块一起控制时钟原的使能和切换。

其中,如果所述多路服务器的分区模式为分区,所述第一管理板和所述第二管理板上的时钟控制模块分别使能各自分区的管理板的时钟发生器,并将各自分区中的计算节点的双源输入时钟驱动器切换为各自分区管理板输出的时钟源。

其中,如果所述多路服务器的分区模式为未分区,则所述第一管理板的bmc时钟控制模块判断本板内的所述第一路时钟源电路是否正常;如果正常,则使能所述第一管理板的第一路时钟源,并将所有计算节点的时钟输入源切换为第一管理板输出的所述第一路时钟源。

其中,如果所述第一路时钟源电路为异常,则通知所述第二管理板的时钟控制模块,使能第二管理板的所述第二时钟源输出,并将计算节点的时钟输入源切换为第二管理板输出的时钟源。

在本发明的上述实施例中,设计两组对等的时钟源电路,分别放在两个管理板上,而计算节点上的时钟接收端则采用双源输入的时钟驱动器,来同时支持两个时钟源的输入。系统上电初始,由不同管理板的时钟控制模块,根据当前的分区模式和时钟源状态,使能其中一组时钟或者同时使能两组时钟,并通过控制计算节点上的双源输入时钟驱动器的输入切换,来满足无公共节点且需支持分区的多路服务器的同源时钟需求,并且解决了常规设计中时钟系统存在的单点故障问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的多路服务器时钟系统结构示意图;

图2是根据本发明实施例的多路服务器结构框图;

图3是根据本发明实施例的时钟系统控制方法流程图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本发明的实施例中,提供了两组对等的时钟源电路,分别放在两个管理板上,而计算节点上的时钟接收端则采用双源输入的时钟驱动器,来同时支持两个时钟源的输入。系统上电初始,由管理板1的bmc(baseboardmanagementcontroller,基板管理控制器)时钟控制模块,根据当前的分区模式和时钟源状态,联合管理板2的bmc时钟控制模块一起使能其中一组时钟或者同时使能两组时钟,并通过控制计算节点上的双源输入时钟驱动器的输入切换,来满足不同情况下多路服务器的时钟需求。

图1是根据本发明实施例的多路服务器时钟系统结构示意图。如图1所示,本发明实施例的时钟系统主要包括时钟发生器、时钟驱动器、双源输入时钟驱动器、bmc时钟控制模块,具体说明如下:

时钟发生器,用于产生系统工作所需的pcie时钟源。在本实施例中,时钟发生器产生一路或多路系统工作所需的pcie时钟源,并支持根据ctrl1/2信号的状态控制输出的使能和关闭。该时钟发生器可采用idt公司的ck420芯片来实现。

时钟驱动器,如果计算节点的数量过多,所需时钟数量超出了时钟发生器可以输出的时钟数量,这时就需要用时钟驱动器,来将一路时钟驱动成多路时钟,如果时钟发生器可输出的时钟数量满足计算节点需要,则此时钟驱动器可以省略。在本实施例中,时钟驱动器将时钟发生器产生的一路pcie时钟驱动成2n(n等于分区内的计算节点数量)路时钟,送给各个计算节点,并根据ctrl1/2信号的状态,控制输出的使能和关闭。根据输出的路数需要,该时钟驱动器可采用idt公司的db1900、db1200等系列芯片实现。

双源输入时钟驱动器,可以接收两路pcie时钟输入,并支持选择其中一路作为时钟源,然后驱动出多路时钟,提供给cpu(centralprocessunit,中央处理单元)和pcie设备。在本实施例中,双源输入时钟驱动器接收两个管理板送过来的两路pcie时钟输入,并根据ctrl1/2信号的状态选择其中一路作为时钟源,然后驱动出多路时钟送给后端设备。该双源输入时钟驱动器可采用idt公司的9zml1232芯片实现。

bmc时钟控制模块,实现对分区模式和时钟状态的识别,并据此实施对时钟相关电路的控制,包括使能关闭管理板上的时钟发生器和驱动器,以及切换选择计算节点上时钟驱动器的双源输入。在本实施例中,bmc时钟控制模块可由软件编码实现,通过对分区模式和时钟状态的识别,并联合另一个管理板上的bmc时钟控制模块,通过控制ctrl1/2信号的状态,实现对时钟相关电路的控制,包括使能或关闭管理板上的时钟发生器和驱动器,以及切换选择计算节点上时钟驱动器的双源输入。

其它装置说明,管理板是一块实现系统管理功能的单板,上面主要实现bmc和时钟等相关功能电路;计算节点是实现具体运算功能的单板,上面主要实现cpu、pcie设备、时钟等功能电路。每个支持分区的多路服务器系统中,都会存在2个管理板和多个计算节点。

在本实施例中,计算节点1-2n,其中n等于每个分区内的计算节点数量,如果多路服务器总的cpu路数为m,每个计算节点内有k个cpu,则n=m/2k。此处假设每个计算节点内只有1个cpu,则对于4路服务器,m=4,n=2;对于8路服务器,m=8,n=4。

图2是根据本发明实施例的多路服务器结构框图。如图2所示,本实施例中的多路服务器包括前文中所描述的时钟源系统,其中,第一路时钟源电路和第二路时钟源电路分别位于第一管理板1和第二管理板2,计算节点为多个,即,cpu节点1-2n,每个计算节点包括双源时钟驱动器、cpu和多个pcie设备。该多路服务器可以为4路、8路服务器,其可支持分区模式,例如,一个4路服务器可拆分为两个2路服务器工作,一个8路服务器可拆分为两个4路服务器工作。位于管理板1和2中的两组对等的时钟源电路为多路服务器提供时钟信号。具体时钟信号的控制过程可参见后续的描述。

图3是根据本发明实施例的时钟系统控制方法流程图,在本实施例中,系统上电初始,所有时钟都默认关闭;管理板1的bmc时钟控制模块按照系统初始设定的分区模式和时钟情况,联合管理板2的bmc时钟控制模块一起控制时钟的使能和切换;如果是分区模式,两个管理板上的bmc时钟控制模块分别使能各自分区管理板上的时钟发生器,并将计算节点的时钟输入源切换为各自分区管理板输出的时钟;如果非分区模式,则继续由管理板1的bmc时钟控制模块判断本板内的时钟电路是否正常;如有异常,则通知管理板2的bmc时钟控制模块,使能管理板2的时钟输出,并将计算节点的时钟输入源切换为管理板2输出的时钟;如果管理板1的时钟正常,则使能管理板1的时钟。

具体的时钟系统控制方法流程如图3所示,包括如下步骤:

步骤s101、系统上电初始,ctrl1和ctrl2两个信号状态都为’0’,两路pcie时钟源都默认关闭,即两个管理板上的时钟发生器、时钟驱动器都处于关闭状态,并且默认控制计算节点1-n的双源驱动器的输入为管理板2的时钟,默认控制计算节点n+1-2n的双源驱动器的输入为管理板1的时钟;

步骤s102、管理板1的bmc时钟控制模块根据系统的初始设置,判断当前的工作模式;

步骤s103、判断多路服务器的分区模式;

步骤s104、如果多路服务器的分区模式是分区,管理板1的bmc时钟控制模块则通知到管理板2的bmc时钟控制模块,当前的工作模式为分区。两个管理板的bmc时钟控制模块,分别通过控制ctrl1和ctrl2信号状态为’1’,使能各自分区的时钟,包括使能管理板上的时钟发生器、时钟驱动器,并切换计算节点上的双源输入驱动器的输入为本分区管理板上的时钟。

步骤s105、如果分区工作模式是未分区,管理板1的bmc时钟控制模块,则根据系统日志记录的时钟运行信息,识别管理板1内的时钟状态;

步骤s106、判断管理板1内的时钟源是否存在异常;

步骤s107、如果管理板1内的时钟存在异常,则需将时钟源切换到管理板2上,管理板2的bmc时钟控制模块,通过控制ctrl2信号状态为’1’,来使能管理板2上的时钟,包括使能时钟发生器、时钟驱动器,并切换计算节点n+1-2n上的双源输入驱动器的输入为管理板2的时钟;

步骤s108、如果管理板1内的时钟正常,则无需使能管理板2的时钟源,管理板1的bmc时钟控制模块,通过控制ctrl1信号状态为’1’,来使能管理板1上的时钟,包括使能时钟发生器、时钟驱动器,并切换计算节点1-n上的双源输入驱动器的输入为管理板1的时钟。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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