Transmission channel management method, data transmission method, management device and computing device
By using the dedicated transmission channels of CXL storage devices in the cluster, the problem of limited data transmission speed between servers is solved, efficient and low-latency data transmission is achieved, and cluster performance and efficiency are improved.
Patent Information
- Application Number
- CN202311695403.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-11
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2043-12-11
AI Technical Summary
In a cluster, the data transmission speed between servers is limited by the network bandwidth and network transmission speed, resulting in overall performance degradation.
CXL storage devices provide exclusive transmission channels, using physical links to connect computing devices to avoid network transmission speed and bandwidth limitations. The management unit dynamically allocates storage space as a transmission channel.
It increases data transmission speed, reduces latency, saves hardware and network usage costs, and improves the overall performance and data transmission efficiency of the cluster.
Smart Images

Figure CN117938849B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a transmission channel management method, a data transmission method, a management device, and a computing device. Background Art
[0002] With the rapid development of technology, the scale of clusters for everything from big data to artificial intelligence training and high-performance computing has gradually expanded. As the number of servers in a cluster increases, the speed of data transmission between servers affects the overall performance of the cluster.
[0003] In related technologies, data transmission between multiple servers in a cluster typically occurs via the network cards installed on the servers. Data transmission between servers using network cards and traditional networks requires the use of network transmission protocols and protocol conversion. Due to the limited bandwidth and speed of network transmission, large amounts of data can lead to slow data transmission and high network latency. Therefore, using network cards for data transmission can limit the overall performance of the cluster. Summary of the Invention
[0004] The embodiments of the present application provide a transmission channel management method, a data transmission method, a management device, and a computing device, which can flexibly manage and configure transmission channels and improve the overall performance of the cluster.
[0005] To achieve the above technical objectives, the embodiments of the present application adopt the following technical solutions:
[0006] In a first aspect, an embodiment of the present application provides a transmission channel management method, which is applied to a management unit, the management unit being communicatively connected to multiple computing devices, the multiple computing devices including a first computing device, and the management unit being used to manage a storage space composed of one or more CXL storage devices. The method includes: receiving a transmission channel establishment request sent by the first computing device; the transmission channel establishment request is used to request establishment of a transmission channel between the first computing device and a target computing device, the target computing device being any computing device among the multiple computing devices except the first computing device; determining a target storage space from available storage space in the CXL storage space; the CXL storage device to which the CXL storage space belongs is connected to both the first computing device and the target computing device, and the target storage space is used as a target transmission channel between the first computing device and the target computing device; and sending first indication information to the first computing device and the target computing device respectively; the first indication information is used to indicate that the target storage space is used as the target transmission channel between the first computing device and the target computing device.
[0007] CXL storage devices offer unlimited capacity expansion, providing a large storage space. Upon receiving a request from any computing device, the management unit allocates a portion of its managed CXL storage space as a transmission channel for the computing device. Data can then be transmitted across this dedicated transmission channel between the two computing devices. Because the CXL storage device and computing device are connected via a physical link, this method is less constrained by network transmission speeds and bandwidth than traditional network data transmission methods, offering the advantages of faster transmission speeds, higher bandwidth, and lower latency.
[0008] In one possible implementation, before determining the target storage space from the available storage space of the CXL storage space, the method further includes: determining a target CXL storage device in the CXL storage space that is connected to both the first computing device and the target computing device; and determining the available storage space based on the target CXL storage device.
[0009] It is understandable that there may be multiple CXL storage devices in the system. It is necessary to first determine the CXL storage devices connected to the first computing device and the target computing device, and then determine the available storage space therefrom to ensure that the target storage space can transfer data between the first computing device and the target computing device.
[0010] In another possible implementation, the target computing device includes one or more second computing devices. This means that a single target storage space can serve as a transmission channel between the first computing device and multiple second computing devices. The first computing device only needs to send the target data once, and the multiple second computing devices can retrieve the target data from the target storage space, completing the data transmission between the multiple second computing devices and the first computing device.
[0011] In another possible implementation, the transmission channel establishment request includes capacity information of the transmission channel to be established, and the target storage space is determined from the available storage space of the CXL storage space, including: determining the target storage space from the available storage space of the CXL storage space based on the capacity of the transmission channel to be established; and the storage capacity of the target storage space is greater than or equal to the capacity of the transmission channel to be established.
[0012] It is understandable that the transmission channel request includes the capacity information of the transmission channel to be established, which enables the management unit to allocate storage space based on the needs of the computing device, thereby meeting the needs of the computing device and avoiding storage space waste, further improving the subsequent data transmission speed, and reducing the cost of using the CXL storage device.
[0013] In another possible implementation, the first indication information includes: an identifier of a target transmission channel, an identifier of the first computing device, an identifier of a target computing device, an address of a target storage space, and a storage capacity of the target storage space.
[0014] It can be understood that the identifier of the above-mentioned target transmission channel is used to characterize the target transmission channel, the identifier of the first computing device and the identifier of the target computing device are used to characterize the devices at both ends of the data transmission, the address of the target storage space is used to write data into the correct storage space when transmitting data, and the storage capacity of the target storage space is used to determine the amount of data transmitted at one time.
[0015] In another possible implementation, the management unit includes a data transmission channel table, which is used to store communication relationship entries, and the communication relationship entries are used to record information about the storage space allocated as the transmission channel in the CXL storage space, and the communication relationship entries include: an identifier of the transmission channel, an identifier of the computing device, an address of the storage space, and a storage capacity of the storage space; the method also includes: recording a target communication relationship entry in the data transmission channel table, wherein the target communication relationship entry includes an identifier of the target transmission channel, an identifier of the first computing device, an identifier of the target computing device, an address of the target storage space, and a storage capacity of the target storage space.
[0016] It is understood that recording the target transmission channel information containing the target communication relationship entry in the data management channel table can timely record the assigned target transmission channel, facilitating the management of the target transmission channel. In addition, the data management channel table can record multiple communication relationship entries. This management method can avoid confusion among multiple transmission channels and improve management efficiency.
[0017] In another possible implementation, the method further includes: after receiving second indication information sent by the first computing device or the target computing device, reclaiming the target transmission channel; the second indication information is used to indicate that the data transmission between the first computing device and the target device is completed and the target transmission channel is returned.
[0018] As can be appreciated, after data transfer between computing devices is complete, the management unit promptly reclaims the allocated transmission channel, or storage space, and subsequently allocates this storage space to other computing devices with data transfer needs, thereby improving storage space utilization. Timely storage space reclaiming reduces the storage capacity configuration of the CXL storage device, thereby lowering the cost of using the CXL storage device.
[0019] In another possible implementation, the management unit includes a data transmission channel table, the data transmission channel table includes a target communication relationship entry, the target communication relationship entry includes an identifier of the target transmission channel, an identifier of the first computing device, an identifier of the target computing device, an address of the target storage space, and a storage capacity of the target storage space; the second indication information includes the identifier of the target transmission channel, and recovering the target transmission channel includes: based on the identifier of the target transmission channel, determining the address of the target storage space in the target communication relationship entry recorded in the data transmission channel table; based on the address of the target storage space, deleting the data stored in the target storage space; and deleting the target communication relationship entry recorded in the data transmission channel table.
[0020] It can be understood that the above is a specific implementation process of reclaiming the target storage space. This process is simple to operate and facilitates the management unit to manage the storage space in the CXL storage device.
[0021] In a second aspect, an embodiment of the present application provides a data transmission method, which is applied to a first computing device, where the first computing device is any one of a plurality of computing devices, the plurality of computing devices and a management unit are all communicatively connected to one or more CXL storage devices, and the management unit is used to manage a storage space composed of the one or more CXL storage devices. The method includes: when the first computing device needs to perform data transmission with a target computing device, sending a transmission channel establishment request to the management unit; the transmission channel establishment request is used to request establishment of a transmission channel between the first computing device and the target computing device, where the target computing device includes one or more second computing devices, where the second computing device is any computing device in the plurality of computing devices other than the first computing device; receiving first indication information sent by the management unit; the first indication information is used to indicate that the target storage space is used as a target transmission channel between the first computing device and the target computing device; wherein the target storage space is available storage space in the CXL storage space, and the CXL storage device to which the target storage space belongs is connected to both the first computing device and the target computing device; and writing target data to the target storage space so that the target computing device obtains the target data from the target storage space.
[0022] It is understood that the first computing device and the target computing device perform data transmission based on the target storage space allocated by the management unit. Because the target storage space is a portion of the storage space within the CXL storage device, which is physically connected to the first and target computing devices, data transmission between the first and target computing devices no longer requires a network channel, eliminating reliance on network transmission speeds and reducing network bandwidth costs and hardware costs such as network cards. The target storage space is infinitely scalable, offering advantages such as fast transmission speeds, high bandwidth, and low latency, thereby improving the business processing performance of a cluster containing multiple computing devices.
[0023] In addition, in an embodiment of the present application, the target computing device includes one or more second computing devices, which means that a target storage space can serve as a transmission channel between a first computing device and multiple second computing devices. The first computing device only needs to send the target data once, and multiple second computing devices can obtain the target data from the target storage space, and the multiple second computing devices and the first computing device complete the data transmission. In traditional methods, if the first computing device needs to send data to multiple second computing devices, it must send the data to multiple computing devices separately. Therefore, the method proposed in the embodiment of the present application can reduce the number of data transmissions and improve data transmission efficiency.
[0024] In a third aspect, an embodiment of the present application provides a data transmission method, which is applied to a target computing device, where the target computing device is any one or more second computing devices among a plurality of computing devices, the plurality of computing devices and a management unit are all communicatively connected to one or more CXL storage devices, and the management unit is used to manage a storage space formed by the one or more CXL storage devices. The method includes: receiving first indication information sent by the management unit; the first indication information is used to indicate that the target storage space is used as a target transmission channel between the first computing device and the target computing device; the first computing device is any one of the plurality of computing devices, wherein the target storage space is available storage space in the CXL storage space, and the CXL storage device to which the target storage space belongs is connected to both the first computing device and the target computing device; in response to the indication message, obtaining target data sent by the first computing device from the target storage space; the indication message is used to indicate that the first computing device has written the target data to the target storage space, and the indication message is sent by the first computing device or by a CXL controller in the CXL storage device.
[0025] It can be understood that, under the instruction of the indication message, the second computing device obtains the target data sent by the first computing device from the target storage space. This method does not need to rely on the network, can avoid the impact of network delay, and improve the business processing performance of the cluster where the second computing device is located.
[0026] In a fourth aspect, an embodiment of the present application provides a management device, wherein the management device is applied to various modules of the transmission channel management method of the first aspect or any possible implementation manner of the first aspect.
[0027] In a fifth aspect, an embodiment of the present application provides a computing device, wherein the computing device is applied to various modules of the data transmission method of the second aspect or any possible implementation of the second aspect; or, the computing device is applied to various modules of the data transmission method of the third aspect or any possible implementation of the third aspect.
[0028] In a sixth aspect, an embodiment of the present application provides a management device, comprising a processor, the processor being coupled to a memory, the memory being used to store programs or instructions, and when the programs or instructions are executed by the processor, the management device executes a transmission channel management method such as the first aspect and any possible implementation thereof.
[0029] In the seventh aspect, an embodiment of the present application provides a computing device comprising a memory and at least one processor connected to the memory, the memory being used to store computer program code, the computer program code comprising computer instructions, which, when executed by at least one processor, enables the computing device to execute a data transmission method such as the second aspect and any possible implementation thereof; or, enables the computing device to execute a data transmission method such as the third aspect and any possible implementation thereof.
[0030] In an eighth aspect, embodiments of the present application provide a computer-readable storage medium comprising computer instructions. When the computer instructions are executed on a management device, the management device executes the transmission channel management method according to the first aspect and any possible implementation thereof; or, when the computer instructions are executed on a computing device, the computing device executes the data transmission method according to the second aspect and any possible implementation thereof; or, when the computer instructions are executed on a computing device, the computing device executes the data transmission method according to the third aspect and any possible implementation thereof.
[0031] In a ninth aspect, embodiments of the present application provide a computer program product comprising computer instructions. When the computer instructions are executed on a management device, the management device executes the transmission channel management method according to the first aspect and any possible implementation thereof; or, when the computer instructions are executed on a computing device, the computing device executes the data transmission method according to the second aspect and any possible implementation thereof; or, when the computer instructions are executed on a computing device, the computing device executes the data transmission method according to the third aspect and any possible implementation thereof.
[0032] For the specific description of the fourth to ninth aspects and their various implementations in the embodiments of the present application, reference can be made to the detailed description in the first, second or third aspect and their various implementations; and for the beneficial effects of the fourth to ninth aspects and their various implementations, reference can be made to the analysis of the beneficial effects in the first, second or third aspect and their various implementations, which will not be repeated here.
[0033] These and other aspects of the embodiments of the present application will be more clearly understood in the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Figure 1 A schematic diagram of the system architecture involved in a transmission channel management method and a data transmission method provided in an embodiment of the present application;
[0035] Figure 2 A schematic diagram of the system architecture involved in another transmission channel management method and data transmission method provided in an embodiment of the present application;
[0036] Figure 3 A flow chart of a transmission channel management method provided in an embodiment of the present application;
[0037] Figure 4 A flowchart of another transmission channel management method provided in an embodiment of the present application;
[0038] Figure 5 A flowchart of a data transmission method provided in an embodiment of the present application;
[0039] Figure 6 A schematic diagram of the structure of a management device provided in an embodiment of the present application;
[0040] Figure 7 A schematic diagram of the structure of a computing device provided in an embodiment of the present application;
[0041] Figure 8 A schematic diagram of the structure of another computing device provided in an embodiment of the present application;
[0042] Figure 9 A schematic diagram of the structure of a device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0043] For ease of understanding, the following briefly introduces the relevant terms involved in the embodiments of this application:
[0044] (1) Compute Express Link (CXL) technology is a new type of high-speed interconnect technology designed to provide higher data throughput and lower latency to meet the needs of modern computing and storage systems.
[0045] (2) CXL storage devices: Storage devices built based on CXL technology have the characteristics of wireless expansion and can meet the needs of data center resource sharing, memory pooling and efficient computing scheduling.
[0046] In the following, the terms "first," "second," and "third," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the quantity of the technical features indicated. Thus, a feature designated as "first," "second," or "third," etc., may explicitly or implicitly include one or more of the features.
[0047] In the description of the embodiments of this application, unless otherwise specified, " / " means "or." For example, A / B can mean A or B. "And / or" in this document is simply a description of an association relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. In addition, "at least one" means one or more, and "a plurality" means two or more.
[0048] In related technologies, data is transmitted between multiple servers in a cluster through a network card. The network card has a cache space that can cache the data to be transmitted. Due to the limitations of the network card hardware specifications, the network card's management of the cache space is fixed in the network card chip, and the network card cannot flexibly configure and manage the cache space. For example, the network card installed on the server provides a shared data transmission channel for multiple applications in the server. When multiple applications need to transmit data at the same time, multiple data need to complete the data transmission through the same data transmission channel. At this time, different data need to queue and wait, and the network card cannot flexibly configure the data transmission channel. Therefore, using the network card for data transmission will limit the overall data transmission performance of the cluster.
[0049] Based on this, embodiments of the present application provide a transmission channel management method and a data transmission method. In this transmission channel management method, when any computing device (e.g., a first computing device) among multiple computing devices needs to transmit data to another computing device (e.g., a target computing device), the device sends a transmission channel establishment request to a management unit to request the establishment of a transmission channel between the first computing device and the target computing device. Based on the transmission channel establishment request, the management unit determines a target storage space from the CXL storage space managed by the management unit as the transmission channel between the first computing device and the target computing device. After receiving the allocated target storage space, the first computing device and the target computing device use the target storage space as the target transmission channel for data transmission.
[0050] The CXL storage space may be composed of storage spaces of one or more CXL storage devices, and the target storage space is at least a portion of storage space of one of the CXL storage spaces.
[0051] It is understood that the method provided by the embodiments of the present application has the following advantages. First, CXL storage devices feature unlimited expansion, providing a large storage space. Upon receiving a request from any computing device, the management unit allocates a portion of the CXL storage space managed by the management unit as a transmission channel for the computing device. Data can then be transmitted across this dedicated transmission channel between the two computing devices. Because the CXL storage device and the computing device are connected via a physical link, this method is not limited by network transmission speed and bandwidth compared to traditional methods of data transmission over the network, and offers the advantages of fast transmission speed, high bandwidth, and low latency.
[0052] Secondly, the method proposed in the embodiment of the present application is no longer limited by the hardware specifications of the network card and the network transmission speed, which can save hardware costs and network usage costs.
[0053] Secondly, in the related art, when computing devices transmit data through a network card, since the network card only provides a shared data transmission channel, if a computing device needs to send data to multiple other computing devices, it is necessary to use a shared data transmission channel for data transmission. In the embodiment of the present application, when transmitting data between any two computing devices, an exclusive transmission channel can be applied for. The computing devices no longer need to queue and wait when using a shared transmission channel as in the related art. Therefore, the method provided in the embodiment of the present application can flexibly configure the transmission channel and improve the overall data transmission performance of the cluster.
[0054] Finally, the target computing device includes one or more second computing devices, which means that a target storage space can serve as a transmission channel between a first computing device and multiple second computing devices. The first computing device only needs to send the target data once, and multiple second computing devices can obtain the target data from the target storage space, and the multiple second computing devices and the first computing device complete the data transmission. In traditional methods, if the first computing device needs to send data to multiple second computing devices, it must send the data to multiple computing devices separately. Therefore, the method proposed in the embodiment of the present application can reduce the number of data transmissions and improve data transmission efficiency.
[0055] The implementation of the embodiments of the present application will be described in detail below with reference to the accompanying drawings.
[0056] Please refer to Figure 1 , which shows a schematic diagram of a system architecture involved in the transmission channel management method and data transmission method provided in the embodiment of the present application. Figure 1 As shown, the system architecture may include: a plurality of computing devices 110 , a CXL storage device 120 and a CXL connection device 130 .
[0057] The plurality of computing devices 110 are communicatively connected to the CXL storage device 120 via the CXL connection device 130 .
[0058] In one embodiment, each computing device 110 is communicatively connected to a PCIe interface of a CXL storage device 120 via a CXL connection device 130. Each computing device 110 communicates or transfers data with the CXL storage device 120 using CXL protocols, such as the input / output protocol (CXL.io), the cache access protocol (CXL.cache), and the memory access protocol (CXL.mem).
[0059] Computing device 110 is a computing device with data processing, logical operation, and storage capabilities. For example, computing device 110 may include computing devices such as a server, tablet computer, desktop computer, laptop computer, notebook computer, computing node, or netbook computer. The server may be a rack server, blade server, or tower server, among other types of servers. The server may include one or more computing nodes, each of which includes at least one central processing unit (CPU). When a server includes multiple computing nodes, the multiple CPUs in the multiple computing nodes share a common operating system.
[0060] The CXL storage device 120 is configured to provide storage space and serve as a transmission channel between any two computing devices 110. The system architecture shown in the embodiments of this application may include one CXL storage device 120, or multiple CXL storage devices 120. The storage space provided by one or more storage devices 120 constitutes a CXL storage space, also referred to as a CXL storage pool, which is uniformly managed by a management unit.
[0061] The CXL storage device 120 may include a CXL controller 121 and a memory 122 .
[0062] The CXL controller 121 is configured to receive a request from any computing device 110 to write data into the storage space provided by the memory 122 , or to read data from the storage space provided by the memory 122 , thereby enabling the storage space of the CXL storage device 120 to function as a transmission channel.
[0063] Illustratively, the CXL controller 121 may be a control chip integrated in the CXL storage device 120 , which may also be called a CXL memory expander chip, a CXL memory controller, or a CXL memory expander pooling chip.
[0064] The memory 122 is an actual physical carrier that provides storage space in the CXL storage device 120 , and can provide storage space as a transmission channel between any two computing devices 110 .
[0065] Exemplarily, the memory 122 may include a dual inline memory module (DIMM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (SDRAM), a solid state disk (SSD), or a persistent memory (PMEM).
[0066] In an embodiment of the present application, the number of the above-mentioned memories 122 can be one or more. When there is one memory, the memory can be a DIMM or an SSD. When there are multiple memories 122, the multiple memories 122 can all be DIMMs, or the multiple memories 122 can all be SSDs, or some of the multiple memories 122 can be DIMMs and some can be SSDs.
[0067] Of course, in other embodiments, when there is only one memory 122, memory 122 may also be another type of memory, such as SDRAM or PMEM. When there are multiple memories 122, all of the memories 122 may be SDRAM or PMEM, or the memories 122 may include at least two of SDRAM, PMEM, DIMM, or SSD. The flexible implementation and deployment methods described above enable the CXL storage device 120 to be compatible with a wider range of memory media types. The embodiments of this application do not limit the memory media type, number, or deployment method.
[0068] Generally, since volatile storage media such as DIMM, DRAM or SDRAM have the characteristics of fast reading and writing of data, in order to improve the speed between the computing devices 110, a volatile storage medium can be selected as the memory 122.
[0069] The CXL connection device 130 can provide an expansion interface to connect multiple computing devices 110 to the CXL storage device 120. The CXL connection device 130 can be independently provided or integrated into any computing device 110 or the CXL storage device 120.
[0070] For example, when the CXL connection device 130 is independently configured, the CXL connection device 130 may be a CXL switch including a CXL switching chip; or the CXL connection device 130 may be a multi-head CXL memory expansion card (MH-SLD). When the CXL connection device 130 is a multi-head CXL memory expansion card, the CXL connection device 130 may be integrated with the CXL storage device 120. The multi-head CXL memory expansion card may serve as the CXL controller of the CXL storage device 120 and may be connected to multiple computing devices. When there is only one CXL storage device, the multi-head CXL memory expansion card of one CXL storage device is connected to multiple computing devices. When there are multiple CXL storage devices, the multi-head CXL memory expansion card of each CXL storage device is connected to at least two of the multiple computing devices, and the computing devices connected to each CXL storage device may be the same.
[0071] When CXL connection device 130 is integrated into a computing device, it can be a CXL switch, a CXL switch chip, or a multi-head CXL memory expansion card. In addition to expansion capabilities, a CXL switch also includes a processor with processing capabilities, such as the ability to run a fabric manager (FM).
[0072] In some other embodiments, the number of the CXL connection devices 130 may be one or more, and multiple CXL connection devices 130 may be connected to multiple CXL storage devices 120 .
[0073] In some other embodiments, such as Figure 2 As shown, Figure 2 It shows that a plurality of CXL connection devices 130 are respectively connected to a plurality of CXL storage devices 120. Figure 2 It also includes a management device 140, which runs FM. Figure 2It can be seen that multiple computing devices 110 are connected to some CXL storage devices 120 via CXL connection devices 130. This embodiment of the application does not limit the number or connection method of CXL storage devices 120, CXL connection devices 130, and computing devices 110 in the system.
[0074] FM is a process that manages the CXL storage space provided by one or more CXL storage devices 120. Upon receiving a transmission channel request from any computing device 110, FM allocates a portion of the available storage space in the CXL storage space as a transmission channel for the computing device 110 requesting the transmission channel. Upon receiving a data transmission completion message from any computing device 110, FM reclaims the storage transmission channel allocated to that computing device 110.
[0075] In some implementations, the FM records information about the storage space allocated as a transmission channel as a communication relationship entry. This communication relationship entry includes the identifier of the allocated computing device, the address of the allocated storage space, the storage capacity of the storage space, and the number of the transmission channel. The FM stores multiple communication relationship entries in a data transmission channel table to facilitate management of information about multiple allocated transmission channels. When any computing device 110 returns an allocated transmission channel, the FM deletes the communication relationship entry corresponding to the returned transmission channel from the data transmission channel table to reclaim the allocated transmission channel.
[0076] In the embodiment of the present application, the FM may run in the CPU or baseboard management controller (BMC) of any computing device 110, or in the processor of the CXL connection device 130. Alternatively, the FM may run in the CPU, BMC, or controller of an independent device. The embodiment of the present application does not limit the specific running location of the FM.
[0077] It should be noted that different computing devices have different names for BMC. For example, some computing devices call it BMC, some computing devices call it iLO (Integrated Lights-Out), and some computing devices call it Integrated Dell Remote Access Controller (iDRAC). Regardless of whether it is called BMC, iLO, or iDRAC, it can be understood as the BMC in the embodiments of the present invention.
[0078] In some implementations, if the FM is running on any one of the multiple computing devices 110, the other computing devices 110 can communicate with the computing device running the FM via a network and / or a 485 link (a link using the RS-485 serial bus standard). The CXL connection device 130 connects the multiple computing devices 110 and the CXL storage device 120 via a bus (e.g., a UART, a universal asynchronous receiver / transmitter (UART) inter-integrated circuit (IIC) bus, or a system management bus (SMBus)).
[0079] In some other implementations, if the FM runs in the CXL connection device 130 , the CXL connection device 130 is connected to the plurality of computing devices 110 and the CXL storage device 120 via a bus (eg, a UART, an IIC, or an SMBUS bus).
[0080] In one application scenario, multiple computing devices 110 include a first computing device and a second computing device. When the first computing device needs to perform a data transmission with the second computing device, the first computing device sends a transmission channel establishment request to the FM. Based on the transmission channel establishment request, the FM allocates target storage space from the available storage space in the CXL storage space as the target transmission channel between the first and second computing devices. When the data transmission between the first and second computing devices is completed, either the first computing device or the second computing device can send a data transmission completion message to the FM, at which point the FM reclaims the target storage space.
[0081] The following describes the transmission channel management method and data transmission method provided in the embodiments of the present application:
[0082] Please refer to Figure 3 , is a flow chart of a transmission channel management method provided in an embodiment of the present application, which can be applied to a management unit, the management unit is in communication with multiple computing devices, the multiple computing devices including a first computing device, and the management unit manages a CXL storage space composed of one or more CXL storage devices. The above-mentioned management unit can be Figure 1 In FM, the first computing device is Figure 1 Any computing device in the computing device 110, the CXL storage device is Figure 1 The CXL storage device 120 in FIG. Figure 3 As shown, the method may include S101-S103.
[0083] S101: When a first computing device needs to perform data transmission with a target computing device, the first computing device sends a transmission channel establishment request to a management unit. Correspondingly, the management unit receives the transmission channel establishment request sent by the first computing device.
[0084] The target computing device is any computing device other than the first computing device among the multiple computing devices, and the target computing device includes one or more second computing devices.
[0085] In some application scenarios, when a first computing device is processing a task issued by an application program in an upper-layer client, it needs to transmit data to a target computing device.
[0086] The transmission channel establishment request is used to request to establish a transmission channel between the first computing device and the target computing device, and the transmission channel is used to transmit data sent by the first computing device to the target computing device.
[0087] In one embodiment, the transmission channel establishment request includes an identifier of the first computing device and an identifier of the target computing device. Optionally, the transmission channel establishment request also includes capacity information of the transmission channel to be established.
[0088] The identifier of the computing device may be a number, host name, Internet Protocol (IP) address, or device address (MAC) address, etc., which can represent the identity of the computing device.
[0089] The number of the computing device can be a number uniformly assigned by the management unit to the connected computing device when the computing device is connected to the management unit. Assigning numbers to computing devices facilitates the management of transmission channels of each computing device when subsequently allocating transmission channels to the computing devices.
[0090] For example, if the first computing device is identified as "computing device 1" and the target computing device is identified as "computing device 2", the transmission channel request may include: establishing a transmission channel for "computing device 1" and "computing device 2", and the capacity of the transmission channel is 1G.
[0091] S102: The management unit determines a target storage space from the available storage space of the CXL storage space.
[0092] A CXL storage space consists of the storage space of one or more CXL storage devices.
[0093] The target storage space is used as a target transmission channel between the first computing device and the target computing device.
[0094] The available storage space is the unallocated storage space in the CXL storage space. The target storage space is part of the available storage space in the CXL storage space. The CXL storage device to which the target storage space belongs is connected to both the first computing device and the target computing device.
[0095] In some embodiments, the transmission channel establishment request includes capacity information of the transmission channel to be established, and the management unit allocates target storage space from the available storage space of the CXL storage space based on the capacity of the transmission channel to be established; wherein the storage capacity of the target storage space is greater than or equal to the capacity of the transmission channel to be established.
[0096] In some other embodiments, the transmission channel request does not carry capacity information of the transmission channel to be established, and the management unit allocates target storage space from the available storage space of the CXL storage device based on the preset storage capacity in the system; wherein the storage capacity of the target storage space is equal to the preset storage capacity in the system.
[0097] The capacity of the transmission channel may be a default value set in the management unit, or may be the capacity of the transmission channel determined by the first computing device based on the type of task being processed.
[0098] Exemplarily, when the task type processed by the first computing device is a task such as cloud computing, artificial intelligence or big data, the amount of data that the computing device needs to transmit is large. The computing device can estimate the amount of data that needs to be transmitted based on the historical operation data of the task and determine the capacity of the transmission channel. For example, for cloud computing tasks, the historical operation data estimates that the amount of data that needs to be transmitted is between 5G-20G. The first computing device can take a value between 5G-20G as the capacity of the transmission channel, such as determining that the capacity of the transmission channel is 10G. For artificial intelligence tasks, the historical operation data estimates that the amount of data that needs to be transmitted is between 1G-5G. The first computing device can take a value between 1G-5G as the capacity of the transmission channel, such as determining that the capacity of the transmission channel is 2G.
[0099] This embodiment of the present application does not limit how the target storage space's storage capacity is determined. The transmission channel request includes information about the capacity of the transmission channel to be established, enabling the management unit to allocate storage space based on the computing device's needs. This not only meets the computing device's needs and improves subsequent data transmission speeds, but also avoids wasted storage space and reduces the hardware cost of the CXL storage device.
[0100] In one embodiment, the specific implementation process proposed for S102 includes: S102a-S102c.
[0101] S102a: The management unit determines a target CXL storage device in the CXL storage space.
[0102] Specifically, the target CXL storage device is one or more CXL storage devices connected to both the first computing device and the target computing device.
[0103] In one embodiment, the CXL storage space managed by the management unit is composed of multiple CXL storage devices, each of which is connected to multiple computing devices in the cluster. The management unit determines a CXL storage device connected to the first computing device and the target computing device from the multiple CXL storage devices.
[0104] For example, as shown in Table 1, which shows multiple CXL storage devices managed by the management unit and the computing device connected to each CXL storage device, Table 1 includes "identification of the CXL storage device" and "identification of the computing device connected to the CXL storage device."
[0105] Table 1
[0106] CXL storage device identification The identifier of the computing device to which the CXL storage device is connected. CXL storage device 1 Computing device 1, computing device 2, computing device 3, computing device 4 CXL Storage Device 2 Computing device 2, computing device 3, computing device 4 CXL Storage Device 3 Computing device 3, computing device 4
[0107] If the first computing device is identified as "computing device 1" and the target computing device identifiers include "computing device 2" and "computing device 3," it can be seen from Table 1 that the CXL storage device connected to computing device 1, computing device 2, and computing device 3, respectively, is "CXL storage device 1." Therefore, the management unit determines that the CXL storage space is provided by "CXL storage device 1."
[0108] S102b: The management unit determines available storage space in the target CXL storage device.
[0109] The available storage space is the unallocated storage space in the target CXL storage device.
[0110] In one embodiment, the management unit manages an allocation status of the CXL storage space, including allocated storage space and unallocated storage space. The management unit determines available storage space of a target CXL storage device in the CXL storage space based on the allocation status of the CXL storage space.
[0111] Illustratively, the allocation status of the target CXL storage device managed by the management unit is shown in Table 2. Table 2 includes: “allocation status”, “address”, and “storage capacity”.
[0112] Table 2
[0113]
[0114] From the allocation status of the CXL storage space shown in Table 2, it can be seen that the address of the unallocated storage space is Addr3 and the storage capacity is 20G. The management unit determines that the available storage space is the storage space with the address "Addr3" and the storage capacity of "20G".
[0115] S102c: The management unit determines a target storage space to be allocated to the first computing device and the target computing device from the available storage space of the target CXL storage device.
[0116] For example, if the transmission channel capacity required by the first computing device and the target computing device is 10GB, the management unit will determine the target storage space at address "Addr3-1" with a storage capacity of "10GB" from the available storage space at address "Addr3" with a storage capacity of "20GB" shown in Table 3, and use it as the target transmission channel between the first computing device and the target computing device. In this case, the unallocated storage space is Addressr3-2 with a storage capacity of 10GB, and the CXL storage space allocation status in Table 3 can be updated accordingly.
[0117] Table 3
[0118]
[0119] In some embodiments, the management unit includes a data transmission channel table, which is used to store communication relationship entries. The communication relationship entries are used to record information about storage space allocated as transmission channels in the CXL storage device. The communication relationship entries include: an identifier of the transmission channel, an identifier of the computing device, an address of the storage space, and a storage capacity of the storage space.
[0120] The data transmission channel table records multiple communication relationship entries. Each communication relationship entry is used to record information about the storage space allocated as a transmission channel in the CXL storage device. The communication relationship entry includes: the identification of the transmission channel, the identification of the computing device, the address of the storage space, and the storage capacity of the storage space.
[0121] The identification of the computing device includes: the identification of the computing devices at both ends where data transmission is required. For example, for a first computing device and a target computing device, the identification of the computing device includes: the identification of the first computing device and the identification of the target computing device.
[0122] The address of the storage space may be a physical address of the storage space or a logical address of the storage space. If it is a logical address of the storage space, the management unit further maintains a mapping relationship between the logical address and the physical address of the storage space.
[0123] For example, as shown in Table 4, Table 4 shows a data transmission channel table maintained by the management unit, which includes: the identification of the transmission channel, the identification of the computing device at one end, the identification of the computing device at the other end, the address of the storage space and the storage capacity of the storage space.
[0124] Table 4
[0125]
[0126] Optionally, after determining the target storage space, the management unit records a target communication relationship entry corresponding to the target transmission channel in the data transmission channel table, wherein the target communication relationship entry includes the identifier of the target transmission channel, the identifier of the first computing device, the identifier of the target computing device, the address of the target storage space, and the storage capacity of the target storage space.
[0127] Exemplarily, the target communication relationship entry includes: the identifier of the target transmission channel "3", the identifier of the first computing device "computing device 1", the identifier of the target computing device "computing device 2", the address of the target storage space is Addr3-1, and the storage capacity is 10G, as shown in Table 5. The management unit stores the target communication relationship entry in the data transmission channel table.
[0128] Table 5
[0129]
[0130] It should be noted that the identifier of the computing device at one end in Table 5 is generally the identifier of the computing device requesting the transmission channel, while the identifier of the computing device at the other end is generally the identifier of the computing device receiving data. However, after the management unit allocates the transmission channel to the computing devices at both ends, the computing device receiving data can also send data to the computing device requesting the transmission channel via the allocated transmission channel. In other words, the computing devices at both ends of the allocated transmission channel can actively send data to each other.
[0131] In the embodiment of the present application, the target transmission channel information including the target communication relationship entry is recorded in the data management channel table, which can promptly record the assigned target transmission channel and facilitate the management of the target transmission channel. In addition, the data management channel table can record multiple communication relationship entries. This management method can avoid confusion among multiple transmission channels and improve management efficiency.
[0132] S103: The management unit sends first indication information to the first computing device and the target computing device respectively.
[0133] The first indication information is used to indicate that the target storage space is used as a target transmission channel between the first computing device and the target computing device.
[0134] Optionally, the first indication information includes a target communication relationship entry, and the first indication information indicates a target storage space in the target communication relationship entry as the target transmission channel.
[0135] It can be understood that in the transmission channel management method proposed in the embodiment of the present application, the management unit allocates part of the storage space from the available storage space of the CXL storage space as the transmission channel between the first computing device and the target computing device at the request of the first computing device. Since the storage space provided by the CXL storage device has the characteristic of unlimited expansion, the management unit can flexibly control the size of the storage capacity of the storage space allocated to the computing device, and use the storage space of the CXL storage device as a transmission channel for data transmission between multiple computing devices. This can solve the shortcoming in related technologies that the data that can be transmitted is limited due to the limited cache space of the network card. Therefore, the transmission channel management method proposed in the embodiment of the present application can increase bandwidth, reduce transmission delay, and increase data transmission speed. In addition, the transmission channel management method proposed in the embodiment of the present application will not limit the overall performance of the cluster and can flexibly manage storage space.
[0136] After receiving the first instruction information, the first computing device and the target computing device perform data transmission based on the address of the target storage space used as the target transmission channel in the first instruction information. The data transmission process between the first computing device and the target computing device can be specifically referred to in S201-S203.
[0137] After the target computing device obtains the target data, it sends a response message of obtaining the target data to the first computing device. At this time, the first computing device and the target computing device complete the data transmission, and the first computing device or the target computing device can send second indication information to the management unit.
[0138] The second indication information is used to instruct the first computing device to complete the data transmission with the target device and return the target transmission channel.
[0139] Combine Figure 3 ,like Figure 4 As shown, after the management unit receives the second instruction information, the above Figure 3 The process shown may further include the following steps S104-S105.
[0140] S104: The management unit reclaims the target transmission channel.
[0141] In some implementations, the second indication information sent by the first computing device or the target computing device includes an identifier of the target transmission channel.
[0142] For example, if the identifier of the first computing device is "computing device 1", the identifier of the target computing device is "computing device 2", and the identifier of the target transmission channel between the first computing device and the target computing device is "3", then the second indication information sent by the first computing device or the target computing device may include: "Data transmission between "computing device 1" and "computing device 2" through the target transmission channel "3" has been completed, please recycle the target transmission channel "3".
[0143] In some implementations, the management unit reclaims the target transmission channel based on the identifier of the target transmission channel included in the second indication information. The specific steps include: S104a-S104c.
[0144] S104a: The management unit determines the address of the target storage space in the target communication relationship entry recorded in the data transmission channel table based on the identifier of the target transmission channel.
[0145] For example, as shown in Table 2, the management unit obtains the identifier of the target transmission channel as "3". Based on the identifier "3" of the target transmission channel, the management unit queries the target communication relationship entry where the identifier "3" of the target transmission channel is located in the data transmission channel table, and confirms that the address of the target storage space is Addr3-1 from the target communication relationship entry.
[0146] S104b: The management unit deletes the data stored in the target storage space based on the address of the target storage space.
[0147] Exemplarily, after determining that the address of the target storage space is Addr3-1, the management unit deletes the data in the storage space at Address3-1 in the CXL storage device with a storage capacity of 1G.
[0148] The management unit deletes the data in the target storage space, which can ensure that the data of the computing device that last used the target storage space will not be obtained by the computing device that next uses the target storage space, thereby ensuring data security.
[0149] S104c: The management unit deletes the target communication relationship entry where the target transmission channel is located in the data transmission channel table.
[0150] The above recycling steps are simple to operate, and facilitate the management unit to manage the storage space in the CXL storage device.
[0151] S105: The management unit sends a message indicating that the target transmission channel has been reclaimed to the first computing device and the target computing device respectively.
[0152] Optionally, after receiving the message indicating that the target transmission channel has been reclaimed, the first computing device or the target computing device deletes the target communication relationship entry stored in the system.
[0153] The management unit sends a message to the first computing device and the target computing device indicating that the target transmission channel has been reclaimed. If the first computing device and the target computing device subsequently need to perform data transmission, they cannot use the target transmission channel and must reapply for a new transmission channel. Therefore, the message about reclaiming the target transmission channel can prevent data transmission failures caused by the first computing device or the target computing device reusing the target transmission channel.
[0154] It is understood that in S104-S105 above, after data transfer between computing devices is complete, the management unit promptly reclaims the allocated transmission channel, i.e., storage space. This storage space can then be allocated to other computing devices with data transfer needs, thereby improving storage space utilization. Timely storage space reclaiming can reduce the storage capacity configuration of the CXL storage device and lower the cost of using the CXL storage device.
[0155] Please refer to Figure 5 , is a flowchart of a data transmission method provided in an embodiment of the present application. The method is applied to the process of data transmission between a first computing device and a target computing device. The method includes: S201-S204.
[0156] S201: A first computing device and a target computing device receive first indication information sent by a management unit.
[0157] Optionally, the first indication information includes a target communication relationship entry, and the target communication relationship entry includes an address of the target storage space.
[0158] In one embodiment, both the first computing device and the target computing device include a local CXL space management daemon (LMD) process. The LMDs of the first computing device and the target computing device receive the first indication information sent by the management unit. The LMD is used to manage the allocated target storage space, for example, allocating the target storage space to an application in the operating system so that the application can transfer data with other computing devices through the target storage space.
[0159] S202: The first computing device writes target data into the target storage space, so that the target computing device obtains the target data from the target storage space.
[0160] The target computing device that obtains the target data from the target storage space completes data transmission with the first computing device.
[0161] In one embodiment, the first computing device sends a target data write request to a CXL controller of the CXL storage device, wherein the target data write request is used to request the CXL controller to write target data into a target storage space. After receiving the request, the CXL controller writes the target data into the target storage space.
[0162] Optionally, the first computing device further sends an indication message to the target computing device via the network, where the indication message is used to indicate that the first computing device has sent information to the target computing device, ie, has written target data into the target storage space.
[0163] It is understandable that the target storage space is equivalent to a cache space, which can cache target data. The CXL controller caches the target data in the target storage space and forwards it to the target computing device.
[0164] S203: The target computing device obtains target data from the target storage space.
[0165] Optionally, the target computing device obtains the target data sent by the first computing device from the target storage space in response to the indication message; the indication message is used to indicate that the first computing device has sent information to the target computing device, that is, the target storage space has written the target data, and the indication message is sent by the first computing device, or by the CXL controller in the CXL storage device.
[0166] In some other optional implementations, after receiving the first indication information sent by the management unit, the target computing device periodically queries whether data is written into the target storage space. If written data is found, a read operation is performed on the target storage space to obtain the target data.
[0167] S204: The target computing device sends a response message to the first computing device indicating that the target data has been acquired.
[0168] After the first computing device receives the response message of the target data sent by the target computing device, the first computing device and the target computing device complete the data transmission.
[0169] In the data transmission method proposed in the embodiments of the present application, a first computing device and a target computing device perform data transmission based on a target storage space allocated by a management unit. Because the target storage space is a portion of the storage space within a CXL storage device, which is physically connected to the first and target computing devices, data transmission between the first and target computing devices no longer requires a network channel, eliminating reliance on network transmission speeds and reducing network bandwidth costs and hardware costs such as network cards. The target storage space is infinitely scalable, offering advantages such as fast transmission speeds, high bandwidth, and low latency, thereby improving the business processing performance of a cluster containing multiple computing devices.
[0170] In addition, in an embodiment of the present application, the target computing device includes one or more second computing devices, which means that a target storage space can serve as a transmission channel between a first computing device and multiple second computing devices. The first computing device only needs to send the target data once, and multiple second computing devices can obtain the target data from the target storage space, and the multiple second computing devices and the first computing device complete the data transmission. In traditional methods, if the first computing device needs to send data to multiple second computing devices, it must send the data to multiple computing devices separately. Therefore, the method proposed in the embodiment of the present application can reduce the number of data transmissions and improve data transmission efficiency.
[0171] The above mainly introduces the solution provided by the embodiment of the present application from the perspective of the method. In order to realize the above functions, it includes hardware structures and / or software modules corresponding to the execution of each function. It should be easy to realize that the technical goals in this field are combined with the units and algorithm steps of each example described in the embodiments disclosed herein, and the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional technical goals 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.
[0172] The embodiment of the present application also provides a management device 200, for example Figure 1 The equipment that contains FM. Figure 6 , which is a structural diagram of a management device 200 provided in an embodiment of the present application.
[0173] The management device 200 includes: a receiving unit 201, configured to receive a transmission channel establishment request sent by a first computing device; the transmission channel establishment request is used to request the establishment of a transmission channel between the first computing device and the target computing device, the target computing device includes one or more second computing devices, and the second computing device is any computing device other than the first computing device among the multiple computing devices; a processing unit 202, configured to determine the target storage space from the available storage space of the CXL storage space; the CXL storage device to which the CXL storage space belongs is connected to both the first computing device and the target computing device, and the target storage space is used as the target transmission channel between the first computing device and the target computing device; a sending unit 203, configured to send first indication information to the first computing device and the target computing device respectively; the first indication information is used to indicate that the target storage space is used as the target transmission channel between the first computing device and the target computing device. For example, in combination with Figure 3The receiving unit 201 can be applied to S101 in the method embodiment, the processing unit 202 can be applied to S102 in the method embodiment, and the sending unit 203 can be applied to S103 in the method embodiment.
[0174] In some implementations, before determining the target storage space from the available storage space in the CXL storage space, the processing unit 202 is further configured to determine a target CXL storage device in the CXL storage space that is connected to both the first computing device and the target computing device; and determine the available storage space based on the target storage device. For example, the processing unit 202 may be implemented in steps S102a-S102c of the method embodiment.
[0175] In some embodiments, the transmission channel establishment request includes capacity information of the transmission channel to be established. The processing unit 202 is specifically configured to determine, based on the capacity of the transmission channel to be established, a target storage space from the available storage space of the CXL storage space; the storage capacity of the target storage space is greater than or equal to the capacity of the transmission channel to be established. For example, the processing unit 202 may be implemented in step S102 of the method embodiment.
[0176] In some implementations, the first indication information includes: an identifier of a target transmission channel, an identifier of the first computing device, an identifier of a target computing device, an address of a target storage space, and a storage capacity of the target storage space.
[0177] In some embodiments, the management unit includes a data transmission channel table for storing communication relationship entries, each of which records information about storage space allocated as a transmission channel in the CXL storage space. The communication relationship entries include: an identifier of the transmission channel, an identifier of the computing device, an address of the storage space, and a storage capacity of the storage space. The processing unit 202 is further configured to record a target communication relationship entry in the data transmission channel table, wherein the target communication relationship entry includes an identifier of the target transmission channel, an identifier of the first computing device, an identifier of the target computing device, an address of the target storage space, and a storage capacity of the target storage space. For example, the processing unit 202 may be implemented in S102 of the method embodiment.
[0178] In some implementations, the processing unit 202 is further configured to reclaim the target transmission channel after receiving a second indication message sent by the first computing device or the target computing device; the second indication message is used to instruct the first computing device to complete the data transmission with the target device and return the target transmission channel. Figure 4 The processing unit 202 can be applied to S104 in the method embodiment.
[0179] In some embodiments, the management unit includes a data transmission channel table, the data transmission channel table includes a target communication relationship entry, the target communication relationship entry includes an identifier of the target transmission channel, an identifier of the first computing device, an identifier of the target computing device, an address of a target storage space, and a storage capacity of the target storage space; the second indication information includes the identifier of the target transmission channel, and the processing unit 202 is specifically configured to, based on the identifier of the target transmission channel, determine the address of the target storage space in the target communication relationship entry recorded in the data transmission channel table; based on the address of the target storage space, delete data stored in the target storage space; and delete the target communication relationship entry recorded in the data transmission channel table. For example, the processing unit 202 can be applied to S104a-S104c in the method embodiment.
[0180] The present application embodiment also provides a computing device 300. Figure 7 , which is a structural diagram of a computing device 300 provided in an embodiment of the present application.
[0181] The computing device 300 includes: a sending unit 301, configured to send a transmission channel establishment request to the management unit when the first computing device needs to transmit data with the target computing device; the transmission channel establishment request is used to request to establish a transmission channel between the first computing device and the target computing device, and the target computing device includes one or more second computing devices, and the second computing device is any computing device other than the first computing device among the multiple computing devices; a receiving unit 302, configured to receive first indication information sent by the management unit; the first indication information is used to indicate that the target storage space is used as the target transmission channel between the first computing device and the target computing device; wherein the target storage space is an available storage space in the CXL storage space, and the CXL storage device to which the target storage space belongs is connected to both the first computing device and the target computing device; a processing unit 303, configured to write target data to the target storage space so that the target computing device obtains the target data from the target storage space. For example, in combination with Figure 4 The sending unit 301 can be applied to S101 in the method embodiment, combined with Figure 5 The receiving unit 302 can be applied to S201 in the method embodiment, and the processing unit 303 can be applied to S202 in the method embodiment.
[0182] This embodiment of the application also provides another computing device 400. Figure 8 , which is a schematic structural diagram of a computing device 400 provided in an embodiment of the present application.
[0183] The computing device 400 includes: a receiving unit 401, configured to receive a first indication message sent by a management unit; the first indication message is configured to indicate that a target storage space is used as a target transmission channel between a first computing device and a target computing device; the first computing device is any one of a plurality of computing devices, wherein the target storage space is an available storage space in a CXL storage space, and the CXL storage device to which the target storage space belongs is connected to both the first computing device and the target computing device; a processing unit 402, configured to obtain target data sent by the first computing device from the target storage space in response to the indication message; the indication message is configured to indicate that the first computing device has written target data to the target storage space, and the indication message is sent by the first computing device, or by a CXL controller in the CXL storage device. For example, in combination with Figure 5 The receiving unit 401 can be applied to S201 in the method embodiment, and the processing unit 402 can be applied to S203 in the method embodiment.
[0184] Of course, the management device 200, computing device 300 or computing device 400 provided in the embodiment of the present application includes but is not limited to the above modules.
[0185] Figure 9 is a schematic diagram of the structure of the device 500 provided in the embodiment of the present application, and the device 500 may be Figure 1 The computing device in the system or the management device that runs the management unit. Figure 9 As shown, the device 500 includes a processor 501 , a memory 502 and a network interface 503 .
[0186] The processor 501 includes one or more CPUs, which may be single-core CPUs (single-CPU) or multi-core CPUs (multi-CPU).
[0187] The memory 502 includes, but is not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, or optical storage.
[0188] In some implementations, the processor 501 implements the transmission channel management method provided in the embodiments of the present application by reading instructions stored in the memory 502, or the processor 501 implements the data transmission method provided in the embodiments of the present application by internally stored instructions. In the case where the processor 501 implements the method in the above embodiment by reading instructions stored in the memory 502, the memory 502 stores instructions that implement the transmission channel management method or data transmission method provided in the embodiments of the present application.
[0189] Network interface 503, a device including a transmitter and a receiver, is used to communicate with other devices or communication networks. It can be a wired interface (port), such as a fiber distributed data interface (FDDI) or a gigabit Ethernet (GE) interface. Alternatively, network interface 503 can be a wireless interface. It should be understood that network interface 503 includes multiple physical ports and is used for communication, etc.
[0190] In some implementations, the device 500 further includes a bus 504 , and the processor 501 , memory 502 , and network interface 503 are typically interconnected via the bus 504 , or are interconnected in other ways.
[0191] In actual implementation, the receiving unit 201, the processing unit 202, and the sending unit 203, or the sending unit 301, the receiving unit 302, and the processing unit 303, or the receiving unit 401 and the processing unit 402 can be implemented by a processor calling computer program code in a memory. The specific execution process can be found in the description of the method above and will not be repeated here.
[0192] Another embodiment of the present application also provides a management device, including a processor, the processor is coupled to a memory, and the memory is used to store programs or instructions. When the program or instructions are executed by the processor, the management device executes the various steps of the transmission channel management method shown in the above method embodiment.
[0193] An embodiment of the present application provides a computing device, including a memory and at least one processor connected to the memory, wherein the memory is used to store computer program code, and the computer program code includes computer instructions. When the computer instructions are executed by the at least one processor, the computing device executes the various steps of the data transmission method shown in the above method embodiment.
[0194] Another embodiment of the present application also provides a computer-readable storage medium, which stores computer instructions. When the computer instructions are executed on a management device, the management device executes the various steps executed by the management device in the transmission channel management method process shown in the above method embodiment; or, when the computer instructions are executed on a computing device, the computing device executes the various steps executed by the computing device in the data transmission method process shown in the above method embodiment.
[0195] Another embodiment of the present application provides a chip system for use in a management device. The chip system includes one or more interface circuits and one or more processors. The interface circuits and processors are interconnected via circuits. The interface circuits are configured to receive signals from the management device's memory and send signals to the processors, the signals including computer instructions stored in the memory. When the processor of the management device executes the computer instructions, the management device performs the steps performed by the management device in the transmission channel management method flow described in the above method embodiment.
[0196] Another embodiment of the present application provides another chip system, which is applied to a computing device. The chip system includes one or more interface circuits and one or more processors. The interface circuits and processors are interconnected via wiring. The interface circuits are configured to receive signals from the computing device's memory and send signals to the processor, the signals including computer instructions stored in the memory. When the computing device's processor executes the computer instructions, the computing device executes each step performed by the computing device in the data transmission method flow shown in the above method embodiment.
[0197] In another embodiment of the present application, a computer program product is also provided. The computer program product includes computer instructions. When the computer instructions are executed on a management device, the management device executes each step executed by the management device in the transmission channel management method process shown in the above method embodiment.
[0198] In another embodiment of the present application, another computer program product is also provided. The computer program product includes computer instructions. When the computer instructions are executed on a computing device, the computing device executes each step executed by the computing device in the data transmission method process shown in the above method embodiment.
[0199] The above embodiments can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using a software program, the above embodiments can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer-executable instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a server, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more media integrated therein. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium (eg, a solid state disk (SSD)).
[0200] The above is only a specific embodiment of the present application. Those skilled in the art may conceive of changes or substitutions based on the specific embodiment provided in this application, and all such changes or substitutions shall fall within the scope of protection of this application.
Claims
1. A transmission channel management method, characterized in that: The method is applied to a management unit, the management unit being communicatively connected to a plurality of computing devices, the plurality of computing devices including a first computing device, the management unit being configured to manage a CXL storage space composed of one or more CXL storage devices, the method comprising: receiving a transmission channel establishment request sent by the first computing device; the transmission channel establishment request is used to request establishment of a transmission channel between the first computing device and a target computing device, where the target computing device is any computing device among the multiple computing devices except the first computing device; determining a target storage space from the available storage space of the CXL storage space; a CXL storage device to which the target storage space belongs is connected to the first computing device and the target computing device via a physical link, and the target storage space serves as a target transmission channel between the first computing device and the target computing device; sending first indication information to the first computing device and the target computing device respectively; the first indication information is used to indicate that the target storage space is used as a target transmission channel between the first computing device and the target computing device, the first indication information including: an identifier of the target transmission channel, an identifier of the first computing device, an identifier of the target computing device, an address of the target storage space, and a storage capacity of the target storage space; Determining the target storage space from the available storage space of the CXL storage space includes: determining a target CXL storage device in the CXL storage space that is connected to the first computing device and the target computing device via a physical link; The available storage space is determined based on the target CXL storage device.
2. The method according to claim 1, characterized in that The transmission channel establishment request includes the capacity of the transmission channel to be established, and determining the target storage space from the available storage space of the CXL storage space includes: Based on the capacity of the transmission channel to be established, a target storage space is determined from the available storage space of the CXL storage space; the storage capacity of the target storage space is greater than or equal to the capacity of the transmission channel.
3. The method according to claim 1 or 2, characterized in that The management unit includes a data transmission channel table for storing communication relationship entries, wherein the communication relationship entries are used to record information about storage space allocated as a transmission channel in the CXL storage space, and the communication relationship entries include: an identifier of the transmission channel, an identifier of the computing device, an address of the storage space, and a storage capacity of the storage space. The method further includes: The target communication relationship entry is recorded in the data transmission channel table, wherein the target communication relationship entry includes the identifier of the target transmission channel, the identifier of the first computing device, the identifier of the target computing device, the address of the target storage space and the storage capacity of the target storage space.
4. The method according to claim 1 or 2, characterized in that The method further comprises: After receiving the second indication information sent by the first computing device or the target computing device, the target transmission channel is recovered; the second indication information is used to indicate that the communication between the first computing device and the target computing device is completed, and the target transmission channel is returned.
5. The method according to claim 4, characterized in that The management unit includes a data transmission channel table, the data transmission channel table includes a target communication relationship entry, the target communication relationship entry includes an identifier of the target transmission channel, an identifier of the first computing device, an identifier of the target computing device, an address of the target storage space, and a storage capacity of the target storage space; The second indication information includes an identifier of the target transmission channel, and the reclaiming the target transmission channel includes: Determining, based on the identifier of the target transmission channel, the address of the target storage space in the target communication relationship entry recorded in the data transmission channel table; Deleting data stored in the target storage space based on the address of the target storage space; Delete the target communication relationship entry recorded in the data transmission channel table.
6. A data transmission method, characterized in that: The method is applied to a first computing device, which is any one of a plurality of computing devices, wherein the plurality of computing devices are communicatively connected to a management unit, and the management unit is configured to manage a CXL storage space formed by one or more CXL storage devices. The method includes: When the first computing device needs to perform data transmission with a target computing device, sending a transmission channel establishment request to the management unit; the transmission channel establishment request is used to request to establish a transmission channel between the first computing device and the target computing device, and the target computing device is any computing device among the multiple computing devices except the first computing device; receiving first indication information sent by the management unit; the first indication information is used to indicate that a target storage space is used as a target transmission channel between the first computing device and the target computing device, wherein the target storage space is available storage space in the CXL storage space, and the CXL storage device to which the target storage space belongs is connected to the first computing device and the target computing device via a physical link; Writing target data into the target storage space so that the target computing device obtains the target data from the target storage space; The first indication information includes: an identifier of the target transmission channel, an identifier of the first computing device, an identifier of the target computing device, an address of the target storage space, and a storage capacity of the target storage space; The management unit is configured to: determine a target CXL storage device in the CXL storage space that is connected to the first computing device and the target computing device via a physical link; and determine the available storage space based on the target CXL storage device.
7. A data transmission method, characterized in that: The method is applied to a target computing device, where the target computing device is any computing device among a plurality of computing devices, wherein the plurality of computing devices are communicatively connected to a management unit, and the management unit is configured to manage a CXL storage space formed by one or more CXL storage devices. The method includes: receiving first indication information sent by the management unit; the first indication information is used to indicate that a target storage space is used as a target transmission channel between a first computing device and the target computing device; the first computing device is any one of the plurality of computing devices, wherein the target storage space is available storage space in a CXL storage space, and the CXL storage device to which the target storage space belongs is connected to the first computing device and the target computing device via a physical link; Retrieving, from the target storage space, target data sent by the first computing device in response to an indication message; the indication message is used to indicate that the first computing device has written the target data to the target storage space, and the indication message is sent by the first computing device or by a CXL controller in the CXL storage device; The first indication information includes: an identifier of the target transmission channel, an identifier of the first computing device, an identifier of the target computing device, an address of the target storage space, and a storage capacity of the target storage space; The management unit is configured to: determine a target CXL storage device in the CXL storage space that is connected to the first computing device and the target computing device via a physical link; and determine the available storage space based on the target CXL storage device.
8. A management device, characterized in that: The device comprises a processor coupled to a memory, wherein the memory is used to store programs or instructions. When the programs or instructions are executed by the processor, the management device executes the method according to any one of claims 1 to 5.
9. A computing device, characterized in that The method comprises a memory and at least one processor connected to the memory, wherein the memory is used to store computer program code, and the computer program code comprises computer instructions. When the computer instructions are executed by the at least one processor, the computing device executes the method according to claim 6 or 7.
Citation Information
Patent Citations
Communication establishment method and system
CN116074230A
Resource allocation method and device, electronic equipment and storage medium
CN117170882A