一种节点热插拔的方法和NUMA节点装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种节点热插拔的方法和NUMA节点。
背景技术
非一致性内存访问(Non Uniform Memory Access Architecture,NUMA)架构是服务器架构的一种,整个服务器由多个机框组成,每个机框可看作一个NUMA节点,每个NUMA节点内有一个节点控制(Node Control,NC)芯片,服务器的NUMA节点两两之间通过NC芯片进行高速互联。除此之外,每个NUMA节点还包含一个基板管理控制器(Baseboard ManagementController,BMC),各NUMA节点的BMC通过网络与资源管理子系统(Resource ManagementSubsystem,RMS)相连,整个NUMA架构服务器由RMS进行统一管理,所述BMC和所述RMS通过网络进行信令的交互。
NUMA架构服务器的每个NUMA节点至少包含一个中央处理器(Central ProcessingUnit,CPU)子节点。基于对NUMA架构服务器的可靠性、可利用性和可维护性(ReliabilityAvailability Serviceability,RAS)的要求,服务器支持CPU子节点的热插拔功能以提升系统的可维护性,所谓热插拔,即在允许整个NUAM服务器不断电、不关闭系统的情况下移除或更换故障子节点,从而提升服务器的稳定性。
但是,由于NUMA架构服务器的NUMA节点分为主从节点,基本输入输出系统(BasicInput Output System,BIOS)运行在主节点上,其他NUMA节点为从节点。子节点热插拔需要BIOS来发起,因此当从节点上出现子节点热插拔时,需要不断的通过主节点BMC、RMS以及从节点BMC之间进行信令的交互控制,这样热插拔过程太依赖于主从节点的BMC和RMS,各个交互控制命令通过网络交互耗费时间太长影响效率,并且,主从节点的BMC和RMS的不稳定性会增加CPU节点热插拔的失败几率,导致不能快速替换故障子节点。
发明内容
本发明的实施例提供一种节点热插拔的方法和NUMA节点,解决了现有技术NUMA服务器在节点热插拔的过程中主从节点的BMC与RMS控制信令交互过多的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供了一种节点热插拔的方法,该方法应用于一种非一致性内存访问NUMA服务器,该方法包括:
所述NUMA服务器的第二NUMA节点通过所述第二NUMA节点的节点控制NC芯片和第一NUMA节点的NC芯片,从所述第一NUMA节点的热插拔寄存器中获取所述第一NUMA节点中热插入的子节点的上电请求指令,其中,所述NUMA服务器的基本输入输出系统BIOS位于所述第二NUMA节点;
所述第二NUMA节点根据预存储的所述第一NUAM节点的热插拔寄存器的标识信息,和所述BIOS直接读写的存储器的第一地址信息的第一对应关系,将所述上电请求指令写入所述BIOS直接读写的存储器的第一地址信息所述对应的存储空间中;
所述第二NUMA节点根据所述第一对应关系,将所述BIOS根据所述存储器的第一地址信息所对应的存储空间中的所述上电请求指令,写入所述存储器的第一地址信息所对应的存储空间中的第一指令,通过所述第二NUMA节点的NC芯片,和所述第一NUMA节点的NC芯片,写入所述第一NUMA节点的热插拔寄存器中,以使得所述子节点从所述第一NUMA节点热插拔寄存器获取所述第一指令,并根据所述第一指令上电。
在第一种可能的实施方式中,结合第一方面,所述第二NUMA节点预存储有第n个NUMA节点的热插拔寄存器的标识信息,和所述存储器的第n地址信息的第二对应关系,其中,所述NUMA服务器共包含N个NUMA节点,1<=n<=N,所述写入所述第一NUMA节点的热插拔寄存器中,以使得所述子节点从所述第一NUMA节点热插拔寄存器获取所述第一指令,并根据所述第一指令上电之后,该方法还包括:
所述第二NUMA节点通过所述第二NUMA节点的NC芯片和所述第一NUMA节点的NC芯片,从所述第一NUMA节点的热插拔寄存器中获取所述热插入的子节点的上电成功指令;
所述第二NUMA节点根据所述第一对应关系,将所述上电成功指令写入所述存储器的第一地址信息所述对应的存储空间中;
所述第二NUMA节点根据所述第二对应关系,将所述BIOS根据所述存储器的第一地址信息所对应的存储空间中的所述上电成功指令,写入所述存储器的第n地址信息所对应的存储空间中的第二指令,通过所述第二NUMA节点的NC芯片,和所述第n个NUMA节点的NC芯片,写入所述第n个NUMA节点的热插拔寄存器,以使得所述第n个NUMA节点获取并执行所述第二指令,其中,所述第二指令是热插入所述子节点对应的指令。
在第二种可能的实施方式中,结合第一种可能的实施方式,该方法还包括:
所述第二NUMA节点通过所述第二NUMA节点的NC芯片和所述第一NUMA节点的NC芯片,从所述第一NUMA节点的热插拔寄存器中获取所述第一NUMA节点中热移除的子节点的下电请求指令;
所述第二NUMA节点根据所述第一对应关系,将所述下电请求指令写入所述存储器的第一地址信息所述对应的存储空间中;
所述第二NUMA节点根据所述第二对应关系,将所述BIOS根据所述存储器的第一地址信息所对应的存储空间中的所述下电请求指令,写入所述存储器的第一地址信息所对应的存储空间中的第三指令,通过所述第二NUMA节点的NC芯片,和所述第n个NUMA节点的NC芯片,写入所述第n个NUMA节点的热插拔寄存器,以使得所述第n个NUMA节点获取并执行所述第三指令,其中,所述第三指令是热移除所述子节点对应的指令。
在第三种可能的实施方式中,结合第二种可能的实施方式,所述写入所述第n个NUMA节点的热插拔寄存器,以使得所述第n个NUMA节点获取并执行所述第三指令之后,该方法还包括:
所述第二NUMA节点根据所述第一对应关系,将所述BIOS在所述第一地址信息所对应的存储中间中写入的第四指令,通过所述第二NUMA节点的NC芯片,和所述第一NUMA节点的NC芯片,写入所述第一NUMA节点的热插拔寄存器中,以使得所述热移除的子节点从所述第一NUMA节点的热插拔寄存器获取所述第四指令,并根据所述第四指令下电。
第二方面,本发明实施例提供了一种NUMA节点,所述NUMA节点包括:获取单元,第一写入单元和第二写入单元;
所述获取单元,用于通过所述NUMA节点的节点控制NC芯片和第一NUMA节点的NC芯片,从所述第一NUMA节点的热插拔寄存器中获取所述第一NUMA节点中热插入的子节点的上电请求指令,其中,包含所述NUMA节点的NUMA服务器的基本输入输出系统BIOS位于所述NUMA节点;
所述第一写入单元,用于根据预存储的所述第一NUAM节点的热插拔寄存器的标识信息,和所述BIOS直接读写的存储器的第一地址信息的第一对应关系,将所述上电请求指令写入所述BIOS直接读写的存储器的第一地址信息所述对应的存储空间中;
所述第二写入单元,用于根据所述第一对应关系,将所述BIOS根据所述存储器的第一地址信息所对应的存储空间中的所述上电请求指令,写入所述存储器的第一地址信息所对应的存储空间中的第一指令,通过所述NUMA节点的NC芯片,和所述第一NUMA节点的NC芯片,写入所述第一NUMA节点的热插拔寄存器中,以使得所述子节点从所述第一NUMA节点热插拔寄存器获取所述第一指令,并根据所述第一指令上电。
在第一种可能的实施方式中,结合第二方面,所述NUMA节点预存储有第n个NUMA节点的热插拔寄存器的标识信息,和所述存储器的第n地址信息的第二对应关系,其中,所述NUMA服务器共包含N个NUMA节点,1<=n<=N,所述获取单元还用于:
通过所述NUMA节点的NC芯片和所述第一NUMA节点的NC芯片,从所述第一NUMA节点的热插拔寄存器中获取所述热插入的子节点的上电成功指令;
所述第一写入单元还用于:所述NUMA节点根据所述第一对应关系,将所述上电成功指令写入所述存储器的第一地址信息所述对应的存储空间中;
所述第二写入单元还用于:根据所述第二对应关系,将所述BIOS根据所述存储器的第一地址信息所对应的存储空间中的所述上电成功指令,写入所述存储器的第n地址信息所对应的存储空间中的第二指令,通过所述NUMA节点的NC芯片,和所述第n个NUMA节点的NC芯片,写入所述第n个NUMA节点的热插拔寄存器,以使得所述第n个NUMA节点获取并执行所述第二指令,其中,所述第二指令是热插入所述子节点对应的指令。
在第二种可能的实施方式中,结合第一种可能的实施方式,所述获取单元还用于:
通过所述NUMA节点的NC芯片和所述第一NUMA节点的NC芯片,从所述第一NUMA节点的热插拔寄存器中获取所述第一NUMA节点中热移除的子节点的下电请求指令;
所述第一写入单元还用于:根据所述第一对应关系,将所述下电请求指令写入所述存储器的第一地址信息所述对应的存储空间中;
所述第二写入单元还用于:根据所述第二对应关系,将所述BIOS根据所述存储器的第一地址信息所对应的存储空间中的所述下电请求指令,写入所述存储器的第一地址信息所对应的存储空间中的第三指令,通过所述NUMA节点的NC芯片,和所述第n个NUMA节点的NC芯片,写入所述第n个NUMA节点的热插拔寄存器,以使得所述第n个NUMA节点获取并执行所述第三指令,其中,所述第三指令是热移除所述子节点对应的指令。
在第三种可能的实施方式中,结合第种可能的实施方式,所述第二写入单元还用于:
根据所述第一对应关系,将所述BIOS在所述第一地址信息所对应的存储中间中写入的第四指令,通过所述NUMA节点的NC芯片,和所述第一NUMA节点的NC芯片,写入所述第一NUMA节点的热插拔寄存器中,以使得所述热移除的子节点从所述第一NUMA节点的热插拔寄存器获取所述第四指令,并根据所述第四指令下电。
第三方面,本发明实施例提供了一种NUMA节点,该NUMA节点包括处理器、总线和存储器,其中,所述处理器通过所述总线获取所述存储器中的指令,以用于:
通过所述NUMA节点的节点控制NC芯片和第一NUMA节点的NC芯片,从所述第一NUMA节点的热插拔寄存器中获取所述第一NUMA节点中热插入的子节点的上电请求指令,其中,包含所述NUMA节点的NUMA服务器的基本输入输出系统BIOS位于所述NUMA节点;
根据预存储的所述第一NUAM节点的热插拔寄存器的标识信息,和所述BIOS直接读写的存储器的第一地址信息的第一对应关系,将所述上电请求指令写入所述BIOS直接读写的存储器的第一地址信息所述对应的存储空间中;
根据所述第一对应关系,将所述BIOS根据所述存储器的第一地址信息所对应的存储空间中的所述上电请求指令,写入所述存储器的第一地址信息所对应的存储空间中的第一指令,通过所述NUMA节点的NC芯片,和所述第一NUMA节点的NC芯片,写入所述第一NUMA节点的热插拔寄存器中,以使得所述子节点从所述第一NUMA节点热插拔寄存器获取所述第一指令,并根据所述第一指令上电。
在第一种可能的实施方式中,结合第三方面,所述NUMA节点预存储有第n个NUMA节点的热插拔寄存器的标识信息,和所述存储器的第n地址信息的第二对应关系,其中,所述NUMA服务器共包含N个NUMA节点,1<=n<=N,所述处理器还用于:
通过所述NUMA节点的NC芯片和所述第一NUMA节点的NC芯片,从所述第一NUMA节点的热插拔寄存器中获取所述热插入的子节点的上电成功指令;
根据所述第一对应关系,将所述上电成功指令写入所述存储器的第一地址信息所述对应的存储空间中;
根据所述第二对应关系,将所述BIOS根据所述存储器的第一地址信息所对应的存储空间中的所述上电成功指令,写入所述存储器的第n地址信息所对应的存储空间中的第二指令,通过所述NUMA节点的NC芯片,和所述第n个NUMA节点的NC芯片,写入所述第n个NUMA节点的热插拔寄存器,以使得所述第n个NUMA节点获取并执行所述第二指令,其中,所述第二指令是热插入所述子节点对应的指令。
在第二种可能的实施方式中,结合第一种可能的实施方式,所述处理器还用于:
通过所述NUMA节点的NC芯片和所述第一NUMA节点的NC芯片,从所述第一NUMA节点的热插拔寄存器中获取所述第一NUMA节点中热移除的子节点的下电请求指令;
根据所述第一对应关系,将所述下电请求指令写入所述存储器的第一地址信息所述对应的存储空间中;
根据所述第二对应关系,将所述BIOS根据所述存储器的第一地址信息所对应的存储空间中的所述下电请求指令,写入所述存储器的第一地址信息所对应的存储空间中的第三指令,通过所述NUMA节点的NC芯片,和所述第n个NUMA节点的NC芯片,写入所述第n个NUMA节点的热插拔寄存器,以使得所述第n个NUMA节点获取并执行所述第三指令,其中,所述第三指令是热移除所述子节点对应的指令。
在第三种可能的实施方式中,结合第二种可能的实施方式,所述处理器还用于:
根据所述第一对应关系,将所述BIOS在所述第一地址信息所对应的存储中间中写入的第四指令,通过所述NUMA节点的NC芯片,和所述第一NUMA节点的NC芯片,写入所述第一NUMA节点的热插拔寄存器中,以使得所述热移除的子节点从所述第一NUMA节点的热插拔寄存器获取所述第四指令,并根据所述第四指令下电。
本发明实施例提供了一种节点热插拔的方法和NUMA节点,通过每个NUMA节点的热插拔寄存器的标识信息与BIOS可直接读写的存储器的地址信息的一一对应关系,使得NUMA服务器中的主节点可以通过主节点NC芯片,和其他从节点NC芯片之间的高速互连通道,与热插入或热移除的子节点进行信令的交互,从而解决了现有技术热插拔子节点时主从节点的BMC和RMS信令交互过多所造成的效率较低的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种NUMA服务器示意图;
图2为一种节点热插拔的方法流程图;
图3为另一种NUMA服务器示意图;
图4为又一种NUMA服务器示意图;
图5为另一种节点热插拔的方法流程图;
图6为又一种节点热插拔的方法流程图;
图7为一种NUMA节点示意图;
图8为另一种NUMA节点示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
结合图1,示例性的描述了一种多节点服务器系统,图1示例性的画出了该服务器系统中的两个NUMA节点,即NUMA节点1和NUMA节点n,在节点1和节点n中,又各有m个子节点和一个NC芯片。NC芯片上有多个接口,分别与每个子节点的CPU相连接,NUMA节点1和NUMA节点n之间通过NC芯片进行串行通信高速互联。每个NC芯片上有一个热插拔寄存器,用于存储与热插拔相关的指令信息。
如图1所示,每个CPU子节点包含一个CPU,对于有BIOS芯片的子节点,该子节点的CPU还与BIOS芯片相连接,在一些主流平台,如因特尔平台上,该子节点的CPU并不与所述BIOS芯片直接相连,而是通过一个集成南桥PCH,将所述子节点的CPU和所述BIOS芯片连接起来。除此之外,每个子节点还包括一个可编程逻辑器件,如复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD),或现场可编程门阵列(Field-Programmable GateArray,简称FPGA)等,用于执行上电、下电、复位等命令。
每个NUMA节点还包括一个BMC,该BMC与NC芯片中的热插拔寄存器通过两线式串行总线,如I2C总线互联,另外,该BMC还与其所在的NUMA节点中的每个子节点、以及RMS相连。
如图1所示,BIOS运行在NUMA节点1中,因此,NUMA节点1为主节点,NUMA节点n为从节点。并且,需要说明的是,在本发明实施例中,所述的节点热插拔中的“子节点”,指的是计算子节点,或CPU子节点,除此之外,还可以是图1未示出的存储子节点,如存储器,或输入/输出(Input/Output,IO)子节点等,而不是所述NUMA架构服务器中的NUMA节点。
以热插入一个CPU子节点为例描述现有NUMA架构服务器进行CPU子节点热插拔的过程。当一个NUMA从节点需要添加一个CPU子节点时,RMS会获取到该热插入的子节点的信息,并通过网络通知主节点的BMC,如图1中的NUMA节点1的BMC,BMC通过PCH触发BIOS启动热插拔流程,具体的,BIOS将上电指示通过主节点的BMC发送给RMS,RMS将上电指示发送给从节点的BMC,再由从节点的BMC将上电指示发送至热插入的子节点的可编程逻辑器件,该可编程逻辑器件根据BIOS的上电指示,控制该热插入的子节点上电。
之后主节点的BMC,RMS以及热插入CPU节点的NUMA从节点的BMC之间进行信令,交互添加热插入CPU节点所需的其他命令,如复位等。
由此可见,在这一过程中需要进行大量的主节点BMC,RMS以及从节点BMC之间的信令交互,这些信息需要通过网络进行交互,耗时较长从而影响热插入效率,为解决这一问题,结合图2,本发明实施例提供了一种节点热插拔的方法,该方法包括:
201、NUMA服务器的第二NUMA节点通过所述第二NUMA节点的节点控制NC芯片和第一NUMA节点的NC芯片,从所述第一NUMA节点的热插拔寄存器中获取所述第一NUMA节点中热插入的子节点的上电请求指令,其中,所述NUMA服务器的基本输入输出系统BIOS位于所述第二NUMA节点。
当插入一个子节点后,举例来说,该热插入的子节点为图1所示的NUMA服务器的NUMA节点n中的CPU节点m,则所述NUMA节点n即为所述第一NUMA节点,该子节点中用于控制子节点上电、复位等硬件初始化的控制模块,如CPLD,通过BMC和I2C模块在NUMA节点n的热插拔寄存器中写入上电请求指令,如在该热插拔寄存器中写入一个中断消息,该中断即为所述热插入的CPU子节点请求上电的指令。
需要说明的是,结合图3,所述CPLD也可以直接与所述I2C模块相连,此时,CPLD在向所述第一NUMA节点的热插拔寄存器中写入所述上电请求消息时,不需要所述BMC的转发;更进一步的,结合图4,为减小I2C模块的复杂程度,CPLD和BMC可以通过两个不同的I2C模块与所述热插拔寄存器相连。
具体的,所述NUMA服务器中对应有一个所述BIOS可直接读写的存储器,BIOS周期性的向每个NC芯片下发指令,指示所述NC芯片将其热插拔寄存器中的指令信息发送至所述存储器对应的存储空间中。
当所述子节点在所述第一NUMA节点的热插拔寄存器中写入上电请求指令后,所述NUMA服务器的第二NUMA节点,即所述NUMA服务器的主节点,通过所述第二NUMA节点的节点控制NC芯片和所述第一NUMA节点的NC芯片,从所述第一NUMA节点的热插拔寄存器中获取所述热插入的子节点的上电请求指令。
202、所述第二NUMA节点根据预存储的所述第一NUAM节点的热插拔寄存器的标识信息,和所述BIOS直接读写的存储器的第一地址信息的第一对应关系,将所述上电请求指令写入所述BIOS直接读写的存储器的第一地址信息所述对应的存储空间中。
具体的,所述主节点,即第二NUMA节点维护一张如下表1所示的映射关系表:
表1
地址1 |
NUMA节点1的热插拔寄存器 |
地址2 |
NUMA节点2的热插拔寄存器 |
… |
… |
地址n |
NUMA节点n的热插拔寄存器 |
所述第二NUMA节点根据预存储的所述第一NUAM节点的热插拔寄存器的标识信息,和所述BIOS直接读写的存储器的第一地址信息的对应关系,将所述上电请求指令发送至所述存储器的第一地址信息所述对应的存储空间中。举例来说,当所述第一NUMA节点为图1所示的NUMA节点n时,所述第一地址信息即为所述地址n。所述第二NUMA节点将从所述第一NUMA节点的热插拔寄存器中获取的上电请求指令发送至所述存储器中地址n对应的存储空间中。
203、所述第二NUMA节点根据所述第一对应关系,将所述BIOS根据所述存储器的第一地址信息所对应的存储空间中的所述上电请求指令,写入所述存储器的第一地址信息所对应的存储空间中的第一指令,通过所述第二NUMA节点的NC芯片,和所述第一NUMA节点的NC芯片,写入所述第一NUMA节点的热插拔寄存器中,以使得所述子节点从所述第一NUMA节点热插拔寄存器获取所述第一指令,并根据所述第一指令上电。
由于所述存储器是所述BIOS可直接读写的存储器,当所述第二NUMA节点的将所述上电请求指令写入所述存储器中第一地址信息所对应的物理存储空间中之后,所述BIOS便可以直接从所述第一地址信息所对应的物理存储空间中读取到所述上电请求消息。
当所述BIOS允许所述热插入的子节点上电时,所述BIOS需要向第一NUMA节点下发用于指示所述子节点上电的第一指令时,所述BIOS在获取所述上电请求指令的第一地址信息所对应的存储空间中写入所述第一指令。
举例来说,所述第一NUMA节点为图1所示的NUMA服务器中的NUMA节点n,则根据上述表1可以获取到所述NUMA节点n的热插拔寄存器对应的所述存储器的地址信息为地址n,所述BIOS在所述存储器的地址n所对应的物理存储空间中写入所述第一指令。
需要说明的是,所述NUMA服务器的每个NUMA节点的热插拔寄存器和所述存储器的地址的对应关系可以如上述表1所示,也可以是其他形式,本发明实施例对此不做限定。
所述第二NUMA节点根据如上述表1的映射关系,确定所述第一地址信息所对应的热插拔寄存器为第一NUMA节点的热插拔寄存器,所述第二NUMA节点根据所述第二NUAM节点的NC芯片,与所述第一NUMA节点的NC芯片之间的高速互连通道,将所述第一指令写入所述第一NUMA节点的热插拔寄存器中。
具体的,所述子节点的CPLD通过主动读取的方式,从所述第一NUMA节点的热插拔寄存器中获取所述第一指令,也可以是连接所述BIOS指示所述第一NUMA节点的NC芯片,在获取到所述第一指令后将所述第一指令发送至所述子节点的CPLD。
所述子节点的CPLD获取到所述第一指令后,根据所述第一指令,控制所述子节点上电。
本发明实施例提供了一种节点热插拔的方法,在该方法中,通过每个NUMA节点的热插拔寄存器的标识信息与BIOS可直接读写的存储器的地址信息的一一对应关系,主节点可以通过主节点NC芯片,和其他从节点NC芯片之间的高速互连通道,与热插入的子节点进行信令的交互,从而解决了现有技术热插入子节点后主从节点的BMC和RMS信令交互过多所造成的效率较低的问题。
热插入的子节点完成初始化,如上电之后,BIOS需要为NMUA服务器的每个NUMA节点的热插拔寄存器配置与热插入的子节点相关的指令,在这一阶段,操作系统需要停止其他工作,进入静默状态,通过现有技术,BIOS通过主节点的BMC、RMS和每个NUMA从节点的BMC,在每个NUMA从节点的热插拔寄存器中配置与热插入子节点相关的指令,配置完成后,系统退出静默。由于通过RMS延时较长而导致系统静默时间较长,为解决这一问题,结合图5,本发明实施例提供了一种节点热插拔的方法,在上述步骤203之后,该方法包括:
501、所述第二NUMA节点通过所述第二NUMA节点的NC芯片和所述第一NUMA节点的NC芯片,从所述第一NUMA节点的热插拔寄存器中获取所述热插入的子节点的上电成功指令。
502、所述第二NUMA节点根据所述第一对应关系,将所述上电成功指令写入所述存储器的第一地址信息所述对应的存储空间中。
具体的,步骤501和步骤502的详细技术特征可参见上述实施例的步骤201和步骤202,本发明实施例对此不再赘述。
503、所述第二NUMA节点根据所述第二对应关系,将所述BIOS根据所述存储器的第一地址信息所对应的存储空间中的所述上电成功指令,写入所述存储器的第n地址信息所对应的存储空间中的第二指令,通过所述第二NUMA节点的NC芯片,和所述第n个NUMA节点的NC芯片,写入所述第n个NUMA节点的热插拔寄存器,以使得所述第n个NUMA节点获取并执行所述第二指令,其中,所述第二指令是热插入所述子节点对应的指令。
需要说明的是,当所述BIOS收到所述热插入的子节点发送的用于指示所述子节点已上电成功的指令后,根据具体情况,所述BIOS还有可能指示所述子节点完成复位、解复位以及二次复位等动作,具体的,所述BIOS将指令信息写入存储器的第一地址信息所对应的物理存储空间中,所述第二NUMA节点通过所述第二NUMA节点的NC芯片与第一NUMA节点的NC芯片的高速互连通道,将所述指令信息写入所述第一NUMA节点的热插拔寄存器中,以使得所述热插入的子节点从所述第一NUMA节点的热插拔寄存器中获取并执行所述指令。
当所述子节点完成上电、复位等之后,所述BIOS需要在NUMA服务器的每个NUMA节点的热插拔寄存器中配置与热插入所述子节点相关的指令,即所述第二指令,结合上述表1,所述BIOS将需要配置在所述NUMA节点1的热插拔寄存器的指令写入到存储器的地址1所对应的物理存储空间中,所述BIOS将需要配置在所述NUMA节点2的热插拔寄存器的指令写入到存储器的地址2所对应的物理存储空间中…BIOS将需要配置在所述NUMA节点n的热插拔寄存器的指令写入到存储器的地址n所对应的物理存储空间中。
所述第二NUMA节点,根据所述表1所示的映射关系,分别将所述存储器的地址1对应的物理存储空间中的指令通过与NUMA节点1的NC芯片之间的高速互连通道写入所述NUMA节点1的热插拔寄存器中,将地址2对应的物理存储空间中的指令通过与NUMA节点2的NC芯片之间的高速互连通道写入所述NUMA节点2的热插拔寄存器中…将地址n对应的物理存储空间中的指令通过与NUMA节点n的NC芯片之间的高速互连通道写入所述NUMA节点n的热插拔寄存器中。
当然,对于第二NUMA节点的热插拔寄存器的配置,所述第二NUMA节点获取所述第二NUMA节点的热插拔寄存器的标识信息所对应的地址信息后,将该地址信息对应的物理存储空间的指令信息写入自身NC芯片的热插拔寄存器中即可。
本发明实施例提供了一种节点热插拔的方法,在该方法中,通过每个NUMA节点的热插拔寄存器的标识信息与BIOS可直接读写的存储器的地址信息的一一对应关系,主节点可以通过主节点NC芯片,和其他从节点NC芯片之间的高速互连通道,完成对每个NUMA节点的热插拔寄存器的与热插入所述子节点的相关指令配置,不需要主从节点的BMC与RMS交互,从而解决了主从节点的BMC和RMS信令交互过多所造成的效率较低的问题,减小了系统静默时间。
进一步的,结合图6,本发明实施例还提供了一种节点热插拔的方法,该方法用于对节点的热移除,该方法包括:
601、所述第二NUMA节点通过所述第二NUMA节点的NC芯片和所述第一NUMA节点的NC芯片,从所述第一NUMA节点的热插拔寄存器中获取所述第一NUMA节点中热移除的子节点的下电请求指令。
602、所述第二NUMA节点根据所述第一对应关系,将所述下电请求指令写入所述存储器的第一地址信息所述对应的存储空间中。
603、所述第二NUMA节点根据所述第二对应关系,将所述BIOS根据所述存储器的第一地址信息所对应的存储空间中的所述下电请求指令,写入所述存储器的第一地址信息所对应的存储空间中的第三指令,通过所述第二NUMA节点的NC芯片,和所述第n个NUMA节点的NC芯片,写入所述第n个NUMA节点的热插拔寄存器,以使得所述第n个NUMA节点获取并执行所述第三指令,其中,所述第三指令是热移除所述子节点对应的指令。
604、所述第二NUMA节点根据所述第一对应关系,将所述BIOS在所述第一地址信息所对应的存储中间中写入的第四指令,通过所述第二NUMA节点的NC芯片,和所述第一NUMA节点的NC芯片,写入所述第一NUMA节点的热插拔寄存器中,以使得所述热移除的子节点从所述第一NUMA节点的热插拔寄存器获取所述第四指令,并根据所述第四指令下电。
具体的,本发明实施例的详细技术特征可参见上述图2和图5所对应的实施例,本发明实施例对此不再赘述。
本发明实施例提供了一种节点热插拔的方法,在该方法中,通过每个NUMA节点的热插拔寄存器的标识信息与BIOS可直接读写的存储器的地址信息的一一对应关系,主节点可以通过主节点NC芯片,和其他从节点NC芯片之间的高速互连通道,与热移除的子节点进行信令的交互,从而解决了现有技术热移除子节点时主从节点的BMC和RMS信令交互过多所造成的效率较低的问题,并降低了系统的静默时间。
为解决节点热插拔过程中主从节点的BMC和RMS信令交互过多导致的效率较低的问题,结合图7,本发明实施例还提供了一种NUMA节点,所述NUMA节点包括:获取单元701,第一写入单元702和第二写入单元703;
所述获取单元701,用于通过所述NUMA节点的节点控制NC芯片和第一NUMA节点的NC芯片,从所述第一NUMA节点的热插拔寄存器中获取所述第一NUMA节点中热插入的子节点的上电请求指令,其中,包含所述NUMA节点的NUMA服务器的基本输入输出系统BIOS位于所述NUMA节点;
所述第一写入单元702,用于根据预存储的所述第一NUAM节点的热插拔寄存器的标识信息,和所述BIOS直接读写的存储器的第一地址信息的第一对应关系,将所述上电请求指令写入所述BIOS直接读写的存储器的第一地址信息所述对应的存储空间中;
所述第二写入单元703,用于根据所述第一对应关系,将所述BIOS根据所述存储器的第一地址信息所对应的存储空间中的所述上电请求指令,写入所述存储器的第一地址信息所对应的存储空间中的第一指令,通过所述NUMA节点的NC芯片,和所述第一NUMA节点的NC芯片,写入所述第一NUMA节点的热插拔寄存器中,以使得所述子节点从所述第一NUMA节点热插拔寄存器获取所述第一指令,并根据所述第一指令上电。
具体的,所述NUMA节点预存储有第n个NUMA节点的热插拔寄存器的标识信息,和所述存储器的第n地址信息的第二对应关系,其中,所述NUMA服务器共包含N个NUMA节点,1<=n<=N,所述获取单元701还用于:
通过所述NUMA节点的NC芯片和所述第一NUMA节点的NC芯片,从所述第一NUMA节点的热插拔寄存器中获取所述热插入的子节点的上电成功指令;
所述第一写入单元702还用于:根据所述第一对应关系,将所述上电成功指令写入所述存储器的第一地址信息所述对应的存储空间中;
所述第二写入单元703还用于:根据所述第二对应关系,将所述BIOS根据所述存储器的第一地址信息所对应的存储空间中的所述上电成功指令,写入所述存储器的第n地址信息所对应的存储空间中的第二指令,通过所述NUMA节点的NC芯片,和所述第n个NUMA节点的NC芯片,写入所述第n个NUMA节点的热插拔寄存器,以使得所述第n个NUMA节点获取并执行所述第二指令,其中,所述第二指令是热插入所述子节点对应的指令。
具体的,所述获取单元701还用于:
通过所述NUMA节点的NC芯片和所述第一NUMA节点的NC芯片,从所述第一NUMA节点的热插拔寄存器中获取所述第一NUMA节点中热移除的子节点的下电请求指令;
所述第一写入单元702还用于:根据所述第一对应关系,将所述下电请求指令写入所述存储器的第一地址信息所述对应的存储空间中;
所述第二写入单元703还用于:根据所述第二对应关系,将所述BIOS根据所述存储器的第一地址信息所对应的存储空间中的所述下电请求指令,写入所述存储器的第一地址信息所对应的存储空间中的第三指令,通过所述NUMA节点的NC芯片,和所述第n个NUMA节点的NC芯片,写入所述第n个NUMA节点的热插拔寄存器,以使得所述第n个NUMA节点获取并执行所述第三指令,其中,所述第三指令是热移除所述子节点对应的指令。
具体的,所述第二写入单元703还用于:
根据所述第一对应关系,将所述BIOS在所述第一地址信息所对应的存储中间中写入的第四指令,通过所述NUMA节点的NC芯片,和所述第一NUMA节点的NC芯片,写入所述第一NUMA节点的热插拔寄存器中,以使得所述热移除的子节点从所述第一NUMA节点的热插拔寄存器获取所述第四指令,并根据所述第四指令下电。
具体的,本发明实施例的详细技术特征可参考图2、图5和图6所对应的实施例,本发明实施例对此不再赘述。
本发明实施例提供了一种NUMA节点,BIOS位于该节点中,该节点通过预存储NUMA服务器中每个NUMA节点的热插拔寄存器的标识信息与BIOS可直接读写的存储器的地址信息的一一对应关系,使得所述NUMA节点可以通过所述NUMA节点的NC芯片,和其他从节点NC芯片之间的高速互连通道,与热插入的子节点进行信令的交互,从而解决了现有技术热插入子节点后主从节点的BMC和RMS信令交互过多所造成的效率较低的问题。
为解决节点热插拔过程中主从节点的BMC和RMS信令交互过多导致的效率较低的问题,结合图8,本发明实施例还提供了一种NUMA节点,所述NUMA节点包括:处理器801、总线802和存储器803,其中,所述处理器801通过所述总线802获取所述存储器803中的指令,以用于:
通过所述NUMA节点的节点控制NC芯片和第一NUMA节点的NC芯片,从所述第一NUMA节点的热插拔寄存器中获取所述第一NUMA节点中热插入的子节点的上电请求指令,其中,包含所述NUMA节点的NUMA服务器的基本输入输出系统BIOS位于所述NUMA节点;
根据预存储的所述第一NUAM节点的热插拔寄存器的标识信息,和所述BIOS直接读写的存储器的第一地址信息的第一对应关系,将所述上电请求指令写入所述BIOS直接读写的存储器的第一地址信息所述对应的存储空间中;
根据所述第一对应关系,将所述BIOS根据所述存储器的第一地址信息所对应的存储空间中的所述上电请求指令,写入所述存储器的第一地址信息所对应的存储空间中的第一指令,通过所述NUMA节点的NC芯片,和所述第一NUMA节点的NC芯片,写入所述第一NUMA节点的热插拔寄存器中,以使得所述子节点从所述第一NUMA节点热插拔寄存器获取所述第一指令,并根据所述第一指令上电。
具体的,所述NUMA节点预存储有第n个NUMA节点的热插拔寄存器的标识信息,和所述存储器的第n地址信息的第二对应关系,其中,所述NUMA服务器共包含N个NUMA节点,1<=n<=N,所述处理器801还用于:
通过所述NUMA节点的NC芯片和所述第一NUMA节点的NC芯片,从所述第一NUMA节点的热插拔寄存器中获取所述热插入的子节点的上电成功指令;
根据所述第一对应关系,将所述上电成功指令写入所述存储器的第一地址信息所述对应的存储空间中;
根据所述第二对应关系,将所述BIOS根据所述存储器的第一地址信息所对应的存储空间中的所述上电成功指令,写入所述存储器的第n地址信息所对应的存储空间中的第二指令,通过所述NUMA节点的NC芯片,和所述第n个NUMA节点的NC芯片,写入所述第n个NUMA节点的热插拔寄存器,以使得所述第n个NUMA节点获取并执行所述第二指令,其中,所述第二指令是热插入所述子节点对应的指令。
具体的,所述处理器801还用于:
通过所述NUMA节点的NC芯片和所述第一NUMA节点的NC芯片,从所述第一NUMA节点的热插拔寄存器中获取所述第一NUMA节点中热移除的子节点的下电请求指令;
根据所述第一对应关系,将所述下电请求指令写入所述存储器的第一地址信息所述对应的存储空间中;
根据所述第二对应关系,将所述BIOS根据所述存储器的第一地址信息所对应的存储空间中的所述下电请求指令,写入所述存储器的第一地址信息所对应的存储空间中的第三指令,通过所述NUMA节点的NC芯片,和所述第n个NUMA节点的NC芯片,写入所述第n个NUMA节点的热插拔寄存器,以使得所述第n个NUMA节点获取并执行所述第三指令,其中,所述第三指令是热移除所述子节点对应的指令。
具体的,所述处理器801还用于:
根据所述第一对应关系,将所述BIOS在所述第一地址信息所对应的存储中间中写入的第四指令,通过所述NUMA节点的NC芯片,和所述第一NUMA节点的NC芯片,写入所述第一NUMA节点的热插拔寄存器中,以使得所述热移除的子节点从所述第一NUMA节点的热插拔寄存器获取所述第四指令,并根据所述第四指令下电。
具体的,本发明实施例的详细技术特征可参考图2、图5和图6所对应的实施例,本发明实施例对此不再赘述。
本发明实施例提供了一种NUMA节点,BIOS位于该节点中,该节点通过预存储NUMA服务器中每个NUMA节点的热插拔寄存器的标识信息与BIOS可直接读写的存储器的地址信息的一一对应关系,使得所述NUMA节点可以通过所述NUMA节点的NC芯片,和其他从节点NC芯片之间的高速互连通道,与热插入的子节点进行信令的交互,从而解决了现有技术热插入子节点后主从节点的BMC和RMS信令交互过多所造成的效率较低的问题。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。