Cluster management method, power-on control method of computing node and related equipment
By using the first management controller to determine the device ready state based on the shared memory module status and connection topology in a cluster of shared memory pooling technology and sending a ready signal, the problem of the computing node powering on when the shared memory device is not ready is solved, and management of the powering on the computing node and the normal use of memory resources are realized.
Patent Information
- Application Number
- CN202411725238.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-27
- Publication Date
- 2025-04-08
AI Technical Summary
When using shared memory pooling technology to build a memory-centric cluster, the power-on management of computing nodes is difficult to ensure that they do not power up before the shared memory device is ready, resulting in the inability to use the memory resources normally.
By in the cluster management method, the first management controller of the shared memory device determines whether the device is ready based on the status of each shared memory module and the actual connection topology, and sends a ready signal to the computing node indicating that it allows power on.
The power-on control of the computing nodes in the cluster is realized, ensuring that they can use the memory resources of shared memory devices normally after power-on, and improving the expansion and flexibility of memory usage.
Smart Images

Figure CN119782244A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of computing devices, and in particular, relates to a cluster management method, a power-on control method for computing nodes, and related devices. Background Art
[0002] With the iteration of the Compute Express Link (CXL) protocol, memory pooling technology has been gradually improved, making it possible for multiple servers to share memory resources, improving the scalability and flexibility of memory usage, and being able to better and more efficiently use memory pooling technology to build a memory-centric cluster. The power-on management of computing nodes in this cluster is crucial. Summary of the invention
[0003] The embodiments of the present application provide a cluster management method, a computing node power-on control method and related devices, which can control the power-on of computing nodes in a cluster to ensure that they can normally use the memory resources of a shared memory device.
[0004] In a first aspect, an embodiment of the present application provides a cluster management method, which is applied to a first management controller in a shared memory device in a cluster, and the method includes:
[0005] Determine whether the shared memory device is ready based on the status and / or actual connection topology of each shared memory module; the actual connection topology is the connection relationship between the shared memory module and the computing node; wherein the shared memory device includes multiple shared memory modules;
[0006] When the shared memory device is ready, a ready signal is sent to the computing node.
[0007] In the above scheme, the shared memory device can determine whether the shared memory device is ready based on the status of each shared memory module and / or the actual connection topology, and when the shared memory device is ready, it can instruct the computing node to allow itself to be powered on by sending a ready signal to the computing node, thereby realizing power-on control of the computing nodes in the cluster and ensuring that the computing node can normally use the memory resources of the shared memory device after being powered on.
[0008] In a possible implementation manner of the first aspect, the cluster includes at least two computing nodes, the at least two computing nodes are connected to the shared memory device, each computing node includes at least two CXL links, and each shared memory module is used for connection with at least two CXL links; the method further includes:
[0009] Acquire the identity information of each computing node and the connection relationship between the CXL link of each computing node and the corresponding shared memory module;
[0010] The actual connection topology is determined based on the identity information of each computing node and the connection relationship.
[0011] In the above solution, based on the identity information of each computing node and the connection relationship between the CXL link of each computing node and the corresponding shared memory module, the actual connection topology can be determined, thereby determining whether the shared memory device is ready based on the actual connection topology.
[0012] In a possible implementation manner of the first aspect, each of the shared memory modules includes a first logic device, and each of the first logic devices is configured to receive a CXL link number of the CXL link connected to the shared memory module where the first logic device is located, and identity information of the computing node where the CXL link is located;
[0013] The obtaining of the identity information of each computing node and the connection relationship between the CXL link of each computing node and the corresponding shared memory module includes:
[0014] Acquire, from the first logic device of each shared memory module, the identity information of the computing node connected to each shared memory module and the CXL link number;
[0015] Based on the identity information of the computing nodes connected to each of the shared memory modules and the CXL link numbers, a connection relationship between each of the shared memory modules and the CXL links of each of the computing nodes is determined.
[0016] In the above scheme, the identity information and CXL link number of the computing node connected to each shared memory module can be obtained from the first logic device. On this basis, the connection relationship between each shared memory module and the CXL link of each computing node can be determined, thereby determining the actual connection topology of each computing node and the shared memory module.
[0017] In a possible implementation manner of the first aspect, the method further includes:
[0018] Obtaining an access quantity, where the access quantity is the number of computing nodes connected to the shared memory device;
[0019] Based on the access quantity, determining a preset connection topology, wherein the preset connection topology represents a preset connection relationship between the computing nodes of the access quantity and the shared memory module;
[0020] Based on the preset connection topology and the actual connection topology, determine whether the shared memory module is correctly connected to each of the computing nodes. In the above scheme, by obtaining the number of accesses and determining the preset connection topology based on the number of accesses, it is possible to determine whether the shared memory device is correctly connected to each of the computing nodes based on the preset connection topology and the actual connection topology, and on this basis, it is possible to query whether the shared memory device is ready.
[0021] In a possible implementation manner of the first aspect, determining whether the shared memory device is ready based on the status of each shared memory module and / or the actual connection topology includes:
[0022] In response to a query request of a target computing node, determining whether the shared memory device is ready based on the status of each of the shared memory modules and / or the actual connection topology; the target computing node is any computing node of the at least two computing nodes;
[0023] The sending a ready signal to the computing node comprises:
[0024] Sending a ready signal to the target computing node;
[0025] The query request is sent by the second management controller of the target computing node; before obtaining the access quantity, the method further includes:
[0026] Parsing the query request to obtain the identity information of the second management controller and / or the identity information of the target computing node;
[0027] Storing the identity information of the second management controller and / or the identity information of the target computing node in an access node list;
[0028] The obtaining of the access quantity includes:
[0029] The access quantity is determined based on the quantity of the identity information of the second management controller and / or the quantity of the identity information of the target computing node in the access node list.
[0030] In the above scheme, by storing the identity information of the second management controller and / or the identity information of the target computing node in the access node list, the access number can be determined based on the number of identity information of the second management controller and / or the number of identity information of the target computing node in the access node list, thereby determining the preset topology structure corresponding to the access number.
[0031] In a possible implementation manner of the first aspect, querying the status of each shared memory module includes:
[0032] Detecting whether the links of the shared memory modules are normal;
[0033] If the links of the shared memory modules are normal, determining that the states of the shared memory modules are normal;
[0034] If the link of each shared memory module is abnormal, it is determined that the status of each shared memory module is abnormal.
[0035] In the above solution, by detecting whether the link of each shared memory module is normal, it is possible to query whether the status of each shared memory module is normal, and on this basis, it is possible to query whether the shared memory device is ready.
[0036] In a second aspect, an embodiment of the present application provides a power-on control method for a computing node, which is applied to any computing node in a cluster, wherein the computing node includes a second management controller, and the method includes:
[0037] The second management controller keeps the computing node in a power-disabled state when the computing node is connected to a shared memory device in the cluster;
[0038] The second management controller sends a query request to the shared memory device; the query request is used to instruct the shared memory device to determine whether it is ready;
[0039] If the second management controller receives a ready signal, it allows the computing node to be powered on; the ready signal indicates that the shared memory device is ready.
[0040] In the above scheme, when a computing node is connected to a shared memory device in a cluster, by keeping the computing node in a power-off state, it is possible to avoid the computing node being powered on when the shared memory device is not ready. By sending a query request to the shared memory device, it is possible to instruct the shared memory device to determine whether it is ready. If a ready signal indicating that the shared memory device is ready is received, it can be determined that the shared memory device is ready. In this case, by allowing the computing node to be powered on, power-on management of the computing nodes in the cluster can be implemented, thereby ensuring that the memory resources of the shared memory device are used normally after the computing node is powered on.
[0041] In a possible implementation manner of the second aspect, the first computing node includes a second logic device, and the method further includes:
[0042] The second logic device stores the identity information of the computing node and the CXL link number of the computing node;
[0043] Based on the connection relationship between each CXL link of the computing node and the shared memory module in the shared memory device, the second logic device sends the identity information of the computing node and the corresponding CXL link number to the shared memory module connected to the computing node.
[0044] In the above scheme, the second logic device in the computing node sends the computing node's identity information and the corresponding CXL link number to the shared memory module connected to the computing node, so that the shared memory device can determine the connection relationship between each shared memory module and the CXL link of each computing node based on the computing node's identity information and the CXL link number, thereby facilitating the shared memory device to determine whether the shared memory device is ready based on the connection relationship.
[0045] In a possible implementation manner of the second aspect, when the CXL link of the computing node is connected to the shared memory module through a retimer, the CXL link number is identity information of the retimer.
[0046] In a possible implementation manner of the second aspect, the computing node includes a second logic device, and before the second management controller sends the query request to the shared memory device, the method further includes:
[0047] In a case where the computing node is connected to a shared memory device in the cluster, a target register in the second logic device is set to a target value;
[0048] The second management controller determines that the computing node is connected to the shared memory device according to the target register being the target value.
[0049] In the above solution, the second management controller can determine whether the computing node is connected to the shared memory device according to the target register, so as to facilitate the subsequent power-on control of the computing node.
[0050] In a third aspect, an embodiment of the present application provides a shared memory device, wherein the shared memory device includes a first management controller and a plurality of shared memory modules;
[0051] The first base management controller is used to send the ready signal to the computing node based on the status of each shared memory module and / or the actual connection topology; the actual connection topology is the connection relationship between the shared memory module and the computing node; the ready signal indicates that the shared memory device is ready.
[0052] In a possible implementation manner of the third aspect, each of the shared memory modules includes a first logic device, and each of the first logic devices is configured to receive a CXL link number of a CXL link connected to the shared memory module where the first logic device is located, and identity information of the computing node where the CXL link is located;
[0053] The first management controller is used to obtain the identity information of the computing node connected to each shared memory module and the CXL link number from the first logic device of each shared memory module; and determine the actual connection topology based on the identity information of the computing node connected to each shared memory module and the CXL link number.
[0054] In a fourth aspect, an embodiment of the present application provides a computing node, wherein the computing node includes a second management controller;
[0055] The second management controller is used to keep the computing node in a power-disabled state when the computing node is connected to a shared memory device; send a query request to the shared memory device; and allow the computing node to be powered on if a ready signal is received, wherein the ready signal indicates that the shared memory device is ready.
[0056] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a computer, the method described in any one of the first aspect or the second aspect is implemented.
[0057] In a sixth aspect, an embodiment of the present application provides a computer program product, including a computer program, wherein when the computer program is run, the method described in any one of the first aspect or the second aspect is executed.
[0058] It can be understood that the beneficial effects of the third to sixth aspects can be found in the relevant descriptions of the first and second aspects, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0060] Figure 1 This is a schematic diagram of information interaction between computing nodes and shared memory devices in a cluster provided by an embodiment of the present application;
[0061] Figure 2 It is a flowchart of the cluster management method provided in the embodiment of the present application;
[0062] Figure 3 This is a sample diagram of the connection topology of a cluster;
[0063] Figure 4 This is another example diagram of the connection topology of the cluster;
[0064] Figure 5 It is a flowchart of a power-on control method for a computing node provided in an embodiment of the present application;
[0065] Figure 6 It is a schematic diagram of the cluster management process;
[0066] Figure 7 is a schematic diagram of the structure of a shared memory device provided in an embodiment of the present application;
[0067] Figure 8 It is a schematic diagram of the structure of the computing node provided in the embodiment of the present application. DETAILED DESCRIPTION
[0068] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.
[0069] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, wholes, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or combinations thereof.
[0070] It should also be understood that the term "and / or" used in the present specification and the appended claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations. The character " / " generally indicates that the objects associated before and after are in an "or" relationship.
[0071] It should also be understood that in the embodiments of the present application, "plurality" refers to two or more than two.
[0072] As used in the specification and appended claims of this application, the term "if" can be interpreted as "when" or "uponce" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "uponce it is determined" or "in response to determining" or "uponce [described condition or event] is detected" or "in response to detecting [described condition or event]", depending on the context.
[0073] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.
[0074] References to "one embodiment" or "some embodiments" etc. described in the specification of this application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.
[0075] Before explaining the present application scheme, in order to facilitate the reader's understanding, the terms involved in the present scheme are first explained.
[0076] The cluster in this embodiment may refer to a server cluster or a computing cluster centered on a shared memory device, which is constructed by a shared memory device and multiple computing nodes. Different computing nodes in the cluster may share memory resources of the shared memory device.
[0077] The shared memory device in this embodiment includes but is not limited to a control chip, a management controller and a plurality of shared memory modules, each shared memory module including but not limited to a logic device and a memory bar. The physical form of the shared memory module may be a plurality of memory bars arranged on a circuit board. Among them, the memory bars in the shared memory device are the memory resources of the shared memory device. The management controller may be a baseboard management controller (Baseboard Manager Controller, BMC). The logic device may be a complex programmable logic device (Complex Programmable Logic Device, CPLD).
[0078] It should be noted that the embodiment of the present application does not limit the type of memory stick in the shared memory module. For example, the memory stick may be a dual-inline-memory-module (DIMM).
[0079] Powering on a computing node may refer to powering on a computing node for a service. For example, pressing a power button of a computing node to turn it on is powering on a service. Powering on a service may also be understood as powering on a system.
[0080] The power supply of the computing node can be divided into two paths, one for auxiliary power supply to hardware such as the baseboard management controller and fans, and the other for business power supply to the computing node (for example, power supply to the processor of the computing node). As long as the computing node is plugged in the power cord, the baseboard management controller can be powered to ensure the normal operation of the baseboard management controller, which does not need to rely on other hardware such as the processor and memory of the computing node. Therefore, when the computing node is prohibited from being powered on, the cluster can be managed through the baseboard management controller.
[0081] See also Figure 1 , Figure 1 A schematic diagram of information interaction between computing nodes and shared memory devices in a cluster provided by an embodiment of the present application is shown.
[0082] like Figure 1 As shown, the computing nodes and shared memory devices in the cluster are configured with management controllers (i.e. Figure 1 The shared memory device also includes multiple shared memory modules (such as Figure 1 Module 1,…,module n) in.
[0083] For the sake of distinction, the management controller configured in the shared memory device may be referred to as a first management controller, and the management controller configured in the computing node may be referred to as a second management controller.
[0084] Compute nodes and shared memory modules also include logic devices (i.e. Figure 1 For the sake of distinction, the logic device in the shared memory module can be referred to as the first logic device, and the logic device in the computing node can be referred to as the second logic device. Each shared memory module also includes a memory bar (i.e. Figure 1 CXL memory 1 and CXL memory n in it).
[0085] The second logic device can be used to identify whether the corresponding computing node is connected to the shared memory device and to identify the identity information of the corresponding computing node. The identity information of the computing node can be used to distinguish different computing nodes.
[0086] It should be noted that the present application does not limit the specific content of the identity information of the computing node. For example, the identity information of the computing node may be the number of the computing node.
[0087] If it is identified that the computing node is connected to the shared memory device, the target register in the second logic device in the computing node is set to a target value (eg, the target value is 1). The target register may be any register selected from the second logic device.
[0088] The first management controller in the shared memory device may obtain the identity information and CXL link number of the computing node connected to each shared memory module from the first logic device of each shared memory module, wherein the CXL link number may be used to distinguish different CXL links.
[0089] Since each shared memory module is used for connection with at least two CXL links, multiple registers can be reserved in the first logic device (in order to distinguish them from the target registers in the second logic device, the registers in the first logic device can be referred to as designated registers), and each designated register distinguishes the identity information and CXL link number of the computing node connected to the shared memory module through designated bits. The designated bits represent the identity information and CXL link number of a computing node connected to the corresponding shared memory module. For example, the designated bits include 5 bits, the upper 2 bits represent the CXL link number, and the lower 3 bits represent the identity information of the computing node.
[0090] When the distance between the computing node and the shared memory device is far, the computing node can also include multiple retimers, and the CXL link of the computing node is connected to the shared memory module after the signal is enhanced by the retimer. Figure 1 The retimer1 and retimer2 in the figure are both retimers. The main function of the retimer is to recover the data clock and extend the transmission distance to ensure stable data transmission.
[0091] Of course, it is understandable that the computing node may not include a retimer, and this application does not limit this. As an example and not a limitation, when the distance between the computing node and the shared memory device is close, signal enhancement is not required, and the computing node may not include a retimer.
[0092] Figure 1The main transmission routes of data include: the second management controller can exchange information with the second logic device through an internal link, the second logic device unidirectionally transmits information with the first logic device in the shared memory module through a high-speed cable via the retimer chip, the first management controller can exchange information with the first logic device in the shared memory module through an internal link, and the first management controller and the second management controller can exchange information through network transmission protocols such as Hypertext Transfer Protocol (HTTP) or Hypertext Transfer Protocol Secure (HTTPS).
[0093] The embodiments of the present application are as follows Figure 1 The information interaction diagram shown can realize the power-on management of computing nodes in the cluster and the topology management of the cluster. Its implementation scheme can refer to the following cluster management method embodiment and the related description of the power-on control method of computing nodes.
[0094] See also Figure 2 , Figure 2 A flow chart of a cluster management method provided in an embodiment of the present application is shown, which is applied to a first management controller in a shared memory device in a cluster. As an example but not a limitation, the method includes the following steps:
[0095] Step 201 : determining whether a shared memory device is ready based on the status of each shared memory module and / or the actual connection topology.
[0096] The actual connection topology may refer to the actual connection relationship between the shared memory module and the computing node. The shared memory device may include a plurality of shared memory modules.
[0097] In a possible implementation, the first management controller determines the status of each shared memory module as follows:
[0098] For any shared memory module, check whether the link of the shared memory module is normal;
[0099] If the link of the shared memory module is normal, it is determined that the status of the shared memory module is normal;
[0100] If the link of the shared memory module is abnormal, it is determined that the status of the shared memory module is abnormal.
[0101] The link of the shared memory module may refer to a link between the shared memory module and a control chip in a shared memory device.
[0102] The first management controller can determine whether the link of the shared memory module is normal by detecting whether the link is powered. If the link is powered, it can be determined that the link is normal, and if the link is not powered, it can be determined that the link is abnormal. Of course, it is understandable that other methods can also be used to determine whether the link is normal, and this application does not limit this.
[0103] In another possible implementation, the first management controller can also query the status of each shared memory module by detecting whether each shared memory module is in place. Its query scheme may include: for any shared memory module, if the shared memory module is in place, it is determined that the status of the shared memory module is normal; if the shared memory module is not in place, it is determined that the status of the shared memory module is abnormal. The first management controller can determine whether each shared memory module is in place by detecting whether each shared memory module is inserted. If it is detected that the shared memory device has each shared memory module inserted, it can be determined that each shared memory module is in place. If it is detected that the shared memory device has not inserted one or several shared memory modules, it can be determined that the one or several shared memory modules are not in place. Of course, it is understandable that it is also possible to determine whether the shared memory module is in place by other means, and this application does not limit this.
[0104] In another possible implementation, the first management controller may also query the status of each shared memory module by detecting whether the link of the shared memory module is normal and whether each shared memory module is in place. The query scheme may include: for any shared memory module, if the shared memory module is in place and the link is normal, then the status of the shared memory module is determined to be normal; if the shared memory module is not in place or the link is abnormal, then the status of the shared memory module is determined to be abnormal.
[0105] In a possible implementation, the cluster includes at least two computing nodes, the at least two computing nodes are connected to a shared memory device, each computing node includes at least two CXL links, and each shared memory module is used for connection of at least two CXL links; on this basis, the electronic device determines the actual connection topology in the following manner:
[0106] Obtain the identity information of each computing node and the connection relationship between the CXL link of each computing node and the corresponding shared memory module;
[0107] Based on the identity information and connection relationship of each computing node, the actual connection topology is determined.
[0108] The identity information of the computing node can be used to distinguish different computing nodes. The present application does not limit the specific content of the identity information of the computing node. For example, the identity information of the computing node can be the number of the computing node.
[0109] The first management controller can determine the location where each computing node accesses the shared memory device based on the identity information of each computing node and the connection relationship between the CXL link of each computing node and the corresponding shared memory module, thereby obtaining an actual connection topology.
[0110] In a possible implementation, each shared memory module includes a first logic device, and each first logic device is configured to receive a CXL link number of the CXL link connected to the shared memory module where the first logic device is located, and identity information of the computing node where the CXL link is located;
[0111] Obtain the identity information of each computing node and the connection relationship between the CXL link of each computing node and the corresponding shared memory module, including:
[0112] Acquire, from the first logic device of each shared memory module, identity information and CXL link number of the computing node connected to each shared memory module;
[0113] Based on the identity information and CXL link numbers of the computing nodes connected to each shared memory module, a connection relationship between each shared memory module and the CXL link of each computing node is determined.
[0114] The first management controller can determine the identity information and CXL link number of each computing node from the first logic device through the interaction between the first logic device and the second logic device, and on this basis, determine the connection relationship between each shared memory module and the CXL link of each computing node.
[0115] The CXL link number can be used to distinguish different CXL links.
[0116] Optionally, when the CXL link of the computing node is connected to the shared memory module through a retimer, the CXL link number is the identity information of the retimer. The identity information of the retimer can be used to distinguish different retimers in the computing node. The present application does not limit the specific content of the identity information of the retimer. For example, the identity information of the retimer can be the number of the retimer in the computing node.
[0117] By way of example and not limitation, Figure 1 The CPLD in module 1 in the shared memory device can receive the identity information of the computing node and the identity information of retimer2 from the CPLD of the computing node, and the shared memory device can obtain the identity information of the computing node and the identity information of retimer2 from the CPLD in module 1.
[0118] Since the status of each shared memory module affects the operation of the shared memory device, and the actual connection topology between the computing node and the shared memory device affects the memory utilization of the cluster, the first management controller can determine whether the shared memory device is ready based on the status of each shared memory module and / or the actual connection topology.
[0119] like Figure 3 and Figure 4 Shown are two example diagrams of connection topologies for a cluster. Figure 3 It is to connect two computing nodes (i.e. Figure 3 Example diagram of the connection topology of the cluster in the case of computing nodes 1 and 2 in the cluster. Figure 4 The shared memory device is connected to three computing nodes (i.e. Figure 4 Example diagram of cluster connection topology in the case of computing nodes 1, 2, and 3 in the cluster. Figure 3 and Figure 4 It can be seen that when the number of computing nodes connected to the shared memory device is different, the position where the high-speed cable of the computing node is connected to the shared memory device is different. This is to ensure the adjustment of shared memory resources between different computing nodes. This part of the wiring operation is currently controlled by the administrator. If a wrong connection occurs, it will affect the memory resource sharing between different computing nodes, resulting in a decrease in the memory utilization of the cluster. Therefore, in order to improve the memory utilization of the cluster and realize the management of the connection topology of the cluster, different connection topologies can be pre-set based on the number of different computing nodes. The CXL links of any two different computing nodes in the connection topology are connected to the same shared memory module in the shared memory device to achieve data sharing, and establish a corresponding relationship between the number of different computing nodes and different connection topologies, so as to provide a connection topology with correct high-speed cable connection for different numbers of computing nodes and memory utilization in the cluster. Among them, the above-mentioned computing nodes 1, computing nodes 2 and computing nodes 3 also include a central processing unit (CPU).
[0120] In a possible implementation, the method further includes:
[0121] Get the access quantity, which is the number of computing nodes connected to the shared memory device;
[0122] Based on the access quantity, determining a preset connection topology, where the preset connection topology represents a preset connection relationship between the computing nodes of the access quantity and the shared memory module;
[0123] Based on the preset connection topology and the actual connection topology, determine whether the shared memory module is correctly connected to each computing node.
[0124] After obtaining the number of accesses, the first management controller can determine the preset connection topology corresponding to the number of accesses from the corresponding relationship between the number of different computing nodes and the different connection topologies. By matching the actual connection topology with the preset connection topology, it can be determined whether the shared memory module is correctly connected to each computing node, realize the topology management of the cluster corresponding to different numbers of accesses, and more accurately judge whether the shared memory device is ready. If the actual connection topology matches the preset connection topology, it can be determined that the shared memory module is correctly connected to each computing node, that is, the CXL links of any two computing nodes in the cluster are connected to the same shared memory module, and data sharing can be realized. On this basis, it can be determined that the shared memory device is ready or may be ready; if the actual connection topology does not match the preset connection topology, it can be determined that the shared memory module is incorrectly connected to each computing node, for example, the high-speed cable in the actual connection topology is incorrectly connected, resulting in a decrease in the memory utilization of the cluster. On this basis, it can be determined that the shared memory device is not ready.
[0125] The first management controller may determine whether the shared memory device is ready in the following three ways based on the status of each shared memory module and / or the actual connection topology.
[0126] Method 1: Determine whether the shared memory device is ready based on the status of each shared memory module and the actual connection topology, including:
[0127] If the status of each shared memory module is normal and the shared memory module is correctly connected to each computing node, it is determined that the shared memory device is ready;
[0128] If there is a shared memory module in an abnormal state or the shared memory module is incorrectly connected to each computing node, it is determined that the shared memory module is not ready.
[0129] Method 2: Determine whether the shared memory device is ready based on the status of each shared memory module, including:
[0130] If the status of each shared memory module is normal, it is determined that the shared memory device is ready;
[0131] If there is a shared memory module in an abnormal state, it is determined that the shared memory module is not ready.
[0132] Method 3: Determine whether the shared memory device is ready based on the actual connection topology, including:
[0133] If the shared memory module is correctly connected to each computing node, it is determined that the shared memory device is ready;
[0134] If the shared memory module is incorrectly connected to each computing node, it is determined that the shared memory module is not ready.
[0135] When the shared memory device is not ready, the first management controller can generate an alarm, which is used to prompt the administrator that the shared memory device is not ready and prohibit powering on the computing node, and at the same time send a not ready signal to the computing node, and the not ready signal is used to instruct the computing node to continue to prohibit itself from powering on (that is, to indicate that the computing node is in a power-prohibited state).
[0136] Step 202: When the shared memory device is ready, a ready signal is sent to the computing node.
[0137] The ready signal is used to indicate that the computing node allows itself to be powered on. It should be noted that the computing node can perform its own power-on after the shared memory sends the ready signal; or the shared memory can perform at least one signal interaction with the computing node after the shared memory sends the ready signal, and then the computing node performs its own power-on.
[0138] In a possible implementation manner, the first management controller may send a ready signal to the second management controller of the computing node.
[0139] In this embodiment, the interaction between the shared memory device and the computing node can be realized through the first management controller and the second management controller, so that the ready signal is sent to the computing node.
[0140] In a possible implementation, the electronic device can determine whether the shared memory device is ready based on the status of each shared memory module and / or the actual connection topology in response to the query request of the target computing node, and send a ready signal to the target computing node when the shared memory device is ready; the target computing node is any one of the at least two computing nodes; the query request is sent by the second management controller of the target computing node; before obtaining the access quantity, it also includes:
[0141] Parsing the query request to obtain identity information of the second management controller and / or identity information of the target computing node;
[0142] storing the identity information of the second management controller and / or the identity information of the target computing node in the access node list;
[0143] Get the number of accesses, including:
[0144] The access quantity is determined based on the quantity of identity information of the second management controllers and / or the quantity of identity information of the target computing nodes in the access node list.
[0145] Among them, the query request may carry the identity information of the second management controller that sends the query request and / or the identity information of the target computing node. On this basis, the first management controller can parse each query request it receives, and store the parsed identity information of the second management controller and / or the identity information of the corresponding target computing node in the access node list, thereby updating the access node list. The identity information of the second management controller is used to distinguish the management controllers of different computing nodes. The present application does not limit the specific content of the identity information of the second management controller. For example, the identity information of the second management controller may be the Internet Protocol (IP) address of the second management controller.
[0146] Since the identity information of the second management controllers of different target computing nodes is different, and the identity information of the computing nodes is also different, the number of identity information of the second management controllers in the access node list can be determined as the access number, and the number of identity information of the target computing nodes in the access node list can also be determined as the access number. And when the data in the access node list is correct, the number of identity information of the second management controllers in the access node list is the same as the number of identity information of the target computing nodes, so the average of the number of identity information of the second management controllers in the access node list and the number of identity information of the target computing nodes can also be determined as the access number. If the number of identity information of the second management controllers in the access node list is different from the number of identity information of the target computing nodes, it means that the data in the access node list is incorrect, and an alarm can be issued to prompt the administrator to check whether the data in the access node list is incorrect.
[0147] In an embodiment of the present application, the shared memory device can determine whether the shared memory device is ready based on the status of each shared memory module and / or the actual connection topology, and when the shared memory device is ready, by sending a ready signal to the computing node, it can instruct the computing node to allow itself to be powered on, thereby realizing power-on control of the computing nodes in the cluster and ensuring that the computing nodes can use the memory resources of the shared memory device normally after being powered on.
[0148] See also Figure 5 , Figure 5 A flow chart of a method for controlling the power-on of a computing node provided in an embodiment of the present application is shown, which is applied to any computing node in a cluster, wherein the computing node includes a second management controller. As an example but not limitation, the method includes the following steps:
[0149] Step 501: When the computing node is connected to a shared memory device in a cluster, the second management controller keeps the computing node in a power-off disabled state.
[0150] The computing node accessing the shared memory device in the cluster may refer to the computing node being connected to any shared memory module in the shared memory device through a CXL link.
[0151] When a computing node is connected to a shared memory device in a cluster, by keeping the computing node in a power-off state, the computing node can be prevented from being powered on when the shared memory device is not ready, thereby avoiding the problem of being unable to use the memory resources of the shared memory device normally due to the unreadiness.
[0152] In a possible implementation manner, the computing node includes a second logic device, and before the second management controller sends a query request to the shared memory device, the computing node further includes:
[0153] In the case where the computing node accesses a shared memory device in the cluster, a target register in the second logic device is set to a target value;
[0154] The second management controller determines that the computing node is connected to the shared memory device according to the target register as the target value.
[0155] If the CXL link of the computing node is directly connected to the shared memory module, then after the connection, the state of a pin on the CXL link will change (for example, the state of the pin changes from pull-up to pull-down). When the second logic device recognizes this change, it determines that the computing node is connected to the shared memory device.
[0156] If the CXL link of the computing node is connected to the shared memory device through the retimer, then after the connection, the state of a pin on the retimer will change (for example, the state of the pin changes from pull-up to pull-down). When the second logic device recognizes this change, it determines that the computing node is connected to the shared memory device.
[0157] When the second logic device recognizes that the computing node is connected to the shared memory device, the target register is set to the target value. On this basis, by monitoring whether the target register is the target value, it can be determined whether the computing node is connected to the shared memory device.
[0158] Optionally, setting the target register to the target value may refer to setting the value of a target bit in the target register to the target value.
[0159] If the CXL link of the computing node is directly connected to the shared memory module, the number of the target bits is related to the number of CXL links. If the CXL link of the computing node is connected to the shared memory module through a retimer, the number of the target bits is related to the number of retimers in the computing node. Figure 1The computing node shown includes two retimers, so the number of target bits can be 2. One target bit indicates whether retimer1 is connected to the shared memory device. If retimer1 is connected to the shared memory device, the value of the target bit is 1, otherwise it is 0; the other target bit indicates whether retimer2 is connected to the shared memory device. If retimer2 is connected to the shared memory device, the value of the target bit is 1, otherwise it is 0.
[0160] Step 502: The second management controller sends a query request to the shared memory device.
[0161] The query request is used to instruct the shared memory device to determine whether it is ready.
[0162] When the computing node is in a power-prohibited state, the second management controller can instruct the shared memory device to query whether it is ready by sending a query request to the shared memory device, and determine whether to allow the computing node to be powered on based on the ready signal or not ready signal returned by the shared memory device, thereby realizing power-on control of the computing node based on the status of each shared memory module in the shared memory device and / or the actual connection topology, avoiding the problem of not being able to use the memory resources of the shared memory device normally due to the shared memory device not being ready.
[0163] In a possible implementation manner, the computing node includes a second logic device, and the method further includes:
[0164] The second logic device stores the identity information of the computing node and the CXL link number of the computing node;
[0165] Based on the connection relationship between each CXL link of the computing node and the shared memory module in the shared memory device, the second logic device sends the identity information of the computing node and the corresponding CXL link number to the shared memory module connected to the computing node.
[0166] After the computing node is connected to the shared memory device, the second management controller will cyclically wait for the administrator to set the identity information of the computing node and the identity information of the first management controller of the shared memory device connected to the computing node through a specified command, and store the identity information of the computing node in the target register of the second logic device. On this basis, by controlling the second logic device, the identity information of the computing node and the CXL link number stored in the target register can be sent to the first logic control of the shared memory module connected to the computing node, so that the first management controller can determine the actual connection topology based on the identity information of the computing node and the CXL link number, and thus judge whether the shared memory device is ready based on the actual connection topology.
[0167] Since the target bit in the target register in the second logic device indicates whether the corresponding CXL link is connected to the shared memory device, the second logic device can determine the CXL link number to be sent to the first logic control based on the location of the target bit with the target value.
[0168] In the case where the CXL link of the computing node is connected to the shared memory module through the retimer, the CXL link number is the identity information of the retimer.
[0169] By way of example and not limitation, a computing node includes two retimers (eg, Figure 1 retimer1 and retimer2 in the memory), 5 bits can be reserved in the target register of the second logic device, the upper 2 bits respectively indicate whether retimer1 is connected to the shared memory device and whether retimer2 is connected to the shared memory device, and the lower 3 bits indicate the identity information of the computing node.
[0170] Based on the identity information of the first management controller, the second management controller can more accurately send a query request to the first management controller via HTTP or HTTPS, thereby instructing the first management controller to query whether the shared memory device is ready, and implement power-on control of the computing node based on the query result.
[0171] Step 503: If the second management controller receives the ready signal, it allows the computing node to be powered on.
[0172] Among them, the ready signal indicates that the shared memory device is ready.
[0173] If the second management controller receives a ready signal, it indicates that the shared memory device is ready. Based on the fact that the shared memory device is ready, link training is performed on the shared memory device to ensure the normal use of memory resources. Therefore, in this case, the computing node can be allowed to be powered on, thereby realizing power-on control of the computing node.
[0174] In an embodiment of the present application, when a computing node is connected to a shared memory device in a cluster, by keeping the computing node in a power-off state, it is possible to avoid powering on the computing node when the shared memory device is not ready. By sending a query request to the shared memory device, the shared memory device can be instructed to determine whether it is ready. If a ready signal indicating that the shared memory device is ready is received, it can be determined that the shared memory device is ready. In this case, by allowing the computing node to power on, power-on management of the computing nodes in the cluster can be implemented, thereby ensuring that the memory resources of the shared memory device are used normally after the computing node is powered on.
[0175] like Figure 6As shown in the figure, in an actual application scenario, taking two computing nodes connected to a shared memory device as an example, the management process of the cluster composed of the two computing nodes and the shared memory device is as follows:
[0176] First, the shared memory device can be controlled to be powered on as a whole. At this time, the BMC in the shared memory device will provide a ready query interface. Then, computing node 1 is connected to the shared memory device. At this time, the BMC in computing node 1 detects the access to the shared memory device and waits in a loop for the administrator to set the number of computing node 1 and the IP address of the BMC of the shared memory device. After the setting is completed, the BMC in computing node 1 queries the status of the shared memory device (i.e., the status of each shared memory module and the actual connection topology) from the ready query interface of the BMC in the shared memory device. After receiving the query request, the BMC in the shared memory device parses the query request and updates the access node list based on the parsed data. Based on the access node list, it is determined that the access number is 1. At this time, the location of computing node 1 accessing the shared memory device and the number of the accessed retimer can be obtained, thereby obtaining the actual connection topology. The actual connection topology is matched with the preset topology structure corresponding to the access number of 1. Since the administrator accesses computing node 1 to the shared memory device in the form of two computing nodes, the above-mentioned actual connection topology does not match the preset connection topology corresponding to the access number of 1, and a not ready signal is returned. At this time, server 1 is prohibited from being powered on.
[0177] Then, computing node 2 is connected to the shared memory device, and the status of the shared memory device is queried through the same steps as computing node 1. At this time, the BMC in the shared memory device parses the query request after receiving the query request, and updates the access node list based on the parsed data. Based on the access node list, it is determined that the number of accesses is 2. At this time, the locations where computing nodes 1 and 2 are connected to the shared memory device and the numbers of the accessed retimers can be obtained, thereby obtaining the actual connection topology; the actual connection topology is matched with the preset connection topology corresponding to the access number of 2. If the two connection topologies match, it is considered that the topology configuration within the cluster is complete, and a ready signal is returned. At this time, computing nodes 1 and 2 are allowed to be powered on, completing the power-on management of the computing nodes in the cluster and the topology management between clusters, and the cluster can work normally.
[0178] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0179] Figure 7 A schematic diagram of the structure of a shared memory device provided in an embodiment of the present application. Figure 7As shown, the shared memory device of this embodiment includes: a first management controller 700 and a plurality of shared memory modules 701 .
[0180] The first management controller 700 is used to send a ready signal to the computing node based on the status and / or actual connection topology of each shared memory module 701; the actual connection topology is the connection relationship between the shared memory module and the computing node; the ready signal indicates that the shared memory device is ready.
[0181] Optionally, the cluster includes at least two computing nodes, the at least two computing nodes are connected to the shared memory device, each computing node includes at least two CXL links, and each shared memory module is used for connection with at least two CXL links; the first management controller 700 is further used for:
[0182] Acquire the identity information of each computing node and the connection relationship between the CXL link of each computing node and the corresponding shared memory module;
[0183] The actual connection topology is determined based on the identity information of each computing node and the connection relationship.
[0184] Optionally, each of the shared memory modules 701 includes a first logic device 702; each of the first logic devices 702 is configured to receive a CXL link number of the CXL link connected to the shared memory module 701 where the first logic device 702 is located, and identity information of the computing node where the CXL link is located; the first management controller 700 is used to:
[0185] Acquire, from the first logic device of each shared memory module 701 , the identity information of the computing node connected to each shared memory module 701 and the CXL link number;
[0186] Based on the identity information of the computing nodes connected to each shared memory module 701 and the CXL link number, a connection relationship between each shared memory module 701 and the CXL link of each computing node is determined.
[0187] Optionally, the first management controller 700 is further configured to:
[0188] Obtaining an access quantity, where the access quantity is the number of computing nodes accessing the shared memory device;
[0189] Based on the access quantity, determining a preset connection topology, wherein the preset connection topology represents a preset connection relationship between the computing nodes of the access quantity and the shared memory module 701;
[0190] Based on the preset connection topology and the actual connection topology, it is determined whether the shared memory module 701 is correctly connected to each of the computing nodes.
[0191] Optionally, the first management controller 700 is specifically used for:
[0192] In response to a query request of a target computing node, determining whether the shared memory device is ready based on the status of each of the shared memory modules and / or the actual connection topology; the target computing node is any computing node of the at least two computing nodes;
[0193] Sending a ready signal to the target computing node;
[0194] The query request is sent by the second management controller of the target computing node; the first management controller 700 is also used for:
[0195] Parsing the query request to obtain the identity information of the second management controller and / or the identity information of the target computing node;
[0196] Storing the identity information of the second management controller and / or the identity information of the target computing node in an access node list;
[0197] The access quantity is determined based on the quantity of the identity information of the second management controller and / or the quantity of the identity information of the target computing node in the access node list.
[0198] Optionally, the first management controller 700 is further configured to:
[0199] For any of the shared memory modules, detecting whether a link of the shared memory module is normal;
[0200] If the link of the shared memory module is normal, determining that the state of the shared memory module is normal;
[0201] If the link of the shared memory module is abnormal, it is determined that the state of the shared memory module is abnormal.
[0202] The shared memory device may include, but is not limited to, a first management controller 700, a shared memory module 701 and a first logic device 702. Those skilled in the art will appreciate that Figure 7 This is only an example of a shared memory device and does not constitute a limitation on the shared memory device. The shared memory device may include more or fewer components than shown in the figure, or a combination of certain components, or different components, for example, a control chip, etc.
[0203] Figure 8 This is a schematic diagram of the structure of the computing node provided in the embodiment of the present application. Figure 8As shown, the computing node of this embodiment includes: a second management controller 800 .
[0204] The second management controller 800 is used to keep the computing node in a power-disabled state when the computing node is connected to a shared memory device; send a query request to the shared memory device; and allow the computing node to be powered on if a ready signal is received, wherein the ready signal indicates that the shared memory device is ready.
[0205] Optionally, the computing node further includes a second logic device 801 .
[0206] The second logic device 801 stores the identity information of the computing node and the CXL link number of the computing node;
[0207] Based on the connection relationship between each CXL link of the computing node and the shared memory module in the shared memory device, the second logic device 801 sends the identity information of the computing node and the corresponding CXL link number to the shared memory module connected to the computing node.
[0208] Optionally, in a case where the CXL link of the computing node is connected to the shared memory module via a retimer, the CXL link number is identity information of the retimer.
[0209] Optionally, in the case where the computing node is connected to a shared memory device in the cluster, a target register in the second logic device 801 is set to a target value;
[0210] The second management controller 800 determines that the computing node is connected to the shared memory device according to the target register being the target value.
[0211] The computing node may include, but is not limited to, a second management controller 800 and a second logic device 801. Those skilled in the art may understand that Figure 8 The computing node is merely an example and does not constitute a limitation on the computing node. The computing node may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, it may also include input and output devices, network access devices, etc.
[0212] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0213] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction 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 technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0214] In the embodiments provided in the present application, it should be understood that the disclosed computing node / shared memory device and method can be implemented in other ways. For example, the computing node / shared memory device embodiments described above are merely schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0215] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0216] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.
Claims
1. A cluster management method, characterized in that: Applied to a first management controller in a shared memory device in a cluster, the method comprises: Determine whether the shared memory device is ready based on the status and / or actual connection topology of each shared memory module; the actual connection topology is the connection relationship between the shared memory module and the computing node; wherein the shared memory device includes multiple shared memory modules; When the shared memory device is ready, a ready signal is sent to the computing node.
2. The method according to claim 1, characterized in that The cluster includes at least two computing nodes, the at least two computing nodes are connected to the shared memory device, each computing node includes at least two CXL links, and each shared memory module is used for connection with at least two CXL links; the method further includes: Acquire the identity information of each computing node and the connection relationship between the CXL link of each computing node and the corresponding shared memory module; The actual connection topology is determined based on the identity information of each of the computing nodes and the connection relationship.
3. The method according to claim 2, characterized in that Each of the shared memory modules includes a first logic device, and each of the first logic devices is configured to receive a CXL link number of the CXL link connected to the shared memory module where the first logic device is located, and identity information of the computing node where the CXL link is located; The obtaining of the identity information of each computing node and the connection relationship between the CXL link of each computing node and the corresponding shared memory module includes: Acquire, from the first logic device of each shared memory module, the identity information of the computing node connected to each shared memory module and the CXL link number; Based on the identity information of the computing nodes connected to each of the shared memory modules and the CXL link numbers, a connection relationship between each of the shared memory modules and the CXL links of each of the computing nodes is determined.
4. The method according to claim 2, characterized in that: The method further comprises: Obtaining an access quantity, where the access quantity is the number of computing nodes accessing the shared memory device; Based on the access quantity, determining a preset connection topology, wherein the preset connection topology represents a preset connection relationship between the computing nodes of the access quantity and the shared memory module; Based on the preset connection topology and the actual connection topology, it is determined whether the shared memory module is correctly connected to each of the computing nodes.
5. The method according to claim 4, characterized in that The step of determining whether the shared memory device is ready based on the status of each shared memory module and / or the actual connection topology includes: In response to a query request of a target computing node, determining whether the shared memory device is ready based on the status of each of the shared memory modules and / or the actual connection topology; the target computing node is any computing node of the at least two computing nodes; The sending a ready signal to the computing node comprises: Sending a ready signal to the target computing node; The query request is sent by the second management controller of the target computing node; before obtaining the access quantity, the method further includes: Parsing the query request to obtain the identity information of the second management controller and / or the identity information of the target computing node; Storing the identity information of the second management controller and / or the identity information of the target computing node in an access node list; The obtaining of the access quantity includes: The access quantity is determined based on the quantity of the identity information of the second management controller and / or the quantity of the identity information of the target computing node in the access node list.
6. The method according to any one of claims 1 to 5, characterized in that: The method further comprises: For any of the shared memory modules, detecting whether a link of the shared memory module is normal; If the link of the shared memory module is normal, determining that the state of the shared memory module is normal; If the link of the shared memory module is abnormal, it is determined that the state of the shared memory module is abnormal.
7. A method for controlling power-on of a computing node, characterized in that: Applied to any computing node in a cluster, the computing node includes a second management controller, the method includes: The second management controller keeps the computing node in a power-disabled state when the computing node is connected to a shared memory device in the cluster; The second management controller sends a query request to the shared memory device; the query request is used to instruct the shared memory device to determine whether it is ready; If the second management controller receives a ready signal, it allows the computing node to be powered on; the ready signal indicates that the shared memory device is ready.
8. The method according to claim 7, characterized in that The computing node includes a second logic device, and the method further includes: The second logic device stores the identity information of the computing node and the CXL link number of the computing node; Based on the connection relationship between each CXL link of the computing node and the shared memory module in the shared memory device, the second logic device sends the identity information of the computing node and the corresponding CXL link number to the shared memory module connected to the computing node.
9. The method according to claim 8, characterized in that In the case where the CXL link of the computing node is connected to the shared memory module through a retimer, the CXL link number is the identity information of the retimer.
10. The method according to any one of claims 7 to 9, characterized in that: The computing node includes a second logic device, and before the second management controller sends a query request to the shared memory device, further includes: In a case where the computing node is connected to a shared memory device in the cluster, a target register in the second logic device is set to a target value; The second management controller determines that the computing node is connected to the shared memory device according to the target register being the target value.
11. A shared memory device, characterized in that: The shared memory device includes a first management controller and a plurality of shared memory modules; The first management controller is used to send a ready signal to the computing node based on the status of each shared memory module and / or the actual connection topology; the actual connection topology is the connection relationship between the shared memory module and the computing node; the ready signal indicates that the shared memory device is ready.
12. The shared memory device according to claim 11, characterized in that: Each of the shared memory modules includes a first logic device, and each of the first logic devices is configured to receive a CXL link number of a CXL link connected to the shared memory module where the first logic device is located, and identity information of the computing node where the CXL link is located; The first management controller is used to obtain the identity information of the computing node connected to each shared memory module and the CXL link number from the first logic device of each shared memory module; The actual connection topology is determined based on the identity information of the computing nodes connected to each of the shared memory modules and the CXL link numbers.
13. A computing node, characterized in that: The computing node includes a second management controller; The second management controller is used to keep the computing node in a power-off disabled state when the computing node is connected to a shared memory device; Sending a query request to the shared memory device; If a ready signal is received, the computing node is allowed to power on, and the ready signal indicates that the shared memory device is ready.