Data transmission method, computer equipment and data transmission system

By configuring the communication interface of the CXL switch to PCIe mode and using network switches to realize long-distance data transmission across CXL switches, the problem that CXL switches cannot transmit long-distance, and the accuracy and efficiency of data transmission are improved.

CN120389997APending Publication Date: 2025-07-29XFUSION DIGITAL TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510630621.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-15
Publication Date
2025-07-29

AI Technical Summary

Technical Problem

CXL switches can only achieve short-range data transmission, but cannot achieve long-range data transmission.

Method used

By configuring the communication interface of the CXL switch corresponding to the computing device to be in PCIe mode, and when the data transmission path is a network path, data transmission is performed through the target port of the first CXL switch and the network switch, long-distance data transmission across the CXL switch is realized.

Benefits of technology

The data transmission between computing devices between different CXL switch networks is realized, which solves the problem that CXL switches cannot achieve long-distance data transmission, improves the accuracy and efficiency of data transmission, and avoids unnecessary network bandwidth occupation and network topology complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120389997A_ABST
    Figure CN120389997A_ABST
Patent Text Reader

Abstract

The invention provides a data transmission method, computer equipment and a data transmission system. The method comprises the following steps: determining a data transmission path between first computing equipment and second computing equipment; wherein the first computing device and the second computing device are coupled to different CXL switches; when the data transmission path is a network path, sending data to the second computing device through a first target port of a first CXL switch; wherein the first CXL switch is a switch coupled with the first computing device; the first target port works in a PCIe mode. Data transmission between computing devices in different CXL switch networks is implemented, i.e., long-distance data transmission of the CXL switches is implemented.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computing, and in particular, to a data transmission method, a computer device, and a computing system. Background Art

[0002] In the related art, data sharing can be achieved through a Compute Express Link (CXL) switch; specifically, the CXL switch transmits data through data sharing. However, the CXL switch can only achieve short-distance data transmission and cannot perform long-distance data transmission. Summary of the Invention

[0003] Embodiments of this application provide a data transmission method, a computer device, and a data transmission system, which can achieve long-distance data transmission through a CXL switch.

[0004] In a first aspect, an embodiment of this application provides a data transmission method, which is applied to a first computing device. The method includes:

[0005] Determine a data transmission path between the first computing device and the second computing device; wherein, the first computing device and the second computing device are coupled to different CXL switches;

[0006] When the data transmission path is a network path, send data to the second computing device through a first target port of a first CXL switch; wherein, the first CXL switch is a switch coupled to the first computing device; the first target port operates in the PCIe mode.

[0007] In this technical solution, when two computing devices are in different CXL networks, by configuring the communication interface of the CXL switch corresponding to the computing device to the PCIe mode, data transmission between computing devices in different CXL switch networks is achieved, that is, long-distance data transmission of the CXL switch is achieved.

[0008] In an optional implementation manner, when the data transmission path is a network path, sending data to the second computing device through a first target port of a first CXL switch includes:

[0009] When the transmission path is a network path, send data to the second computing device through a first target port of a first CXL switch and a network switch; the first CXL switch and the network switch are coupled.

[0010] In an optional implementation manner, when the transmission path is a network path, sending data to the second computing device through a first target port of a first CXL switch and a network switch includes:

[0011] When the transmission path is a network path, data is sent to a second computing device through a first target port, a first CXL switch, a first network card, and a network switch; wherein, the first network card is coupled to the first CXL switch and the network switch respectively; the first network card is mapped to the network card of the first computing device through the first CXL switch.

[0012] In this technical solution, the first network card connected by the first target port and the first CXL switch in the PCIe working mode realizes long-distance transmission of the first CXL switch through the network switch (that is, transmits data to the second CXL switch).

[0013] In an alternative implementation, determining the data transmission path between the first computing device and the second computing device includes:

[0014] Based on the mapping relationship of the data transmission path between the first computing device and the second computing device, determine the data transmission mode between the first computing device and the second computing device; wherein, the data transmission path mapping relationship includes a first Internet Protocol IP address and a second IP address; the first IP address is the IP address corresponding to the first computing device; the second IP address is the IP address corresponding to the second computing device.

[0015] In this technical solution, the data transmission mode between the first computing device and the second computing device is determined through the mapping relationship of the data transmission path between the first computing device and the second computing device. The connection status between the computing device and the CXL switch can be accurately grasped according to the mapping relationship. The precise planning and management of the data transmission path between computing devices can be realized, providing clear and reliable path information for data transmission, and improving the accuracy and efficiency of data transmission.

[0016] In an alternative implementation, the method further includes:

[0017] When the data transmission path is a memory path, data is sent to the second computing device through the second target port of the first CXL switch; wherein, the second computing device is coupled to the first CXL switch; the second target port of the first CXL switch operates in the CXL mode.

[0018] In this technical solution, when the first computing device and the second computing device are connected to the same first CXL switch and when the first computing device and the second computing device are not connected to the same first CXL switch, the first computing device can send data to the target second computing device through the first CXL switch using different transmission methods. Using this data transmission path avoids unnecessary network bandwidth occupation and enables more effective configuration and utilization of network resources. Moreover, no single data transmission path is set, reducing the problem of complex network topology relationships caused by the cascading of protocol switches. At the same time, multiple data transmission paths can reduce the delay caused by data queuing.

[0019] In a second aspect, an embodiment of the present application provides another data transmission method, which is applied to a second computing device. The method includes:

[0020] When the data transmission path between the first computing device and the second computing device is a network path, receiving the data sent by the first computing device through a third target port of a second CXL switch; wherein, the second switch is a switch coupled to the second computing device; the first computing device is not coupled to the second CXL switch; and the third target port operates in the PCIe mode.

[0021] In this technical solution, data transmission between computing devices in different CXL switches is achieved, that is, long-distance data transmission of CXL switches is realized, solving the problem that CXL switches cannot achieve long-distance data transmission.

[0022] In an optional implementation manner, when the data transmission path between the first computing device and the second computing device is a network path, receiving the data sent by the first computing device through a third target port of a second CXL switch includes:

[0023] When the data transmission path is a network path, receiving the data sent by the first computing device through a third target port of a second CXL switch and a network switch; the second CXL switch is coupled to the network switch.

[0024] In this technical solution, data transmission between computing devices in different CXL switches is achieved, that is, long-distance data transmission of CXL switches is realized, solving the problem that CXL switches cannot achieve long-distance data transmission.

[0025] In an optional implementation manner, when the data transmission path is a network path, receiving the data sent by the first computing device through a second CXL switch and a network switch includes:

[0026] In the case where the transmission path is a network path, data sent by a first computing device is received through a first target port of a network switch, a second network card, a second CXL switch, and a second computing device; wherein, the second network card is coupled to the second CXL switch and the network switch respectively; the second network card is mapped to the network card of the second computing device through the second CXL switch.

[0027] In a third aspect, an embodiment of the present application further provides a computing device, which includes a memory and a processor; the memory and the processor are coupled; the memory is used to store program instructions; the processor is used to call the program instructions so that the computing device executes the data transmission method as described in the first aspect or the second aspect.

[0028] In a fourth aspect, an embodiment of the present application further provides a data transmission system, which includes a first computing device, a second computing device, a first CXL switch, a second CXL switch, and a network switch;

[0029] wherein, the first computing device is coupled to the first CXL switch; the second computing device is coupled to the second CXL switch; the network switch is coupled to the first CXL switch and the second CXL switch respectively;

[0030] The first computing device is the computing device as described in the third aspect above, and the first computing device is used to execute the data transmission method as described in the first aspect.

[0031] The second computing device is the computing device as described in the third aspect above, and the second computing device is used to execute the data transmission method as described in the second aspect.

[0032] In a fifth aspect, an embodiment of the present application further provides a data transmission device, which includes:

[0033] A determination module, configured to determine a data transmission path between a first computing device and a second computing device; wherein, the first computing device and the second computing device are coupled to different CXL switches;

[0034] A sending module, configured to send data to the second computing device through a first target port of the first CXL switch when the data transmission path is a network path; wherein, the first CXL switch is a switch coupled to the first computing device; the first target port operates in PCIe mode.

[0035] In a sixth aspect, an embodiment of the present application further provides a computing device, which includes: a processor, a memory, and a bus. The memory stores machine-readable instructions executable by the processor. When the electronic device runs, the processor communicates with the memory through the bus. When the machine-readable instructions are executed by the processor, the steps as described in the first aspect, or any possible implementation manner in the first aspect are executed.

[0036] In a seventh aspect, an embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is run by a processor, it executes the steps in the above first aspect or any possible implementation manner in the first aspect.

[0037] In the above implementation manner, when the first computing device and the second computing device are coupled to different CXL switches, data can be transmitted to the second computing device through the first target port operating in the PCIe mode in the first CXL switch. The data transmission between computing devices in different CXL switches is realized, that is, the long-distance data transmission of the CXL switch is realized, and the problem that the CXL switch cannot realize long-distance data transmission is solved.

[0038] It should be understood that both the foregoing general description and the following detailed description are exemplary and are intended to provide further illustration of the claimed technology. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for the embodiments will be briefly introduced below. The drawings here are incorporated into the specification and constitute a part of this specification. These drawings show embodiments consistent with the present application and are used together with the specification to illustrate the technical solutions of the present application. It should be understood that the following drawings only show some embodiments of the present application and should not be regarded as limiting the scope. For those of ordinary skill in the art, other related drawings can be obtained based on these drawings without creative efforts.

[0040] Figure 1 Shows a flowchart of a data transmission method provided by an embodiment of the present application;

[0041] Figure 2 Shows a topological schematic diagram of the data transmission method provided by an embodiment of the present application;

[0042] Figure 3 Shows a schematic diagram of server connection of the data transmission method provided by an embodiment of the present application;

[0043] Figure 4 Shows a flowchart of another data transmission method provided by an embodiment of the present application;

[0044] Figure 5 Shows an architecture diagram of a data transmission method provided by an embodiment of the present application;

[0045] Figure 6 Shows a schematic diagram of a data transmission system provided by an embodiment of the present application;

[0046] Figure 7 The figure shows a schematic diagram of a data transmission device provided by an embodiment of the present application;

[0047] Figure 8 The figure shows a schematic diagram of an electronic device provided by an embodiment of the present application. Detailed implementation manners

[0048] To make the objectives, technical solutions, and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Apparently, the described embodiments are only some of the embodiments of the present application, rather than all the embodiments. Components of the embodiments of the present application described and illustrated in the accompanying drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the accompanying drawings is not intended to limit the scope of the claimed present application, but merely represents selected embodiments of the present application. All other embodiments obtained by those skilled in the art based on the embodiments of the present application without creative efforts fall within the scope of protection of the present application.

[0049] It should be noted that like reference numerals and letters denote like items in the following drawings. Therefore, once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings.

[0050] The term "and / or" in this document merely describes an association relationship and indicates that three relationships may exist. For example, A and / or B may represent: A exists alone, both A and B exist simultaneously, and B exists alone. In addition, the term "at least one" in this document means any one of multiple or any combination of at least two of multiple. For example, including at least one of A, B, and C may represent including any one or more elements selected from the set composed of A, B, and C.

[0051] It has been found through research that a switch is a network device operating at the data link layer and is mainly used to connect multiple network devices to build a local area network. Currently, data can be transmitted through a Compute Express Link (CXL) switch and a network switch; among them, the CXL switch transmits data through data sharing. When transmitting data through the CXL switch, multiple CXL switches need to be cascaded, which leads to a complex network topology and thus a certain time delay in data transmission. When transmitting data through the network switch, if there are multiple data to be transmitted, it will cause a bandwidth load, resulting in a transmission delay.

[0052] Based on the above research, the present application provides a data transmission method. By using the path selection table of the first computing device to determine the transmission path between the target second computing device that receives data and the first computing device, the first computing device can use different transmission methods to send data to the target second computing device through the first CXL switch in the cases where the first computing device and the target second computing device are connected to the same first CXL switch and where the first computing device and the target second computing device are not connected to the same first CXL switch. Using this data transmission path avoids unnecessary network bandwidth occupation and enables more effective configuration and utilization of network resources. Moreover, by not setting a single data transmission path, the problem of complex network topology relationships caused by the cascading of protocol switches is reduced. At the same time, multiple data transmission paths can reduce the latency caused by data queuing.

[0053] To facilitate the understanding of this embodiment, first, a data transmission method disclosed in the embodiments of the present application will be introduced in detail. The execution subject of the data transmission method provided in the embodiments of the present application is generally an electronic device with certain computing capabilities. In some possible implementation manners, this data transmission method can be implemented by a processor invoking computer-readable instructions stored in a memory.

[0054] See Figure 1 As shown in the flowchart of a data transmission method provided in the embodiments of the present application, which is applied to the first computing device, the method includes steps S101 to S102, where:

[0055] S101. Determine the data transmission path between the first computing device and the second computing device; where the first computing device and the second computing device are coupled to different CXL switches.

[0056] In the embodiments of the present application, first, the first computing device can determine the data transmission path between the first computing device and other computing devices (i.e., the second computing device) in the established topology relationship. Secondly, the first computing device can determine the path selection table of the first computing device based on the above data transmission path. Here, the computing device can be a server.

[0057] Finally, in the case of having obtained data, the first computing device can determine the data transmission path between it and the second computing device based on this path selection table.

[0058] Here, the first computing device can determine the CXL switch to which the second computing device is connected. Then, the first computing device can obtain the data transmission path by determining whether the second computing device is connected to the same CXL switch (i.e., the first CXL switch) as the first computing device.

[0059] S102. When the data transmission path is a network path, send data to the second computing device through the first target port of the first CXL switch; wherein, the first CXL switch is a switch coupled to the first computing device; the first target port operates in PCIe mode.

[0060] In an embodiment of the present application, when it is determined based on the path selection table that the second computing device and the first computing device are not simultaneously connected to the first CXL switch, it is determined that the data transmission path between the first computing device and the second computing device is a network path.

[0061] At this time, the first computing device can call the first target port of the first CXL switch and send data to the first CXL switch through the first target port.

[0062] Among them, the first target port is a PCIe (Peripheral Component Interconnect Express, high-speed serial computer expansion bus standard) port.

[0063] Here, the first CXL switch includes an upstream first target port and a downstream first target port; the first CXL switch can be coupled to the first computing device through the upstream first target port and send data to the second computing device through the downstream first target port.

[0064] Among them, after the first CXL switch receives the data sent by the first computing device through the upstream first target port, it can send the data to the second computing device through the downstream first target port.

[0065] In an embodiment of the present application, first, determine the data transmission path between the first computing device and the second computing device; wherein, the first computing device and the second computing device are coupled to different CXL switches; then, when the data transmission path is a network path, send data to the second computing device through the first target port of the first CXL switch coupled to the first computing device; wherein, the first target port operates in PCIe mode.

[0066] In the above embodiment, when the first computing device and the second computing device are coupled to different CXL switches, data can be transmitted to the second computing device through the first target port operating in PCIe mode in the first CXL switch. The data transmission between computing devices in different CXL switches is realized, that is, the long-distance data transmission of the CXL switch is realized, and the problem that the CXL switch cannot realize long-distance data transmission is solved.

[0067] In an alternative embodiment, when the data transmission path is a network path, data is sent to a second computing device through a first target port of a first CXL switch, which specifically includes the following steps:

[0068] When the transmission path is a network path, data is sent to a second computing device through a first target port of a first CXL switch and a network switch; the first CXL switch and the network switch are coupled.

[0069] In an embodiment of the present application, a first computing device may send a data transmission request to a first CXL switch through a first target port. Among them, the data transmission request carries data sent by the first computing device to a second transmission device.

[0070] After the first CXL switch receives the data transmission request, it may receive the data in the data transmission request through a network switch (i.e., an Ethernet switch) connected to the first CXL switch through a first target port (i.e., the above-mentioned downstream first target port).

[0071] After that, the network switch may send the data to the second computing device through a third target port of the second computing device. Among them, the third target port operates in PCIe mode.

[0072] In an alternative embodiment, when the transmission path is a network path, data is sent to a second computing device through a first target port of a first CXL switch and a network switch, which specifically includes the following steps:

[0073] When the transmission path is a network path, data is sent to a second computing device through a first target port, a first CXL switch, a first network card, and a network switch; wherein, the first network card is respectively coupled to the first CXL switch and the network switch; the first network card is mapped as a network card of the first computing device through the first CXL switch.

[0074] In an embodiment of the present application, after the first CXL switch receives the data transmission request, it may call a network switch coupled to the first CXL switch through the first network card and receive data through the network switch.

[0075] After that, the network switch may call a second network card. Among them, the second network card is coupled to the network switch and a second CXL switch. The network switch may send the data to the second network card, and then, the second network card may send the data to the second computing device through a third target port of the second CXL switch.

[0076] Among them, the first target port (i.e., the upstream first target port) in the first CXL switch coupled to the first computing device and the third target port in the second XCL switch coupled to the second computing device are upstream ports; the first target port (i.e., the downstream first target port) in the first CXL switch coupled to the first network card and the third target port in the second CXL switch coupled to the second network card are downstream ports.

[0077] In the above implementation, data transmission across CXL switches is performed through the first target port in the PCIe working mode, the network switch, and the network card, thereby achieving long-distance transmission of the first CXL switch (i.e., transmitting data to the second CXL switch).

[0078] In an alternative implementation, determining the data transmission path between the first computing device and the second computing device specifically includes the following steps:

[0079] Based on the data transmission path mapping relationship between the first computing device and the second computing device, determine the data transmission method between the first computing device and the second computing device; among them, the data transmission path mapping relationship includes the first Internet Protocol IP address and the second IP address; the first IP address is the IP address corresponding to the first computing device; the second IP address is the IP address corresponding to the second computing device.

[0080] In the embodiments of the present application, based on the data transmission path mapping relationship between the first computing device and the second computing device, determining the data transmission method between the first computing device and the second computing device specifically includes the following steps:

[0081] First, determine the identification information of the second computing device in the data transmission path mapping relationship (i.e., the path selection table).

[0082] Secondly, determine that the path information with matching identification information is the data transmission path between the first computing device and the second computing device.

[0083] In the embodiments of the present application, before the first computing device transmits data to the second computing device, the address information of the second computing device can be determined. Among them, the address information includes at least one of the following: IP address, port number, MAC address, hostname.

[0084] After that, based on the identification type recorded in the path selection table, the identification information of the second computing device can be determined in the address information of the second computing device. For example, when the identification type recorded in the path selection table is the IP address, the IP address of the second computing device is determined as the identification information of the second computing device.

[0085] After that, the path information corresponding to the identification information of the second computing device can be determined in the path selection table. Among them, the path information is used to indicate the path for the first computing device to send data (i.e., the memory path or the network path).

[0086] In the case where it is determined that the first computing device sends data through the memory path (CXL path), the path information is that the first computing device calls the second target port of the first CXL switch to send data, and the second computing device receives data through the fourth target port of the first CXL switch.

[0087] In the case where it is determined that the first computing device sends data through the network path (Ethernet), the path information is that the first computing device calls the first target port of the first CXL switch to send a data transmission request carrying the data, and the second computing device receives data through the third target port of the second CXL switch.

[0088] In the above embodiments, through the path selection table of the first computing device, the identification information of the second computing device is first determined, and then the matching path information is used as the data transmission path, realizing accurate path determination and improving the efficiency of data transmission. At the same time, the path selection table is convenient for maintenance and update, and can be updated and maintained in a timely manner for server connection changes, enhancing the compatibility and scalability of the system.

[0089] In the embodiments of the present application, the path selection table can also be determined in the following manner:

[0090] First, determine the first connection relationship between the first computing device and all protocol switches, and determine the second connection relationship between the third computing device and all protocol switches;

[0091] Secondly, based on the first connection relationship and the second connection relationship, construct a path selection table.

[0092] Here, the first computing device can determine the connection relationship with all protocol switches in the topological relationship it is in.

[0093] Here, all computing devices (including the first computing device) included in the above topological relationship cannot be connected to multiple protocol switches at the same time.

[0094] Here, the first connection relationship is used to indicate that the first computing device is connected to the current protocol switch. The second connection relationship is used to indicate that the first computing device is not connected to the current protocol switch.

[0095] Here, the first computing device can construct a path selection table based on the first connection relationship, the second connection relationship, and the connection relationship of the servers connected to all CXL switches.

[0096] In an embodiment of the present application, the third computing device is all servers other than the first computing device in the topological relationship where the first computing device is located.

[0097] Here, the first CXL switch connected to the first computing device can be determined based on the first connection relationship. After that, the servers in the third computing device that are connected to the first CXL switch can be determined as the fourth computing device.

[0098] All protocol switches in the topological relationship where the first computing device is located that are not connected to the first computing device can be determined based on the second connection relationship. After that, the servers in the third computing device that are not connected to the same first CXL switch as the first computing device can be determined as the fifth computing device.

[0099] After determining the fourth computing device and the fifth computing device, the path information for the first computing device to transmit data to the fourth computing device and the path information for the first computing device to transmit data to the fifth computing device can be determined.

[0100] For example, the first computing device and the fourth computing device are connected to the same CXL switch (i.e., the first CXL switch), and data can be transmitted through the CXL channel. That is, the path information of the fourth computing device is that the first computing device calls the CXL port to transmit data through the CXL channel, and the fourth computing device receives it through the CXL port.

[0101] The first computing device and the fifth computing device are connected to different CXL switches and can be transmitted through the Ethernet channel. That is, the path information of the fifth computing device is to call the PCIe port to transmit data through the Ethernet channel, and the fifth computing device receives it through the PCIe port.

[0102] After determining the path information of the fourth computing device and the fifth computing device, the path information can be extracted and processed to determine the path selection table of the first computing device.

[0103] For example, obtain the identification information of the fourth computing device and the fifth computing device, extract the transmission channels of the fourth computing device and the fifth computing device, and determine the identification information and the transmission channels as the path selection table of the first computing device.

[0104] In the above embodiment, through the mapping relationship of the data transmission path between the first computing device and the second computing device, the data transmission method between the first computing device and the second computing device is determined. The connection status between the computing device and the CXL switch can be accurately grasped according to the mapping relationship. The precise planning and management of the data transmission path between computing devices can be realized, providing clear and reliable path information for data transmission, and improving the accuracy and efficiency of data transmission.

[0105] In an alternative embodiment, the following steps are further included:

[0106] When the data transmission path is a memory path, data is sent to a second computing device through a second target port of a first CXL switch; wherein, the second computing device is coupled to the first CXL switch; the second target port of the first CXL switch operates in CXL mode.

[0107] In the embodiments of the present application, when it is determined through a mapping relationship (i.e., the above-mentioned path selection table) that the CXL switch to which a target second computing device is connected is the first CXL switch in a first computing device, it is determined that the first computing device and the target second computing device are connected to the same first CXL switch.

[0108] At this time, the first computing device can call the second target port of the first CXL switch and write data to the memory of the first CXL switch through the second target port. Wherein, the second target port is a CXL port.

[0109] Here, the first CXL switch includes an upstream second target port and a downstream second target port; wherein the first CXL switch can be coupled to the first computing device through the upstream second target port and can be coupled to a memory device through the downstream second target port.

[0110] Wherein, after the first CXL switch receives the data sent by the first computing device through the upstream second target port, it can share the data to the memory device through the downstream second target port. Subsequently, the memory device can share the data to the second computing device through the upstream second target port.

[0111] In the above embodiment,

[0112] as follows Figure 2 As shown, when the second computing device is connected to the first CXL switch, the first computing device calls the CXL port to write data to the memory of the first CXL switch through the CXL channel.

[0113] After the first CXL switch receives the data, it determines the data based on the data transmission request and calls the CXL port to transmit the data to the second computing device through CXL memory device 1 or CXL memory device 2. Here, the CXL memory device that is idle at the current moment is preferentially used.

[0114] In an embodiment of the present application, first, data is obtained, and a second computing device that receives the data is determined; second, based on the path selection table of the first computing device, a data transmission path between the first computing device and the second computing device is determined; wherein, the path selection table is used to indicate the path information between the first computing device and the second computing device; finally, when it is determined based on the data transmission path that the first computing device and the second computing device are connected to the same first CXL switch, data is written to the memory of the first CXL switch so that the first CXL switch shares the data with the target second computing device.

[0115] In the above embodiment, the method of determining the transmission path between the target second computing device that receives the data and the first computing device through the path selection table of the first computing device enables the first computing device and the target second computing device to adopt different transmission methods to send data to the target second computing device through the first CXL switch when the first computing device and the target second computing device are connected to the same first CXL switch and when the first computing device and the target second computing device are not connected to the same first CXL switch. Using this data transmission path avoids unnecessary network bandwidth occupation and enables more effective configuration and utilization of network resources. Moreover, no single data transmission path is set, which reduces the problem of complex network topology relationships caused by cascading of protocol switches. At the same time, multiple data transmission paths can reduce the delay caused by queuing of data transmission.

[0116] Refer to Figure 2 As shown in the figure, it is a topological schematic diagram of the data transmission method provided by the embodiment of the present application, including: a first CXL switch, a first computing device, a network card, and a CXL memory device.

[0117] Among them, the first computing device is coupled to the first CXL switch through a CXL port and a PCIe port provided on the first CXL switch. The network card is coupled to the first CXL switch through a PCIe port provided on the first CXL switch. The CXL memory device is coupled to the first CXL switch through a CXL port provided on the first CXL switch.

[0118] Among them, the CXL port and the PCIe port on the first CXL switch connected to the first computing device belong to the upstream ports; the CXL port and the PCIe port connected to the network card and the CXL memory device belong to the downstream ports.

[0119] Here, when the second computing device is not connected to the first CXL switch, the first computing device calls the PCIe port to send a data transmission request to the first CXL switch through the Ethernet channel.

[0120] After the first CXL switch receives a data transmission request, it determines the data based on the data transmission request and calls the PCIe port to transmit the data to the second computing device through Network Adapter 1 or Network Adapter 2. Here, the network adapter that is idle at the current moment is preferentially used.

[0121] Here, the CXL port (i.e., the upstream port) of the first CXL switch connecting to the first computing device and the CXL port (i.e., the downstream port) connecting to the CXL memory device can form a first virtual switch. Among them, the working mode of the first virtual switch is the same as that of the CXL switch.

[0122] The PCIe port (i.e., the upstream port) of the first CXL switch connecting to the first computing device and the PCIe port (i.e., the downstream port) connecting to the network adapter can form a second virtual switch. Among them, the working mode of the second virtual switch is the same as that of the PCIe switch.

[0123] Refer to Figure 3 As shown in the figure, it is a schematic diagram of the server connection of the data transmission method provided by the embodiment of the present application, where:

[0124] Host0 (Server 0), Host1 (Server 1), Host2 (Server 2), Host3 (Server 3), Host4 (Server 4), Host5 (Server 5), Host6 (Server 6), Host7 (Server 6) are connected to CXL Switch 1; Host0’ (Server 0’), Host1’ (Server 1’), Host2’ (Server 2’), Host3’ (Server 3’), Host4’ (Server 4’), Host5’ (Server 5’), Host6’ (Server 6’), Host7’ (Server 7’) are connected to CXL Switch 2.

[0125] Data transmission between Host0, Host1, Host2, Host3, Host4, Host5, Host6, and Host7 is short-distance data transmission; data transmission between Host0’, Host1’, Host2’, Host3’, Host4’, Host5’, Host6’, and Host7’ is short-distance data transmission. It can be understood that data transmission between servers connected to the same CXL switch is short-distance data transmission.

[0126] Data transmission between the servers connected to CXL Switch 1 and the servers connected to CXL Switch 2 is long-distance data transmission.

[0127] Here, short-distance data transmission can share data through a CXL memory device connected to a CXL switch. For example, when the first computing device and the second computing device are both connected to the first CXL switch, data can be transmitted through short-distance data transmission, that is, the data can be shared to the second computing device through the CXL memory device of the first CXL switch.

[0128] Long-distance transmission can transmit data through a network card connected to a CXL switch. For example, when the first computing device and the second computing device are both connected to the first CXL switch, data can be transmitted through long-distance data transmission, that is, the data can be transmitted to the second computing device through the network card of the first CXL switch.

[0129] See Figure 4 As shown, it is a flowchart of another data transmission method provided by an embodiment of the present application, which is applied to the second computing device. The method includes step S201, where:

[0130] S201. When the data transmission path between the first computing device and the second computing device is a network path, receive the data sent by the first computing device through the third target port of the second CXL switch; where the second switch is a switch coupled to the second computing device; the first computing device is not coupled to the second CXL switch; the third target port operates in PCIe mode.

[0131] In an embodiment of the present application, first, the first computing device can determine the data transmission path between the first computing device and other computing devices (i.e., the second computing device) in the established topological relationship. Secondly, the first computing device can determine the path selection table of the first computing device based on the above data transmission path. Here, the computing device can be a server.

[0132] Finally, when the data has been obtained, the first computing device can determine the data transmission path between the first computing device and the second computing device based on this path selection table.

[0133] Here, the first computing device can determine the CXL switch to which the second computing device is connected. Then, the first computing device can obtain the data transmission path by determining whether the second computing device is connected to the same CXL switch (i.e., the first CXL switch) as the first computing device.

[0134] In an embodiment of the present application, when it is determined based on the path selection table that the second computing device and the first computing device are not both connected to the first CXL switch, it is determined that the data transmission path between the first computing device and the second computing device is a network path.

[0135] At this time, the first computing device can call the first target port of the first CXL switch and send data to the first CXL switch through the first target port.

[0136] Among them, the first target port is a PCIe (Peripheral Component Interconnect Express, high-speed serial computer expansion bus standard) port.

[0137] Here, the first CXL switch includes an upstream first target port and a downstream first target port; the first CXL switch can be coupled to the first computing device through the upstream first target port and send data to the second computing device through the downstream first target port.

[0138] Among them, after the first CXL switch receives the data sent by the first computing device through the upstream first target port, it can send the data to the second computing device through the downstream first target port.

[0139] Here, when the data transmission path between the first computing device and the second computing device is a memory path, the data sent by the first computing device is received through the fourth target port of the second CXL switch coupled to the second computing device; among them, the fourth target port operates in the CXL mode.

[0140] At this time, the second computing device can call the fourth target port connected to the second CXL switch and receive data through the fourth target port.

[0141] Among them, the fourth target port of the second CXL switch coupled to the second computing device and the first computing device is an upstream port; the fourth target port of the second CXL switch coupled to the CXL memory device is a downstream port.

[0142] In the above embodiment, when the first computing device and the second computing device are coupled to different CXL switches, data can be transmitted from the first computing device to the second computing device through the first target port operating in the PCIe mode in the first CXL switch. The data transmission between computing devices in different CXL switches is realized, that is, the long-distance data transmission of the CXL switch is realized, and the problem that the CXL switch cannot realize long-distance data transmission is solved.

[0143] In an optional embodiment, when the data transmission path between the first computing device and the second computing device is a network path, receiving the data sent by the first computing device through the third target port of the second CXL switch includes:

[0144] When the data transmission path is a network path, the data sent by the first computing device is received through the third target port of the second CXL switch and the network switch; the second CXL switch and the network switch are coupled.

[0145] In an embodiment of the present application, the first computing device may send a data transmission request to the first CXL switch through the first target port. Among them, the data transmission request carries the data sent by the first computing device to the second transmission device.

[0146] After the first CXL switch receives the data transmission request, it can receive the data in the data transmission request through the network switch coupled to the first CXL switch through the first target port.

[0147] Here, after the network switch receives the data transmission request, it can parse the data transmission request to obtain the data and send the data to the second switch.

[0148] The second CXL switch can receive the data transmission request sent by the network switch through the third target port. Among them, the data transmission request carries the data sent by the first computing device to the second transmission device. After that, the third target port can receive the data sent by the network switch and send the data to the second computing device.

[0149] Among them, the third target port includes an upstream third target port and a downstream third target port. The downstream third target port can receive the data sent by the network switch and then send the data to the second computing device through the upstream third target port.

[0150] In an alternative embodiment, when the data transmission path is a network path, receiving the data sent by the first computing device through the third target port of the second CXL switch and the network switch includes:

[0151] When the transmission path is a network path, the data sent by the first computing device is received through the network switch, the second network card, and the third target port; among them, the second network card is respectively coupled to the second CXL switch and the network switch; the second network card is mapped to the network card of the second computing device through the second CXL switch.

[0152] In an embodiment of the present application, after the first CXL switch receives the data transmission request, it can call the network switch coupled to the first CXL switch through the first network card and receive the data through the network switch.

[0153] After that, the network switch can call the second network card. Among them, the second network card is coupled to the network switch and the second CXL switch. The network switch can send data to the second network card. After that, the second network card can send the data to the second computing device through the third target port of the second CXL switch.

[0154] Among them, the first target port (i.e., the upstream first target port) in the first CXL switch coupled to the first computing device and the third target port in the second XCL switch coupled to the second computing device are upstream ports; the first target port (i.e., the downstream first target port) in the first CXL switch coupled to the first network card and the third target port in the second CXL switch coupled to the second network card are downstream ports.

[0155] Those skilled in the art can understand that in the above method of the specific implementation manner, the writing order of each step does not mean a strict execution order and impose any limitation on the implementation process. The specific execution order of each step should be determined by its function and possible internal logic.

[0156] See Figure 5 As shown, it is an architecture diagram of a data transmission method provided by an embodiment of the present application, including: CXL switch 10, CXL switch 20, network switch, server 10, server 20, server 30, server 40, network card 10, network card 20, CXL memory sharing device 10, and CXL memory sharing device 20. Among them, the network switch can be a standard Ethernet switch.

[0157] Server 10 and server 20 are connected to CXL switch 10 through the upstream CXL port and the upstream PCIe port. Server 30 and server 40 are connected to CXL switch 20 through the upstream CXL port and the upstream PCIe port of CXL switch 20.

[0158] CXL switch 10 is also connected to CXL memory device 10 through the downstream CXL port and connected to network card 10 through the downstream PCIe port. CXL switch 20 is also connected to CXL memory device 20 through the downstream CXL port and connected to network card 20 through the downstream PCIe port.

[0159] Among them, the network card can be an Eth network card (Ethernet Network Interface Card, the first target port card for Ethernet), an IB network card (InfiniBand Network Interface Card, the first target port card for Infiniband), and a RoCE network card (Remote Direct Memory Access over Converged Ethernet Network Interface Card, the first target port card for Remote Direct Memory Access over Converged Ethernet).

[0160] The CXL switch 10 is communicatively connected to the CXL switch 20 through the network card via the network switch.

[0161] A Fabric Management (FM) module is provided in the CXL switch 10 and the CXL switch 20. The FM module is used to configure the upstream ports and downstream ports of the CXL switch 10 and the CXL switch 20.

[0162] As Figure 5 shown, the ports 3 and 4 connecting the server 10 and the server 20 to the CXL switch 10 are configured as PCIe ports (i.e., operating in the PCIe mode). The port 13 connecting the network card 10 to the CXL switch is configured as a PCIe port. The ports 3, 4, and 13 can form a CXL virtual switch. Among them, the ports 3 and 4 are upstream ports, and the port 13 is a downstream port.

[0163] The ports 9 and 10 connecting the server 10 and the server 20 to the CXL switch are configured as CXL ports (i.e., operating in the CXL mode). The port 21 connecting to the CXL memory device is configured as a CXL port. The ports 9, 10, and 21 can form a PCIe virtual switch. Among them, the ports 9 and 10 are upstream ports, and the port 21 is a downstream port.

[0164] Configure the port 13 of the network card 10 and the network card 20 to be mapped to the ports 3 and 4, that is: port13 is mapped to port3 and port4. On the CXL switch 10, both the server 10 and the server 20 can access the network card 10. On the CXL switch 20, both the server 30 and the server 40 can access the network card 20.

[0165] The CXL memory device 10 and the CXL memory device 20 are configured to be mapped to port 9 and port 11, that is: port21 is mapped to port 9 and port 11. On the CXL switch 10, both the server 10 and the server 20 can access the CXL memory device 10. On the CXL switch 20, both the server 30 and the server 40 can access the CXL memory device 20.

[0166] The server 10, the server 20, the server 30, and the server 40 are all provided with path selection devices. The path selection device can determine the path selection table of each server based on the network topology relationship (that is, the connection relationship between each server and each CXL switch).

[0167] For example, in the case where the identification information is the IP address, the path selection table determined by the server 10 based on the IP address and the network topology relationship is shown in Table 1 below:

[0168] Server 10 identification information Other server identification information Path information IP address of Server 10 IP address of Server 20 CXL channel IP address of Server 30 Ethernet channel IP address of Server 40 Ethernet channel

[0169] Table 1

[0170] Here, both the server 20 and the server 10 are connected to the CXL switch 10, and the CXL channel can be used for data transmission. Therefore, the path information corresponding to the server 10 and the server 20 is the CXL channel.

[0171] The server 20 is not simultaneously connected to the CXL switch 10 with the server 30 and the server 40, and the Ethernet channel can be used for data transmission. Therefore, the path information corresponding to the server 10 and the server 30, the server 40 is the Ethernet channel.

[0172] The path selection table determined by the server 40 based on the IP address and the network topology relationship is shown in Table 2 below:

[0173] Server 40 identification information Other server identification information Path information IP address of Server 40 IP address of Server 30 CXL channel IP address of Server 10 Ethernet channel IP address of Server 20 Ethernet channel

[0174] Table 2

[0175] Here, both the server 30 and the server 40 are connected to the CXL switch 20, and the CXL channel can be used for data transmission. Therefore, the path information corresponding to the server 30 and the server 40 is the CXL channel.

[0176] The server 40 is not simultaneously connected to the CXL switch 20 with the server 10 and the server 20, and the Ethernet channel can be used for data transmission. Therefore, the path information corresponding to the server 40 and the server 10, the server 20 is the Ethernet channel.

[0177] Such as Figure 5As shown, when the server 10 transfers data to the server 40, the path information corresponding to the server 40 is determined in the above Table 1 (i.e., transmitted through the Ethernet channel). At this time, the CXL switch 10 can call the downstream PCIe port to send the data to the network switch through the network card 10. After receiving the data, the network switch sends the data to the CXL switch 20 through the network card 20. The CXL switch 20 transmits the data to the server 40 through the upstream PCIe port.

[0178] Combined with the above content, when the server 10 is the first computing device, the server 40 is the second computing device, and the path information corresponding to the server 40 is the network path. At this time, the CXL switch 10 (i.e., the above first CXL switch) can call the downstream PCIe port (i.e., the above first target port) to send the data to the network switch through the network card 10 (i.e., the above first network card). After receiving the data, the network switch sends the data to the CXL switch 20 (i.e., the above second switch) through the network card 20 (i.e., the above second network card). The CXL switch 20 transmits the data to the server 40 through the upstream PCIe port (i.e., the above third target port).

[0179] As Figure 5 shown, when the server 10 transfers data to the server 20, the path information corresponding to the server 20 is determined in the above Table 1 (i.e., transmitted through the CXL channel). At this time, the CXL switch 10 can call the downstream CXL port to share the data to the switch 20 through the CXL memory device 10. The CXL switch 10 shares the data to the server 20 through the upstream CXL port.

[0180] Combined with the above content, when the server 10 is the first computing device, the server 20 is the second computing device, and the path information corresponding to the server 20 is the memory path. At this time, the CXL switch 10 (i.e., the above first CXL switch) can call the downstream CXL port (i.e., the above second target interface) to share the data to the switch 20 (i.e., the above second CXL switch) through the CXL memory device 10. The CXL switch 10 shares the data to the server 20 through the upstream CXL port (i.e., the above fourth target port).

[0181] In the actual operation of this solution, the following improvements are specifically included:

[0182] 1. Dual-mode CXL switch: Configure some ports of each CXL switch as PCIe mode and some ports as CXL mode. In PCIe mode, data is transmitted through the network card in the Ethernet channel, and in CXL mode, data is transmitted through the CXL memory device in the CXL channel.

[0183] 2. The server makes a multi-path connection with the CXL switch: The server is connected to both the CXL mode port and the PCIe mode port of the CXL switch simultaneously.

[0184] 3. Path selection device: A path selection device is provided inside the server. According to the data transmission requirements, the path selection device is used to select the optimal transmission path. If it is short-distance transmission (i.e., data transmission between servers connected to the same CXL switch), then the CXL channel is selected for data transmission; if it is long-distance transmission (i.e., data transmission between servers connected to different CXL switches), then the Ethernet channel is selected for data transmission.

[0185] In the actual operation of this solution, the following technical effects can be achieved:

[0186] (1) Breaking through the transmission distance limitation: By configuring the CXL switch into PCIe mode and CXL mode, short-distance and long-distance data transmission can be achieved, thus breaking through the transmission distance limitation of the CXL switch.

[0187] (2) Reducing system costs: For short-distance data transmission through the above system, only the server needs to be connected to the CXL switch via a cable, and for long-distance transmission, only the network card sharing the PCIe mode connection of the CXL switch is required. There is no need to configure a network card for each server, saving the number of network cards and reducing costs.

[0188] Based on the same inventive concept, a data transmission device corresponding to the data transmission method is also provided in the embodiments of the present application. Since the principle of solving problems by the device in the embodiments of the present application is similar to that of the above data transmission method in the embodiments of the present application, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be elaborated.

[0189] Based on the same inventive concept, a data transmission system corresponding to the data transmission method is also provided in the embodiments of the present application. Since the principle of solving problems by the system in the embodiments of the present application is similar to that of the above data transmission method in the embodiments of the present application, the implementation of the system can refer to the implementation of the method, and the repeated parts will not be elaborated.

[0190] Referring to Figure 6 As shown in the figure, it is a schematic diagram of a data transmission system provided by an embodiment of the present application. The system includes: a first computing device 61, a second computing device 62, a first CXL switch 63, a second CXL switch 64, and a network switch 65.

[0191] Among them, the first computing device is coupled to the first CXL switch; the second computing device is coupled to the second CXL switch; the network switch is coupled to the first CXL switch and the second CXL switch respectively;

[0192] Refer to Figure 7 As shown, it is a schematic diagram of a data transmission device provided by an embodiment of the present application. The device includes: a determination module 71 and a transmission module 72. Among them,

[0193] The determination module 71 is used to determine the data transmission path between the first computing device and the second computing device. Among them, the first computing device and the second computing device are coupled to different CXL switches;

[0194] The transmission module 72, when the data transmission path is a network path, sends data to the second computing device through the first target port of the first CXL switch. Among them, the first CXL switch is the switch coupled to the first computing device; the first target port operates in the PCIe mode.

[0195] In the embodiment of the present application, when the first computing device and the second computing device are coupled to different CXL switches, data can be transmitted to the second computing device through the first target port operating in the PCIe mode in the first CXL switch. The data transmission between computing devices in different CXL switches is realized, that is, the long-distance data transmission of CXL switches is realized, and the problem that CXL switches cannot realize long-distance data transmission is solved.

[0196] For the description of the processing flow of each module in the device and the interaction flow between each module, reference can be made to the relevant description in the above method embodiment, which will not be elaborated here.

[0197] Corresponding to Figure 1 the data transmission method in, the embodiment of the present application also provides a computing device 800, as Figure 8 shown, it is a schematic structural diagram of the computing device 800 provided by the embodiment of the present application, including:

[0198] A processor 81, a memory 82, and a bus 83; the memory 82 is used to store execution instructions, including an internal memory 821 and an external memory 822; the internal memory 821 here is also called the main memory, which is used to temporarily store the operation data in the processor 81 and the data exchanged with the external memory 822 such as the hard disk. The processor 81 exchanges data with the external memory 822 through the internal memory 821. When the computing device 800 runs, the processor 81 communicates with the memory 82 through the bus 83, so that the processor 81 executes the following instructions:

[0199] Determine the data transmission path between the first computing device and the second computing device. Among them, the first computing device and the second computing device are coupled to different CXL switches;

[0200] When the data transmission path is a network path, data is sent to the second computing device through a first target port of a first CXL switch; wherein, the first CXL switch is a switch coupled to the first computing device; the first target port operates in PCIe mode. The processor 81 may also execute the following instructions:

[0201] When the data transmission path between the first computing device and the second computing device is a network path, data sent by the first computing device is received through a third target port of a second CXL switch; wherein, the second switch is a switch coupled to the second computing device; the first computing device is not coupled to the second CXL switch; the third target port operates in PCIe mode.

[0202] An embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is run by a processor, it executes the steps of the data transmission method described in the above method embodiment. Wherein, the storage medium may be a volatile or non-volatile computer-readable storage medium.

[0203] An embodiment of the present application also provides a computer program product, which carries program code. The instructions included in the program code can be used to execute the steps of the data transmission method described in the above method embodiment. For details, please refer to the above method embodiment and will not be elaborated here.

[0204] Wherein, the above computer program product can be specifically implemented in a manner of hardware, software or a combination thereof. In an optional embodiment, the computer program product is specifically embodied as a computer storage medium. In another optional embodiment, the computer program product is specifically embodied as a software product, such as a Software Development Kit (SDK), etc.

[0205] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems and devices described above can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein. In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division, and there may be other division methods in actual implementation. For another example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections between each other can be through some communication interfaces. The indirect couplings or communication connections of the devices or units can be in electrical, mechanical, or other forms.

[0206] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0207] In addition, in each embodiment of the present application, the functional units can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit.

[0208] If the functions are implemented in the form of software function units and sold or used as independent products, they can be stored in a non-volatile computer-readable storage medium executable by a processor. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in each embodiment of the present application. The foregoing storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks, or optical discs.

[0209] Finally, it should be noted that the above-described embodiments are only specific embodiments of the present application, which are used to illustrate the technical solutions of the present application, rather than to limit them. The protection scope of the present application is not limited thereto. Although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that any person skilled in the art within the technical scope disclosed by the present application can still modify the technical solutions described in the foregoing embodiments, or can easily think of changes, or make equivalent replacements for some of the technical features; and these modifications, changes or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A data transmission method, applied to a first computing device, characterized in that, The method includes: Determine the data transmission path between the first computing device and the second computing device; wherein, the first computing device and the second computing device are coupled to different CXL switches; When the data transmission path is a network path, send data to the second computing device through the first target port of the first CXL switch; wherein, the first CXL switch is the switch coupled to the first computing device; the first target port operates in PCIe mode.

2. The method according to claim 1, wherein The step of, when the data transmission path is a network path, sending data to the second computing device through the first target port of the first CXL switch, includes: When the transmission path is a network path, send the data to the second computing device through the first target port of the first CXL switch and a network switch; the first CXL switch and the network switch are coupled.

3. The method according to claim 2, wherein The step of, when the transmission path is a network path, sending the data to the second computing device through the first target port of the first CXL switch and a network switch, includes: When the transmission path is a network path, send the data to the second computing device through the first target port, the first CXL switch, a first network card and the network switch; wherein, the first network card is respectively coupled to the first CXL switch and the network switch; the first network card is mapped as the network card of the first computing device through the first CXL switch.

4. The method according to any one of claims 1 to 3, characterized in that The step of determining the data transmission path between the first computing device and the second computing device includes: Based on the mapping relationship of the data transmission path between the first computing device and the second computing device, determine the data transmission mode between the first computing device and the second computing device; wherein, the data transmission path mapping relationship includes a first IP address and a second IP address; the first IP address is the IP address corresponding to the first computing device; the second IP address is the IP address corresponding to the second computing device.

5. The method according to claim 1, wherein The method further includes: When the data transmission path is a memory path, send the data to the second computing device through the second target port of the first CXL switch; wherein, the second computing device is coupled to the first CXL switch; the second target port of the first CXL switch operates in CXL mode.

6. A data transmission method, applied to a second computing device, characterized in that, The method includes: When the data transmission path between the first computing device and the second computing device is a network path, receive the data sent by the first computing device through the third target port of the second CXL switch; wherein, the second CXL switch is the switch coupled to the second computing device; the first computing device is not coupled to the second CXL switch; the third target port operates in PCIe mode.

7. The method according to claim 6, wherein When the data transmission path between the first computing device and the second computing device is a network path, receiving the data sent by the first computing device through a third target port of the second CXL switch, includes: When the data transmission path is a network path, receiving the data sent by the first computing device through the third target port of the second CXL switch and a network switch; the second CXL switch and the network switch are coupled.

8. The method according to claim 7, wherein When the data transmission path is a network path, receiving the data sent by the first computing device through the third target port of the second CXL switch and a network switch, includes: When the transmission path is a network path, receiving the data sent by the first computing device through the network switch, a second network card, and the third target port; wherein, the second network card is respectively coupled to the second CXL switch and the network switch; the second network card is mapped to the network card of the second computing device through the second CXL switch.

9. A computing device, characterized in that, The computing device includes a memory and a processor; The memory and the processor are coupled; The memory is used for storing program instructions; The processor is used for calling the program instructions to enable the computing device to execute the data transmission method according to any one of claims 1-5 or claims 6-8.

10. A data transmission system, characterized in that The data transmission system includes a first computing device, a second computing device, a first CXL switch, a second CXL switch, and a network switch; Wherein, the first computing device is coupled to the first CXL switch; the second computing device is coupled to the second CXL switch; the network switch is respectively coupled to the first CXL switch and the second CXL switch; The first computing device is the computing device according to claim 9, and the first computing device is used for executing the data transmission method according to any one of claims 1-5; The second computing device is the computing device according to claim 9, and the second computing device is used for executing the data transmission method according to any one of claims 6-8.