Host cluster communication system, method, device and storage medium

By partitioning the PCIe switching device of the host cluster and setting multiple root ports on each host, data sharing between hosts is realized using preconfigured mapping relationships, which solves the communication cost and difficulty caused by the increase in the number of hosts in the existing technology. High-efficiency host cluster communication is achieved.

CN116680219BActive Publication Date: 2025-01-21SHANGHAI EVEX INFORMATION TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310645589.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-01
Publication Date
2025-01-21
Estimated Expiration
2043-06-01

AI Technical Summary

Technical Problem

In the prior art, as the number of hosts increases in the host cluster, it becomes costly and difficult to realize communication between three or more hosts.

Method used

By partitioning the PCIe switching device and setting N-1 root ports on each host, each root port establishes a communication connection with the partition on the PCIe switching device, and uses the preconfigured mapping relationship to realize data between hosts. shared.

Benefits of technology

It reduces the technical implementation cost and difficulty of communication between any two hosts in a host cluster where multiple hosts are deployed, and enables efficient data sharing between three or more hosts.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116680219B_ABST
    Figure CN116680219B_ABST
Patent Text Reader

Abstract

The present application provides a host cluster communication system, method, device and storage medium, belonging to the field of computer Internet communication technology, wherein the system includes: N hosts and a high-speed serial computer expansion bus PCIe switching device, wherein N is a positive integer greater than 2. Each of the N hosts is provided with N‑1 root ports, and a partition is provided on the PCIe switching device for each root port of each host, and each root port establishes a communication connection with a partition on the PCIe switching device through a communication bus; the N‑1 partitions corresponding to each host have a pre-configured mapping relationship with a partition of another N‑1 host. The present application has the ability to reduce the cost and difficulty of technical implementation of communication between any two hosts in a host cluster where multiple hosts are deployed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computer Internet communication technology, and in particular, to a host cluster communication system, method, device and storage medium. Background Art

[0002] With the development of computer Internet technology, multiple host systems need to be deployed in some communication and storage business scenarios. As the amount of data continues to increase and data sharing is required, communication between hosts is becoming more and more frequent.

[0003] In the prior art, such as Figure 1 As shown, in a computer system (also known as a host cluster) with a PCIe Switch (peripheral component interconnect express Switch, a high-speed serial computer expansion bus switch), address mapping is often used to achieve communication between host A and host B. It is necessary to introduce an NTB (Non Transparent Bridge) between the PCIe switches connected to the two hosts to perform address translation between two different host address domains, ultimately achieving communication between the two hosts.

[0004] However, the inventors have found that the prior art has at least the following technical problems: as the number of hosts in a host cluster increases, the use of address mapping to enable each of three or more hosts to communicate with any other host results in high cost and difficulty in technical implementation. Therefore, a host cluster communication system is urgently needed to enable communication between any two hosts in a host cluster. Summary of the invention

[0005] The present application provides a host cluster communication system, method, device and storage medium, which are used to reduce the cost and difficulty of technical implementation of communication between any two hosts in a host cluster where multiple hosts are deployed.

[0006] In a first aspect, the present application provides a host cluster communication system, comprising:

[0007] N hosts and a high-speed serial computer expansion bus PCIe switching device, where N is a positive integer greater than 2;

[0008] Each of the N hosts is provided with N-1 root ports, and each root port of each host is provided with a partition on the PCIe switch device, and each root port establishes a communication connection with a partition on the PCIe switch device through a communication bus;

[0009] The N-1 partitions corresponding to each host have a pre-configured mapping relationship with a partition of another N-1 hosts;

[0010] Any source host among the N hosts is used to obtain a data communication request and determine a target host and source data corresponding to the data communication request; query the preconfigured mapping relationship according to the source host and the target host to determine a source partition corresponding to the source host and a target partition corresponding to the target host, wherein the source partition is communicatively connected to a source root port of the source host, and the target partition is communicatively connected to a target root port of the target host;

[0011] The source host is further configured to send the source data to the source partition on the PCIe switching device through the source root port;

[0012] The PCIe switching device is used to send the source data from the source partition to the target partition, and send the source data from the target partition to the target host through the target root port to achieve data sharing between hosts.

[0013] In a possible implementation, a non-transparent endpoint device is provided on each of the N-1 partitions corresponding to each host; the non-transparent endpoint devices on the N-1 partitions corresponding to each host are respectively mapped to a non-transparent endpoint device corresponding to another N-1 hosts according to a preconfigured mapping relationship.

[0014] In a possible implementation, the non-transparent endpoint devices on the N-1 partitions corresponding to each host are mapped to a non-transparent endpoint device corresponding to another N-1 hosts through the non-transparent bridge NTB configuration according to a pre-configured mapping relationship.

[0015] In a possible implementation, each of the N hosts is provided with a host memory; each host memory includes N-1 memory windows, and the N-1 memory windows of each host are respectively mapped to the host memories of another N-1 hosts.

[0016] In a second aspect, the present application provides a host cluster communication method, which is applied to a host cluster communication system, wherein the host cluster communication system includes N hosts and a high-speed serial computer expansion bus PCIe switching device, wherein N is a positive integer greater than 2; each of the N hosts is provided with N-1 root ports, and each root port of each host is provided with a partition on the PCIe switching device, and each root port establishes a communication connection with a partition on the PCIe switching device through a communication bus; the N-1 partitions corresponding to each host respectively have a preconfigured mapping relationship with a partition of another N-1 host; the method includes:

[0017] Any source host among the N hosts obtains a data communication request, and determines a target host and source data corresponding to the data communication request; queries the preconfigured mapping relationship according to the source host and the target host to determine a source partition corresponding to the source host and a target partition corresponding to the target host, wherein the source partition is communicatively connected to a source root port of the source host, and the target partition is communicatively connected to a target root port of the target host;

[0018] The source host sends the source data to the source partition on the PCIe switch device through the source root port;

[0019] The PCIe switching device sends the source data from the source partition to the target partition, and sends the source data from the target partition to the target host through the target root port, so as to realize data sharing between hosts.

[0020] In a possible implementation, a non-transparent endpoint device is provided on each of the N-1 partitions corresponding to each host; the non-transparent endpoint devices on the N-1 partitions corresponding to each host are respectively mapped to a non-transparent endpoint device corresponding to another N-1 hosts according to a pre-configured mapping relationship; accordingly, the source host sends the source data to the source partition on the PCIe switching device through the source root port, the PCIe switching device sends the source data from the source partition to the target partition, and sends the source data from the target partition to the target host through the target root port, including: the source host sends the data communication request to the non-transparent endpoint device of the source partition on the PCIe switching device through the source root port; the PCIe switching device sends the source data from the non-transparent endpoint device of the source partition to the non-transparent endpoint device of the target partition; the PCIe switching device sends the source data from the non-transparent endpoint device of the target partition to the target host through the target root port.

[0021] In a third aspect, the present application further provides a host cluster communication method, which is applied to a host cluster communication system, wherein the host cluster communication system includes N hosts and a high-speed serial computer expansion bus PCIe switching device, wherein N is a positive integer greater than 2; each of the N hosts is provided with N-1 root ports, and each root port of each host is provided with a partition on the PCIe switching device, and each root port establishes a communication connection with a partition on the PCIe switching device through a communication bus; the N-1 partitions corresponding to each host respectively have a preconfigured mapping relationship with a partition of another N-1 host;

[0022] The method is applied to any source host among the N hosts, and includes:

[0023] Obtain a data communication request, and determine a target host and source data corresponding to the data communication request; query the preconfigured mapping relationship according to the source host and the target host to determine a source partition corresponding to the source host and a target partition corresponding to the target host, wherein the source partition is communicatively connected to a source root port of the source host, and the target partition is communicatively connected to a target root port of the target host;

[0024] The source data is sent to the source partition on the PCIe switching device through the source root port, so that the PCIe switching device sends the source data from the source partition to the target partition, and sends the source data from the target partition to the target host through the target root port, so as to realize data sharing between hosts.

[0025] In a fourth aspect, the present application further provides a host cluster communication method, which is applied to a host cluster communication system, wherein the host cluster communication system includes N hosts and a high-speed serial computer expansion bus PCIe switching device, wherein N is a positive integer greater than 2; each of the N hosts is provided with N-1 root ports, and each root port of each host is provided with a partition on the PCIe switching device, and each root port establishes a communication connection with a partition on the PCIe switching device through a communication bus; the N-1 partitions corresponding to each host respectively have a preconfigured mapping relationship with a partition of another N-1 hosts;

[0026] The method is applied to the PCIe switching device, comprising:

[0027] Receive source data sent by any source host among the N hosts through the root port of the source host, wherein the source data is a data communication request obtained by the source host, and determine a target host and source data corresponding to the data communication request, query the preconfigured mapping relationship according to the source host and the target host to determine a source partition corresponding to the source host and a target partition corresponding to the target host, wherein the source partition is communicatively connected to the source root port of the source host, and the target partition is communicatively connected to the target root port of the target host;

[0028] The source data is sent from the source partition to the target partition, and the source data is sent from the target partition to the target host through the target root port to achieve data sharing between hosts.

[0029] In a fifth aspect, the present application provides a computer device, comprising: at least one processor and a memory;

[0030] The memory stores computer-executable instructions;

[0031] The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the host cluster communication method according to claim 7 or 8.

[0032] In a sixth aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions. When a processor executes the computer-executable instructions, the host cluster communication method described in the third aspect or the fourth aspect is implemented.

[0033] In a seventh aspect, the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the host cluster communication method as described in claim 7 or 8.

[0034] The host cluster communication system, method, device and storage medium provided by the present application, wherein the method partitions on a PCIe switching device, and then uses the root port of each host to establish a connection with the corresponding partition on the PCIe device. After any host in the host cluster obtains a data communication request, the PCIe switching device can send the source data from the source host through the source root port of the source host to the corresponding partition, and then send the source data from the partition corresponding to the source host to the partition corresponding to the target host according to the pre-configured mapping relationship. The PCIe switching device then sends the source data from the target partition to the target host through the target root port, thereby realizing data sharing between hosts, and thus reducing the cost and difficulty of technical implementation of communication between any two hosts in a host cluster with multiple hosts deployed. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0036] Figure 1 A schematic diagram of the communication connection structure of a host cluster communication system provided as the background technology of this application;

[0037] Figure 2 Schematic diagram of the communication connection structure of the host cluster communication system provided in the embodiment of the present application Figure 1 ;

[0038] Figure 3 A schematic diagram of the host memory of any one of the N hosts provided in an embodiment of the present application;

[0039] Figure 4 A schematic diagram of the interactive process of the host cluster communication method provided in an embodiment of the present application;

[0040] Figure 5 A schematic diagram of a communication connection structure of a host cluster communication system provided in an embodiment of the present application Figure 2 ;

[0041] Figure 6 A schematic diagram of the structure of the host cluster communication device provided in the embodiment of the present application Figure 1 ;

[0042] Figure 7 A schematic diagram of the structure of the host cluster communication device provided in the embodiment of the present application Figure 2 ;

[0043] Figure 8 A schematic diagram of the hardware structure of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0044] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0045] At present, with the continuous development of the Internet, in some communication and storage business scenarios, it is necessary to deploy multiple host systems to complete computing work in a highly close collaboration to improve the performance and availability of a single host. The inventor found that although there is a high-speed serial computer expansion bus PCIe technology in the prior art to achieve communication in a host cluster consisting of two hosts, with the continuous increase in communication and storage services, the demand for host clusters consisting of three or more hosts has begun to emerge. At this time, if the same Figure 1 The communication method shown in the figure realizes communication between any two hosts in a host cluster consisting of three or more hosts. It is necessary to introduce more PCIe devices and drivers in the host cluster, and a non-transparent bridge NTB is required between every two PCIe devices. This will increase the technical implementation cost and difficulty for realizing communication within the host cluster.

[0046] To solve the above technical problems, the embodiments of the present application provide the following technical ideas for solving the problems: use the original PCIe device to link all hosts in the cluster host, set (number of hosts - 1) independent root ports on each host, and then connect each host to the PCIe switch to change the topology; partition the PCIe switch to separate the partitions of the number of hosts × (number of hosts - 1) PCIe switches, introduce NTB between every two partitions, and finally realize communication between 3 or more hosts.

[0047] Please refer to Figure 2 , Figure 2 Schematic diagram of the communication connection structure of the host cluster communication system provided in the embodiment of the present application Figure 1 .like Figure 2 As shown, the system includes: N hosts 11 and a high-speed serial computer expansion bus PCIe switching device 12, wherein N is a positive integer greater than 2. In this embodiment, N is 3.

[0048] like Figure 2 As shown, each of the N hosts 11 is provided with N-1 root ports. In this embodiment, the host 11 may be a device including software devices and hardware devices and used to provide computing services. In this embodiment, the host 11 may be a computer system mainly including a root complex RC and a root port RP (Root Port). The computer system may include but is not limited to a personal computer PC, a server Server or a system-on-chip SoC, etc.

[0049] like Figure 2 As shown, in this embodiment, the root port of the host 11 can be a port that is artificially designated as the root port among all ports of the host 11. The high-speed serial computer expansion bus PCIe can be one of the peripheral component interconnection standard buses PCI. The central controller CPU can directly access each device hanging under the PCI bus through the address. A partition can be set for each root port of each host 11 on the PCIe switching device 12, and each root port establishes a communication connection with a partition on the PCIe switching device 12 through a communication bus. In this embodiment, the number of partitions in the PCIe switching device 12 can be determined according to the number of hosts 11. Specifically, the N-1 partitions corresponding to each host 11 in the N hosts 11 respectively have a preconfigured mapping relationship with a partition of another N-1 hosts 11.

[0050] Any source host among the N hosts 11 is used to obtain a data communication request and determine a target host and source data corresponding to the data communication request. A pre-configured mapping relationship is queried according to the source host and the target host to determine a source partition corresponding to the source host and a target partition corresponding to the target host, wherein the source partition is communicatively connected to a source root port of the source host, and the target partition is communicatively connected to a target root port of the target host.

[0051] like Figure 2 As shown, in this embodiment, the source host refers to the host 11 that sends data between any two hosts 11 that have communication needs among the N hosts 11. Similarly, the source root port is a root port on the source host. The source data can be a data packet in the source host that needs to be shared to the target host, for example: the data packet can include data, transmission protocol, domain name, address data and gateway information. The source host is also used to send the source data to the source partition on the PCIe switching device 12 through the source root port.

[0052] In this embodiment, the PCIe switching device 12 is pre-partitioned, and the number of partitions is related to the number of hosts 11, and each of the N hosts corresponds to N-1 partitions. Accordingly, a PCIe switching device requires a total of N×(N-1) partitions. For example, when the number of hosts is 3, the PCIe switching device is divided into 6 partitions. The PCIe switching device 12 is used to send source data from a source partition to a target partition, and to send the source data from the target partition to the target host through a target root port, so as to realize data sharing among the three hosts 11.

[0053] In an optional embodiment of the present application, a non-transparent endpoint device is provided on each of the N-1 partitions corresponding to each host 11. The non-transparent endpoint devices on the N-1 partitions corresponding to each host 11 are respectively mapped to a non-transparent endpoint device corresponding to another N-1 host 11 according to a pre-configured mapping relationship.

[0054] like Figure 2 As shown, in this embodiment, the non-transparent endpoint device can be a physical device at both ends of the non-transparent bridge for connecting to the network, for example: the non-transparent endpoint device can be a mobile device, a desktop computer, an embedded device or a server. In this embodiment, the pre-configured mapping relationship means that the non-transparent endpoint device can have 6 registers, each register is used to map to the configuration space of the non-transparent endpoint device, and the access register can map access to all registers.

[0055] Continue to refer Figure 2For example, the non-transparent endpoint device in each of the two partitions corresponding to host No. 1 is mapped to the non-transparent endpoint devices corresponding to the other two hosts 11, the non-transparent endpoint device 1 is mapped to the non-transparent endpoint device 4, and the non-transparent endpoint device 2 is mapped to the non-transparent endpoint device 5.

[0056] In an optional embodiment of the present application, the non-transparent endpoint devices on the N-1 partitions corresponding to each host 11 are mapped to a non-transparent endpoint device corresponding to another N-1 hosts 11 through the non-transparent bridge NTB configuration according to a pre-configured mapping relationship.

[0057] In this embodiment, the non-transparent bridge NTB is a bridge connection method for connecting two non-transparent endpoint devices. NTB can be directly connected to the virtual bus Virtual bus inside the PCIe switching device. Figure 2 As shown, the dotted double-headed arrow in the figure is the NTB configuration that needs to be implemented in the PCIe switching device, which is used to indicate to which partition the non-transparent NT access from a partition of a host 11 will be routed.

[0058] Please refer to Figure 3 , Figure 3 A schematic diagram of the host memory of any one of the N hosts provided in an embodiment of the present application.

[0059] like Figure 2 and Figure 3 As shown, based on the above embodiment, in an optional embodiment of the present application, each of the N hosts 11 is provided with a host memory. The memory of each host 11 includes N-1 memory windows, and the N-1 memory windows of each host 11 are respectively mapped to the host memory of another N-1 host 11.

[0060] In this embodiment, when the host cluster has N hosts 11, the host memory of each host 11 will be divided into N-1 memory windows, and each memory window is divided into a memory write area and a memory read area to send or receive data. The memory window can be a RDMA (Remote Direct Memory Access) resource applied by the user to allow the remote node to access the local memory area. It allows external devices to directly bypass the central processing unit CPU and directly access the host memory of the host 11. The N-1 memory windows on each host 11 are mapped to different hosts 11 to achieve data sharing and real-time communication between two hosts 11.

[0061] For example, Figure 3As shown, when the data in the memory write area in the memory window corresponding to host No. 2 in the memory of host No. 1 is sent by host No. 1 to host No. 2, host No. 1 is the source host and host No. 2 is the target host. The memory read area of ​​host No. 2 is the memory area mapped with the data sent to host No. 1.

[0062] Please refer to Figure 2 and Figure 4 , Figure 4 A schematic diagram of the interaction flow of a host cluster communication method provided in an embodiment of the present application, wherein the method is applied to Figure 2 The host cluster communication system shown includes N hosts 11 and a high-speed serial computer expansion bus PCIe switching device 12, where N is a positive integer greater than 2; each of the N hosts 11 is provided with N-1 root ports, and a partition is set on the PCIe switching device for each root port of each host 11, and each root port establishes a communication connection with a partition on the PCIe switching device through a communication bus; the N-1 partitions corresponding to each host 11 have a preconfigured mapping relationship with a partition of another N-1 hosts 11.

[0063] like Figure 4 As shown, the method includes:

[0064] S401: Any source host among N hosts obtains a data communication request, and determines a target host and source data corresponding to the data communication request.

[0065] In this embodiment, the data communication request may be a request message generated in response to a user's communication operation, or may be a request message generated when a data sharing instruction is received or data is automatically updated in a host cluster communication system. The data communication request may include a data packet to be shared and a target host among two hosts to be communicated.

[0066] S402: The source host queries a preconfigured mapping relationship between the source host and the target host to determine a source partition corresponding to the source host and a target partition corresponding to the target host, wherein the source partition is communicatively connected to a source root port of the source host, and the target partition is communicatively connected to a target root port of the target host.

[0067] In this embodiment, there is a preconfigured mapping relationship between the source host and the target host. The preconfigured mapping relationship can be constructed as follows: Figure 1 The host cluster communication system shown is a table format data stored. Querying the pre-configured mapping relationship may be querying the table data.

[0068] For example: the pre-configured mapping relationship table shown in Table 1 below corresponds to Figure 2The preconfigured mapping relationship between hosts in the host cluster communication system shown.

[0069]

[0070]

[0071] Table 1

[0072] As shown in Table 1 and Figure 2 As shown, each host needs two independent root ports connected to the two partitions of the PCIe switch device to identify the non-transparent endpoint devices in the partition. The two non-transparent endpoint devices are configured to be mapped to the partitions of the other two hosts. The host accesses the memory space of the opposite target host by accessing the memory space of the corresponding non-transparent endpoint devices. In this example, the PCIe switch device is divided into 6 partitions, among which partition 0 is connected to the root port 1a of host No. 1, the target partition corresponding to partition 0 is partition 3, partition 1 is connected to the root port 1b of host No. 1, partition 1 is mapped to partition 4, and partition 4 is connected to the root port 3a of host No. 3. Partition 3 is connected to the root port 2b of host No. 2, partition 2 is connected to the root port 2a of host No. 1, the target partition corresponding to partition 2 is partition 5, and partition 5 is connected to the root port 3b of host No. 3.

[0073] S403: The source host sends the source data to the source partition on the PCIe switch device through the source root port.

[0074] S404: The PCIe switching device sends the source data from the source partition to the target partition, and sends the source data from the target partition to the target host through the target root port, so as to realize data sharing between the hosts.

[0075] In summary, the host cluster communication method provided by the embodiment of the present application utilizes a PCIe switching device to partition the PCIe switching device, and then utilizes the root port of each host. After any source host in the host cluster obtains a data communication request, the PCIe switching device can directly send the source data from the source host to the partition corresponding to the source host through the source root port of the source host to the partition corresponding to the target host, and then the PCIe switching device sends the source data from the target partition to the target host through the target root port, thereby realizing data sharing between hosts, thereby reducing the cost and difficulty of technical implementation of communication between any two hosts in a host cluster with multiple hosts deployed.

[0076] Based on the above embodiments, examples are provided in the embodiments of the present application to illustrate the specific implementation process of the host cluster communication method. The following will be described in conjunction with the accompanying drawings.

[0077] Please refer to Figure 5 , Figure 5 A schematic diagram of a communication connection structure of a host cluster communication system provided in an embodiment of the present application Figure 2 .like Figure 5 As shown, the host cluster communication system includes 4 hosts and a PCIe switching device. Each host is provided with 3 root ports. The PCIe switching device is divided into 12 partitions, and the partitions are numbered from 0 to 11. If the data communication request is to send a data packet from host No. 1 to host No. 4, the data packet needs to be first sent from host No. 1 to the non-transparent endpoint device of partition 2 through root port 102, and then the data packet is sent from the non-transparent endpoint device of partition 2 through NTB to partition 11. Finally, the data packet is sent from the non-transparent endpoint of partition 11 to host No. 4 as the target host through root port 4a to complete the data sharing between host No. 1 and host No. 4.

[0078] Based on the above method embodiment, in an optional embodiment of the present application, a non-transparent endpoint device is provided on each of the N-1 partitions corresponding to each host; the non-transparent endpoint devices on the N-1 partitions corresponding to each host are respectively mapped to a non-transparent endpoint device corresponding to another N-1 hosts according to a pre-configured mapping relationship;

[0079] Accordingly, steps S403 and S404 specifically include:

[0080] Step A: The source host sends a data communication request to a non-transparent endpoint device of a source partition on a PCIe switch device through a source root port.

[0081] Step B: The PCIe switch device sends the source data from the non-transparent endpoint device of the source partition to the non-transparent endpoint device of the target partition.

[0082] Step C: The PCIe switch device sends the source data from the non-transparent endpoint device of the target partition to the target host through the target root port.

[0083] In this embodiment, any source host refers to Figure 1 Any of the N hosts shown has communication needs and needs to send a data packet.

[0084] The embodiment of the present application also provides a host cluster communication method, which is applied to a host cluster communication system. The host cluster communication system includes N hosts and a high-speed serial computer expansion bus PCIe switching device, where N is a positive integer greater than 2; each of the N hosts is provided with N-1 root ports, and each root port of each host is provided with a partition on the PCIe switching device, and each root port establishes a communication connection with a partition on the PCIe switching device through a communication bus; the N-1 partitions corresponding to each host have a preconfigured mapping relationship with a partition of another N-1 hosts. Specifically, the execution subject of this embodiment can be Figure 1 Any source host among the N hosts 11 in the illustrated embodiment may also be a related device of other computers, and there is no particular limitation on this embodiment.

[0085] The host cluster communication method comprises:

[0086] S601: Obtain a data communication request, and determine a target host and source data corresponding to the data communication request; query a preconfigured mapping relationship according to the source host and the target host to determine a source partition corresponding to the source host and a target partition corresponding to the target host, wherein the source partition is communicatively connected to a source root port of the source host, and the target partition is communicatively connected to a target root port of the above target host.

[0087] S602: Send the source data to the source partition on the PCIe switch device through the source root port, so that the PCIe switch device sends the source data from the source partition to the target partition, and sends the source data from the target partition to the target host through the target root port to achieve data sharing between hosts.

[0088] The cluster communication method applied to the host provided in this embodiment has a similar implementation principle and calculation effect to those in the above embodiment, which will not be described in detail in this embodiment.

[0089] Please refer to Figure 6 , Figure 6 A schematic diagram of the structure of the host cluster communication device provided in the embodiment of the present application Figure 1 .like Figure 6 As shown, the device is applied to any source host among N hosts, and includes: an acquisition module 61 and a first communication module 62 .

[0090] The acquisition module 61 is used to acquire a data communication request and determine a target host and source data corresponding to the data communication request; query a preconfigured mapping relationship according to the source host and the target host to determine a source partition corresponding to the source host and a target partition corresponding to the target host, wherein the source partition is communicatively connected to a source root port of the source host, and the target partition is communicatively connected to a target root port of the target host;

[0091] The first communication module 62 is used to send the source data to the source partition on the PCIe switching device through the source root port, so that the PCIe switching device sends the source data from the source partition to the target partition, and sends the source data from the target partition to the target host through the target root port to achieve data sharing between hosts.

[0092] The implementation principle and calculation effect of the cluster communication device applied to the host provided in this embodiment are similar to those of the above embodiment, and will not be described in detail in this embodiment.

[0093] The embodiment of the present application also provides a host cluster communication method, which is applied to a host cluster communication system, wherein the host cluster communication system includes N hosts and a high-speed serial computer expansion bus PCIe switching device, wherein N is a positive integer greater than 2; each of the N hosts is provided with N-1 root ports, and a partition is provided on the PCIe switching device for each root port of each host, and each root port establishes a communication connection with a partition on the PCIe switching device through a communication bus; the N-1 partitions corresponding to each host have a preconfigured mapping relationship with a partition of another N-1 hosts. Specifically, the execution subject of this embodiment can be Figure 1 The PCIe switching device in the embodiment shown may also be other computer-related devices or chips, and this embodiment is not particularly limited. Figure 1 The PCIe switching device in the embodiment shown may also be other computer-related devices or chips, and this embodiment is not particularly limited. The method includes:

[0094] S701: Receive source data sent by any source host among N hosts through the root port of the source host, wherein the source data is a data communication request obtained by the source host, and determine the target host and source data corresponding to the data communication request, query the pre-configured mapping relationship according to the source host and the target host to determine the source partition corresponding to the source host and the target partition corresponding to the target host, wherein the source partition is communicatively connected with the source root port of the source host, and the target partition is communicatively connected with the target root port of the target host.

[0095] S702: Send the source data from the source partition to the target partition, and send the source data from the target partition to the target host through the target root port to achieve data sharing between the hosts.

[0096] The cluster communication method applied to the host provided in this embodiment has a similar implementation principle and calculation effect to those in the above embodiment, which will not be described in detail in this embodiment.

[0097] Please refer to Figure 7 , Figure 7 A schematic diagram of the structure of the host cluster communication device provided in the embodiment of the present application Figure 2 .like Figure 7 As shown, the device is applied to a PCIe switching device, and includes: a receiving module 71 and a second communication module 72 .

[0098] The receiving module 71 is used to receive source data sent by any source host among the N hosts through the root port of the source host, wherein the source data is a data communication request obtained by the source host, and determine the target host and the source data corresponding to the data communication request, and query the pre-configured mapping relationship according to the source host and the target host to determine the source partition corresponding to the source host and the target partition corresponding to the target host, wherein the source partition is communicatively connected to the source root port of the source host, and the target partition is communicatively connected to the target root port of the target host;

[0099] The second communication module 72 is used to send the source data from the source partition to the target partition, and send the source data from the target partition to the target host through the target root port to achieve data sharing between the hosts.

[0100] The cluster communication device applied to the host provided in this embodiment has a similar implementation principle and calculation effect to those of the above method embodiment, which will not be described in detail in this embodiment.

[0101] Figure 8 A schematic diagram of the hardware structure of a computer device provided in an embodiment of the present application is shown in FIG. Figure 8 As shown, the device includes: at least one processor 801 and a memory 802 .

[0102] The processor 801 is used to store computer-executable instructions.

[0103] The memory 802 is used to execute the computer-executable instructions stored in the memory to implement the various steps involved in the above method embodiment. For details, please refer to the relevant description in the above method embodiment.

[0104] Optionally, the memory 802 may be independent or integrated with the processor 81 .

[0105] When the memory 802 is independently provided, the device further includes a bus 803 for connecting the memory 802 and the processor 801 .

[0106] An embodiment of the present application further provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the above host cluster communication method is implemented.

[0107] An embodiment of the present application also provides a computer program product, including a computer program, which implements the above host cluster communication method when executed by a processor.

[0108] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the above modules is only a logical function division. There may be other division methods in actual implementation, such as multiple modules can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.

[0109] The modules described above as separate components may or may not be physically separated, and the components shown as modules may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to implement the solution of this embodiment.

[0110] In addition, each functional module in each embodiment of the present invention may be integrated into one processing unit, each module may exist physically separately, or two or more modules may be integrated into one unit. The unit composed of the above modules may be implemented in the form of hardware or in the form of hardware plus software functional units.

[0111] The above-mentioned integrated module implemented in the form of a software function module can be stored in a computer-readable storage medium. The above-mentioned software function module is stored in a storage medium, including a number of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to perform some steps of the method of each embodiment of the present application.

[0112] It should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the invention may be directly implemented as being executed by a hardware processor, or may be implemented by a combination of hardware and software modules in the processor.

[0113] The memory may include a high-speed RAM memory, and may also include a non-volatile storage NVM, such as at least one disk memory, and may also be a USB flash drive, a mobile hard disk, a read-only memory, a magnetic disk or an optical disk, etc.

[0114] The bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus in the drawings of the present application is not limited to only one bus or one type of bus.

[0115] The above storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk. The storage medium can be any available medium that can be accessed by a general or special purpose computer.

[0116] An exemplary storage medium is coupled to a processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an application specific integrated circuit (ASIC). Of course, the processor and the storage medium can also exist as discrete components in an electronic device or a main control device.

[0117] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.

[0118] The present invention is intended to illustrate the technical solution of the present application rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some or all of the technical features may be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solution from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A host cluster communication system, characterized in that: include: N hosts and a high-speed serial computer expansion bus PCIe switching device, where N is a positive integer greater than 2; Each of the N hosts is provided with N-1 root ports, and each root port of each host is provided with a partition on the PCIe switch device, and each root port establishes a communication connection with a partition on the PCIe switch device through a communication bus; Each N-1 partition corresponding to each host has a pre-configured mapping relationship with a partition of another N-1 hosts; Any source host among the N hosts is used to obtain a data communication request and determine a target host and source data corresponding to the data communication request; Querying the preconfigured mapping relationship according to the source host and the target host to determine a source partition corresponding to the source host and a target partition corresponding to the target host, wherein the source partition is communicatively connected to a source root port of the source host, and the target partition is communicatively connected to a target root port of the target host; The source host is further configured to send the source data to the source partition on the PCIe switching device through the source root port; The PCIe switching device is used to send the source data from the source partition to the target partition, and send the source data from the target partition to the target host through the target root port to achieve data sharing between hosts.

2. The host cluster communication system according to claim 1, characterized in that: Each of the N-1 partitions corresponding to each host is provided with a non-transparent endpoint device; the non-transparent endpoint devices on the N-1 partitions corresponding to each host are mapped to a non-transparent endpoint device corresponding to another N-1 hosts according to a pre-configured mapping relationship.

3. The host cluster communication system according to claim 2, characterized in that: The non-transparent endpoint devices on the N-1 partitions corresponding to each host are mapped to a non-transparent endpoint device corresponding to another N-1 hosts through the non-transparent bridge NTB configuration according to the pre-configured mapping relationship.

4. The host cluster communication system according to claim 1, characterized in that: Each of the N hosts is provided with a host memory; Each host memory includes N-1 memory windows, and the N-1 memory windows of each host are respectively mapped to the host memories of another N-1 hosts.

5. A host cluster communication method, characterized in that: The invention is applied to a host cluster communication system, wherein the host cluster communication system comprises N hosts and a high-speed serial computer expansion bus PCIe switching device, wherein N is a positive integer greater than 2; each of the N hosts is provided with N-1 root ports, and each root port of each host is provided with a partition on the PCIe switching device, and each root port establishes a communication connection with a partition on the PCIe switching device through a communication bus; Each N-1 partition corresponding to each host has a pre-configured mapping relationship with a partition of another N-1 hosts; The method comprises: Any source host among the N hosts obtains a data communication request, and determines a target host and source data corresponding to the data communication request; queries the preconfigured mapping relationship according to the source host and the target host to determine a source partition corresponding to the source host and a target partition corresponding to the target host, wherein the source partition is communicatively connected to a source root port of the source host, and the target partition is communicatively connected to a target root port of the target host; The source host sends the source data to the source partition on the PCIe switch device through the source root port; The PCIe switching device sends the source data from the source partition to the target partition, and sends the source data from the target partition to the target host through the target root port, so as to realize data sharing between hosts.

6. The method according to claim 5, characterized in that A non-transparent endpoint device is provided on each of the N-1 partitions corresponding to each host; the non-transparent endpoint devices on the N-1 partitions corresponding to each host are respectively mapped to a non-transparent endpoint device corresponding to another N-1 hosts according to a pre-configured mapping relationship; Correspondingly, the source host sends the source data to the source partition on the PCIe switch device through the source root port, the PCIe switch device sends the source data from the source partition to the target partition, and sends the source data from the target partition to the target host through the target root port, including: The source host sends the data communication request to the non-transparent endpoint device of the source partition on the PCIe switch device through the source root port; The PCIe switch device sends the source data from the non-transparent endpoint device of the source partition to the non-transparent endpoint device of the target partition; The PCIe switch device sends the source data from the non-transparent endpoint device of the target partition to the target host through the target root port.

7. A host cluster communication method, characterized in that: Applied to a host cluster communication system, the host cluster communication system comprises N hosts and a high-speed serial computer expansion bus PCIe switching device, wherein N is a positive integer greater than 2; each of the N hosts is provided with N-1 root ports, the PCIe switching device is provided with a partition for each root port of each host, each root port establishes a communication connection with a partition on the PCIe switching device through a communication bus; the N-1 partitions corresponding to each host respectively have a preconfigured mapping relationship with a partition of another N-1 hosts; The method is applied to any source host among the N hosts, and includes: Obtain a data communication request, and determine a target host and source data corresponding to the data communication request; query the preconfigured mapping relationship according to the source host and the target host to determine a source partition corresponding to the source host and a target partition corresponding to the target host, wherein the source partition is communicatively connected to a source root port of the source host, and the target partition is communicatively connected to a target root port of the target host; The source data is sent to the source partition on the PCIe switching device through the source root port, so that the PCIe switching device sends the source data from the source partition to the target partition, and sends the source data from the target partition to the target host through the target root port, so as to realize data sharing between hosts.

8. A host cluster communication method, characterized in that: Applied to a host cluster communication system, the host cluster communication system comprises N hosts and a high-speed serial computer expansion bus PCIe switching device, wherein N is a positive integer greater than 2; each of the N hosts is provided with N-1 root ports, the PCIe switching device is provided with a partition for each root port of each host, each root port establishes a communication connection with a partition on the PCIe switching device through a communication bus; the N-1 partitions corresponding to each host respectively have a preconfigured mapping relationship with a partition of another N-1 hosts; The method is applied to the PCIe switching device, comprising: Receive source data sent by any source host among the N hosts through the root port of the source host, wherein the source data is a data communication request obtained by the source host, and determine a target host and source data corresponding to the data communication request, query the preconfigured mapping relationship according to the source host and the target host to determine a source partition corresponding to the source host and a target partition corresponding to the target host, wherein the source partition is communicatively connected to the source root port of the source host, and the target partition is communicatively connected to the target root port of the target host; The source data is sent from the source partition to the target partition, and the source data is sent from the target partition to the target host through the target root port to achieve data sharing between hosts.

9. A computer device, characterized in that: include: at least one processor and memory; The memory stores computer-executable instructions; The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the host cluster communication method according to claim 7 or 8.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions. When the processor executes the computer-executable instructions, the host cluster communication method according to claim 7 or 8 is implemented.

11. A computer program product, characterized in that It comprises a computer program, which implements the host cluster communication method as claimed in claim 7 or 8 when executed by a processor.

Citation Information

Patent Citations

  • Exchange partition management method and device, electronic equipment and storage medium

    CN112882798A

  • Storage system, request processing method and switch

    CN113377280A