WO2014205845A1 - Configuration method, relief method and system for memory mirroring in numa system, and main node - Google Patents

Configuration method, relief method and system for memory mirroring in numa system, and main node Download PDF

Info

Publication number
WO2014205845A1
WO2014205845A1 PCT/CN2013/078508 CN2013078508W WO2014205845A1 WO 2014205845 A1 WO2014205845 A1 WO 2014205845A1 CN 2013078508 W CN2013078508 W CN 2013078508W WO 2014205845 A1 WO2014205845 A1 WO 2014205845A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
memory
mirroring
target node
target
Prior art date
Application number
PCT/CN2013/078508
Other languages
French (fr)
Chinese (zh)
Inventor
张斌
卢广
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201380000684.9A priority Critical patent/CN103649923B/en
Priority to PCT/CN2013/078508 priority patent/WO2014205845A1/en
Publication of WO2014205845A1 publication Critical patent/WO2014205845A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements

Definitions

  • the present invention relates to the field of information technology, and in particular, to a non-uniform memory access NUMA system memory mirror configuration method, a method, a system, and a master node.
  • the Non-Uniform Memory Access (NUMA) system maintains a single operating system copy of the Symmetric Multi-Processor architecture, a simple application programming model, and easy-to-manage features.
  • the scalability of the Massive Parallel Processing mode can effectively expand the scale of the system.
  • stability, availability and serviceability are key to competitiveness.
  • Memory mirroring is an important guarantee for memory stability, availability, and serviceability. It can achieve memory error recovery and is the most powerful memory fault tolerance tool. However, after memory mirroring, the amount of NUMA system memory is halved, which causes the memory image in NUMA system to lose too much memory space.
  • the embodiment of the invention provides a non-uniform memory access NUMA system memory mirror configuration method, a lifting method, a system and a master node.
  • an embodiment of the present invention provides a NUMA system memory mirroring configuration method, where the method includes:
  • the master node of the NUMA system receives a node memory mirroring instruction, and the node memory mirroring instruction carries the identifier of the target node and the memory mirroring mode information;
  • the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
  • the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
  • the memory address addressing mode of the target node is cross-addressing.
  • the method further includes:
  • the memory address information of the target node is sent to an operating system of the NUMA system.
  • an embodiment of the present invention provides a method for releasing a memory image of a NUMA system, where the method includes:
  • the master node of the NUMA system receives the node mirroring instruction for releasing the node; the master node releases the memory mirror of the mirroring node according to the identifier of the image-removing node carried in the node mirroring instruction; The memory address is contiguous.
  • the master node is After the image of the unmirrored node carried in the node mirroring instruction is released, the memory mirror of the unmirrored node is released, and the method further includes:
  • the master node sends the memory address information of each node to an operating system of the NUMA system.
  • an embodiment of the present invention provides a NUMA system, where the NUMA system includes a primary node and a target node, and the primary node is configured to receive a node memory mirroring instruction, where the node memory mirroring instruction carries the target node. Identification and memory mirroring mode information;
  • the master node is configured to configure a memory mirror of the target node according to the identifier of the target node and the memory mirror mode information; wherein, the memory address of the target node is continuous.
  • the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
  • the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
  • the first or second possible implementation manner of the third aspect in a third possible implementation manner, is cross-addressing.
  • the master node is further configured to receive a node memory mirroring instruction
  • the master node is further configured to: cancel the memory mirror of the unmirrored node according to the identifier of the unmirrored node carried in the node storage mirroring instruction; wherein, the releasing The mirror node is at least one of the target nodes.
  • an embodiment of the present invention provides a primary node of a NUMA system, where the primary node includes a receiving unit and a configuration unit;
  • the receiving unit is configured to receive a node memory mirroring instruction, where the node memory mirroring instruction carries an identifier of the target node and memory mirroring mode information;
  • the configuration unit is configured to configure a memory image of the target node according to the identifier of the target node and the memory mirror mode information received by the receiving unit, where the memory address of the target node is continuous.
  • the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
  • the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
  • the first or second possible implementation manner of the fourth aspect in a third possible implementation manner, is cross-addressing.
  • the master node further includes a releasing unit, and the receiving unit is further configured to receive a node memory mirroring instruction
  • the releasing unit is configured to cancel the memory mirroring of the image-removing node according to the identifier of the image-removing node carried in the node-free mirroring instruction received by the receiving unit; wherein the image-removing node is in the target node At least one of them.
  • an embodiment of the present invention provides a non-transitory computer readable storage medium, where the non-volatile computer readable storage medium stores computer instructions, when NUMA When the master node of the system executes the computer instructions, it implements:
  • node memory mirroring instruction carries the identifier of the target node and the memory mirroring mode information
  • the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
  • the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
  • the master node receives the node memory mirroring instruction, and the node memory mirroring instruction carries the identifier of the target node. And the memory mirroring mode information, the master node configures the memory mirror of the target node according to the identifier of the target node and the memory mirroring mode information, and implements a memory mirror with granularity of a single node, thereby effectively solving the memory mirroring in the NUMA system. The problem of losing too much memory space.
  • Figure 1 is a schematic diagram of a NUMA system structure
  • 2 is a schematic structural diagram of a NUMA node
  • 3 is a flow chart of a NUMA system node memory mirroring method
  • FIG. 4 is a schematic diagram of a memory mirroring mode between central processors of a NUMA system node;
  • FIG. 5 is a schematic diagram of a memory mirroring mode in a central processor of a NUMA system node;
  • FIG. 6 is a schematic diagram of memory cross-addressing in a central processor of a NUMA system node; Schematic diagram of memory cross-addressing between central processors of system nodes;
  • Figure 8 is a schematic diagram of node selection interface of NUMA system;
  • Figure 9 is a schematic structural diagram of a node controller
  • Figure 10 is a flow chart of the method for releasing the memory mirroring of the NUMA system node
  • Figure 11 is a schematic diagram showing the structure of the master node of the NUMA system
  • Figure 12 is another schematic diagram of the main node of the NUMA system.
  • NUMA Non-Uniform Memory Access
  • Any central processor of any node can access all memory addresses of this node and non-local nodes. Thereby greatly improving parallelism.
  • the central processor is divided into multiple nodes, each of which is allocated local memory.
  • the central processor in all nodes can access the full physical memory of the NUMA system.
  • the NUMA system consists of four nodes, each of which is 10. 11, 12 and 13.
  • Each node includes two central processors and one node controller.
  • the two central processors on the node are directly connected through a Quick Path Interconnect (QPI) link, and the two central processors on the node are connected to other nodes through the node controller.
  • QPI Quick Path Interconnect
  • the number of nodes and the number of central processors on the nodes are not limited to the present invention, and the links connected between the central processors are not limited to QPI links.
  • components such as memory are omitted on nodes 10, 11, 12, and 13, and a more detailed structure of the nodes will be described in detail below.
  • a master node also called a zero node, which can be loaded with a NUMA operating system.
  • the node 10 is used as a master node.
  • the node 10 includes central processing units 101 and 102, and the central processing units 101 and 102 are connected through a QPI link, and the central processing unit. 101 and 102 are connected to the node controller 103, and the node controller 103 is connected through the network
  • NI Network Interface
  • FIG. 2 provides a detailed structural diagram of the node 11 shown in FIG. 1.
  • the node 11 includes a central processing unit 111 and a central processing unit 112, and the central processing unit 111 and the central processing unit 112 are connected by a QPI link.
  • the central processor 111 and the central processing unit 112 are respectively linked to the node controller 113, which is connected to the NI of the node controller of the node 10, the node 12, and the node 13, respectively, by the NI.
  • the central processing unit 111 is connected to the memory controller 1111 and the memory controller 1112, respectively. In a specific implementation, the memory controller 1111 and the memory controller 1112 can be integrated in the central processor 111.
  • the central processing unit 112 is connected to the memory controller 1121 and the memory controller 1122, respectively.
  • the memory controller 1121 and the memory controller 1122 can be integrated.
  • the memory controllers 1111, 1112, 1121, and 1122 are respectively connected to the memory through a memory buffer.
  • the structure of the nodes 10, 12 and 13 in the NUMA system shown in FIG. 1 can be referred to FIG. 2 and will not be described again.
  • the NUMA system has a total memory space of 256GB.
  • the memory address range of node 10 is 0 to (64 GB-1 byte)
  • the memory address range of node 11 is 64 GB to (128 GB-1 byte)
  • the memory of node 12 The address range is 128GB to (192GB-1 byte)
  • the memory address of node 13 ranges from 192GB to (256GB-1 byte). That is, the memory addresses of nodes 10, 11, 12, and 13 are continuous. Therefore, when a node is selected for memory mirroring from the NUMA system shown in FIG. 1, since the memory address of each node is continuous, the memory mirroring configuration can be performed by the selected node controller, thereby implementing the node as Granular memory mirroring.
  • node 11 is selected as the target node, that is, memory mirroring is configured for node 11.
  • the specific steps include:
  • Step 301 The master node of the N medical system A receives a node memory mirroring instruction, where the node memory mirroring instruction carries the identifier of the target node and the memory mirroring mode information.
  • Step 302 The master node configures a memory mirror of the target node according to the identifier of the target node and the memory mirroring mode information.
  • the memory address of the target node is continuous.
  • a memory mirror maintains two identical pieces of data between two memory controllers within the same node.
  • the two memory controllers perform the same write operation, that is, the data is written into the memory controlled by the two memory controllers separately; and for the read operation request, only on the main memory controller. Execute, ie read only the main memory controller control In-memory data.
  • the memory mirroring mode includes Inter Socket Mirroring and Intra Socket Mirroring.
  • the inter-processor memory mirroring mode refers to two memory controllers that maintain two identical data on two different central processors on the same node.
  • the memory controller 1111 constituting the memory mirror relationship between the central processors is located on the central processing unit 111, and the memory controller 1121 is located on the central processing unit 112;
  • the memory controller 1112 of the memory mirror relationship between the central processing units is located on the central processing unit 111, and the memory controller 1122 is located on the central processing unit 112.
  • the primary node of the NUMA system according to the node memory mirroring instruction carries the identifier of the target node and the memory mirroring mode.
  • Configuring the memory mirror of the target node the information includes: the master node configuring the target node as a central processor according to the identifier of the target node and the memory mirror mode information carried by the node memory mirroring instruction Memory mirroring mode.
  • the memory mirror mode in the central processing unit means that two memory controllers that maintain two identical data are located on the same central processor of the same node.
  • the memory controller 1111 constituting the memory mirror relationship in the central processing unit is located on the central processing unit 111, and the memory controller 1112 is located on the central processing unit 111;
  • the memory controller 1121 of the memory mirror relationship between the central processing units is located on the central processing unit 112, and the memory controller 1122 is located on the central processing unit 112.
  • the master node of the NUMA system configures the memory mirror of the target node according to the identifier of the target node and the memory mirroring mode information carried by the node memory mirroring instruction, which specifically includes:
  • the master node configures the target node as a memory mirroring mode in the central processing unit according to the identifier of the target node and the memory mirroring mode information carried by the node memory mirroring instruction.
  • the node 11 is configured to perform the same memory by the two memory controllers that are mirrored. Data write operation.
  • the memory address addressing mode of the node 11 can be set to an inter-letter mode.
  • FIG. 6 a cross addressing method is shown in FIG. 6 , which is a cross addressing of a memory address of a memory controller inside the same central processing unit, that is, a memory controller 1111 of the central processing unit 111 and a memory of the memory controller 1112 .
  • the address is cross-addressed, and the memory addresses of the memory controller 1121 of the central processing unit 112 and the memory controller 1122 are cross-addressed.
  • the memory address of the node 11 ranges from 64 GB to (128 GB - 1 byte), and the memory space of each memory controller is 16 GB, which is on the central processing unit 111.
  • the memory controller 1111 and the memory controller 1112 have a memory address ranging from 64 GB to (96 GB-1 byte), and the memory address is cross-addressed with 256 bytes, and the memory controller 1121 and the memory controller 1122 on the central processing unit 112.
  • Figure 7 is the cross-addressing of the memory address of the memory controller between the central processors in the same node, that is, the central processing unit.
  • the memory addresses of the memory controllers 1111, 1112, 1121, and 1122 of the central processor 112 are both cross-addressed. Taking the memory space of the node 11 as 64 GB as an example, in the implementation of the present invention, the memory address range of the node 11 is 6408 to (128 GB-1 byte), and the memory address range is 6408 to (128 GB-1 byte).
  • the controllers 1111, 1112, 1121, and 1122 sequentially perform cross-addressing of memory addresses in 256 bytes.
  • An implementation of the memory mirroring configuration of the NUMA system in the embodiment of the present invention selects a node that needs to perform memory mirroring configuration from the user interface, and selects the node 11 to perform memory mirroring configuration as an example.
  • Node 11 is selected to determine the memory mirroring mode of node 11.
  • a memory mirroring instruction is issued through a baseboard management controller (Baseboard Management Controller), a basic output output system (BIOS), or an operating system (opera system sys, OS).
  • Baseboard Management Controller Basic output output system
  • BIOS basic output output system
  • OS operating system sys, OS
  • the target node is a node that performs memory mirroring, and is a node 11 in the embodiment of the present invention.
  • the memory mirroring mode information is used to indicate which memory mirror mode configuration is performed on the target node, that is, the node 11.
  • the memory mirroring mode includes a central processor inter-memory mirroring mode and a central processor in-memory mirroring mode.
  • the master node 10 configures a memory mirror of the target node according to the identifier of the target node and the memory mirror mode information carried by the node memory mirroring instruction.
  • the master node 10 receives the memory mirroring instruction, determines that the node 11 is the target node, and determines that the memory mirroring mode of the node 11 is the memory mirror in the central processing unit, and the central node 111 of the node 11 to the node 11 of the node 11 112 and node controller 113 are configured to implement node 11 memory mirroring.
  • the memory address cross registers in the central processor 111 and the central processing unit 112 are configured. Configuring the memory address cross register includes source address resolution (Source Addres s Decode) and target address resolution (Target Addres s Decode).
  • the memory controller 1111 and the memory controller 1112 are configured as a memory mirror mode in the central processing unit, and the memory controller 1111 is designated as a main memory controller, designating the memory controller 1112 as a slave memory controller; configuring the memory controller 1121 and the memory controller 1122 into a central processor memory mirror mode, and designating the memory controller 1121 as a master memory controller, The memory controller 1122 is designated as a slave memory controller.
  • the identification of the main memory controller 1111 is stored in the mirror register of the central processor 111, and the identification of the main memory controller 1121 is stored in the mirror register of the central processor 112.
  • the entries in the target list of source address resolution and destination address resolution are configured as 1111, 1121, 1111, 1121, and the number of loops depends on the number of entries in the target list.
  • the target in the Inte l central processor is usually used.
  • the list has 16 entries. Each cycle takes 2 entries, and the number of cycles is 8.
  • the target list can be an array and stored in the memory address cross-register.
  • the 1111 and 1121 in the target list are the identifiers of the main memory controllers 1111 and 1121 respectively.
  • the specific representation of the main memory controller is not here. Make a limit.
  • the memory controllers 1112 and 1122 function as slave memory controllers.
  • the memory space above the node 11 includes only the memory spaces of the memory controllers 1111 and 1121.
  • the memory space of node 11 is 64 GB, and it becomes 32 GB after memory mirroring configuration.
  • the node controller 113 When the memory mirroring configuration is performed on the node 11, the node controller 113 needs to be configured.
  • a structure of the node controller 113 is as shown in FIG. 9, including the system interface 1131-0. And 1131-1, for connecting to the central processing unit 111 and the central processing unit 112, respectively.
  • the Packet Di spatcher is used to forward the message.
  • the Remote Pipeliner 1133 is an engine for processing protocol transactions at the remote end.
  • the protocol transactions at the far end refer to protocol transactions entered from NI 1136_0, 1136-1, and 1136-2, where NI refers to The network interface previously described in the embodiment of the present invention.
  • the local pipeline (Loca 1 P ipe l ine ) 1134 is an engine for processing local protocol transactions, and the local protocol transactions refer to protocol transactions issued by the central processors 111 and 112.
  • Network On Chip 1135 is a switching network for the connection of remote pipeline 1133, local pipeline 1134, and NI 1136-0, 1136-1, and 1136-2.
  • the memory address cross register of the local pipeline 1134 needs to be configured. As shown in FIG. 7, before the node 11 turns on the memory mirror between the central processors, the memory address is cross-addressed between the central processors of the node 11, that is, the memory addresses are in the memory controllers 1111, 1112, and 1121. Cross-addressing is performed between 1122 and 1122. For each memory controller, a local pipeline is required as an example. Four local pipelines are required.
  • node 11 sets the memory mirror
  • the memory controllers 1111 and 1121 are the main memory controllers
  • the target list can be an array and stored in the memory address cross-register.
  • the 1111 and 1121 in the target list are the identifiers of the main memory controllers 1111 and 1121, respectively.
  • the specific representation of the main memory controller is not here. Make a limit.
  • the memory cross-addressing is performed between the four memory controllers of the node 11, four local pipelines are needed to correspond to the four memories on the node 11 respectively. Controller.
  • the memory mirroring configuration of the node 11 is completed, only two memory controllers accept the memory access transaction.
  • the local pipeline can be modified, and only two local pipelines are opened corresponding to the memory controllers 1111 and 1121, respectively, of course, the memory controller 1111 and The 1121 can also use multiple local pipelines for better performance.
  • the mirrored protected memory address range is reported to the NUMA operating system.
  • One implementation is to report the image protection to the operating system through the advanced configuration and power management interface (Advanced Conf igurat and Power Management Interface).
  • the memory address range that is, the memory address range of the node 11 master controllers 1111 and 1121, so that important data can be placed in the mirror-protected memory space.
  • the NUMA system node memory mirroring method can select a required node for memory mirroring according to requirements, and implement a memory mirror with granularity of nodes, thereby effectively solving the problem of excessive memory space of memory mirroring loss in the NUMA system, and increasing the problem.
  • the flexibility of the NUMA system memory mirroring configuration The master node of the NUMA system usually stores important information of the system. Therefore, the master node usually performs memory mirroring by default, which is not limited by the present invention.
  • the embodiment of the present invention provides a method for configuring a memory mirroring of a NUMA system. After performing a memory mirroring configuration on a NUMA system node, the memory mirroring of the node can be released as needed, as shown in FIG.
  • the master node of the NUMA system receives a node memory mirroring command
  • the master node performs the cancellation mirror according to the canceling the node memory mirroring instruction.
  • the identifier of the node is released from the memory mirror of the unmirrored node; wherein the unmirrored node is at least one of the target nodes.
  • the node 11 is used as the mirroring node, and the node 11 is used as the memory mirroring node.
  • the interface shown in FIG. 8 is still taken as an example.
  • the node is released by the baseboard management controller or the operating system.
  • the memory mirroring instruction, the master node 10 receives the node memory mirroring command.
  • the node memory mirroring command carries the identifier of the mirror node.
  • the unmirrored node is a node that needs to be unmapped from memory, in the embodiment of the present invention, node 11. When there are multiple nodes configured as memory mirroring, at least one node can be selected as the mirroring node.
  • the master node 10 releases the mirror image of the unmirrored node according to the identifier of the unmirrored node carried in the memory mirroring instruction.
  • the master node 10 configures the central processors 111, 112 of the node 11 and the node controller 113.
  • the method includes: canceling the identifiers of the main memory controllers 1111 and 1121 in the mirror register, modifying the source address resolution and the target address resolution of the node 11, and reconfiguring the memory space from the memory controllers 1112 and 1122 to the node in the memory mirror mode. 11 memory space. Since the node 11 is configured as the inter-processor node mirroring mode, the target list of source address resolution and destination address resolution is configured to be 1111 before the mirroring is released.
  • the number of loops depends on the number of entries in the target list. For example, in the Inte l central processor, there are 16 entries in the target list, and each loop needs to occupy 4 entries, and the number of loops is 4 times.
  • the target list can be an array and stored in the memory address cross register.
  • the 1111, 1112, 1121, and 1122 in the target list are respectively memory.
  • the identification of the controllers 1111, 1112, 1121, and 1122, and the specific representation of the identifier of the memory controller are not limited herein. In this way, the memory space of the memory controller 1112 and the memory controller 1122 can be reincorporated into the memory space of the node 11, thereby increasing the memory space of the NUMA system.
  • the main memory controllers 1111 and 1121 respectively open one local pipeline, and for the slave memory controllers 1112 and 1122, the local pipeline is not turned on. After the mirroring is released, the memory space of the four memory controllers 1111, 1112, 1121, and 1122 in node 11 enters the memory space of the NUMA system.
  • the circular queues of 1111, 1112, 1121, 1122, 1111, 1112, 1121, 1122 are written into the target list of the memory address cross register of the node controller 113, wherein the target list can be one.
  • the array is stored in the memory address cross-register, and the identifiers of the memory controllers 1111, 1112, 1121, and 1122 are respectively defined by the memory controllers 1111, 1112, 1121, and 1122, and the specific representation of the identifier of the memory controller is not limited herein.
  • the method for releasing the memory of the NUMA system provided by the embodiment of the present invention can perform the memory mirroring on the NUMA system with a single node as the granularity, and can flexibly release the memory space.
  • the method for mirroring the memory of the NUMA system of the above embodiment of the present invention can also be used at the center.
  • the addressing mode of the memory address in the node can also use the inter-processor cross-addressing method. That is, the addressing mode of the node memory mirroring mode and the node memory address can be freely combined, and the memory address in the node can also be used without the cross-addressing mode.
  • the configuration and cancellation of the memory mirroring mode in the central processing unit are not described again.
  • the embodiment of the present invention only gives an exemplary description.
  • the number of nodes configuring the node memory mirroring may be specifically determined according to actual needs, and the number of nodes for releasing the node memory mirroring may also be specifically determined according to requirements.
  • the master node 111 includes a receiving unit 1110 and a configuration unit 1111.
  • the receiving unit 1110 is configured to receive a node memory mirroring instruction, where the node memory mirroring instruction carries the identifier of the target node and the memory mirroring mode information.
  • the configuration unit 1111 is configured to use the target node received by the receiving unit 1111.
  • the identifier and the memory mirroring mode information configure a memory image of the target node; wherein, the memory address of the target node is continuous.
  • the configuration unit 1111 when the memory mirror mode information is used to indicate that the target node is configured as a central processor memory mirror mode, the configuration unit 1111 is configured to receive according to the The identifier of the target node and the memory mirroring mode information received by the unit 1110, and the memory mirroring of the target node, specifically include: the configuring unit 1111 is configured to use the node memory image received by the receiving unit The identifier of the target node and the memory mirroring mode information carried by the instruction configure the target node as a central processor memory mirroring mode.
  • the master node of the NUM A system shown in FIG. 11 is configured when the memory mirror mode information is used to indicate that the target node is configured as a central processor memory mirror mode.
  • the unit 1111 is configured to configure the memory mirror of the target node according to the identifier of the target node and the memory mirroring mode information received by the receiving unit 1110, and specifically includes: the configuring unit 1111 is configured to use, according to the receiving unit 1110, The received identifier of the target node and the memory mirror mode information configure the target node as a memory mirror mode in the central processing unit.
  • the memory address addressing mode of the target node can be cross-addressed.
  • the NUMA system provided by the embodiment of the present invention can implement the node memory mirroring configuration by referring to the method description of the node memory mirroring configuration in the foregoing embodiment, and details are not described herein again.
  • the number of the target nodes may be determined according to the number of system nodes and specific requirements, and may be one or multiple.
  • the NUMA system performs the node memory mirroring configuration, once the memory mirroring configuration is performed on the node, all the nodes need to perform the memory mirroring configuration, thereby halving the memory space of the NUMA system and affecting the performance of the NUMA system.
  • the NUMA system node memory mirroring method provided by the embodiment of the present invention can select a required node for memory mirroring according to requirements, and implement a memory mirror with granularity of a single node, thereby effectively solving the problem of excessive memory space of memory mirroring loss in the NUMA system, and increasing The flexibility of the NUMA system memory mirroring configuration.
  • the master node 110 further includes a releasing unit 1112. As shown in FIG. 12, the receiving unit 1110 is further configured to receive a node memory mirroring instruction.
  • the releasing unit 1112 is configured to cancel the memory mirroring of the mirroring node according to the identifier of the image-removing node carried by the releasing node memory mirroring instruction received by the receiving unit 1110.
  • the unmirrored node is at least one of the target nodes. That is, when there are multiple target nodes, the undo unit 1 1 12 can release the memory mirror of some nodes in the target node according to the node memory mirroring instruction. When the target node is one, the unmirror node is the target node.
  • the NUMA system provided by the embodiment of the present invention can implement the node memory image release by referring to the method description of the node memory image release in the foregoing embodiment, and details are not described herein again.
  • the NUMA system can be used as a granularity of a single node as needed to release the memory image of the node and release the node memory space.
  • the elements and algorithm steps of the various examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods to implement the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
  • a person skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working process of the system, the device and the unit described above may refer to the corresponding processes in the foregoing method embodiments, and details are not described herein again.
  • the disclosed systems and methods can be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication through some interface, device or unit. Connections can be electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separate, and the components displayed as the units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the embodiment scheme.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the functions, if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable non-volatile storage medium.
  • the medium includes instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing non-volatile storage medium includes: a medium that can store program codes, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a magnetic disk, or an optical disk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Provided are a configuration method, a relief method and a system for memory mirroring in a NUMA system, and a main node. The configuration method for memory mirroring in a NUMA system comprises: a main node in a NUMA system receiving a node memory mirroring instruction, the node memory mirroring instruction carrying an identifier of a target node and memory mirroring pattern information; and the main node configuring memory mirroring of the target node according to the identifier of the target node and the memory mirroring pattern information, wherein the memory address of the target node is continuous, so that memory mirroring taking a single node as the particle size is realized, and the problem that the memory mirroring in the NUMA system consumes too much memory space is effectively solved.

Description

一种 NUMA系统内存镜像配置方法、 解除方法、 系统和主节点 技术领域  NUMA system memory mirror configuration method, release method, system and master node
本发明涉及信息技术领域,尤其涉及一种非统一内存访问 NUMA 系统内存镜像配置方法、 解除方法、 系统和主节点。  The present invention relates to the field of information technology, and in particular, to a non-uniform memory access NUMA system memory mirror configuration method, a method, a system, and a master node.
背景技术 Background technique
非统一内存访问 ( Non-Uniform Memory Access, NUMA )系统既 保持了对称多处理器架构( Symmetric Multi-Processor )模式单一操作 系统拷贝、 简便的应用程序编程模式以及易于管理的特点, 又继承了 大规模并行处理计算机 ( Massive Parallel Processing)模式的可扩充性, 可以有效地扩充系统的规模。 在 NUMA系统中, 稳定性、 可用性和可 服务性成了竟争力的关键。 内存镜像作为内存稳定性、 可用性和可服 务性的重要保障, 可以实现内存错误的恢复, 是最强大的内存容错手 段。但是内存镜像后, NUMA系统内存数量减半, 使 NUMA系统中内 存镜像损耗过多内存空间。  The Non-Uniform Memory Access (NUMA) system maintains a single operating system copy of the Symmetric Multi-Processor architecture, a simple application programming model, and easy-to-manage features. The scalability of the Massive Parallel Processing mode can effectively expand the scale of the system. In NUMA systems, stability, availability and serviceability are key to competitiveness. Memory mirroring is an important guarantee for memory stability, availability, and serviceability. It can achieve memory error recovery and is the most powerful memory fault tolerance tool. However, after memory mirroring, the amount of NUMA system memory is halved, which causes the memory image in NUMA system to lose too much memory space.
发明内容 Summary of the invention
本发明实施例提供了一种非统一内存访问 NUMA系统内存镜像 配置方法、 解除方法、 系统和主节点。  The embodiment of the invention provides a non-uniform memory access NUMA system memory mirror configuration method, a lifting method, a system and a master node.
第一方面,本发明实施例提供了一种 NUMA系统内存镜像配置方 法, 所述方法包括:  In a first aspect, an embodiment of the present invention provides a NUMA system memory mirroring configuration method, where the method includes:
所述 NUMA系统的主节点接收节点内存镜像指令,所述节点内存 镜像指令携带目标节点的标识和内存镜像模式信息;  The master node of the NUMA system receives a node memory mirroring instruction, and the node memory mirroring instruction carries the identifier of the target node and the memory mirroring mode information;
所述主节点才艮据所述目标节点的标识和所述内存镜像模式信息 配置所述目标节点的内存镜像; 其中, 所述目标节点的内存地址是连 续的。 Determining, by the master node, the identifier of the target node and the memory mirroring mode information Configuring a memory image of the target node; where the memory address of the target node is continuous.
根据第一方面, 在第一种可能的实施方式中, 所述内存镜像模式 信息用于指示将所述目标节点配置为中央处理器间内存镜像模式。  According to the first aspect, in a first possible implementation, the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
根据第一方面, 在第二种可能的实施方式中, 所述内存镜像模式 信息用于指示将所述目标节点配置为中央处理器内内存镜像模式。  According to the first aspect, in a second possible implementation, the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
根据第一方面、 第一方面的第一种或第二种可能的实施方式, 在 第三种可能的实施方式中,所述目标节点的内存地址编址模式为交叉 编址。  According to the first aspect, the first or second possible implementation manner of the first aspect, in a third possible implementation, the memory address addressing mode of the target node is cross-addressing.
根据第一方面、 第一方面的第一种、 第二种或第三种可能的实施 方式, 在第四种可能的实施方式中, 所述根据所述节点内存镜像指令 携带的目标节点的标识和内存镜像模式信息配置所述目标节点的内 存镜像后, 还包括:  According to the first aspect, the first, the second or the third possible implementation manner of the first aspect, in a fourth possible implementation, the identifier of the target node that is carried according to the node memory mirroring instruction After the memory mirroring of the target node is configured with the memory mirroring mode information, the method further includes:
向所述 NUMA系统的操作系统发送所述目标节点的内存地址信 息。  The memory address information of the target node is sent to an operating system of the NUMA system.
第二方面,本发明实施例提供了一种 NUMA系统内存镜像解除方 法, 所述方法包括:  In a second aspect, an embodiment of the present invention provides a method for releasing a memory image of a NUMA system, where the method includes:
所述 NUMA系统的主节点接收解除节点内存镜像指令; 所述主节点根据所述解除节点内存镜像指令携带的解除镜像节 点的标识解除所述解除镜像节点的内存镜像; 其中, 所述解除镜像节 点的内存地址是连续的。  The master node of the NUMA system receives the node mirroring instruction for releasing the node; the master node releases the memory mirror of the mirroring node according to the identifier of the image-removing node carried in the node mirroring instruction; The memory address is contiguous.
根据第二方面, 在第一种可能的实施方式中, 所述主节点根据所 述解除节点内存镜像指令携带的解除镜像节点的标识解除所述解除 镜像节点的内存镜像后, 还包括: According to the second aspect, in a first possible implementation manner, the master node is After the image of the unmirrored node carried in the node mirroring instruction is released, the memory mirror of the unmirrored node is released, and the method further includes:
所述主节点向所述 NUMA系统的操作系统发送所述每个节点的 内存地址信息。  The master node sends the memory address information of each node to an operating system of the NUMA system.
第三方面, 本发明实施例提供了一种 NUMA系统, 所述 NUMA 系统包括主节点和目标节点;所述主节点用于接收节点内存镜像指令, 所述节点内存镜像指令携带所述目标节点的标识和内存镜像模式信 息;  In a third aspect, an embodiment of the present invention provides a NUMA system, where the NUMA system includes a primary node and a target node, and the primary node is configured to receive a node memory mirroring instruction, where the node memory mirroring instruction carries the target node. Identification and memory mirroring mode information;
所述主节点用于根据所述目标节点的标识和所述内存镜像模式 信息配置所述目标节点的内存镜像; 其中, 所述目标节点的内存地址 是连续的。  The master node is configured to configure a memory mirror of the target node according to the identifier of the target node and the memory mirror mode information; wherein, the memory address of the target node is continuous.
根据第三方面, 在第一种可能的实施方式中, 所述内存镜像模式 信息用于指示将所述目标节点配置为中央处理器间内存镜像模式。  According to the third aspect, in a first possible implementation, the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
根据第三方面, 在第二种可能的实施方式中, 所述内存镜像模式 信息用于指示将所述目标节点配置为中央处理器内内存镜像模式。  According to a third aspect, in a second possible implementation, the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
根据第三方面、 第三方面的第一种或第二种可能的实施方式, 在 第三种可能的实施方式中,所述目标节点的内存地址编址模式为交叉 编址。  According to the third aspect, the first or second possible implementation manner of the third aspect, in a third possible implementation manner, the memory address addressing mode of the target node is cross-addressing.
根据第三方面, 在第四种可能的实施方式中, 所述主节点还用于 接收解除节点内存镜像指令;  According to the third aspect, in a fourth possible implementation, the master node is further configured to receive a node memory mirroring instruction;
所述主节点还用于根据所述解除节点内存镜像指令携带的解除 镜像节点的标识解除所述解除镜像节点的内存镜像;其中,所述解除 镜像节点为所述目标节点中的至少一个。 The master node is further configured to: cancel the memory mirror of the unmirrored node according to the identifier of the unmirrored node carried in the node storage mirroring instruction; wherein, the releasing The mirror node is at least one of the target nodes.
第四方面, 本发明实施例提供了一种 NUMA系统的主节点, 所述 主节点包括接收单元和配置单元;  In a fourth aspect, an embodiment of the present invention provides a primary node of a NUMA system, where the primary node includes a receiving unit and a configuration unit;
所述接收单元用于接收节点内存镜像指令,所述节点内存镜像指 令携带目标节点的标识和内存镜像模式信息;  The receiving unit is configured to receive a node memory mirroring instruction, where the node memory mirroring instruction carries an identifier of the target node and memory mirroring mode information;
所述配置单元用于根据所述接收单元接收的所述目标节点的标 识和所述内存镜像模式信息配置所述目标节点的内存镜像; 其中, 所 述目标节点的内存地址是连续的。  The configuration unit is configured to configure a memory image of the target node according to the identifier of the target node and the memory mirror mode information received by the receiving unit, where the memory address of the target node is continuous.
根据第四方面, 在第一种可能的实施方式中, 所述内存镜像模式 信息用于指示将所述目标节点配置为中央处理器间内存镜像模式。  According to the fourth aspect, in a first possible implementation, the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
根据第四方面, 在第二种可能的实施方式中, 所述内存镜像模式 信息用于指示将所述目标节点配置为中央处理器内内存镜像模式。  According to the fourth aspect, in a second possible implementation, the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
根据第四方面、 第四方面的第一种或第二种可能的实施方式, 在 第三种可能的实施方式中,所述目标节点的内存地址编址模式为交叉 编址。  According to the fourth aspect, the first or second possible implementation manner of the fourth aspect, in a third possible implementation manner, the memory address addressing mode of the target node is cross-addressing.
根据第四方面, 在第四种可能的实施方式中, 所述主节点还包括 解除单元; 所述接收单元还用于接收解除节点内存镜像指令;  According to the fourth aspect, in a fourth possible implementation, the master node further includes a releasing unit, and the receiving unit is further configured to receive a node memory mirroring instruction;
所述解除单元用于根据所述接收单元接收的所述解除节点内存 镜像指令携带的解除镜像节点的标识解除所述解除镜像节点的内存 镜像;其中 ,所述解除镜像节点为所述目标节点中的至少一个。  And the releasing unit is configured to cancel the memory mirroring of the image-removing node according to the identifier of the image-removing node carried in the node-free mirroring instruction received by the receiving unit; wherein the image-removing node is in the target node At least one of them.
第五方面,本发明实施例提供了一种非易失性计算机可读存储介 质, 所述非易失性计算机可读存储介质存储计算机指令, 当 NUMA 系统的主节点执行所述计算机指令时, 实现: In a fifth aspect, an embodiment of the present invention provides a non-transitory computer readable storage medium, where the non-volatile computer readable storage medium stores computer instructions, when NUMA When the master node of the system executes the computer instructions, it implements:
接收节点内存镜像指令,所述节点内存镜像指令携带目标节点的 标识和内存镜像模式信息;  Receiving a node memory mirroring instruction, where the node memory mirroring instruction carries the identifier of the target node and the memory mirroring mode information;
根据所述目标节点的标识和所述内存镜像模式信息配置所述目 标节点的内存镜像; 其中, 所述目标节点的内存地址是连续的。  Configuring a memory image of the target node according to the identifier of the target node and the memory mirroring mode information; wherein, the memory address of the target node is continuous.
根据第五方面, 在第一种可能的实施方式中, 所述内存镜像模式 信息用于指示将所述目标节点配置为中央处理器间内存镜像模式。  According to the fifth aspect, in a first possible implementation, the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
根据第五方面, 在第二种可能的实施方式中, 所述内存镜像模式 信息用于指示将所述目标节点配置为中央处理器内内存镜像模式。  According to the fifth aspect, in a second possible implementation, the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
本发明实施例提供的 NUMA系统中的内存镜像配置方法、解除方 法、 NUMA系统及非易失性计算机可读存储介质, 主节点接收节点内 存镜像指令,所述节点内存镜像指令携带目标节点的标识和内存镜像 模式信息,所述主节点根据所述目标节点的标识和所述内存镜像模式 信息配置所述目标节点的内存镜像,实现以单个节点为粒度的内存镜 像, 有效解决 NUMA系统中内存镜像损耗过多内存空间的问题。 附图说明  The memory mirror configuration method, the cancellation method, the NUMA system, and the non-transitory computer readable storage medium in the NUMA system provided by the embodiment of the present invention, the master node receives the node memory mirroring instruction, and the node memory mirroring instruction carries the identifier of the target node. And the memory mirroring mode information, the master node configures the memory mirror of the target node according to the identifier of the target node and the memory mirroring mode information, and implements a memory mirror with granularity of a single node, thereby effectively solving the memory mirroring in the NUMA system. The problem of losing too much memory space. DRAWINGS
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描 述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附 图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不 付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。  In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly described below. It is obvious that the drawings in the following description are only some embodiments of the present invention, Those skilled in the art can also obtain other drawings based on these drawings without paying any creative work.
图 1为一种 NUMA系统结构示意图;  Figure 1 is a schematic diagram of a NUMA system structure;
图 2为 NUMA节点结构示意图; 图 3为 NUMA系统节点内存镜像方法流程图; 2 is a schematic structural diagram of a NUMA node; 3 is a flow chart of a NUMA system node memory mirroring method;
图 4为 NUMA系统节点中央处理器间内存镜像模式示意图; 图 5为 NUMA系统节点中央处理器内内存镜像模式示意图; 图 6为 NUMA系统节点中央处理器内内存交叉编址示意图; 图 7为 NUMA系统节点中央处理器间内存交叉编址示意图; 图 8为 NUMA系统节点选择界面示意图;  4 is a schematic diagram of a memory mirroring mode between central processors of a NUMA system node; FIG. 5 is a schematic diagram of a memory mirroring mode in a central processor of a NUMA system node; FIG. 6 is a schematic diagram of memory cross-addressing in a central processor of a NUMA system node; Schematic diagram of memory cross-addressing between central processors of system nodes; Figure 8 is a schematic diagram of node selection interface of NUMA system;
图 9为节点控制器结构示意图;  Figure 9 is a schematic structural diagram of a node controller;
图 10为 NUMA系统节点解除内存镜像方法流程图;  Figure 10 is a flow chart of the method for releasing the memory mirroring of the NUMA system node;
图 11为 NUMA系统的主节点结构示意图;  Figure 11 is a schematic diagram showing the structure of the master node of the NUMA system;
图 12为 NUMA系统的主节点另一结构示意图。  Figure 12 is another schematic diagram of the main node of the NUMA system.
具体实施例 Specific embodiment
下面将结合本发明实施例中的附图,对本发明实施例中的技术方 案进行清楚地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。基于本发明提供的实施例, 本领域普通技术人 员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本 发明保护的范围。  The technical solutions in the embodiments of the present invention will be clearly described in conjunction with the drawings in the embodiments of the present invention. It is obvious that the described embodiments are a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments provided by the present invention without departing from the inventive scope are the scope of the present invention.
非统一内存访问 ( Non-Uniform Memory Access, NUMA ) 系统的 内存访问方式是一种不均衡式内存访问方式,任一节点的任一中央处 理器可以访问本节点和非本地节点的所有内存地址,从而大幅度提高 并行性。 NUMA系统中, 中央处理器被划分成多个节点, 每个节点 分配有本地内存。 所有节点中的中央处理器都可以访问 NUMA系统 全部的物理内存。如图 1所示, NUMA系统包括四个节点,分别为 10、 11、 12和 13。 每个节点上包括两个中央处理器和一个节点控制器。 其 中, 节点上的两个中央处理器之间通过快速通道互联 (Quick Path Interconnect, QPI)链路直接连接, 节点上两个中央处理器通过节点控 制器与其他节点相连。图 1所示的 NUMA系统,作为一种示例性说明, 节点数量及节点上中央处理器的数量并不是对本发明的限定,中央处 理器之间连接的链路也不限于 QPI链路。 为了图示的清晰, 节点 10、 11、 12和 13上省略了内存等组件, 节点更详细的结构将在下面详细描 述。 NUMA系统中的节点中,通常存在一个主节点,也称为零号节点, 可以加载运行 NUMA操作系统等。 在本发明实施例图 1所示的 NUMA 系统中, 以节点 10作为主节点, 具体地, 节点 10包括中央处理器 101 和 102, 中央处理器 101和 102通过 QPI链路连接, 同时中央处理器 101 和 102与节点控制器 103连接, 节点控制器 103通过网络接口 Non-Uniform Memory Access (NUMA) system memory access mode is an unbalanced memory access mode. Any central processor of any node can access all memory addresses of this node and non-local nodes. Thereby greatly improving parallelism. In a NUMA system, the central processor is divided into multiple nodes, each of which is allocated local memory. The central processor in all nodes can access the full physical memory of the NUMA system. As shown in Figure 1, the NUMA system consists of four nodes, each of which is 10. 11, 12 and 13. Each node includes two central processors and one node controller. The two central processors on the node are directly connected through a Quick Path Interconnect (QPI) link, and the two central processors on the node are connected to other nodes through the node controller. In the NUMA system shown in FIG. 1, as an illustrative example, the number of nodes and the number of central processors on the nodes are not limited to the present invention, and the links connected between the central processors are not limited to QPI links. For clarity of illustration, components such as memory are omitted on nodes 10, 11, 12, and 13, and a more detailed structure of the nodes will be described in detail below. In a node in a NUMA system, there is usually a master node, also called a zero node, which can be loaded with a NUMA operating system. In the NUMA system shown in FIG. 1 of the embodiment of the present invention, the node 10 is used as a master node. Specifically, the node 10 includes central processing units 101 and 102, and the central processing units 101 and 102 are connected through a QPI link, and the central processing unit. 101 and 102 are connected to the node controller 103, and the node controller 103 is connected through the network
( Networking Interface, NI )分别与节点 11、节点 12和节点 13的节点控 制器的 NI连接。  (Networking Interface, NI) is connected to the NI of Node 11, Node 12, and Node 13 node controllers.
图 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, 不再赘述。 FIG. 2 provides a detailed structural diagram of the node 11 shown in FIG. 1. The node 11 includes a central processing unit 111 and a central processing unit 112, and the central processing unit 111 and the central processing unit 112 are connected by a QPI link. The central processor 111 and the central processing unit 112 are respectively linked to the node controller 113, which is connected to the NI of the node controller of the node 10, the node 12, and the node 13, respectively, by the NI. The central processing unit 111 is connected to the memory controller 1111 and the memory controller 1112, respectively. In a specific implementation, the memory controller 1111 and the memory controller 1112 can be integrated in the central processor 111. The central processing unit 112 is connected to the memory controller 1121 and the memory controller 1122, respectively. In a specific implementation, the memory controller 1121 and the memory controller 1122 can be integrated. In the central processor 112. The memory controllers 1111, 1112, 1121, and 1122 are respectively connected to the memory through a memory buffer. The structure of the nodes 10, 12 and 13 in the NUMA system shown in FIG. 1 can be referred to FIG. 2 and will not be described again.
如图 1所示的 NUMA系统, 总的内存空间为 256GB。 以节点 10、 11、 12和 13的顺序, 节点 10的内存地址范围为 0至 ( 64GB-1字节) , 节点 11的内存地址范围为 64GB至( 128GB-1字节), 节点 12的内存地 址范围为 128GB至( 192GB-1字节),节点 13的内存地址范围为 192GB 至(256GB-1字节) 。 即节点 10、 11、 12和 13的内存地址是连续的。 因此, 当从图 1所示的 NUMA系统中选择节点进行内存镜像时, 由于 每个节点的内存地址是连续的, 因此, 可以通过被选择的节点控制器 进行内存镜像配置, 从而实现以节点为粒度的内存镜像。  As shown in Figure 1, the NUMA system has a total memory space of 256GB. In the order of nodes 10, 11, 12, and 13, the memory address range of node 10 is 0 to (64 GB-1 byte), and the memory address range of node 11 is 64 GB to (128 GB-1 byte), the memory of node 12 The address range is 128GB to (192GB-1 byte), and the memory address of node 13 ranges from 192GB to (256GB-1 byte). That is, the memory addresses of nodes 10, 11, 12, and 13 are continuous. Therefore, when a node is selected for memory mirroring from the NUMA system shown in FIG. 1, since the memory address of each node is continuous, the memory mirroring configuration can be performed by the selected node controller, thereby implementing the node as Granular memory mirroring.
以图 1所示的 NUMA系统为例, 选择节点 11为目标节点, 即对节 点 11进行内存镜像配置。 如图 3所示, 具体步骤包括:  Taking the NUMA system shown in Figure 1 as an example, node 11 is selected as the target node, that is, memory mirroring is configured for node 11. As shown in Figure 3, the specific steps include:
步骤 301 : 所述 N醫 A系统的主节点接收节点内存镜像指令, 所述 节点内存镜像指令携带目标节点的标识和内存镜像模式信息。  Step 301: The master node of the N medical system A receives a node memory mirroring instruction, where the node memory mirroring instruction carries the identifier of the target node and the memory mirroring mode information.
步骤 302: 所述主节点根据所述目标节点的标识和所述内存镜像 模式信息配置所述目标节点的内存镜像; 其中, 所述目标节点的内存 地址是连续的。  Step 302: The master node configures a memory mirror of the target node according to the identifier of the target node and the memory mirroring mode information. The memory address of the target node is continuous.
内存镜像是在同一节点内的两个内存控制器之间维护两份完全 相同的数据。 当遇到写操作请求时, 两个内存控制器会进行相同的写 操作, 即将数据分别写入两个内存控制器控制的内存中; 而对于读操 作请求, 则只会在主内存控制器上进行, 即只读取主内存控制器控制 的内存中的数据。 A memory mirror maintains two identical pieces of data between two memory controllers within the same node. When a write operation request is encountered, the two memory controllers perform the same write operation, that is, the data is written into the memory controlled by the two memory controllers separately; and for the read operation request, only on the main memory controller. Execute, ie read only the main memory controller control In-memory data.
内存镜像模式包括中央处理器间内存镜像模式( Inter Socket Mirroring )和中央处理器内内存镜像模式( Intra Socket Mirroring ) 。  The memory mirroring mode includes Inter Socket Mirroring and Intra Socket Mirroring.
具体地,中央处理器间内存镜像模式是指维护两份完全相同的数 据的两个内存控制器位于同一节点的两个不同的中央处理器上。如图 4所示, 在中央处理器间内存镜像模式中, 构成中央处理器间内存镜 像关系的内存控制器 1111位于中央处理器 111上, 内存控制器 1121位 于中央处理器 112上; 同时, 构成中央处理器间内存镜像关系的内存 控制器 1112位于中央处理器 111上, 内存控制器 1122位于中央处理器 112上。 当所述内存镜像模式信息用于指示将所述目标节点配置为中 央处理器间内存镜像模式,则所述 NUMA系统的主节点根据所述节点内 存镜像指令携带的目标节点的标识和内存镜像模式信息配置所述目 标节点的内存镜像, 具体包括: 所述主节点根据所述节点内存镜像指 令携带的所述目标节点的标识和所述内存镜像模式信息将所述目标 节点配置为中央处理器间内存镜像模式。  Specifically, the inter-processor memory mirroring mode refers to two memory controllers that maintain two identical data on two different central processors on the same node. As shown in FIG. 4, in the inter-processor memory mirroring mode, the memory controller 1111 constituting the memory mirror relationship between the central processors is located on the central processing unit 111, and the memory controller 1121 is located on the central processing unit 112; The memory controller 1112 of the memory mirror relationship between the central processing units is located on the central processing unit 111, and the memory controller 1122 is located on the central processing unit 112. When the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode, the primary node of the NUMA system according to the node memory mirroring instruction carries the identifier of the target node and the memory mirroring mode. Configuring the memory mirror of the target node, the information includes: the master node configuring the target node as a central processor according to the identifier of the target node and the memory mirror mode information carried by the node memory mirroring instruction Memory mirroring mode.
具体地,中央处理器内内存镜像模式是指维护两份完全相同的数 据的两个内存控制器位于同一节点的同一个中央处理器上。 如图 5所 示, 在中央处理器内内存镜像模式中, 构成中央处理器内内存镜像关 系的内存控制器 1111位于中央处理器 111上, 内存控制器 1112位于中 央处理器 111上; 同时, 构成中央处理器间内存镜像关系的内存控制 器 1121位于中央处理器 112上, 内存控制器 1122位于中央处理器 112 上。当所述内存镜像模式信息用于指示将所述目标节点配置为中央处 理器内内存镜像模式,则所述 NUMA系统的主节点根据所述节点内存镜 像指令携带的目标节点的标识和内存镜像模式信息配置所述目标节 点的内存镜像, 具体包括: Specifically, the memory mirror mode in the central processing unit means that two memory controllers that maintain two identical data are located on the same central processor of the same node. As shown in FIG. 5, in the memory mirror mode in the central processing unit, the memory controller 1111 constituting the memory mirror relationship in the central processing unit is located on the central processing unit 111, and the memory controller 1112 is located on the central processing unit 111; The memory controller 1121 of the memory mirror relationship between the central processing units is located on the central processing unit 112, and the memory controller 1122 is located on the central processing unit 112. When the memory mirroring mode information is used to indicate that the target node is configured as a central location In the memory mirroring mode of the processor, the master node of the NUMA system configures the memory mirror of the target node according to the identifier of the target node and the memory mirroring mode information carried by the node memory mirroring instruction, which specifically includes:
所述主节点根据所述节点内存镜像指令携带的所述目标节点的 标识和所述内存镜像模式信息将所述目标节点配置为中央处理器内 内存镜像模式。  The master node configures the target node as a memory mirroring mode in the central processing unit according to the identifier of the target node and the memory mirroring mode information carried by the node memory mirroring instruction.
无论是中央处理器间内存镜像模式还是中央处理器内内存镜像 模式, 在配置为内存镜像的节点, 在本发明实施例中为节点 11 , 配置 成为镜像关系的两个内存控制器进行相同的内存数据写入操作。为了 提高内存读写带宽,可以将节点 11的内存地址编址方式设置为交叉编 址( inter leave )方式。 具体地, 一种交叉编址方式如图 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的内存地址范围为 6408至( 128GB-1字节),在 6408至( 128GB-1 字节)的内存地址范围内, 内存控制器 1111、 1112、 1121和 1122依次 以 256字节进行内存地址的交叉编址。 In the memory mirroring mode of the central processing unit or the memory mirroring mode of the central processing unit, in the node configured as the memory mirroring, in the embodiment of the present invention, the node 11 is configured to perform the same memory by the two memory controllers that are mirrored. Data write operation. In order to improve the memory read and write bandwidth, the memory address addressing mode of the node 11 can be set to an inter-letter mode. Specifically, a cross addressing method is shown in FIG. 6 , which is a cross addressing of a memory address of a memory controller inside the same central processing unit, that is, a memory controller 1111 of the central processing unit 111 and a memory of the memory controller 1112 . The address is cross-addressed, and the memory addresses of the memory controller 1121 of the central processing unit 112 and the memory controller 1122 are cross-addressed. For example, in the embodiment of the present invention, the memory address of the node 11 ranges from 64 GB to (128 GB - 1 byte), and the memory space of each memory controller is 16 GB, which is on the central processing unit 111. The memory controller 1111 and the memory controller 1112 have a memory address ranging from 64 GB to (96 GB-1 byte), and the memory address is cross-addressed with 256 bytes, and the memory controller 1121 and the memory controller 1122 on the central processing unit 112. The memory address ranges from 96GB to (128GB-1 byte), and the memory address is cross-addressed with 256 bytes. Another cross-addressing method is shown in Figure 7, which is the cross-addressing of the memory address of the memory controller between the central processors in the same node, that is, the central processing unit. The memory addresses of the memory controllers 1111, 1112, 1121, and 1122 of the central processor 112 are both cross-addressed. Taking the memory space of the node 11 as 64 GB as an example, in the implementation of the present invention, the memory address range of the node 11 is 6408 to (128 GB-1 byte), and the memory address range is 6408 to (128 GB-1 byte). The controllers 1111, 1112, 1121, and 1122 sequentially perform cross-addressing of memory addresses in 256 bytes.
本发明实施例 NUMA系统内存镜像配置的一种实现方式, 如图 8所 示,从用户界面中选择需要进行内存镜像配置的节点, 以选择节点 11 进行内存镜像配置为例。 选择节点 11 , 确定节点 11的内存镜像模式。 选择节点 11后, 通过基板管理控制器 (Baseboard Management Control ler )、基本输出输出系统( Bas ic Input Output Sys tem, BIOS ) 或者操作系统(opera t ing sys tem, OS )发出内存镜像指令, 主节点 10接收节点内存镜像指令。 其中, 节点内存镜像指令携带目标节点的 标识和内存镜像模式信息。 目标节点是指进行内存镜像的节点, 在本 发明实施例中, 即节点 11。 内存镜像模式信息用于指示对目标节点, 即节点 11 , 进行哪一种内存镜像模式配置。 内存镜像模式包括中央处 理器间内存镜像模式和中央处理器内内存镜像模式。主节点 10根据所 述节点内存镜像指令携带的目标节点的标识和内存镜像模式信息配 置所述目标节点的内存镜像。其中一种实现方式为主节点 10接收内存 镜像指令, 确定节点 11为目标节点, 并且确定节点 11的内存镜像模式 为中央处理器内内存镜像, 则主节点 10对节点 11的中央处理器 111、 112和节点控制器 113进行配置, 以实现节点 11内存镜像。 主节点 10 节点根据内存镜像指令携带的目标节点的标识和内存镜像模式信息, 对中央处理器 111和中央处理器 112中的内存地址交叉寄存器进行配 置。 对内存地址交叉寄存器进行配置包括对源地址解析(Source Addres s Decode )和目标地址解析 (Target Addres s Decode)进行西己 置。以节点 11釆用中央处理器内内存镜像配置模式为例,如图 5所示, 将内存控制器 1111和内存控制器 1112配置成中央处理器内内存镜像 模式, 并且将内存控制器 1111指定为主内存控制器, 将内存控制器 1112指定为从内存控制器;将内存控制器 1121和内存控制器 1122配置 成中央处理器内内存镜像模式,并且将内存控制器 1121指定为主内存 控制器, 将内存控制器 1122指定为从内存控制器。 将主内存控制器 1111的标识保存在中央处理器 111的镜像寄存器中,将主内存控制器 1121的标识保存在中央处理器 112的镜像寄存器中。 将源地址解析和 目标地址解析的目标列表中各表项均配置成 1111 , 1121 , 1111 , 1121 , 依次循环, 循环次数取决于目标列表的表项数, 例如, 通常 Inte l中 央处理器中目标列表有 16项表项, 每次循环需要占用 2个表项, 则循 环次数为 8次。其中目标列表可以为一个数组,保存在内存地址交叉寄 存器中, 目标列表各表项中的 1111和 1121分别为主内存控制器 1111 和 1121的标识,主内存控制器的标识具体表示形式在此不做限定。 这 样配置后,内存控制器 1112和 1122作为从内存控制器,在 NUMA系统中, 节点 11上面的内存空间只包括内存控制器 1111和 1121的内存空间。节 点 11的内存空间为 64GB , 进行内存镜像配置后成为 32GB。 An implementation of the memory mirroring configuration of the NUMA system in the embodiment of the present invention, as shown in FIG. 8, selects a node that needs to perform memory mirroring configuration from the user interface, and selects the node 11 to perform memory mirroring configuration as an example. Node 11 is selected to determine the memory mirroring mode of node 11. After the node 11 is selected, a memory mirroring instruction is issued through a baseboard management controller (Baseboard Management Controller), a basic output output system (BIOS), or an operating system (opera system sys, OS). 10 Receive node memory mirroring instructions. The node memory mirroring instruction carries the identifier of the target node and the memory mirroring mode information. The target node is a node that performs memory mirroring, and is a node 11 in the embodiment of the present invention. The memory mirroring mode information is used to indicate which memory mirror mode configuration is performed on the target node, that is, the node 11. The memory mirroring mode includes a central processor inter-memory mirroring mode and a central processor in-memory mirroring mode. The master node 10 configures a memory mirror of the target node according to the identifier of the target node and the memory mirror mode information carried by the node memory mirroring instruction. In one implementation, the master node 10 receives the memory mirroring instruction, determines that the node 11 is the target node, and determines that the memory mirroring mode of the node 11 is the memory mirror in the central processing unit, and the central node 111 of the node 11 to the node 11 of the node 11 112 and node controller 113 are configured to implement node 11 memory mirroring. The identity of the target node and the memory mirroring mode information carried by the master node 10 according to the memory mirroring instruction. The memory address cross registers in the central processor 111 and the central processing unit 112 are configured. Configuring the memory address cross register includes source address resolution (Source Addres s Decode) and target address resolution (Target Addres s Decode). Taking the memory mirror configuration mode of the CPU in the node 11 as an example, as shown in FIG. 5, the memory controller 1111 and the memory controller 1112 are configured as a memory mirror mode in the central processing unit, and the memory controller 1111 is designated as a main memory controller, designating the memory controller 1112 as a slave memory controller; configuring the memory controller 1121 and the memory controller 1122 into a central processor memory mirror mode, and designating the memory controller 1121 as a master memory controller, The memory controller 1122 is designated as a slave memory controller. The identification of the main memory controller 1111 is stored in the mirror register of the central processor 111, and the identification of the main memory controller 1121 is stored in the mirror register of the central processor 112. The entries in the target list of source address resolution and destination address resolution are configured as 1111, 1121, 1111, 1121, and the number of loops depends on the number of entries in the target list. For example, the target in the Inte l central processor is usually used. The list has 16 entries. Each cycle takes 2 entries, and the number of cycles is 8. The target list can be an array and stored in the memory address cross-register. The 1111 and 1121 in the target list are the identifiers of the main memory controllers 1111 and 1121 respectively. The specific representation of the main memory controller is not here. Make a limit. After this configuration, the memory controllers 1112 and 1122 function as slave memory controllers. In the NUMA system, the memory space above the node 11 includes only the memory spaces of the memory controllers 1111 and 1121. The memory space of node 11 is 64 GB, and it becomes 32 GB after memory mirroring configuration.
当对节点 11进行内存镜像配置时, 还需要对节点控制器 113进行 配置, 节点控制器 113的一种结构如图 9所示, 包括系统接口 1131-0 和 1131-1 , 用于分别与中央处理器 111和中央处理器 112连接。报文调 度器(Packet Di spa tcher )用于转发才艮文。 远端流水线 (Remote Pipe l ine ) 1133为用于处理远端的协议事务的引擎, 这里远端的协议 事务是指从 NI 1136_0、 1136-1和 1136-2进入的协议事务, 其中 NI是指 本发明实施例中前面所述的网络接口。本地流水线( Loca 1 P ipe l ine ) 1134为用于处理本地的协议事务的引擎,本地的协议事务是指中央处 理器 111和 112发出的协议事务。 片上网络 ( Network On Chip ) 1135 是一个交换网络,用于远端流水线 1133、本地流水线 1134与 NI 1136-0、 1136-1和 1136-2的连接。 When the memory mirroring configuration is performed on the node 11, the node controller 113 needs to be configured. A structure of the node controller 113 is as shown in FIG. 9, including the system interface 1131-0. And 1131-1, for connecting to the central processing unit 111 and the central processing unit 112, respectively. The Packet Di spatcher is used to forward the message. The Remote Pipeliner 1133 is an engine for processing protocol transactions at the remote end. Here, the protocol transactions at the far end refer to protocol transactions entered from NI 1136_0, 1136-1, and 1136-2, where NI refers to The network interface previously described in the embodiment of the present invention. The local pipeline (Loca 1 P ipe l ine ) 1134 is an engine for processing local protocol transactions, and the local protocol transactions refer to protocol transactions issued by the central processors 111 and 112. Network On Chip 1135 is a switching network for the connection of remote pipeline 1133, local pipeline 1134, and NI 1136-0, 1136-1, and 1136-2.
在图 9所示的节点控制器 113中,需要配置本地流水线 1134的内存 地址交叉寄存器。 如图 7所示, 当本发明实施例在节点 11开启中央处 理器间的内存镜像之前,内存地址在节点 11的中央处理器间交叉编址 , 即内存地址在内存控制器 1111、 1112、 1121和 1122之间进行交叉编址, 以每个内存控制器需要 1条本地流水线为例, 需要 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 Conf igurat ion and Power Management Interface ) 向操作系统上报有镜像保护的内 存地址范围, 即节点 11主节点控制器 1111和 1121的内存地址范围,从 而可以将重要数据放置在该有镜像保护的内存空间中。 In the node controller 113 shown in FIG. 9, the memory address cross register of the local pipeline 1134 needs to be configured. As shown in FIG. 7, before the node 11 turns on the memory mirror between the central processors, the memory address is cross-addressed between the central processors of the node 11, that is, the memory addresses are in the memory controllers 1111, 1112, and 1121. Cross-addressing is performed between 1122 and 1122. For each memory controller, a local pipeline is required as an example. Four local pipelines are required. After node 11 sets the memory mirror, since the memory controllers 1111 and 1121 are the main memory controllers, Only two local pipelines need to be opened, corresponding to the memory controllers 1111 and 1121, and the cyclic queues of 1111, 1121, 1111, and 1121 are written into the target list of the node controller 113 to complete the modification of the memory address cross register. The target list can be an array and stored in the memory address cross-register. The 1111 and 1121 in the target list are the identifiers of the main memory controllers 1111 and 1121, respectively. The specific representation of the main memory controller is not here. Make a limit. Since memory cross-addressing is performed between the four memory controllers of the node 11, four local pipelines are needed to correspond to the four memories on the node 11 respectively. Controller. After the memory mirroring configuration of the node 11 is completed, only two memory controllers accept the memory access transaction. At this time, the local pipeline can be modified, and only two local pipelines are opened corresponding to the memory controllers 1111 and 1121, respectively, of course, the memory controller 1111 and The 1121 can also use multiple local pipelines for better performance. After the node memory mirroring configuration is complete, the mirrored protected memory address range is reported to the NUMA operating system. One implementation is to report the image protection to the operating system through the advanced configuration and power management interface (Advanced Conf igurat and Power Management Interface). The memory address range, that is, the memory address range of the node 11 master controllers 1111 and 1121, so that important data can be placed in the mirror-protected memory space.
由于现有技术中 NUMA系统进行节点内存镜像配置时,一旦对节点 进行内存镜像配置, 则所有节点都需要进行内存镜像配置, 从而使 NUMA系统的内存空间减半, 影响了 NUMA系统性能, 而本发明实施例提 供的 NUMA系统节点内存镜像方法, 可以根据需要, 选择需要的节点进 行内存镜像, 实现以节点为粒度的内存镜像,有效解决 NUMA系统中 内存镜像损耗过多内存空间的问题,增加了 NUMA系统内存镜像配置 的灵活度。 NUMA系统的主节点通常存储系统重要信息, 因此, 通常 将主节点默认进行内存镜像设置, 本发明对此不作限定。  In the prior art, when the NUMA system performs the node memory mirroring configuration, once the memory mirroring configuration is performed on the node, all the nodes need to perform the memory mirroring configuration, thereby halving the memory space of the NUMA system and affecting the performance of the NUMA system. The NUMA system node memory mirroring method provided by the embodiment of the present invention can select a required node for memory mirroring according to requirements, and implement a memory mirror with granularity of nodes, thereby effectively solving the problem of excessive memory space of memory mirroring loss in the NUMA system, and increasing the problem. The flexibility of the NUMA system memory mirroring configuration. The master node of the NUMA system usually stores important information of the system. Therefore, the master node usually performs memory mirroring by default, which is not limited by the present invention.
本发明实施例提供了 NUMA系统内存镜像配置方法,当对 NUMA 系统节点进行内存镜像配置后,根据需要还可以解除节点的内存镜像, 如图 10所示, 具体包括:  The embodiment of the present invention provides a method for configuring a memory mirroring of a NUMA system. After performing a memory mirroring configuration on a NUMA system node, the memory mirroring of the node can be released as needed, as shown in FIG.
1001: 所述 NUMA系统的主节点接收解除节点内存镜像指令; 1001: The master node of the NUMA system receives a node memory mirroring command;
1002:所述主节点根据所述解除节点内存镜像指令携带的解除镜 像节点的标识解除所述解除镜像节点的内存镜像; 其中,所述解除镜 像节点为所述目标节点中的至少一个。 1002: The master node performs the cancellation mirror according to the canceling the node memory mirroring instruction. The identifier of the node is released from the memory mirror of the unmirrored node; wherein the unmirrored node is at least one of the target nodes.
仍以上述节点 11作为解除镜像节点为例,节点 11作为内存镜像节 点, 仍以图 8所示界面为例, 当选择解除节点 11的内存镜像后, 通过 基板管理控制器或者操作系统发出解除节点内存镜像指令,主节点 10 接收解除节点内存镜像指令。 其中, 解除节点内存镜像指令携带解除 镜像节点的标识。解除镜像节点是指需要解除内存镜像的节点, 在本 发明实施例中, 即节点 11。 当配置为内存镜像的节点有多个时, 可以 从其中选择至少一个节点作为解除镜像节点。主节点 10根据解除内存 镜像指令携带的解除镜像节点的标识解除所述解除镜像节点的镜像。 当解除节点 11的内存镜像时,主节点 10配置节点 11的中央处理器 111、 112和节点控制器 113。 具体包括: 取消镜像寄存器中主内存控制器 1111和 1121的标识,修改节点 11的源地址解析和目标地址解析, 将在 内存镜像模式下的从内存控制器 1112和 1122的内存空间重新配置到 节点 11的内存空间。由于节点 11被配置为中央处理器间节点镜像模式, 在解除镜像之前,源地址解析和目标地址解析的目标列表配置为 1111 , For example, the node 11 is used as the mirroring node, and the node 11 is used as the memory mirroring node. The interface shown in FIG. 8 is still taken as an example. After the memory mirror of the node 11 is selected, the node is released by the baseboard management controller or the operating system. The memory mirroring instruction, the master node 10 receives the node memory mirroring command. The node memory mirroring command carries the identifier of the mirror node. The unmirrored node is a node that needs to be unmapped from memory, in the embodiment of the present invention, node 11. When there are multiple nodes configured as memory mirroring, at least one node can be selected as the mirroring node. The master node 10 releases the mirror image of the unmirrored node according to the identifier of the unmirrored node carried in the memory mirroring instruction. When the memory mirror of the node 11 is released, the master node 10 configures the central processors 111, 112 of the node 11 and the node controller 113. Specifically, the method includes: canceling the identifiers of the main memory controllers 1111 and 1121 in the mirror register, modifying the source address resolution and the target address resolution of the node 11, and reconfiguring the memory space from the memory controllers 1112 and 1122 to the node in the memory mirror mode. 11 memory space. Since the node 11 is configured as the inter-processor node mirroring mode, the target list of source address resolution and destination address resolution is configured to be 1111 before the mirroring is released.
1121 , 1111 , 1121 , 依次循环。 解除镜像后, 将源地址解析和目标地 址解析的目标列表配置为 1111 , 1112 , 1121 , 1122 , 1111 , 1112 , 1121 ,1121, 1111, 1121, and then cycle. After unmirrorizing, configure the target list for source address resolution and destination address resolution as 1111, 1112, 1121, 1122, 1111, 1112, 1121.
1122 ,依次循环,循环次数取决于目标列表的表项数,例如,通常 Inte l 中央处理器中目标列表有 16项表项, 每次循环需要占用 4个表项, 则 循环次数为 4次。其中目标列表可以为一个数组,保存在内存地址交叉 寄存器中, 目标列表各表项中的 1111、 1112、 1121和 1122分别为内存 控制器 1111、 1112、 1121和 1122的标识,内存控制器的标识具体表示 形式在此不做限定。 这样, 内存控制器 1112和内存控制器 1122的内存 空间就可以重新纳入节点 11的内存空间,从而增加 NUMA系统的内存空 间。 1122, in turn, the number of loops depends on the number of entries in the target list. For example, in the Inte l central processor, there are 16 entries in the target list, and each loop needs to occupy 4 entries, and the number of loops is 4 times. The target list can be an array and stored in the memory address cross register. The 1111, 1112, 1121, and 1122 in the target list are respectively memory. The identification of the controllers 1111, 1112, 1121, and 1122, and the specific representation of the identifier of the memory controller are not limited herein. In this way, the memory space of the memory controller 1112 and the memory controller 1122 can be reincorporated into the memory space of the node 11, thereby increasing the memory space of the NUMA system.
另外, 解除节点 11的内存镜像,还需要修改节点 11的节点控制器 113的本地流水线的内存地址寄存器。 如节点 11进行内存镜像配置时 所述, 通常节点 11进行内存镜像后, 主内存控制器 1111和 1121分别开 启 1条本地流水线, 对从内存控制器 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的操作系统上报节点的内存空间, 即内存容量, 一种实 现方式为通过高级配置和电源管理接口向操作系统上报每个节点的 内存空间。  In addition, to release the memory mirror of the node 11, it is also necessary to modify the memory address register of the local pipeline of the node controller 113 of the node 11. For example, when node 11 performs memory mirroring configuration, after the node 11 performs memory mirroring, the main memory controllers 1111 and 1121 respectively open one local pipeline, and for the slave memory controllers 1112 and 1122, the local pipeline is not turned on. After the mirroring is released, the memory space of the four memory controllers 1111, 1112, 1121, and 1122 in node 11 enters the memory space of the NUMA system. Therefore, four local pipelines need to be turned on, and the circular queues of 1111, 1112, 1121, 1122, 1111, 1112, 1121, 1122 are written into the target list of the memory address cross register of the node controller 113, wherein the target list can be one. The array is stored in the memory address cross-register, and the identifiers of the memory controllers 1111, 1112, 1121, and 1122 are respectively defined by the memory controllers 1111, 1112, 1121, and 1122, and the specific representation of the identifier of the memory controller is not limited herein. After the memory mirror of the node 11 is released, the memory space of the node, that is, the memory capacity, is reported to the operating system of the NUMA. One implementation method is to report the memory space of each node to the operating system through the advanced configuration and the power management interface.
本发明实施例提供的 NUMA系统内存镜像解除方法,可以根据需要 对 NUMA系统以单个节点为粒度进行内存镜像解除,可以灵活释放内存 空间。  The method for releasing the memory of the NUMA system provided by the embodiment of the present invention can perform the memory mirroring on the NUMA system with a single node as the granularity, and can flexibly release the memory space.
本发明上述实施例 NUMA系统内存镜像的方法,也可以使用中央处 理器间内存镜像模式,节点内内存地址的编址方式也可以使用中央处 理器间交叉编址方式。即节点内存镜像模式与节点内存地址的编址方 式可以自由组合, 同时节点内内存地址也可以不使用交叉编址方式, 对中央处理器内内存镜像模式的配置和解除不再赘述。本发明实施例 仅仅给出一种示例性说明,配置节点内存镜像的节点数量可以根据实 际需要具体进行确定,解除节点内存镜像的节点数也可以根据需要具 体进行确定。 The method for mirroring the memory of the NUMA system of the above embodiment of the present invention can also be used at the center. In the memory mirror mode between processors, the addressing mode of the memory address in the node can also use the inter-processor cross-addressing method. That is, the addressing mode of the node memory mirroring mode and the node memory address can be freely combined, and the memory address in the node can also be used without the cross-addressing mode. The configuration and cancellation of the memory mirroring mode in the central processing unit are not described again. The embodiment of the present invention only gives an exemplary description. The number of nodes configuring the node memory mirroring may be specifically determined according to actual needs, and the number of nodes for releasing the node memory mirroring may also be specifically determined according to requirements.
本发明另一实施例提供了 NUMA系统的主节点 111 , 如图 11所示, 主节点 111包括接收单元 1110和配置单元 1111。 所述接收单元 1110用 于接收节点内存镜像指令,所述节点内存镜像指令携带目标节点的标 识和内存镜像模式信息; 所述配置单元 1111用于根据所述接收单元 1111接收的所述目标节点的标识和所述内存镜像模式信息配置所述 目标节点的内存镜像; 其中, 所述目标节点的内存地址是连续的。  Another embodiment of the present invention provides a master node 111 of a NUMA system. As shown in FIG. 11, the master node 111 includes a receiving unit 1110 and a configuration unit 1111. The receiving unit 1110 is configured to receive a node memory mirroring instruction, where the node memory mirroring instruction carries the identifier of the target node and the memory mirroring mode information. The configuration unit 1111 is configured to use the target node received by the receiving unit 1111. The identifier and the memory mirroring mode information configure a memory image of the target node; wherein, the memory address of the target node is continuous.
如图 11所示的 NUM A系统的主节点,当所述内存镜像模式信息用于 指示将所述目标节点配置为中央处理器间内存镜像模式,则所述配置 单元 1111用于根据所述接收单元 1110接收的所述所述目标节点的标 识和所述内存镜像模式信息配置所述目标节点的内存镜像,具体包括: 所述配置单元 1111用于根据所述接收单元接收的所述节点内存 镜像指令携带的所述目标节点的标识和所述内存镜像模式信息将所 述目标节点配置为中央处理器间内存镜像模式。  As shown in FIG. 11, the master node of the NUM A system, when the memory mirror mode information is used to indicate that the target node is configured as a central processor memory mirror mode, the configuration unit 1111 is configured to receive according to the The identifier of the target node and the memory mirroring mode information received by the unit 1110, and the memory mirroring of the target node, specifically include: the configuring unit 1111 is configured to use the node memory image received by the receiving unit The identifier of the target node and the memory mirroring mode information carried by the instruction configure the target node as a central processor memory mirroring mode.
如图 11所示的 NUM A系统的主节点,当所述内存镜像模式信息用于 指示将所述目标节点配置为中央处理器内内存镜像模式,则所述配置 单元 1111用于根据所述接收单元 1110接收的所述目标节点的标识和 所述内存镜像模式信息配置所述目标节点的内存镜像, 具体包括: 所述配置单元 1111用于根据所述接收单元 1110接收的所述目标 节点的标识和所述内存镜像模式信息将所述目标节点配置为中央处 理器内内存镜像模式。 The master node of the NUM A system shown in FIG. 11 is configured when the memory mirror mode information is used to indicate that the target node is configured as a central processor memory mirror mode. The unit 1111 is configured to configure the memory mirror of the target node according to the identifier of the target node and the memory mirroring mode information received by the receiving unit 1110, and specifically includes: the configuring unit 1111 is configured to use, according to the receiving unit 1110, The received identifier of the target node and the memory mirror mode information configure the target node as a memory mirror mode in the central processing unit.
如图 11所示的 NUMA系统,所述目标节点的内存地址编址模式可以 为交叉编址。  In the NUMA system shown in Figure 11, the memory address addressing mode of the target node can be cross-addressed.
本发明实施例提供的 NUMA系统可以参照前述实施例对节点内存 镜像配置的方法描述来实现节点内存镜像配置, 在此不再赘述。  The NUMA system provided by the embodiment of the present invention can implement the node memory mirroring configuration by referring to the method description of the node memory mirroring configuration in the foregoing embodiment, and details are not described herein again.
本发明实施例提供的 NUMA系统, 目标节点的个数可以根据系统节 点个数以及具体需求来确定, 可以为一个, 也可以为多个。 由于现有 技术中 NUMA系统进行节点内存镜像配置时,一旦对节点进行内存镜像 配置, 则所有节点都需要进行内存镜像配置, 从而使 NUMA系统的内存 空间减半, 影响了 NUMA系统性能, 而本发明实施例提供的 NUMA系统节 点内存镜像方法, 可以根据需要, 选择需要的节点进行内存镜像, 实 现以单个节点为粒度的内存镜像,有效解决 NUMA系统中内存镜像损 耗过多内存空间的问题, 增加了 NUMA系统内存镜像配置的灵活度。  In the NUMA system provided by the embodiment of the present invention, the number of the target nodes may be determined according to the number of system nodes and specific requirements, and may be one or multiple. In the prior art, when the NUMA system performs the node memory mirroring configuration, once the memory mirroring configuration is performed on the node, all the nodes need to perform the memory mirroring configuration, thereby halving the memory space of the NUMA system and affecting the performance of the NUMA system. The NUMA system node memory mirroring method provided by the embodiment of the present invention can select a required node for memory mirroring according to requirements, and implement a memory mirror with granularity of a single node, thereby effectively solving the problem of excessive memory space of memory mirroring loss in the NUMA system, and increasing The flexibility of the NUMA system memory mirroring configuration.
主节点 110还包括解除单元 1112,如图 12所示,所述接收单元 1110 还用于接收解除节点内存镜像指令;  The master node 110 further includes a releasing unit 1112. As shown in FIG. 12, the receiving unit 1110 is further configured to receive a node memory mirroring instruction.
所述解除单元 1112用于根据所述接收单元 1110接收的所述解除 节点内存镜像指令携带的解除镜像节点的标识解除所述除镜像节点 的内存镜像。其中,所述解除镜像节点为所述目标节点中的至少一个。 即当目标节点为多个时,解除单元 1 1 12可以才艮据解除节点内存镜像指 令解除目标节点中部分节点的内存镜像, 当目标节点为一个时, 解除 镜像节点即为目标节点。 本发明实施例提供的 NUMA系统可以参照前述实施例对节点内存 镜像解除的方法描述来实现节点内存镜像解除, 在此不再赘述。 本发明实施例提供的 NUMA系统内存镜像解除方法,可以根据需要 对 NUMA系统以单个节点为粒度,解除节点的内存镜像, 释放节点内存 空间。 本领域普通技术人员可以意识到, 结合本文中所公开的实施 例描述的各示例的单元及算法步骤, 能够以电子硬件、 或者计算 机软件和电子硬件的结合来实现。 这些功能究竟以硬件还是软件 方式来执行, 取决于技术方案的特定应用和设计约束条件。 专业 技术人员可以对每个特定的应用来使用不同方法来实现所描述的 功能, 但是这种实现不应认为超出本发明的范围。 所属领域的技术人员可以清楚地了解到, 为描述的方便和简 洁, 上述描述的系统、 装置和单元的具体工作过程, 可以参考前 述方法实施例中的对应过程, 在此不再赘述。 The releasing unit 1112 is configured to cancel the memory mirroring of the mirroring node according to the identifier of the image-removing node carried by the releasing node memory mirroring instruction received by the receiving unit 1110. The unmirrored node is at least one of the target nodes. That is, when there are multiple target nodes, the undo unit 1 1 12 can release the memory mirror of some nodes in the target node according to the node memory mirroring instruction. When the target node is one, the unmirror node is the target node. The NUMA system provided by the embodiment of the present invention can implement the node memory image release by referring to the method description of the node memory image release in the foregoing embodiment, and details are not described herein again. In the NUMA system memory image release method provided by the embodiment of the present invention, the NUMA system can be used as a granularity of a single node as needed to release the memory image of the node and release the node memory space. Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the various examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods to implement the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present invention. A person skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working process of the system, the device and the unit described above may refer to the corresponding processes in the foregoing method embodiments, and details are not described herein again.
在本申请所提供的几个实施例中,应该理解到 ,所公开的系统、 方法, 可以通过其它的方式实现。 例如, 以上所描述的装置实施 例仅仅是示意性的, 例如, 所述单元的划分, 仅仅为一种逻辑功 能划分, 实际实现时可以有另外的划分方式, 例如多个单元或组 件可以结合或者可以集成到另一个系统, 或一些特征可以忽略, 或不执行。 另一点, 所显示或讨论的相互之间的耦合或直接耦合 或通信连接可以是通过一些接口, 装置或单元的间接耦合或通信 连接, 可以是电性, 机械或其它的形式。 In the several embodiments provided herein, it should be understood that the disclosed systems and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the unit is only a logical function division. In actual implementation, there may be another division manner, for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication through some interface, device or unit. Connections can be electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上 分开的, 作为单元显示的部件可以是或者也可以不是物理单元, 即可以位于一个地方, 或者也可以分布到多个网络单元上。 可以 根据实际的需要选择其中的部分或者全部单元来实现本实施例方 案的目的。  The units described as separate components may or may not be physically separate, and the components displayed as the units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the embodiment scheme.
另外, 在本发明各个实施例中的各功能单元可以集成在一个 处理单元中, 也可以是各个单元单独物理存在, 也可以两个或两 个以上单元集成在一个单元中。  In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
所述功能如果以软件功能单元的形式实现并作为独立的产品 销售或使用时, 可以存储在一个计算机可读取非易失性存储介质 中。 基于这样的理解, 本发明的技术方案本质上或者说对现有技 术做出贡献的部分或者该技术方案的部分可以以软件产品的形式 体现出来, 该计算机软件产品存储在一个非易失性存储介质中, 包括若干指令用以使得一台计算机设备 (可以是个人计算机, 服 务器, 或者网络设备等) 执行本发明各个实施例所述方法的全部 或部分步骤。而前述的非易失性存储介质包括: U盘、移动硬盘、 只读存储器 (ROM, Read-Only Memory ) 、 磁碟或者光盘等各种 可以存储程序代码的介质。  The functions, if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable non-volatile storage medium. Based on such understanding, the technical solution of the present invention, which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product stored in a non-volatile storage. The medium includes instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The foregoing non-volatile storage medium includes: a medium that can store program codes, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a magnetic disk, or an optical disk.
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范 围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露 的技术范围内, 可轻易想到变化或替换, 都应涵盖在本发明的保 护范围之内。 因此, 本发明的保护范围应所述以权利要求的保护 范围为准。  The above is only the specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily think of changes or substitutions within the technical scope of the present invention. It should be covered by the scope of the present invention. Therefore, the scope of the invention should be determined by the scope of the appended claims.

Claims

权利要求书  Claim
1、 一种非统一内存访问 NUMA系统中的内存镜像配置方法, 其特 征在于, 所述方法包括:  A method for configuring a memory mirror in a non-uniform memory access NUMA system, wherein the method includes:
所述 NUMA系统的主节点接收节点内存镜像指令,所述节点内存镜 像指令携带目标节点的标识和内存镜像模式信息;  The master node of the NUMA system receives a node memory mirroring instruction, and the node memory mirroring instruction carries the identifier of the target node and the memory mirroring mode information;
所述主节点才艮据所述目标节点的标识和所述内存镜像模式信息 配置所述目标节点的内存镜像; 其中, 所述目标节点的内存地址是连 续的。  The master node configures a memory mirror of the target node according to the identifier of the target node and the memory mirror mode information; wherein, the memory address of the target node is continuous.
1、 如权利要求 1所述的方法, 其特征在于, 所述内存镜像模式信 息用于指示将所述目标节点配置为中央处理器间内存镜像模式。  1. The method of claim 1, wherein the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
3、 如权利要求 1所述的方法, 其特征在于, 所述内存镜像模式信 息用于指示将所述目标节点配置为中央处理器内内存镜像模式。  3. The method of claim 1, wherein the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
4、 如权利要求 1至 3任一所述的方法, 其特征在于, 所述目标节 点的内存地址编址模式为交叉编址。  The method according to any one of claims 1 to 3, characterized in that the memory address addressing mode of the target node is cross-addressing.
5、 如权利要求 1至 4任一所述的方法, 其特征在于, 所述根据所 述节点内存镜像指令携带的目标节点的标识和内存镜像模式信息配 置所述目标节点的内存镜像后, 还包括:  The method according to any one of claims 1 to 4, wherein, after configuring the memory mirror of the target node according to the identifier of the target node and the memory mirroring mode information carried by the node memory mirroring instruction, Includes:
向所述 NUMA系统的操作系统发送所述目标节点的内存地址信息。 Sending memory address information of the target node to an operating system of the NUMA system.
6、 一种非统一内存访问 NUMA系统中的内存镜像解除方法, 其特 征在于, 所述方法包括: 6. A non-uniform memory access method for releasing a memory image in a NUMA system, wherein the method comprises:
所述 NUMA系统的主节点接收解除节点内存镜像指令;  The master node of the NUMA system receives the node memory mirroring command;
所述主节点根据所述解除节点内存镜像指令携带的解除镜像节 点的标识解除所述解除镜像节点的内存镜像; 其中, 所述解除镜像节 点的内存地址是连续的。 De-mirror section carried by the master node according to the node memory mirroring instruction The identifier of the point is used to release the memory image of the unmirrored node. The memory address of the unmirrored node is continuous.
7、 如权利要求 6所述的方法, 其特征在于, 所述主节点根据所述 解除节点内存镜像指令携带的解除镜像节点的标识解除所述解除镜 像节点的内存镜像后, 还包括:  The method of claim 6, wherein the master node releases the memory mirror of the unmirror node according to the identifier of the image-removing node carried in the node mirroring instruction, and further includes:
所述主节点向所述 NUMA系统的操作系统发送所述 NUMA系统每个 节点的内存地址信息。  The master node sends memory address information of each node of the NUMA system to an operating system of the NUMA system.
8、 一种非统一内存访问 NUMA系统, 其特征在于, 所述 NUMA系统 包括主节点和目标节点; 所述主节点用于接收节点内存镜像指令, 所 述节点内存镜像指令携带所述目标节点的标识和内存镜像模式信息; 所述主节点用于根据所述目标节点的标识和所述内存镜像模式 信息配置所述目标节点的内存镜像; 其中, 所述目标节点的内存地址 是连续的。  A non-uniform memory access NUMA system, wherein the NUMA system includes a master node and a target node; the master node is configured to receive a node memory mirroring instruction, and the node memory mirroring instruction carries the target node And the memory mirroring mode information; the master node is configured to configure a memory mirror of the target node according to the identifier of the target node and the memory mirroring mode information; wherein, the memory address of the target node is continuous.
9、 如权利要求 8所述的系统, 其特征在于, 所述内存镜像模式信 息用于指示将所述目标节点配置为中央处理器间内存镜像模式。  9. The system of claim 8, wherein the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
1 0、 如权利要求 8所述的系统, 其特征在于, 所述内存镜像模式 信息用于指示将所述目标节点配置为中央处理器内内存镜像模式。  The system of claim 8, wherein the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
1 1、 如权利要求 8至 1 0任一所述的系统, 其特征在于, 所述目标 节点的内存地址编址模式为交叉编址。  1 1. The system according to any one of claims 8 to 10, wherein the memory address addressing mode of the target node is cross-addressing.
12、 如权利要求 8所述的系统, 其特征在于, 所述主节点还用于 接收解除节点内存镜像指令;  The system according to claim 8, wherein the master node is further configured to receive a node memory mirroring instruction;
所述主节点还用于根据所述解除节点内存镜像指令携带的解除 镜像节点的标识解除所述解除镜像节点的内存镜像;其中,所述解除 镜像节点为所述目标节点中的至少一个。 The master node is further configured to perform the release according to the release node memory mirroring instruction The identifier of the mirroring node releases the memory mirror of the unmirrored node; wherein the unmirrored node is at least one of the target nodes.
1 3、 一种非统一内存访问 NUMA系统的主节点, 其特征在于, 所述 主节点包括接收单元和配置单元;  1 3, a non-uniform memory access master node of the NUMA system, wherein the master node comprises a receiving unit and a configuration unit;
所述接收单元用于接收节点内存镜像指令,所述节点内存镜像指 令携带目标节点的标识和内存镜像模式信息;  The receiving unit is configured to receive a node memory mirroring instruction, where the node memory mirroring instruction carries an identifier of the target node and memory mirroring mode information;
所述配置单元用于根据所述接收单元接收的所述目标节点的标 识和所述内存镜像模式信息配置所述目标节点的内存镜像; 其中, 所 述目标节点的内存地址是连续的。  The configuration unit is configured to configure a memory image of the target node according to the identifier of the target node and the memory mirror mode information received by the receiving unit, where the memory address of the target node is continuous.
14、 如权利要求 1 3所述的主节点, 其特征在于, 所述内存镜像模 式信息用于指示将所述目标节点配置为中央处理器间内存镜像模式。  The master node according to claim 13, wherein the memory mirroring mode information is used to indicate that the target node is configured as a central processor memory mirroring mode.
15、 如权利要求 1 3所述的主节点, 其特征在于, 所述内存镜像模 式信息用于指示将所述目标节点配置为中央处理器内内存镜像模式。  The master node according to claim 13, wherein the memory mirroring mode information is used to indicate that the target node is configured as a memory mirroring mode in the central processing unit.
16、 如权利要求 1 3至 15任一所述的主节点, 其特征在于, 所述目 标节点的内存地址编址模式为交叉编址。  The master node according to any one of claims 13 to 15, wherein the memory address addressing mode of the target node is cross-addressing.
17、 如权利要求 1 3所述的主节点, 其特征在于, 所述主节点还包 括解除单元; 所述接收单元还用于接收解除节点内存镜像指令;  The master node according to claim 13 is characterized in that: the master node further includes a release unit; and the receiving unit is further configured to receive a node memory mirroring instruction;
所述解除单元用于根据所述接收单元接收的所述解除节点内存 镜像指令携带的解除镜像节点的标识解除所述解除镜像节点的内存 镜像;其中 ,所述解除镜像节点为所述目标节点中的至少一个。  And the releasing unit is configured to cancel the memory mirroring of the image-removing node according to the identifier of the image-removing node carried in the node-free mirroring instruction received by the receiving unit; wherein the image-removing node is in the target node At least one of them.
18、 一种非易失性计算机可读存储介质, 其特征在于, 所述非易 失性计算机可读存储介质存储计算机指令, 当非统一内存访问 NUMA 系统的主节点执行所述计算机指令时, 实现: 18. A non-transitory computer readable storage medium, wherein the non-transitory computer readable storage medium stores computer instructions, when non-uniform memory accesses NUMA When the master node of the system executes the computer instructions, it implements:
接收节点内存镜像指令,所述节点内存镜像指令携带目标节点的 标识和内存镜像模式信息;  Receiving a node memory mirroring instruction, where the node memory mirroring instruction carries the identifier of the target node and the memory mirroring mode information;
根据所述目标节点的标识和所述内存镜像模式信息配置所述目 标节点的内存镜像; 其中, 所述目标节点的内存地址是连续的。  Configuring a memory image of the target node according to the identifier of the target node and the memory mirroring mode information; wherein, the memory address of the target node is continuous.
19、如权利要求 18所述的非易失性计算机可读存储介质, 其特征 在于,所述内存镜像模式信息用于指示将所述目标节点配置为中央处 理器间内存镜像模式。  The non-transitory computer readable storage medium of claim 18, wherein the memory mirroring mode information is used to indicate that the target node is configured as a central interprocessor memory mirroring mode.
20、如权利要求 18所述的非易失性计算机可读存储介质, 其特征 在于,所述内存镜像模式信息用于指示将所述目标节点配置为中央处 理器内内存镜像模式。  The non-transitory computer readable storage medium of claim 18, wherein the memory mirroring mode information is for indicating that the target node is configured as a central processor memory mirroring mode.
PCT/CN2013/078508 2013-06-29 2013-06-29 Configuration method, relief method and system for memory mirroring in numa system, and main node WO2014205845A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201380000684.9A CN103649923B (en) 2013-06-29 2013-06-29 A kind of NUMA Installed System Memory mirror configuration method, release method, system and host node
PCT/CN2013/078508 WO2014205845A1 (en) 2013-06-29 2013-06-29 Configuration method, relief method and system for memory mirroring in numa system, and main node

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/078508 WO2014205845A1 (en) 2013-06-29 2013-06-29 Configuration method, relief method and system for memory mirroring in numa system, and main node

Publications (1)

Publication Number Publication Date
WO2014205845A1 true WO2014205845A1 (en) 2014-12-31

Family

ID=50253407

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/078508 WO2014205845A1 (en) 2013-06-29 2013-06-29 Configuration method, relief method and system for memory mirroring in numa system, and main node

Country Status (2)

Country Link
CN (1) CN103649923B (en)
WO (1) WO2014205845A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951551A (en) * 2019-03-21 2019-06-28 联想(北京)有限公司 A kind of container mirror image management system and method
US11294692B2 (en) 2020-07-27 2022-04-05 Dell Products L.P. Basic input output system (BIOS)—identified memory size and node address range mirroring system

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105528262B (en) * 2014-10-21 2019-03-19 杭州华为数字技术有限公司 A kind of method and device for realizing memory mirror
CN104484250B (en) * 2014-11-28 2018-04-27 英业达科技有限公司 The method for testing pressure and pressure test device of Quick Path Interconnect bus
CN104778098A (en) * 2015-04-09 2015-07-15 浪潮电子信息产业股份有限公司 Memory mirroring method and system and memory monitor
CN106557448B (en) * 2015-09-24 2019-06-18 龙芯中科技术有限公司 The kernel code read method and system of multi-node system
US10474653B2 (en) * 2016-09-30 2019-11-12 Oracle International Corporation Flexible in-memory column store placement
CN110262893B (en) 2019-05-16 2021-08-20 华为技术有限公司 Method and device for configuring mirror image memory and computer storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169750A (en) * 2007-12-10 2008-04-30 杭州华三通信技术有限公司 Memory mirror image system, device and memory mirror image method
US20090006793A1 (en) * 2007-06-30 2009-01-01 Koichi Yamada Method And Apparatus To Enable Runtime Memory Migration With Operating System Assistance
CN102725746A (en) * 2011-07-20 2012-10-10 华为技术有限公司 Method and apparatus for managing memories in distributed computer system
CN103136110A (en) * 2013-02-18 2013-06-05 华为技术有限公司 Memory management method, memory management device and non uniform memory access (NUMA) system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014599A1 (en) * 2001-07-05 2003-01-16 International Business Machines Corporation Method for providing a configurable primary mirror
JP4848771B2 (en) * 2006-01-04 2011-12-28 株式会社日立製作所 Cache coherency control method, chipset, and multiprocessor system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090006793A1 (en) * 2007-06-30 2009-01-01 Koichi Yamada Method And Apparatus To Enable Runtime Memory Migration With Operating System Assistance
CN101169750A (en) * 2007-12-10 2008-04-30 杭州华三通信技术有限公司 Memory mirror image system, device and memory mirror image method
CN102725746A (en) * 2011-07-20 2012-10-10 华为技术有限公司 Method and apparatus for managing memories in distributed computer system
CN103136110A (en) * 2013-02-18 2013-06-05 华为技术有限公司 Memory management method, memory management device and non uniform memory access (NUMA) system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951551A (en) * 2019-03-21 2019-06-28 联想(北京)有限公司 A kind of container mirror image management system and method
CN109951551B (en) * 2019-03-21 2021-03-19 联想(北京)有限公司 Container mirror image management system and method
US11294692B2 (en) 2020-07-27 2022-04-05 Dell Products L.P. Basic input output system (BIOS)—identified memory size and node address range mirroring system

Also Published As

Publication number Publication date
CN103649923B (en) 2015-07-29
CN103649923A (en) 2014-03-19

Similar Documents

Publication Publication Date Title
WO2014205845A1 (en) Configuration method, relief method and system for memory mirroring in numa system, and main node
US10205653B2 (en) Fabric discovery for a cluster of nodes
JP6475625B2 (en) Inter-core communication apparatus and method
CN109997113B (en) Method and device for data processing
TWI516933B (en) Apparatus and method for memory mirroring and migration at home agent and computer-readable medium
JP5614419B2 (en) Information processing apparatus, control method, and control program
US7802025B2 (en) DMA engine for repeating communication patterns
US7827391B2 (en) Method and apparatus for single-stepping coherence events in a multiprocessor system under software control
CN111427827B (en) CPU and multi-CPU system management method
WO2014190486A1 (en) Method and system for supporting resource isolation under multi-core architecture
JP2010009567A (en) Information handling system including dynamically merged physical partition and method for operating the same
JP7311280B2 (en) Storage system and its host storage drive and data storage method
WO2017101080A1 (en) Write request processing method, processor and computer
US11599498B1 (en) Device with data processing engine array that enables partial reconfiguration
JP2011060278A (en) Autonomous subsystem architecture
JP2013512519A (en) Controller directly accessing memory for direct transfer of data between memories of several peripheral devices, method and computer program enabling such controller
CN105095254A (en) Method and apparatus for achieving data consistency
US9229654B2 (en) Input/output request shipping in a storage system with multiple storage controllers
WO2011137769A1 (en) Multi-core online patching method and apparatus
US20100268755A1 (en) Virtual controllers with a large data center
US10565135B2 (en) Information processing device, information processing method, main processor core, program, information processing method, and sub processor core
TW202134899A (en) Server and control method of server
CN117561505A (en) Systems, methods, apparatuses, and architectures for dynamically configuring device structures
WO2015035891A1 (en) Patching method, device, and system
US20230385220A1 (en) Multi-port memory link expander to share data among hosts

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13887909

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13887909

Country of ref document: EP

Kind code of ref document: A1