Configuration method for host system, device, apparatus, computing system, and nonvolatile readable storage medium
By automatically determining the target processor and CXL device and configuring the CXL switch with the shortest connection path, the problem of inefficient configuration of computing systems in the prior art is solved, and the purpose of automatically building a computing system is achieved.
Patent Information
- Application Number
- PCT/CN2024/113463
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-22
- Filing Date
- 2024-08-20
- Publication Date
- 2025-02-27
AI Technical Summary
In the prior art, the configuration of computing systems is inefficient, and users need manual configuration, which is time-consuming and labor-intensive, and requires professional technology.
By obtaining host configuration information, the target processor and CXL device are determined from multiple devices on the CXL bus, and the target CXL switch is configured with the shortest connection path to automatically build the host system.
It realizes the automatic search for suitable devices based on configuration requirements to build a host system, improves the efficiency of configuring the computing system, and avoids the cumbersome process of manual configuration by users.
Smart Images

Figure CN2024113463_27022025_PF_FP_ABST
Abstract
Description
Host system configuration method and equipment, device, computing system, and non-volatile readable storage medium
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on August 22, 2023, with application number 202311058974.0, and entitled “Configuration method and equipment, device, computing system, and storage medium for a host system,” the entire contents of which are incorporated herein by reference. Technical Field
[0003] The embodiments of the present application relate to the field of computers, and in particular, to a configuration method and equipment, a device, a computing system, and a non-volatile readable storage medium for a host system. Background Art
[0004] Compute Express Link (CXL) is a new interconnect technology standard that enables efficient, high-speed connectivity between CPUs and various accelerators such as GPUs, FPGAs, and memory devices. CXL provides a low-latency, high-bandwidth path for accelerators to access the system, and vice versa. The CXL architecture enables the construction of flexible, composable computing systems at rack scale to meet the growing computing demands of fields such as machine learning and artificial intelligence, drug discovery, agriculture and life sciences, materials science, and climate modeling.
[0005] Existing technology has introduced control command sets for CXL devices and CXL switches. Based on these specifications, users can design their own device connection schemes and then send commands to the CXL devices and switches using the control command sets defined in the specifications to build a computing system that meets their needs. However, research on how to automatically find appropriate devices to build a computing system based on computing configuration requirements is currently limited. Manual configuration of computing systems is time-consuming and labor-intensive, requiring users to be meticulous and highly skilled.
[0006] Summary of the Invention
[0007] Embodiments of the present application provide a host system configuration method and equipment, a device, a computing system, and a non-volatile readable storage medium to at least solve the problem of low efficiency in configuring a computing system in related technologies.
[0008] According to a first aspect of an embodiment of the present application, a host system configuration method is provided, comprising: determining a target processor from a plurality of devices on a CXL bus according to acquired host configuration information, wherein the plurality of devices are devices supporting the open interconnection standard CXL protocol, and the target processor is an idle device among the plurality of devices; determining a CXL device corresponding to each device configuration information from the plurality of devices according to M device configuration information included in the host configuration information, wherein one device configuration information corresponds to a plurality of CXL devices, the CXL device is an idle device among the plurality of devices, and M is a large number. a natural number greater than or equal to 1; determining a target CXL device from each CXL device corresponding to each of the device configuration information, to obtain M target CXL devices, wherein the connection path between the CXL device corresponding to each of the configuration information and the target processor is the shortest among the connection paths between the CXL device and the target processor; configuring a target CXL switch using the M target CXL devices, the target processor, and the shortest connection path between the target CXL device and the target processor to configure the host system, wherein the target CXL switch is a switch that supports the open interconnection standard CXL protocol.
[0009] According to a second aspect of an embodiment of the present application, a computing system is provided, wherein the computing system includes multiple host systems, and the host systems are determined by the above method.
[0010] According to a third aspect of an embodiment of the present application, a configuration device for a host system is provided, comprising: a first determination module configured to determine a target processor from a plurality of devices on a CXL bus according to acquired host configuration information, wherein the plurality of devices are devices supporting the open interconnection standard CXL protocol, and the target processor is an idle device among the plurality of devices; a second determination module configured to determine, from the plurality of devices, a CXL device corresponding to each piece of device configuration information according to M pieces of device configuration information included in the host configuration information, wherein one piece of device configuration information corresponds to a plurality of CXL devices, the CXL device is an idle device among the plurality of devices, and the M is a large number of devices. a natural number greater than or equal to 1; a third determining module configured to determine a target CXL device from each CXL device corresponding to each of the device configuration information, to obtain M target CXL devices, wherein the connection path between the CXL device corresponding to each of the configuration information and the target processor is the shortest among the connection paths between the CXL device and the target processor; a first configuring module configured to configure a target CXL switch using the M target CXL devices, the target processor, and the shortest connection path between the target CXL device and the target processor, so as to configure the host system, wherein the target CXL switch is a switch that supports the open interconnection standard CXL protocol.
[0011] According to a fourth aspect of the embodiments of the present application, a computer non-volatile readable storage medium is further provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
[0012] According to a fifth aspect of the embodiments of the present application, an electronic device is also provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any of the above method embodiments.
[0013] Through the embodiments of the present application, a target processor is determined from multiple devices on the CXL bus according to the acquired host configuration information, and a CXL device corresponding to each device configuration information is determined from the multiple devices according to the M device configuration information included in the host configuration information. A target CXL device is then determined from each CXL device corresponding to each device configuration information, resulting in M target CXL devices. The target CXL switch is configured using the M target CXL devices, the target processor, and the shortest connection path between the target CXL device and the target processor to configure the host system. This achieves the goal of automatically finding suitable devices to build the host system based on configuration requirements, thereby achieving the goal of automatically building the computing system without requiring manual configuration by the user. Therefore, the problem of low efficiency in configuring the computing system in the related art can be solved, achieving the effect of improving the efficiency of configuring the computing system. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] FIG1 is a hardware structure block diagram of a mobile terminal of a host system configuration method according to an embodiment of the present application;
[0015] FIG2 is a flowchart of a configuration method of a host system according to an embodiment of the present application;
[0016] FIG3 is a diagram showing a device connection relationship according to an embodiment of the present application;
[0017] FIG4 is a schematic diagram of the structure of a CXL switch according to an embodiment of the present application;
[0018] FIG5 is a schematic diagram of a node connection relationship according to an embodiment of the present application;
[0019] FIG6 is a schematic diagram of a node adjacency table according to an embodiment of the present application;
[0020] FIG7 is a port configuration information table of the CXL switch CXL Switch 1 according to an embodiment of the present application;
[0021] FIG8 is a port configuration information table of the CXL switch CXL Switch 2 according to an embodiment of the present application;
[0022] FIG9 is a port configuration information table of the CXL switch CXL Switch 3 according to an embodiment of the present application;
[0023] FIG10 is a schematic diagram of a real-time connection relationship of devices according to an embodiment of the present application;
[0024] FIG11 is a structural block diagram of a computing system construction device according to an embodiment of the present application;
[0025] FIG12 is a schematic diagram of a search and matching CXL device according to an embodiment of the present application;
[0026] FIG13 is a connection diagram according to an embodiment of the present application;
[0027] FIG14 is a structural block diagram of a configuration device of a host system according to an embodiment of the present application;
[0028] FIG15 is a schematic diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0029] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0030] It should be noted that the terms "first", "second", etc. in the description and claims of the embodiments of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0031] The following is an explanation of the relevant technologies in this embodiment:
[0032] FPGA, Field-Programmable Gate Array;
[0033] GPU, Graphics Processing Unit;
[0034] CXL SW, Compute Express Link Switch;
[0035] CPU, Central Processing Unit;
[0036] CXL (Compute Express Link) is a new interconnect technology standard that enables efficient and high-speed interconnection between CPUs and GPUs, FPGAs, various accelerators, and memory devices. CXL provides a low-latency, high-bandwidth path for accelerators to access the system, or for the system to access CXL devices. The CXL architecture supports the construction of flexible, composable computing systems at rack scale to meet the growing computing needs of fields such as machine learning, artificial intelligence, drug discovery, agriculture and life sciences, materials science, and climate modeling.
[0037] PPB (Peripheral Component Interconnect Bridge): A PCI*-PCI (Peripheral Component Interconnect) bridge inside a CXL switch. The port connected to the PPB can connect or disconnect a CXL component.
[0038] vPPB: A virtual PCI*-PCI bridge inside a CXL switch that can be bound to a port, which can disconnect or connect a CXL component.
[0039] The method embodiments provided in the embodiments of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Taking operation on a mobile terminal as an example, FIG1 is a hardware structure block diagram of a mobile terminal of a configuration method of a host system in an embodiment of the present application. As shown in FIG1 , the mobile terminal may include one or more (only one is shown in FIG1 ) processors 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 configured to store data, wherein the mobile terminal may also include a transmission device 106 and an input / output device 108 configured to have a communication function. It will be understood by those skilled in the art that the structure shown in FIG1 is only for illustration and does not limit the structure of the mobile terminal. For example, the mobile terminal may also include more or fewer components than those shown in FIG1 , or have a configuration different from that shown in FIG1 .
[0040] The memory 104 is configured to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the configuration method of the host system in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, implementing the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 includes a memory remotely located relative to the processor 102, and these remote memories can be connected to the mobile terminal via a network. Examples of the above-mentioned network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.
[0041] The transmission device 106 is configured to receive or transmit data via a network. Examples of such a network may include a wireless network provided by the mobile terminal's telecommunications provider. In one embodiment, the transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to enable communication with the Internet. In another embodiment, the transmission device 106 may be a radio frequency (RF) module configured to communicate with the Internet wirelessly.
[0042] In this embodiment, a method for configuring a host system is provided. FIG2 is a flow chart of the method for configuring a host system according to an embodiment of the present application. As shown in FIG2 , the flow chart includes the following steps:
[0043] Step S202 , determining a target processor from a plurality of devices on the CXL bus according to the acquired host configuration information, wherein the plurality of devices are devices supporting the open interconnect standard CXL protocol, and the target processor is an idle device among the plurality of devices;
[0044] Step S204: Determine, from the plurality of devices, a CXL device corresponding to each piece of device configuration information according to the M pieces of device configuration information included in the host configuration information, wherein one piece of device configuration information corresponds to multiple CXL devices, and a CXL device is an idle device among the plurality of devices, and M is a natural number greater than or equal to 1.
[0045] Step S206 , determining a target CXL device from each CXL device corresponding to each device configuration information, obtaining M target CXL devices, wherein the connection path between the CXL device corresponding to each configuration information and the target processor is the shortest among the connection paths between the CXL device and the target processor.
[0046] Step S208 : configuring a target CXL switch using the M target CXL devices, the target processor, and the shortest connection path between the target CXL devices and the target processor to configure the host system, wherein the target CXL switch is a switch supporting the open interconnection standard CXL protocol.
[0047] This embodiment can be applied to scenarios where it is necessary to select a device to configure a computing system, such as data computing centers, high-performance computing, artificial intelligence cloud computing, and other scenarios.
[0048] The execution subject of the above steps may be a processor, or a processor or processing device that is relatively independent from the terminal or server, etc., but is not limited thereto.
[0049] In this embodiment, the target CXL switch can be installed on a CXL bus that supports the CXL protocol. The CXL bus includes a high-speed interconnection architecture, CXL Fabric. The CXL Fabric can connect multiple CXL devices and multiple hosts to form a shared resource computing platform. The multiple CXL switches included in the CXL Fabric provide a scalable and flexible infrastructure for CXL devices, enabling communication and data transmission between devices by providing high-speed point-to-point connections between CXL devices. CXL devices can be hosts or devices such as processors and memory modules. For example, as shown in Figure 3, there are multiple hosts with CXL roots and multiple CXL devices, which are connected via a CXL Fabric network consisting of multiple interconnected CXL switches. The ports of the CXL switches can connect to hosts with CXL roots or CXL devices. By properly configuring the CXL switches, different host systems can be established. In addition, there is a Fabric Management Unit FM (Facility Management) that connects CXL devices and the CXL host through a management network. The management network supports transmission protocols such as SMBus (System Management Bus), I2C (Inter-Integrated Circuit), I3C (Improved Inter Integrated Circuit, two-wire bidirectional serial bus) or Ethernet.
[0050] Optionally, a CXL Fabric network includes one or more CXL switches. Figure 4 shows the structure of a CXL switch. One or more virtual switches (VCSs) are deployed within the CXL switch. Virtual ports allow connections to multiple CXL devices. Each virtual port connection can be configured as needed, enabling CXL data exchange and building different computing systems.
[0051] Through the above steps, a target processor is determined from multiple devices on the CXL bus according to the acquired host configuration information, a CXL device corresponding to each device configuration information is determined from the multiple devices according to the M device configuration information included in the host configuration information, and a target CXL device is determined from each CXL device corresponding to each device configuration information, resulting in M target CXL devices. The target CXL switch is configured using the M target CXL devices, the target processor, and the shortest connection path between the target CXL device and the target processor to configure the host system. This achieves the goal of automatically finding suitable devices to build the host system based on the configuration requirements, thereby achieving the goal of automatically building the computing system without requiring manual configuration by the user. Therefore, the low efficiency of computing system configuration in the related art can be resolved, achieving the effect of improving the efficiency of computing system configuration.
[0052] In an exemplary embodiment, determining a target processor from a plurality of devices on a CXL bus according to acquired host configuration information includes: acquiring processor information from the host configuration information; searching a device information table for device information matching the processor information, wherein the device information table includes device information of a plurality of devices; and determining a target processor from the plurality of devices according to the device information matching the processor information.
[0053] Optionally, in this embodiment, the host configuration information can be any configuration information in the pre-set configuration information of the computing system. The configuration information of the computing system is stored in memory, Flash, or disk. The host configuration information includes multiple devices with configuration requirements. For example, a host system needs to be configured with CPU, GPU, memory and other devices, and they are sorted according to importance. The CPU is placed in the first node, and then the manufacturer's identification information of each device, the device's identification information, the device's classification information (manufacturer ID (Identity document, ID card identification number), product ID, device classification ID) and other necessary device information are matched with the CPU's device information, and a CXL device that matches and has not yet been configured is selected as the target CPU of the host system, and then the target CPU is marked as configured in the device information table. Among them, the device information list includes information on multiple CPUs and multiple CXL devices. This embodiment can obtain the user's configuration requirements in advance through the host configuration information, build the host system according to the requirements, and improve the system's configuration efficiency.
[0054] In an exemplary embodiment, according to M pieces of device configuration information included in host configuration information, determining a CXL device corresponding to each piece of device configuration information from a plurality of devices includes: searching a device information table for device information matching each piece of device configuration information, wherein the device information table includes device information of a plurality of devices; and determining a CXL device corresponding to each piece of device configuration information from the plurality of devices according to the device information matching each piece of device configuration information.
[0055] Optionally, in this embodiment, the management device FM uses the Network Controller Sideband Interface (MCTP) or other protocols to obtain information about each CXL device, processor, CXL switch, and other devices. This information is then stored in an established device information table. The information for each processor, CXL device, and switch includes at least one of the following: manufacturer identification information, device identification information, and device classification information. This implementation stores device information in the device information table, allowing for quick device information retrieval and improving the efficiency of host system construction.
[0056] In an exemplary embodiment, determining a target CXL device from each CXL device corresponding to each device configuration information to obtain M target CXL devices includes: configuring a node connection graph between the CXL device corresponding to each device configuration information and a target processor, wherein the node connection graph includes connection relationships and connection ports between the CXL device and the target processor; and determining a target CXL device from each CXL device corresponding to each device configuration information using the node connection graph to obtain M target CXL devices.
[0057] Optionally, in this embodiment, the node connection graph includes connection directions. Vertices in the node connection graph include CXL devices and target processors. Edges in the node connection graph have preset weights, and the edges are used to connect CXL devices and target processors. The node connection graph's ends represent multiple CXL devices and target processors, while the center portion includes target virtual ports. By displaying all connected devices in the directed graph and selecting the shortest connection path from multiple paths, the optimal device composition for the host system can be determined.
[0058] Optionally, configuring a node connection graph between the CXL device corresponding to each device configuration information and the target processor includes: determining a first CXL switch corresponding to the target processor, wherein the first CXL switch is one of multiple target CXL switches connected to the CXL bus, and the target CXL switch is a switch that supports the open interconnection standard CXL protocol; determining a second CXL switch corresponding to each CXL device, wherein the second CXL switch is one of the multiple target CXL switches; searching from a real-time node adjacency table for a first connection relationship between the target processor and the first CXL switch, a second connection relationship between each CXL device and its corresponding second CXL switch, and a third connection relationship between the first CXL switch and the second CXL switch corresponding to each CXL device; searching from a port configuration information table of the first CXL switch for first port information of the connection between the target processor and the first CXL switch; searching from a port configuration information table of each CXL device and its corresponding second CXL switch for second port information of the connection between each CXL device and its corresponding second CXL switch; and configuring the node connection graph between the CXL device corresponding to each device configuration information and the target processor using the first connection relationship, the second connection relationship, the third connection relationship, the first port information, and the second port information.
[0059] Optionally, the first port information includes first physical port information and first virtual port information of the connection between the target processor and the first CXL switch, wherein the first virtual port information is port information of a virtual port in a virtual target CXL switch set in the first CXL switch.
[0060] Optionally, the second port information includes second physical port information and second virtual port information of the connection between each CXL device and the corresponding second CXL switch. The second virtual port information is port information of a virtual port in a virtual target CXL switch set in the second CXL switch.
[0061] Optionally, a target CXL device is determined from each CXL device corresponding to each device configuration information using a node connection graph, resulting in M target CXL devices. This includes: calculating a shortest connection path from multiple connection paths in the node connection graph corresponding to each device configuration information; and determining a target CXL device from the shortest connection paths corresponding to each device configuration information, resulting in M target CXL devices. The shortest connection path can be calculated from the multiple connection paths in the node connection graph corresponding to each device configuration information using a Dijkstra algorithm or other algorithm. This embodiment can also determine the shortest connection path by comparing path distances, and record the shortest connection path between the CXL device and the target processor. After configuring the host system, a real-time node adjacency table is updated based on the shortest connection path.
[0062] In an exemplary embodiment, configuring a target CXL switch to configure a host system using M target CXL devices, target processors, and the shortest connection path between the target CXL devices and the target processors includes: sending a configuration instruction to a first CXL switch corresponding to the target processor, wherein the configuration instruction includes the shortest connection path between the target CXL device and the target processor, wherein the first CXL switch is one of multiple target CXL switches provided in a CXL bus, and the multiple target CXL switches are switches that support the open interconnection standard CXL protocol; and connecting the shortest connection path through the first CXL switch to configure the host system.
[0063] In one exemplary embodiment, before determining a target processor from multiple devices on a CXL bus based on the acquired host configuration information, the method further includes: obtaining device information for the multiple devices and switch information for multiple target CXL switches connected to the CXL bus, wherein the multiple target CXL switches support the open interconnection standard CXL protocol, allowing devices to connect to the target CXL switches and multiple target CXL switches to connect to each other; and constructing a device information table using the device information for the multiple CXL devices and the switch information for the multiple target CXL switches. This implementation stores device information in the device information table, allowing for rapid device information retrieval and facilitating rapid host system construction. Furthermore, by identifying multiple CXL devices using the device information list, an optimal device can be selected from the multiple CXL devices, thereby increasing the computing performance of the host system.
[0064] Optionally, the device information of each device includes at least one of the following: identification information of the manufacturer of the device, identification information of the device, and classification information of the device; and the switch information of each target CXL switch includes at least one of the following: identification information of the manufacturer of each target CXL switch, identification information of each target CXL switch, and classification information of each target CXL switch.
[0065] In an exemplary embodiment, before determining a target processor from multiple devices on a CXL bus according to the acquired host configuration information, the method further includes: sending an information acquisition instruction to multiple target CXL switches; receiving CXL connection information sent by each target CXL switch, wherein the CXL connection information includes connection relationship information between each target CXL switch and the device; and constructing a node adjacency table using the CXL connection information sent by each target CXL switch, wherein the node adjacency table includes the connection relationship between each device and the corresponding target CXL switch.
[0066] Optionally, as shown in FIG5 , a schematic diagram illustrating the node connection relationship between three target CXL switches is provided. This includes: sending a get command to each target CXL switch on a network connection device via a management device FM to obtain information such as the configuration, ports, and devices connected to each target CXL switch, and establishing a node adjacency table for each target CXL switch. The node adjacency table is used to record the connections between devices. Optionally, the structure of the node adjacency table is shown in FIG6 , which includes device information for each CXL device and the numbers of connected devices. In conjunction with FIG5 , 1 represents CXL switch 1, 2 represents CXL switch 2, 3 represents CXL switch 3, 4 represents CXL device 4, 5 represents CXL device 4, 6 represents CXL device 6, 7 represents CXL device 7, 8 represents CXL device 8, 9 represents CXL device 9, 10 represents CXL device 10, and 11 represents CXL device 11. This implementation uses the node adjacency table to record the devices connected to the ports of the target CXL switches, allowing for rapid retrieval of port connection information and facilitating rapid host system construction.
[0067] In an exemplary embodiment, before determining a target processor from a plurality of devices connected to a CXL bus according to the acquired host configuration information, the method further includes: acquiring port information of a port set in each of a plurality of target CXL switches, wherein the plurality of target CXL switches are switches supporting the open interconnection standard CXL protocol, devices are allowed to connect to the target CXL switches, and the plurality of target CXL switches are allowed to connect to each other; and constructing a port configuration information table for each target CXL switch according to the port information of the port set in each target CXL switch.
[0068] Optionally, the port configuration information table of each target CXL switch includes at least one of the following: physical port information of devices connected to each target CXL switch, connection relationships between each target CXL switch and each device, port information of virtual ports of virtual target CXL switches configured in each target CXL switch, and connection relationships between virtual ports of virtual target CXL switches configured in each target CXL switch and each device. In this embodiment, a port configuration information table is established for each target CXL switch, recording information such as the virtual switch's port number and inter-port connections. Figure 7 shows the port configuration information table of target CXL switch 1, which includes the port number of each port in CXL Switch 1, the port's connection direction, and the connection information between other CXL switches and external CXL devices. Figure 8 shows the port configuration information table of target CXL switch 2, and Figure 9 shows the port configuration information table of target CXL switch 3, both of which include similar information to the port configuration information table of CXL Switch 1. This implementation records the port connection information in the target CXL switch through the port configuration information table, which can quickly find the port information and thus quickly build the host system.
[0069] Optionally, after constructing a node adjacency table using the CXL connection information sent by each target CXL switch, the method further includes constructing a real-time node adjacency table using the node adjacency table and the port configuration information table of each target CXL switch. The real-time node adjacency table includes the real-time connection relationship between each device and its corresponding target CXL switch. In this embodiment, the real-time node adjacency table is primarily used to record the current connection relationships of CXL devices. Based on the node adjacency table and the port configuration information table of each target CXL switch, the CXL switch is treated as a plurality of port node devices, and a real-time node adjacency table is established, as shown in FIG10 . The table includes device information and real-time device connection relationships. Referring to FIG5 , 1-3 represent CXL switch numbers, 4-11 represent CXL device numbers, and 12-47 represent port numbers corresponding to CXL switches and CXL devices. For example, port 26 (PPB) on CXL switch 1 is connected to port 33 (PPB) on CXL switch 2. Port 47 (PPB) on CXL switch 3 is connected to CXL device 11.
[0070] This implementation can record the connection relationship between devices in real time through the real-time node adjacency table, which is beneficial for device search and configuration.
[0071] Optionally, after configuring a target CXL switch using the M target CXL devices, the target processors, and the shortest connection paths between the target CXL devices and the target processors to configure the host system, wherein the target CXL switch supports the open interconnection standard CXL protocol, the method further includes updating a real-time node adjacency table using the shortest connection paths between the target CXL devices and the target processors. Real-time updates to the real-time node adjacency table can provide real-time connection information for configuration of the next host system.
[0072] The present application is described below with reference to the following optional embodiments:
[0073] In the embodiment of the present application, a computing system is constructed by configuring multiple host systems. As shown in FIG11 , the computing system construction device includes: a human-computer interaction module, a computing system configuration information storage module, a detection module, a matching module, a configuration module, and a communication module, wherein:
[0074] The human-computer interaction module is configured to provide a human-computer interface to allow the user to define the computing system to be configured as needed, and save the user's configuration of the host system in the computing system configuration information storage module.
[0075] The configuration information storage module is configured to store the user's configuration of the computing system, including the composition of each host system, such as CPU node information, Mem node information, IO node information, etc.
[0076] The detection module is configured to detect CXL device information, CXL Switch information, and connection information between CXL devices and CXL Switches through the management network using the communication interface; and to establish a device information table, a node adjacency table, and a CXL Switch port configuration information table.
[0077] The matching module is configured to read the configuration information of each host system from the computing system configuration information storage module, find the target CPU of each host system, and then find other suitable CXL devices based on the shortest connection path principle. At the same time, the configuration information of each CXL device and the CXL Switch is sent to the configuration module, and the configuration module sends configuration commands to the CXL devices and CXL Switch through the communication module.
[0078] The configuration module is configured to receive the configuration information of each device sent by the matching module, and then convert it into a suitable command word that complies with the specification and send it out through the communication module.
[0079] The communication module is configured to manage the CXL devices and send and receive data.
[0080] The build process configures each host system by:
[0081] S1, save the configuration information of the computing system sent by the user in memory, Flash or disk;
[0082] S2, the matching module reads the configuration information of the host system from the configuration information of the computing system, obtains one of the preset configuration information of the host system from the configuration information of the host system, organizes and sorts the preset configuration information in a linked list, sorts the CPU at the first node, then searches the device information table, matches the manufacturer ID, product ID, device category ID, and other necessary device information with the CPU information of the host system, selects a matching and unconfigured device as the target CPU of the host system; and then marks the target CPU as configured in the device information table;
[0083] S3, the matching module matches and selects CXL devices for the host system according to the shortest connection path principle, including the following steps:
[0084] S31 , read the CXL device information from the device information table, search the device information table based on the manufacturer ID, product ID, device category ID, and other necessary device information of the CXL device, and find a matching CXL device from unconfigured CXL devices. There may be multiple matching CXL devices. When there are multiple matching devices, the matching target CXL device is determined based on the shortest connection path principle.
[0085] S32, for each matching CXL device to be selected, find the shortest connection path to the target processor, including:
[0086] S321: Build an optional node adjacency graph, copy a real-time node adjacency table, and then, based on the CXL Switch port configuration information table, create a new directed graph with all possible connections of all CXL Switch internal nodes, and update the real-time node adjacency table based on the new directed graph.
[0087] S322: In the directed graph, the CXL device to be matched is set as a vertex, and the edge weight is Wij (representing the edge weight between nodes i and j). In this embodiment, all Wij values are set to 1. The value of Wij can also be set based on factors such as performance and bandwidth.
[0088] S323 , starting from the candidate CXL device, find the shortest connection path in the directed graph, and then record the connection status and path length of the shortest connection path; the algorithm for determining the shortest connection path may be Dijkstra algorithm or other algorithms.
[0089] S33: The matching module compares the path distances of each matched CXL device, selects the CXL device with the shortest path distance as the target CXL device of the host system, and records the shortest connection path between the target CXL device and the target CPU. The matching module then marks the target CXL device as configured in the device information table and, based on the shortest connection path, issues a configuration instruction to the relevant CXL Switch (target CXL switch), configuring the CXL Switch. The CXL Switch configuration information is then updated and saved. The real-time node adjacency table is then updated based on the latest configuration.
[0090] As shown in Figure 12, assume that CXL device 4 is the target CPU of the host system, and the CXL device that matches the target CPU is node 8. Now find a connection path between node 8 and node 4 and calculate the distance between the connection paths. The following steps are included:
[0091] S1201: Build a node connection graph, which shows all possible connections between nodes within the CXL switch. The real-time node adjacency table is modified accordingly. Node 8 is connected only to node 44, which is a CXL switch node.
[0092] S1202: Search the internal ports of the CXL switch for any ports connected to the CXL switch. Currently, only node 43 is connected to the external CXL switch. Node 27 is found to be connected to node 43, and node 27 is a CXL switch node. Then, search the internal ports of the CXL switch for any ports connected to the CXL switch or nodes connected to node 4. It is found that only node 26 is connected to the external CXL switch. Node 33 is found to be connected to node 26, and node 33 is a CXL switch node. Then, search the internal ports of the CXL switch for any ports connected to the CXL switch or nodes connected to node 4. Node 34 is found to be connected to node 4, thus establishing the node connection graph shown in FIG13 .
[0093] In step S1203, all edge weights in the node connection graph are set to 1. The Dijkstra algorithm is then used to calculate the distances between the shortest connection paths. Since there is only one path between node 8 and node 4, the path 8->44->43->27->26->33->34->4 is the shortest connection path. Based on the shortest connection path and the port connectivity between the nodes, configuration commands are issued to CXL Switch 1, CXL Switch 2, and CXL Switch 3 to connect ports 44 and 43, ports 26 and 27, and ports 33 and 34. Device 8 is now connected to CPU node 4, establishing a host system.
[0094] S4, read the configuration information of other CXL devices in the host system, repeat S3 until all CXL devices in the host system are matched, mark the CXL devices matched by the host system as configured in the device information table, and complete the configuration of the CXL Switch at the same time, and the host system is built.
[0095] S5, reading the configuration information of the computing system to obtain the configuration information of the next host system, until all host systems are matched and configured, and the computing system is constructed by multiple host systems.
[0096] In summary, this embodiment addresses the need for automatically building a computing system based on the CXL architecture and proposes a method for automatically building a computing system. This method reads the user's computing system configuration, automatically detects CXL devices, finds suitable CXL devices using the shortest connection path method, and configures CXL switches based on the shortest connection path to build the computing system required by the user.
[0097] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the embodiment of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a non-volatile readable storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the method in each embodiment of the present application.
[0098] This embodiment further provides a computing system, which includes multiple host systems. The host systems are determined using the above method.
[0099] In this embodiment, a configuration device for a host system is also provided. The device is configured to implement the above-mentioned embodiments and optional implementations. Details already described are not repeated here. As used below, the term "module" may refer to a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation using hardware, or a combination of software and hardware, is also possible and contemplated.
[0100] FIG14 is a structural block diagram of a configuration device of a host system according to an embodiment of the present application. As shown in FIG14 , the device includes:
[0101] A first determining module 1402 is configured to determine a target processor from a plurality of devices on a CXL bus according to the acquired host configuration information, wherein the plurality of devices are devices supporting the open interconnect standard CXL protocol, and the target processor is an idle device among the plurality of devices;
[0102] A second determining module 1404 is configured to determine, from the plurality of devices, a CXL device corresponding to each piece of device configuration information according to M pieces of device configuration information included in the host configuration information, wherein one piece of device configuration information corresponds to multiple CXL devices, and a CXL device is an idle device among the plurality of devices, and M is a natural number greater than or equal to 1;
[0103] The third determining module 1406 is configured to determine a target CXL device from each CXL device corresponding to each device configuration information, thereby obtaining M target CXL devices, wherein the determined target CXL device has the shortest connection path between the CXL device corresponding to each configuration information and the target processor.
[0104] The first configuration module 1408 is configured to configure a target CXL switch using M target CXL devices, a target processor, and the shortest connection path between the target CXL devices and the target processor to configure the host system, wherein the target CXL switch is a switch supporting the open interconnection standard CXL protocol.
[0105] The above-described apparatus determines a target processor from multiple devices on a CXL bus based on acquired host configuration information, determines a CXL device corresponding to each device configuration information based on M device configuration information included in the host configuration information, and determines a target CXL device from each CXL device corresponding to each device configuration information, thereby obtaining M target CXL devices. The target CXL switches are configured using the M target CXL devices, the target processor, and the shortest connection path between the target CXL device and the target processor to configure the host system. This achieves the goal of automatically finding suitable devices to build a host system based on configuration requirements, thereby achieving the goal of automatically building a computing system without requiring manual configuration by the user. Therefore, the low efficiency of computing system configuration in related technologies can be resolved, thereby improving the efficiency of computing system configuration.
[0106] In an exemplary embodiment, the first determining module includes:
[0107] A first acquiring unit is configured to acquire processor information from the host configuration information;
[0108] A first search unit is configured to search for device information matching the processor information from a device information table, wherein the device information table includes device information of a plurality of devices;
[0109] The first determining unit is configured to determine the target processor from the plurality of devices according to device information matching the processor information.
[0110] In an exemplary embodiment, the second determining module includes:
[0111] a second searching unit configured to search a device information table for device information matching each of the device configuration information, wherein the device information table includes device information of a plurality of the devices;
[0112] The second determining unit is configured to determine, from the plurality of devices, a CXL device corresponding to each of the device configuration information according to the device information matching the each of the device configuration information.
[0113] In an exemplary embodiment, the second determining module includes:
[0114] a first configuration unit configured to configure a node connection graph between the CXL device and the target processor corresponding to each of the device configuration information, wherein the node connection graph includes a connection relationship and a connection port between the CXL device and the target processor;
[0115] The third determining unit is configured to determine a target CXL device from the CXL devices corresponding to each of the device configuration information using the node connection graph, to obtain M target CXL devices.
[0116] In an exemplary embodiment, the first configuration unit includes:
[0117] a first determining subunit configured to determine a first CXL switch corresponding to the target processor, wherein the first CXL switch is one of a plurality of CXL switches connected to the CXL bus, and the CXL switch is a switch supporting an open interconnection standard CXL protocol;
[0118] a second determining subunit configured to determine a second CXL switch corresponding to each of the CXL devices, wherein the second CXL switch is one of the plurality of CXL switches;
[0119] a third search subunit configured to search, from the real-time node adjacency table, a first connection relationship between the target processor and the first CXL switch, a second connection relationship between the second CXL switch corresponding to each of the CXL devices, and a third connection relationship between the first CXL switch and each of the CXL devices and the corresponding second CXL switch;
[0120] a fourth searching subunit, configured to search for information of a first port connected between the target processor and the first CXL switch from a port configuration information table of the first CXL switch;
[0121] a fifth searching subunit configured to search for second port information connecting each of the CXL devices and the corresponding second CXL switch from a port configuration information table of each of the CXL devices and the corresponding second CXL switch;
[0122] The first configuration subunit is configured to configure a node connection graph between the CXL device corresponding to each of the device configuration information and the target processor using the first connection relationship, the second connection relationship, the third connection relationship, the first port information, and the second port information.
[0123] In an exemplary embodiment, the first port information includes first physical port information and first virtual port information of a connection between the target processor and the first CXL switch, wherein the first virtual port information is port information of a virtual port in a virtual CXL switch configured in the first CXL switch.
[0124] In an exemplary embodiment, the second port information includes second physical port information and second virtual port information of a connection between each of the CXL devices and the corresponding second CXL switch. The second virtual port information is port information of a virtual port in a virtual CXL switch configured in the second CXL switch.
[0125] In an exemplary embodiment, the node connection graph is a graph including connection directions, vertices in the node connection graph include the CXL device and the target processor, edge weights of edges in the node connection graph are preset values, and the edges are used to connect the CXL device and the target processor.
[0126] In an exemplary embodiment, the third determining unit includes:
[0127] The first calculation subunit is configured to calculate the shortest connection path from the multiple connection paths in the node connection graph corresponding to each of the device configuration information using a preset algorithm;
[0128] The first determining subunit is configured to determine one of the target CXL devices from the shortest connection paths corresponding to each of the device configuration information, to obtain M target CXL devices.
[0129] In an exemplary embodiment, the first configuration module includes:
[0130] a first sending unit configured to send a configuration instruction to a first CXL switch corresponding to the target processor, wherein the configuration instruction includes a shortest connection path between the target CXL device and the target processor, wherein the first CXL switch is one of a plurality of CXL switches provided in the CXL bus, and the plurality of CXL switches are switches supporting an open interconnection standard CXL protocol;
[0131] The first connection unit is configured to connect the shortest connection path through the first CXL switch to configure the host system.
[0132] In an exemplary embodiment, the apparatus further includes: a first acquisition module configured to, before determining a target processor from a plurality of devices connected to the CXL bus according to the acquired host configuration information, acquire device information of the plurality of devices and switch information of a plurality of CXL switches connected to the CXL bus, wherein the plurality of CXL switches support the open interconnection standard CXL protocol, the plurality of devices are allowed to connect to the CXL switches, and the plurality of CXL switches are allowed to connect to each other;
[0133] The first constructing module is configured to construct a device information table using device information of the plurality of CXL devices and switch information of the plurality of CXL switches.
[0134] In an exemplary embodiment, the device information of each device includes at least one of the following: identification information of the manufacturer of the device, identification information of the device, and classification information of the device; and the switch information of each CXL switch includes at least one of the following: identification information of the manufacturer of each CXL switch, identification information of each CXL switch, and classification information of each CXL switch.
[0135] In an exemplary embodiment, the apparatus further comprises:
[0136] a first acquisition module configured to, before determining a target processor from a plurality of devices connected to a CXL bus according to the acquired host configuration information, acquire port information of a port set in each of a plurality of CXL switches, wherein the plurality of CXL switches support an open interconnection standard CXL protocol, the plurality of devices are allowed to connect to the CXL switches, and the plurality of CXL switches are allowed to connect to each other;
[0137] The second constructing module is configured to construct a port configuration information table of each of the CXL switches according to the port information of the ports set in each of the CXL switches.
[0138] In an exemplary embodiment, the port configuration information table of each CXL switch includes at least one of the following: physical port information of each CXL switch connected to the device, a connection relationship between each CXL switch and each device, port information of a virtual port of a virtual CXL switch configured in each CXL switch, and a connection relationship between a virtual port of the virtual CXL switch configured in each CXL switch and each device.
[0139] In an exemplary embodiment, the apparatus further comprises:
[0140] a first sending module configured to send an information acquisition instruction to the plurality of CXL switches before determining a target processor from a plurality of devices connected to the CXL bus according to the acquired host configuration information;
[0141] a first receiving module configured to receive CXL connection information sent by each of the CXL switches, wherein the CXL connection information includes connection relationship information between each of the CXL switches and the device;
[0142] The third building module is configured to build a node adjacency table using the CXL connection information sent by each of the CXL switches, wherein the node adjacency table includes a connection relationship between each of the devices and the corresponding CXL switch.
[0143] In an exemplary embodiment, the apparatus further comprises:
[0144] The fourth building module is configured to, after building a node adjacency table using the CXL connection information sent by each of the CXL switches, build a real-time node adjacency table using the node adjacency table and the port configuration information table of each of the CXL switches, wherein the real-time node adjacency table includes a real-time connection relationship between each of the devices and the corresponding CXL switch.
[0145] In an exemplary embodiment, the apparatus further includes an updating module configured to update the real-time node adjacency table using the shortest connection path between the target CXL devices and the target processor after configuring the host system using the M target CXL devices and the target processor.
[0146] It should be noted that the above modules can be implemented through software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.
[0147] An embodiment of the present application further provides a computer non-volatile readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
[0148] In an exemplary embodiment, the above-mentioned computer non-volatile readable storage medium may include but is not limited to: a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and other media that can store computer programs.
[0149] An embodiment of the present application also provides an electronic device, wherein Figure 15 is a schematic diagram of an optional electronic device according to an embodiment of the present application. As shown in Figure 15, the electronic device includes one or more processors; a memory, which is configured to store one or more programs, and when the one or more programs are executed by one or more processors, the one or more processors are configured to run the programs, wherein the programs are configured to execute the above-mentioned system operation method of the baseboard management controller when running.
[0150] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.
[0151] The examples in this embodiment can refer to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail here.
[0152] Obviously, those skilled in the art should understand that the various modules or steps of the above-mentioned embodiments of the present application can be implemented using a general-purpose computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented using program codes executable by the computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be performed in a different order than herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the embodiments of the present application are not limited to any specific combination of hardware and software.
[0153] The above are merely optional embodiments of the present application and are not intended to limit the present application. For those skilled in the art, various modifications and variations of the present application embodiments are possible. Any modifications, equivalent replacements, improvements, etc. made within the principles of the present application embodiments shall be included in the scope of protection of the present application embodiments.
Claims
1. A method for configuring a host system, characterized in that: include: Determine a target processor from a plurality of devices on the CXL bus according to the acquired host configuration information, wherein the plurality of devices are devices supporting the open interconnect standard CXL protocol, and the target processor is a device in an idle state among the plurality of devices; According to the M device configuration information included in the host configuration information, determine a CXL device corresponding to each device configuration information from the multiple devices, wherein one device configuration information corresponds to multiple CXL devices, the CXL device is a device in an idle state among the multiple devices, and M is a natural number greater than or equal to 1; Determine a target CXL device from each CXL device corresponding to each device configuration information, to obtain M target CXL devices, wherein among the connection paths between the CXL device corresponding to each configuration information and the target processor, the determined connection path between the target CXL device and the target processor is the shortest; The target CXL switch is configured by using the M target CXL devices, the target processor, and the shortest connection path between the target CXL devices and the target processor to configure the host system, wherein the target CXL switch is a switch supporting an open interconnect standard CXL protocol.
2. The method according to claim 1, characterized in that: According to the obtained host configuration information, the target processor is determined from multiple devices on the CXL bus, including: Acquire processor information from the host configuration information; Searching for device information matching the processor information from a device information table, wherein the device information table includes device information of a plurality of devices; The target processor is determined from the plurality of devices according to the device information matching the processor information.
3. The method according to claim 1, characterized in that According to the M pieces of device configuration information included in the host configuration information, determining a CXL device corresponding to each piece of device configuration information from the plurality of devices includes: Searching for device information matching each of the device configuration information from a device information table, wherein the device information table includes device information of a plurality of the devices; A CXL device corresponding to each of the device configuration information is determined from the plurality of devices according to the device information matching each of the device configuration information.
4. The method according to claim 1, characterized in that: Determining a target CXL device from each CXL device corresponding to each device configuration information to obtain M target CXL devices, including: configuring a node connection graph between the CXL device and the target processor corresponding to each of the device configuration information, wherein the node connection graph includes a connection relationship and a connection port between the CXL device and the target processor; A target CXL device is determined from each CXL device corresponding to each device configuration information by using the node connection graph, thereby obtaining M target CXL devices.
5. The method according to claim 4, characterized in that Configuring a node connection graph between the CXL device and the target processor corresponding to each of the device configuration information, including: Determine a first CXL switch corresponding to the target processor, wherein the first CXL switch is one of a plurality of target CXL switches connected to the CXL bus, and the target CXL switch is a switch supporting an open interconnection standard CXL protocol; determining a second CXL switch corresponding to each of the CXL devices, wherein the second CXL switch is one of the plurality of target CXL switches; searching, from the real-time node adjacency table, a first connection relationship between the target processor and the first CXL switch, a second connection relationship between each of the CXL devices and a corresponding second CXL switch, and a third connection relationship between the first CXL switch and a second CXL switch corresponding to each of the CXL devices; The first CXL switch port configuration information table is used to search for the first connection between the target processor and the first CXL switch.
1. Port information; Searching for second port information of the connection between each of the CXL devices and the corresponding second CXL switch from the port configuration information table of each of the CXL devices and the corresponding second CXL switch; The first connection relationship, the second connection relationship, the third connection relationship, the first port information, and the second port information are used to configure a node connection graph between the CXL device corresponding to each device configuration information and the target processor.
6. The method according to claim 5, characterized in that The first port information includes first physical port information and first virtual port information of a connection between the target processor and the first CXL switch, wherein the first virtual port information is port information of a virtual port in a virtual CXL switch set in the first CXL switch.
7. The method according to claim 5, characterized in that The second port information includes second physical port information and second virtual port information of the connection between each of the CXL devices and the corresponding second CXL switch. The second virtual port information is port information of a virtual port in a virtual CXL switch set in the second CXL switch.
8. The method according to claim 4, characterized in that The node connection graph is a graph including connection directions, the vertices in the node connection graph include the CXL device and the target processor, the edge weights of the edges in the node connection graph are preset values, and the edges are used to connect the CXL device and the target processor.
9. The method according to claim 4, characterized in that Determining a target CXL device from the CXL devices corresponding to each of the device configuration information using the node connection graph to obtain M target CXL devices, including: Calculate the shortest connection path from the multiple connection paths in the node connection graph corresponding to each of the device configuration information; One target CXL device is determined from the shortest connection path corresponding to each device configuration information, so as to obtain M target CXL devices.
10. The method according to claim 1, characterized in that Configuring a target CXL switch using the M target CXL devices, the target processor, and the shortest connection path between the target CXL devices and the target processor to configure a host system includes: Sending a configuration instruction to a first CXL switch corresponding to the target processor, wherein the configuration instruction includes a shortest connection path between the target CXL device and the target processor, wherein the first CXL switch is one of a plurality of target CXL switches provided in the CXL bus, and the plurality of target CXL switches are switches supporting an open interconnection standard CXL protocol; The shortest connection path is connected through the first CXL switch to configure the host system.
11. The method according to claim 1, characterized in that Before determining the target processor from a plurality of devices on the CXL bus according to the acquired host configuration information, the method further includes: Acquire device information of the plurality of devices and switch information of the plurality of target CXL switches connected to the CXL bus, wherein the plurality of target CXL switches are switches supporting an open interconnection standard CXL protocol, the devices are allowed to be connected to the target CXL switches, and the plurality of target CXL switches are allowed to be connected to each other; A device information table is constructed using the device information of the plurality of CXL devices and the switch information of the plurality of target CXL switches.
12. The method according to claim 11, characterized in that The device information of each device includes at least one of the following: identification information of the manufacturer of the device, identification information of the device, and classification information of the device; the switch information of each target CXL switch includes at least one of the following: identification information of the manufacturer of each target CXL switch, identification information of each target CXL switch, and classification information of each target CXL switch.
13. The method according to claim 1, characterized in that Before determining the target processor from a plurality of devices on the CXL bus according to the acquired host configuration information, the method further includes: Acquire port information of a port set in each of the plurality of target CXL switches, wherein the plurality of target CXL switches are switches supporting an open interconnection standard CXL protocol, the device is allowed to be connected to the target CXL switch, and the plurality of target CXL switches are allowed to be connected to each other; A port configuration information table of each target CXL switch is constructed according to the port information of the ports set in each target CXL switch.
14. The method according to claim 13, characterized in that The port configuration information table of each target CXL switch includes at least one of the following: physical port information of each target CXL switch connected to the device, a connection relationship between each target CXL switch and each device, port information of a virtual port of a virtual CXL switch set in each target CXL switch, and a connection relationship between a virtual port of the virtual CXL switch set in each target CXL switch and each device.
15. The method according to claim 13, characterized in that Before determining the target processor from a plurality of devices connected to the CXL bus according to the acquired host configuration information, the method further includes: Sending an information acquisition instruction to the plurality of target CXL switches; receiving CXL connection information sent by each of the target CXL switches, wherein the CXL connection information includes connection relationship information between each of the target CXL switches and the device; A node adjacency table is constructed using the CXL connection information sent by each of the target CXL switches, wherein the node adjacency table includes a connection relationship between each of the devices and the corresponding target CXL switch.
16. The method according to claim 15, characterized in that After constructing a node adjacency table using the CXL connection information sent by each of the target CXL switches, the method further includes: A real-time node adjacency table is constructed by using the node adjacency table and the port configuration information table of each target CXL switch, wherein the real-time node adjacency table includes a real-time connection relationship between each device and the corresponding target CXL switch.
17. The method according to claim 16, characterized in that After configuring a target CXL switch using the M target CXL devices, the target processor, and the shortest connection path between the target CXL devices and the target processor to configure a host system, wherein the target CXL switch is a switch supporting an open interconnect standard CXL protocol, the method further comprises: The real-time node adjacency table is updated using the shortest connection path between the target CXL device and the target processor.
18. A computing system, comprising a plurality of host systems, wherein the host systems are determined by the method described in any one of claims 1 to 17.
19. A configuration device for a host system, characterized in that: include: A first determination module is configured to determine a target processor from a plurality of devices on a CXL bus according to the acquired host configuration information, wherein the plurality of devices are devices supporting an open interconnect standard CXL protocol, and the target processor is a device in an idle state among the plurality of devices; a second determining module, configured to determine, from the plurality of devices, a CXL device corresponding to each piece of device configuration information according to the M pieces of device configuration information included in the host configuration information, wherein one piece of device configuration information corresponds to a plurality of CXL devices, the CXL device is a device in an idle state among the plurality of devices, and M is a natural number greater than or equal to 1; a third determining module, configured to determine a target CXL device from each CXL device corresponding to each device configuration information, to obtain M target CXL devices, wherein among the connection paths between the CXL device corresponding to each configuration information and the target processor, the determined connection path between the target CXL device and the target processor is the shortest; The first configuration module is configured to configure a target CXL switch using the M target CXL devices, the target processor, and the shortest connection path between the target CXL devices and the target processor to configure a host system, wherein the target CXL switch is a switch supporting an open interconnect standard CXL protocol.
20. A computer non-volatile readable storage medium, characterized in that: The computer non-volatile readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in any one of claims 1 to 17 when executed by a processor.
21. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method described in any one of claims 1 to 17 are implemented.
Citation Information
Patent Citations
Configuration method, equipment and device of host system, computing system and storage medium
CN116781511A
Machine Templates For Predetermined Compute Units
US20200341930A1
Saturating local cache in memory-compute systems
US20220206937A1
Die-to-die adapter
US20220342841A1
Bus system, communication method, and related device
WO2023040447A1
Cited By
System for realizing full interconnection of NPU equipment based on CXL and communication method
CN121357132A