一种numa系统内存镜像配置方法、解除方法、系统和主节点的制作方法

文档序号:6532428阅读:238来源:国知局
一种numa系统内存镜像配置方法、解除方法、系统和主节点的制作方法
【专利摘要】本发明实施例提供了NUMA系统中的内存镜像配置方法、解除方法、系统和主节点,其中,NUMA系统中的内存镜像配置方法包括:NUMA系统的主节点接收节点内存镜像指令,节点内存镜像指令携带目标节点的标识和内存镜像模式信息;主节点根据目标节点的标识和内存镜像模式信息配置目标节点的内存镜像;其中,目标节点的内存地址是连续的,实现以单个节点为粒度的内存镜像,有效解决NUMA系统中内存镜像损耗过多内存空间的问题。
【专利说明】—种NUMA系统内存镜像配置方法、解除方法、系统和主节点
【技术领域】
[0001]本发明涉及信息【技术领域】,尤其涉及一种非统一内存访问NUMA系统内存镜像配置方法、解除方法、系统和主节点。
【背景技术】
[0002]非统一内存访问(Non-Uniform Memory Access, NUMA)系统既保持了对称多处理器架构(Sy_etric Mult1-Processor)模式单一操作系统拷贝、简便的应用程序编程模式以及易于管理的特点,又继承了大规模并行处理计算机(Massive Parallel Processing)模式的可扩充性,可以有效地扩充系统的规模。在NUMA系统中,稳定性、可用性和可服务性成了竞争力的关键。内存镜像作为内存稳定性、可用性和可服务性的重要保障,可以实现内存错误的恢复,是最强大的内存容错手段。但是内存镜像后,NUMA系统内存数量减半,使NUMA系统中内存镜像损耗过多内存空间。

【发明内容】

[0003]本发明实施例提供了一种非统一内存访问NUMA系统内存镜像配置方法、解除方法、系统和主节点。
[0004]第一方面,本发明实施例提供了一种NUMA系统内存镜像配置方法,所述方法包括:
[0005]所述NUMA系统的主节点接收节点内存镜像指令,所述节点内存镜像指令携带目标节点的标识和内存镜像模式信息;
[0006]所述主节点根据所述目标节点的标识和所述内存镜像模式信息配置
[0007]所述目标节点的内存镜像;其中,所述目标节点的内存地址是连续的。
[0008]根据第一方面,在第一种可能的实施方式中,所述内存镜像模式信息用于指7]^将所述目标节点配置为中央处理器间内存镜像模式。
[0009]根据第一方面,在第二种可能的实施方式中,所述内存镜像模式信息用于指示将所述目标节点配置为中央处理器内内存镜像模式。
[0010]根据第一方面、第一方面的第一种或第二种可能的实施方式,在第三种可能的实施方式中,所述目标节点的内存地址编址模式为交叉编址。
[0011]根据第一方面、第一方面的第一种、第二种或第三种可能的实施方式,在第四种可能的实施方式中,所述根据所述节点内存镜像指令携带的目标节点的标识和内存镜像模式信息配置所述目标节点的内存镜像后,还包括:
[0012]向所述NUMA系统的操作系统发送所述目标节点的内存地址信息。
[0013]第二方面,本发明实施例提供了一种NUMA系统内存镜像解除方法,所述方法包括:
[0014]所述NUMA系统的主节点接收解除节点内存镜像指令;[0015]所述主节点根据所述解除节点内存镜像指令携带的解除镜像节点的标识解除所述解除镜像节点的内存镜像;其中,所述解除镜像节点的内存地址是连续的。
[0016]根据第二方面,在第一种可能的实施方式中,所述主节点根据所述解除节点内存镜像指令携带的解除镜像节点的标识解除所述解除镜像节点的内存镜像后,还包括:
[0017]所述主节点向所述NUMA系统的操作系统发送所述每个节点的内存地址信息。
[0018]第三方面,本发明实施例提供了一种NUMA系统,所述NUMA系统包括主节点和目标节点;所述主节点用于接收节点内存镜像指令,所述节点内存镜像指令携带所述目标节点的标识和内存镜像模式信息;
[0019]所述主节点用于根据所述目标节点的标识和所述内存镜像模式信息配置所述目标节点的内存镜像;其中,所述目标节点的内存地址是连续的。
[0020]根据第三方面,在第一种可能的实施方式中,所述内存镜像模式信息用于指示将所述目标节点配置为中央处理器间内存镜像模式。
[0021]根据第三方面,在第二种可能的实施方式中,所述内存镜像模式信息用于指示将所述目标节点配置为中央处理器内内存镜像模式。
[0022]根据第三方面、第三方面的第一种或第二种可能的实施方式,在第三种可能的实施方式中,所述目标节点的内存地址编址模式为交叉编址。
[0023]根据第三方面,在第四种可能的实施方式中,所述主节点还用于接收解除节点内存镜像指令;
[0024]所述主节点还用于根据所述解除节点内存镜像指令携带的解除镜像节点的标识解除所述解除镜像节点的内存镜像;其中,所述解除镜像节点为所述目标节点中的至少一个。
[0025]第四方面,本发明实施例提供了一种NUMA系统的主节点,所述主节点包括接收单元和配置单元;
[0026]所述接收单元用于接收节点内存镜像指令,所述节点内存镜像指令携带目标节点的标识和内存镜像模式信息;
[0027]所述配置单元用于根据所述接收单元接收的所述目标节点的标识和所述内存镜像模式信息配置所述目标节点的内存镜像;其中,所述目标节点的内存地址是连续的。
[0028]根据第四方面,在第一种可能的实施方式中,所述内存镜像模式信息用于指示将所述目标节点配置为中央处理器间内存镜像模式。
[0029]根据第四方面,在第二种可能的实施方式中,所述内存镜像模式信息用于指示将所述目标节点配置为中央处理器内内存镜像模式。
[0030]根据第四方面、第四方面的第一种或第二种可能的实施方式,在第三种可能的实施方式中,所述目标节点的内存地址编址模式为交叉编址。
[0031]根据第四方面,在第四种可能的实施方式中,所述主节点还包括解除单元;所述接收单元还用于接收解除节点内存镜像指令;
[0032]所述解除单元用于根据所述接收单元接收的所述解除节点内存镜像指令携带的解除镜像节点的标识解除所述解除镜像节点的内存镜像;其中,所述解除镜像节点为所述目标节点中的至少一个。
[0033]第五方面,本发明实施例提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储计算机指令,当NUMA系统的主节点执行所述计算机指令时,实现:
[0034]接收节点内存镜像指令,所述节点内存镜像指令携带目标节点的标识和内存镜像模式信息;
[0035]根据所述目标节点的标识和所述内存镜像模式信息配置所述目标节点的内存镜像;其中,所述目标节点的内存地址是连续的。
[0036]根据第五方面,在第一种可能的实施方式中,所述内存镜像模式信息用于指示将所述目标节点配置为中央处理器间内存镜像模式。
[0037]根据第五方面,在第二种可能的实施方式中,所述内存镜像模式信息用于指示将所述目标节点配置为中央处理器内内存镜像模式。
[0038]本发明实施例提供的NUMA系统中的内存镜像配置方法、解除方法、NUMA系统及非易失性计算机可读存储介质,主节点接收节点内存镜像指令,所述节点内存镜像指令携带目标节点的标识和内存镜像模式信息,所述主节点根据所述目标节点的标识和所述内存镜像模式信息配置所述目标节点的内存镜像,实现以单个节点为粒度的内存镜像,有效解决NUMA系统中内存镜像损耗过多内存空间的问题。
【专利附图】

【附图说明】
[0039]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0040]图1为一种NUMA系统结构示意图;
[0041]图2为NUMA节点结构示意图;
[0042]图3为NUMA系统节点内存镜像方法流程图;
[0043]图4为NUMA系统节点中央处理器间内存镜像模式示意图;
[0044]图5为NUMA系统节点中央处理器内内存镜像模式示意图;
[0045]图6为NUMA系统节点中央处理器内内存交叉编址示意图;
[0046]图7为NUMA系统节点中央处理器间内存交叉编址示意图;
[0047]图8为NUMA系统节点选择界面示意图;
[0048]图9为节点控制器结构示意图;
[0049]图10为NUMA系统节点解除内存镜像方法流程图;
[0050]图11为NUMA系统的主节点结构示意图;
[0051]图12为NUMA系统的主节点另一结构示意图。
具体实施例
[0052]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明提供的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0053]非统一内存访问(Non-Uniform Memory Access, NUMA)系统的内存访问方式是一种不均衡式内存访问方式,任一节点的任一中央处理器可以访问本节点和非本地节点的所有内存地址,从而大幅度提闻并行性。
[0054]NUMA系统中,中央处理器被划分成多个节点,每个节点分配有本地内存。所有节点中的中央处理器都可以访问NUMA系统全部的物理内存。如图1所示,NUMA系统包括四个节点,分别为10、11、12和13。每个节点上包括两个中央处理器和一个节点控制器。其中,节点上的两个中央处理器之间通过快速通道互联(Quick Path Interconnect, QPI)链路直接连接,节点上两个中央处理器通过节点控制器与其他节点相连。图1所示的NUMA系统,作为一种示例性说明,节点数量及节点上中央处理器的数量并不是对本发明的限定,中央处理器之间连接的链路也不限于QPI链路。
[0055]为了图示的清晰,节点10、11、12和13上省略了内存等组件,节点更详细的结构将在下面详细描述。NUMA系统中的节点中,通常存在一个主节点,也称为零号节点,可以加载运行NUMA操作系统等。在本发明实施例图1所示的NUMA系统中,以节点10作为主节点,具体地,节点10包括中央处理器101和102,中央处理器101和102通过QPI链路连接,同时中央处理器101和102与节点控制器103连接,节点控制器103通过网络接口(NetworkingInterface, NI)分别与节点11、节点12和节点13的节点控制器的NI连接。
[0056]图2提供了图1所示的节点11的详细结构图。节点11包括中央处理器111和中央处理器112,中央处理器111和中央处理器112通过QPI链路连接。中央处理器111和中央处理器112分别与节点控制器113链接,节点控制器113通过NI分别与节点10、节点12和节点13的节点控制器的NI连接。中央处理器111分别与内存控制器1111和内存控制器1112连接。在具体实际中,内存控制器1111和内存控制器1112可集成在中央处理器111中。中央处理器112分别与内存控制器1121和内存控制器1122连接。在具体实际中,内存控制器1121和内存控制器1122可集成在中央处理器112中。内存控制器1111、1112、1121和1122分别通过内存缓冲器与内存相连。图1所示的NUMA系统中节点10、12和13的结构可参照图2,不再赘述。
[0057]如图1所示的NUMA系统,总的内存空间为256GB。以节点IO、11、12和13的顺序,节点10的内存地址范围为O至(64GB-1字节),节点11的内存地址范围为64GB至(128GB-1字节),节点12的内存地址范围为128GB至(192GB-1字节),节点13的内存地址范围为192GB至(256GB-1字节)。即节点10、11、12和13的内存地址是连续的。因此,当从图1所示的NUMA系统中选择节点进行内存镜像时,由于每个节点的内存地址是连续的,因此,可以通过被选择的节点控制器进行内存镜像配置,从而实现以节点为粒度的内存镜像。
[0058]以图1所示的NUMA系统为例,选择节点11为目标节点,即对节点11进行内存镜像配置。如图3所示,具体步骤包括:
[0059]步骤301:所述NUMA系统的主节点接收节点内存镜像指令,所述节点内存镜像指令携带目标节点的标识和内存镜像模式信息。
[0060]步骤302:所述主节点根据所述目标节点的标识和所述内存镜像模式信息配置所述目标节点的内存镜像;其中,所述目标节点的内存地址是连续的。
[0061]内存镜像是在同一节点内的两个内存控制器之间维护两份完全相同的数据。当遇到写操作请求时,两个内存控制器会进行相同的写操作,即将数据分别写入两个内存控制器控制的内存中;而对于读操作请求,则只会在主内存控制器上进行,即只读取主内存控制器控制的内存中的数据。
[0062]内存镜像模式包括中央处理器间内存镜像模式(Inter Socket Mirroring)和中央处理器内内存镜像模式(Intra Socket Mirroring)。
[0063]具体地,中央处理器间内存镜像模式是指维护两份完全相同的数据的两个内存控制器位于同一节点的两个不同的中央处理器上。如图4所示,在中央处理器间内存镜像模式中,构成中央处理器间内存镜像关系的内存控制器1111位于中央处理器111上,内存控制器1121位于中央处理器112上;同时,构成中央处理器间内存镜像关系的内存控制器1112位于中央处理器111上,内存控制器1122位于中央处理器112上。当所述内存镜像模式信息用于指示将所述目标节点配置为中央处理器间内存镜像模式,则所述NUMA系统的主节点根据所述节点内存镜像指令携带的目标节点的标识和内存镜像模式信息配置所述目标节点的内存镜像,具体包括:所述主节点根据所述节点内存镜像指令携带的所述目标节点的标识和所述内存镜像模式信息将所述目标节点配置为中央处理器间内存镜像模式。
[0064]具体地,中央处理器内内存镜像模式是指维护两份完全相同的数据的两个内存控制器位于同一节点的同一个中央处理器上。如图5所示,在中央处理器内内存镜像模式中,构成中央处理器内内存镜像关系的内存控制器1111位于中央处理器111上,内存控制器1112位于中央处理器111上;同时,构成中央处理器间内存镜像关系的内存控制器1121位于中央处理器112上,内存控制器1122位于中央处理器112上。当所述内存镜像模式信息用于指示将所述目标节点配置为中央处理器内内存镜像模式,则所述NUMA系统的主节点根据所述节点内存镜像指令携带的目标节点的标识和内存镜像模式信息配置所述目标节点的内存镜像,具体包括:
[0065]所述主节点根据所述节点内存镜像指令携带的所述目标节点的标识和所述内存镜像模式信息将所述目标节点配置为中央处理器内内存镜像模式。
[0066]无论是中央处理器间内存镜像模式还是中央处理器内内存镜像模式,在配置为内存镜像的节点,在本发明实施例中为节点11,配置成为镜像关系的两个内存控制器进行相同的内存数据写入操作。为了提高内存读写带宽,可以将节点11的内存地址编址方式设置为交叉编址(interleave)方式。具体地,一种交叉编址方式如图6所示,为同一中央处理器内部的内存控制器的内存地址的交叉编址,即将中央处理器111的内存控制器1111和内存控制器1112的内存地址进行交叉编址,将中央处理器112的内存控制器1121和内存控制器1122的内存地址进行交叉编址。以节点11的内存空间为64GB为例,本发明实施例中,节点11的内存地址范围为64GB至(128GB-1字节),每个内存控制器的内存空间为16GB,中央处理器111上内存控制器1111和内存控制器1112的内存地址范围为64GB至(96GB-1字节),以256字节进行内存地址的交叉编址,中央处理器112上内存控制器1121和内存控制器1122的内存地址范围为96GB至(128GB-1字节),以256字节进行内存地址的交叉编址。另一种交叉编址方式如图7所示,为同一节点内中央处理器间的内存控制器的内存地址的交叉编址,即将中央处理器111和中央处理器112的内存控制器1111、1112、1121和1122的内存地址均进行交叉编址。以节点11的内存空间为64GB为例,本发明实施中,节点11的内存地址范围为64GB至(128GB-1字节),在64GB至(128GB-1字节)的内存地址范围内,内存控制器1111、1112、1121和1122依次以256字节进行内存地址的交叉编址。[0067]本发明实施例NUMA系统内存镜像配置的一种实现方式,如图8所示,从用户界面中选择需要进行内存镜像配置的节点,以选择节点11进行内存镜像配置为例。选择节点11,确定节点11的内存镜像模式。选择节点11后,通过基板管理控制器(BaseboardManagement Controller)、基本输出输出系统(Basic Input Output System, BIOS)或者操作系统(operating system, OS)发出内存镜像指令,主节点10接收节点内存镜像指令。其中,节点内存镜像指令携带目标节点的标识和内存镜像模式信息。目标节点是指进行内存镜像的节点,在本发明实施例中,即节点U。内存镜像模式信息用于指示对目标节点,即节点11,进行哪一种内存镜像模式配置。内存镜像模式包括中央处理器间内存镜像模式和中央处理器内内存镜像模式。主节点10根据所述节点内存镜像指令携带的目标节点的标识和内存镜像模式信息配置所述目标节点的内存镜像。其中一种实现方式为主节点10接收内存镜像指令,确定节点11为目标节点,并且确定节点11的内存镜像模式为中央处理器内内存镜像,则主节点10对节点11的中央处理器111、112和节点控制器113进行配置,以实现节点11内存镜像。主节点10节点根据内存镜像指令携带的目标节点的标识和内存镜像模式信息,对中央处理器111和中央处理器112中的内存地址交叉寄存器进行配置。对内存地址交叉寄存器进行配置包括对源地址解析(Source Address Decode)和目标地址解析(Target Address Decode)进行配置。以节点11采用中央处理器内内存镜像配置模式为例,如图5所示,将内存控制器1111和内存控制器1112配置成中央处理器内内存镜像模式,并且将内存控制器1111指定为主内存控制器,将内存控制器1112指定为从内存控制器;将内存控制器1121和内存控制器1122配置成中央处理器内内存镜像模式,并且将内存控制器1121指定为主内存控制器,将内存控制器1122指定为从内存控制器。将主内存控制器1111的标识保存在中央处理器111的镜像寄存器中,将主内存控制器1121的标识保存在中央处理器112的镜像寄存器中。将源地址解析和目标地址解析的目标列表中各表项均配置成1111,1121,1111,1121,依次循环,循环次数取决于目标列表的表项数,例如,通常Intel中央处理器中目标列表有16项表项,每次循环需要占用2个表项,则循环次数为8次。其中目标列表可以为一个数组,保存在内存地址交叉寄存器中,目标列表各表项中的1111和1121分别为主内存控制器1111和1121的标识,主内存控制器的标识具体表示形式在此不做限定。这样配置后,内存控制器1112和1122作为从内存控制器,在NUMA系统中,节点11上面的内存空间只包括内存控制器1111和1121的内存空间。节点11的内存空间为64GB,进行内存镜像配置后成为32GB。
[0068]当对节点11进行内存镜像配置时,还需要对节点控制器113进行配置,节点控制器113的一种结构如图9所示,包括系统接口 1131-0和1131-1,用于分别与中央处理器111和中央处理器112连接。报文调度器(Packet Dispatcher)用于转发报文。远端流水线(Remote Pipeline) 1133为用于处理远端的协议事务的引擎,这里远端的协议事务是指从NI1136-0、1136-1和1136-2进入的协议事务,其中NI是指本发明实施例中前面所述的网络接口。本地流水线(Local Pipeline)1134为用于处理本地的协议事务的引擎,本地的协议事务是指中央处理器111和112发出的协议事务。片上网络(Network On Chip) 1135是一个交换网络,用于远端流水线1133、本地流水线1134与NI 1136-0、1136-1和1136-2的连接。
[0069]在图9所示的节点控制器113中,需要配置本地流水线1134的内存地址交叉寄存器。如图7所示,当本发明实施例在节点11开启中央处理器间的内存镜像之前,内存地址在节点11的中央处理器间交叉编址,即内存地址在内存控制器1111、1112、1121和1122之间进行交叉编址,以每个内存控制器需要I条本地流水线为例,需要4条本地流水线,节点11设置内存镜像后,由于内存控制器1111和1121为主内存控制器,因此,只需要开启两条本地流水线,分别对应内存控制器1111和1121,将1111,1121,1111,1121的循环队列写入节点控制器113的目标列表中,完成对内存地址交叉寄存器的修改。其中目标列表可以为一个数组,保存在内存地址交叉寄存器中,目标列表各表项中的1111和1121分别为主内存控制器1111和1121的标识,主内存控制器的标识具体表示形式在此不做限定。由于在节点11的四个内存控制器间进行内存交叉编址,需要使用4条本地流水线来分别对应节点11上的4个内存控制器。当节点11的内存镜像配置完成后,只有两个内存控制器接受内存访问事务,此时可以修改本地流水线,只开启2条本地流水线分别对应内存控制器1111和1121,当然,内存控制器1111和1121也可以分别使用多条本地流水线,可以得到更好的性能。节点内存镜像配置完成后,向NUMA的操作系统上报有镜像保护的内存地址范围,一种实现方式为通过高级配置和电源管理接口(Advanced Configuration and PowerManagement Interface)向操作系统上报有镜像保护的内存地址范围,即节点11主节点控制器1111和1121的内存地址范围,从而可以将重要数据放置在该有镜像保护的内存空间中。
[0070]由于现有技术中NUMA系统进行节点内存镜像配置时,一旦对节点进行内存镜像配置,则所有节点都需要进行内存镜像配置,从而使NUMA系统的内存空间减半,影响了NUMA系统性能,而本发明实施例提供的NUMA系统节点内存镜像方法,可以根据需要,选择需要的节点进行内存镜像,实现以节点为粒度的内存镜像,有效解决NUMA系统中内存镜像损耗过多内存空间的问题,增加了 NUMA系统内存镜像配置的灵活度。
[0071]NUMA系统的主节点通常存储系统重要信息,因此,通常将主节点默认进行内存镜像设置,本发明对此不作限定。
[0072]本发明实施例提供了 NUMA系统内存镜像配置方法,当对NUMA系统节点进行内存镜像配置后,根据需要还可以解除节点的内存镜像,如图10所示,具体包括:
[0073]1001:所述NUMA系统的主节点接收解除节点内存镜像指令;
[0074]1002:所述主节点根据所述解除节点内存镜像指令携带的解除镜像节点的标识解除所述解除镜像节点的内存镜像;其中,所述解除镜像节点为所述目标节点中的至少一个。
[0075]仍以上述节点11作为解除镜像节点为例,节点11作为内存镜像节点,仍以图8所示界面为例,当选择解除节点11的内存镜像后,通过基板管理控制器或者操作系统发出解除节点内存镜像指令,主节点10接收解除节点内存镜像指令。其中,解除节点内存镜像指令携带解除镜像节点的标识。解除镜像节点是指需要解除内存镜像的节点,在本发明实施例中,即节点11。当配置为内存镜像的节点有多个时,可以从其中选择至少一个节点作为解除镜像节点。主节点10根据解除内存镜像指令携带的解除镜像节点的标识解除所述解除镜像节点的镜像。当解除节点11的内存镜像时,主节点10配置节点11的中央处理器111、112和节点控制器113。具体包括:取消镜像寄存器中主内存控制器1111和1121的标识,修改节点11的源地址解析和目标地址解析,将在内存镜像模式下的从内存控制器1112和1122的内存空间重新配置到节点11的内存空间。由于节点11被配置为中央处理器间节点镜像模式,在解除镜像之前,源地址解析和目标地址解析的目标列表配置为1111,1121,1111,1121,依次循环。解除镜像后,将源地址解析和目标地址解析的目标列表配置为1111,1112,1121,1122,1111,1112,1121,1122,依次循环,循环次数取决于目标列表的表项数,例如,通常Intel中央处理器中目标列表有16项表项,每次循环需要占用4个表项,则循环次数为4次。其中目标列表可以为一个数组,保存在内存地址交叉寄存器中,目标列表各表项中的1111、1112、1121和1122分别为内存控制器1111、1112、1121和1122的标识,内存控制器的标识具体表示形式在此不做限定。这样,内存控制器1112和内存控制器1122的内存空间就可以重新纳入节点11的内存空间,从而增加NUMA系统的内存空间。
[0076]另外,解除节点11的内存镜像,还需要修改节点11的节点控制器113的本地流水线的内存地址寄存器。如节点11进行内存镜像配置时所述,通常节点11进行内存镜像后,主内存控制器1111和1121分别开启I条本地流水线,对从内存控制器1112和1122,则不开启本地流水线。解除镜像后,节点11内四个内存控制器1111、1112、1121和1122的内存空间全部进入NUMA系统的内存空间。因此,需要开启4条本地流水线,将1111、1112、1121、1122、1111、1112、1121、1122的循环队列写入节点控制器113的内存地址交叉寄存器的目标列表中,其中目标列表可以为一个数组,保存在内存地址交叉寄存器中,1111、1112、1121和1122分别为内存控制器1111、1112、1121和1122的标识,内存控制器的标识具体表示形式在此不做限定。解除节点11的内存镜像后,向NUMA的操作系统上报节点的内存空间,即内存容量,一种实现方式为通过高级配置和电源管理接口向操作系统上报每个节点的内存空间。
[0077]本发明实施例提供的NUMA系统内存镜像解除方法,可以根据需要对NUMA系统以单个节点为粒度进行内存镜像解除,可以灵活释放内存空间。
[0078]本发明上述实施例NUMA系统内存镜像的方法,也可以使用中央处理器间内存镜像模式,节点内内存地址的编址方式也可以使用中央处理器间交叉编址方式。即节点内存镜像模式与节点内存地址的编址方式可以自由组合,同时节点内内存地址也可以不使用交叉编址方式,对中央处理器内内存镜像模式的配置和解除不再赘述。本发明实施例仅仅给出一种示例性说明,配置节点内存镜像的节点数量可以根据实际需要具体进行确定,解除节点内存镜像的节点数也可以根据需要具体进行确定。
[0079]本发明另一实施例提供了 NUMA系统的主节点111,如图11所示,主节点111包括接收单元1110和配置单元1111。所述接收单元1110用于接收节点内存镜像指令,所述节点内存镜像指令携带目标节点的标识和内存镜像模式信息;所述配置单元1111用于根据所述接收单元1111接收的所述目标节点的标识和所述内存镜像模式信息配置所述目标节点的内存镜像;其中,所述目标节点的内存地址是连续的。
[0080]如图11所示的NUMA系统的主节点,当所述内存镜像模式信息用于指示将所述目标节点配置为中央处理器间内存镜像模式,则所述配置单元1111用于根据所述接收单元1110接收的所述所述目标节点的标识和所述内存镜像模式信息配置所述目标节点的内存镜像,具体包括:
[0081]所述配置单元1111用于根据所述接收单元接收的所述节点内存镜像指令携带的所述目标节点的标识和所述内存镜像模式信息将所述目标节点配置为中央处理器间内存镜像模式。
[0082]如图11所示的NUMA系统的主节点,当所述内存镜像模式信息用于指示将所述目标节点配置为中央处理器内内存镜像模式,则所述配置单元1111用于根据所述接收单元1110接收的所述目标节点的标识和所述内存镜像模式信息配置所述目标节点的内存镜像,具体包括:
[0083]所述配置单元1111用于根据所述接收单元1110接收的所述目标节点的标识和所述内存镜像模式信息将所述目标节点配置为中央处理器内内存镜像模式。
[0084]如图11所示的NUMA系统,所述目标节点的内存地址编址模式可以为交叉编址。
[0085]本发明实施例提供的NUMA系统可以参照前述实施例对节点内存镜像配置的方法描述来实现节点内存镜像配置,在此不再赘述。
[0086]本发明实施例提供的NUMA系统,目标节点的个数可以根据系统节点个数以及具体需求来确定,可以为一个,也可以为多个。由于现有技术中NUMA系统进行节点内存镜像配置时,一旦对节点进行内存镜像配置,则所有节点都需要进行内存镜像配置,从而使NUMA系统的内存空间减半,影响了 NUMA系统性能,而本发明实施例提供的NUMA系统节点内存镜像方法,可以根据需要,选择需要的节点进行内存镜像,实现以单个节点为粒度的内存镜像,有效解决NUMA系统中内存镜像损耗过多内存空间的问题,增加了 NUMA系统内存镜像配置的灵活度。
[0087]主节点110还包括解除单元1112,如图12所示,所述接收单元1110还用于接收解除节点内存镜像指令;
[0088]所述解除单元1112用于根据所述接收单元1110接收的所述解除节点内存镜像指令携带的解除镜像节点的标识解除所述除镜像节点的内存镜像。其中,所述解除镜像节点为所述目标节点中的至少一个。即当目标节点为多个时,解除单元1112可以根据解除节点内存镜像指令解除目标节点中部分节点的内存镜像,当目标节点为一个时,解除镜像节点即为目标节点。
[0089]本发明实施例提供的NUMA系统可以参照前述实施例对节点内存镜像解除的方法描述来实现节点内存镜像解除,在此不再赘述。
[0090]本发明实施例提供的NUMA系统内存镜像解除方法,可以根据需要对NUMA系统以单个节点为粒度,解除节点的内存镜像,释放节点内存空间。
[0091]本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0092]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0093]在本申请所提供的几个实施例中,应该理解到,所公开的系统、方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0094]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0095]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0096]所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取非易失性存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个非易失性存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的非易失性存储介质包括:U盘、移动硬盘、只读存储器(R0M,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0097]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【权利要求】
1.一种非统一内存访问NUMA系统中的内存镜像配置方法,其特征在于,所述方法包括: 所述NUMA系统的主节点接收节点内存镜像指令,所述节点内存镜像指令携带目标节点的标识和内存镜像模式信息; 所述主节点根据所述目标节点的标识和所述内存镜像模式信息配置所述目标节点的内存镜像;其中,所述目标节点的内存地址是连续的。
2.如权利要求1所述的方法,其特征在于,所述内存镜像模式信息用于指示将所述目标节点配置为中央处理器间内存镜像模式。
3.如权利要求1所述的方法,其特征在于,所述内存镜像模式信息用于指示将所述目标节点配置为中央处理器内内存镜像模式。
4.如权利要求1至3任一所述的方法,其特征在于,所述目标节点的内存地址编址模式为交叉编址。
5.如权利要求1至4任一所述的方法,其特征在于,所述根据所述节点内存镜像指令携带的目标节点的标识和内存镜像模式信息配置所述目标节点的内存镜像后,还包括: 向所述NUMA系统的操作系统发送所述目标节点的内存地址信息。
6.一种非统一内存访问NUMA系统中的内存镜像解除方法,其特征在于,所述方法包括: 所述NUMA系统的主节点接收解除节点内存镜像指令; 所述主节点根据所述解除节点内存镜像指令携带的解除镜像节点的标识解除所述解除镜像节点的内存镜像;其中,所述解除镜像节点的内存地址是连续的。
7.如权利要求6所述的方法,其特征在于,所述主节点根据所述解除节点内存镜像指令携带的解除镜像节点的标识解除所述解除镜像节点的内存镜像后,还包括: 所述主节点向所述NUMA系统的操作系统发送所述NUMA系统每个节点的内存地址信肩、O
8.一种非统一内存访问NUMA系统,其特征在于,所述NUMA系统包括主节点和目标节点;所述主节点用于接收节点内存镜像指令,所述节点内存镜像指令携带所述目标节点的标识和内存镜像模式信息; 所述主节点用于根据所述目标节点的标识和所述内存镜像模式信息配置所述目标节点的内存镜像;其中,所述目标节点的内存地址是连续的。
9.如权利要求8所述的系统,其特征在于,所述内存镜像模式信息用于指示将所述目标节点配置为中央处理器间内存镜像模式。
10.如权利要求8所述的系统,其特征在于,所述内存镜像模式信息用于指示将所述目标节点配置为中央处理器内内存镜像模式。
11.如权利要求8至10任一所述的系统,其特征在于,所述目标节点的内存地址编址模式为交叉编址。
12.如权利要求8所述的系统,其特征在于,所述主节点还用于接收解除节点内存镜像指令; 所述主节点还用于根据所述解除节点内存镜像指令携带的解除镜像节点的标识解除所述解除镜像节点的内存镜像;其中,所述解除镜像节点为所述目标节点中的至少一个。
13.—种非统一内存访问NUMA系统的主节点,其特征在于,所述主节点包括接收单元和配置单元; 所述接收单元用于接收节点内存镜像指令,所述节点内存镜像指令携带目标节点的标识和内存镜像模式信息; 所述配置单元用于根据所述接收单元接收的所述目标节点的标识和所述内存镜像模式信息配置所述目标节点的内存镜像;其中,所述目标节点的内存地址是连续的。
14.如权利要求13所述的主节点,其特征在于,所述内存镜像模式信息用于指示将所述目标节点配置为中央处理器间内存镜像模式。
15.如权利要求13所述的主节点,其特征在于,所述内存镜像模式信息用于指示将所述目标节点配置为中央处理器内内存镜像模式。
16.如权利要求13至15任一所述的主节点,其特征在于,所述目标节点的内存地址编址模式为交叉编址。
17.如权利要求13所述的主节点,其特征在于,所述主节点还包括解除单元;所述接收单元还用于接收解除节点内存镜像指令; 所述解除单元用于根据所述接收单元接收的所述解除节点内存镜像指令携带的解除镜像节点的标识解除所述解除镜像节点的内存镜像;其中,所述解除镜像节点为所述目标节点中的至少一个。
18.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储计算机指令,当非统一内存访问NUMA系统的主节点执行所述计算机指令时,实现: 接收节点内存镜像指令,所述节点内存镜像指令携带目标节点的标识和内存镜像模式信息; 根据所述目标节点的标识和所述内存镜像模式信息配置所述目标节点的内存镜像;其中,所述目标节点的内存地址是连续的。
19.如权利要求18所述的非易失性计算机可读存储介质,其特征在于,所述内存镜像模式信息用于指示将所述目标节点配置为中央处理器间内存镜像模式。
20.如权利要求18所述的非易失性计算机可读存储介质,其特征在于,所述内存镜像模式信息用于指示将所述目标节点配置为中央处理器内内存镜像模式。
【文档编号】G06F11/07GK103649923SQ201380000684
【公开日】2014年3月19日 申请日期:2013年6月29日 优先权日:2013年6月29日
【发明者】张斌, 卢广 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1