A network topology acquisition method, apparatus, device and medium

By integrating the Dynamic Host Configuration Protocol (DHCP) client and the RLTL protocol into the graphics processor node, the problem of GPU node network topology registration relying on the CPU is solved, enabling adaptive automatic networking and improving the flexibility and scalability of the distributed computing system.

CN116389280BActive Publication Date: 2025-12-05GUANGDONG INSPUR BIG DATA RES CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310573372.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-19
Publication Date
2025-12-05
Estimated Expiration
2043-05-19

AI Technical Summary

Technical Problem

In distributed heterogeneous computing systems, network topology registration for GPU nodes relies on the CPU, which limits the flexibility and scalability of the network topology and lacks adaptive automatic networking capabilities.

Method used

The Dynamic Host Configuration Protocol (DHCP) client is integrated into the graphics processing unit (GPU) node. It automatically assigns Internet Protocol (IP) addresses via DHCP broadcast messages and uses the RLTL protocol for information encapsulation and parsing to establish a node table, enabling GPU nodes to automatically and adaptively form networks.

Benefits of technology

It improves the flexibility and scalability of network topology, eliminates the physical binding restrictions between PCIe and CPU host, enables independent and autonomous communication of GPU nodes, and improves networking efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116389280B_ABST
    Figure CN116389280B_ABST
Patent Text Reader

Abstract

The application discloses a network topology acquisition method and device, equipment and medium, and relates to the field of distributed heterogeneous computing systems. The dynamic host configuration protocol client integrated in the network communication module of each graphics processor node obtains the internet protocol address of the corresponding graphics processor node from the pre-stored multiple internet protocol addresses of the host node, and sends information containing the obtained internet protocol address to the host node, thereby realizing the automatic registration of each graphics processor node in the network of the distributed computing system, and establishing a node table according to the information sent by each dynamic host configuration protocol client through the host node, so that each graphics processor node can determine the network topology in the distributed computing system according to the node table, and the registration of the graphics processor on the network can be realized without relying on the central processor connected with the graphics processor, thereby improving the flexibility and scalability of the network topology.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of distributed heterogeneous computing systems, and particularly relates to a network topology acquisition method and device, equipment and medium. BACKGROUND

[0002] In a traditional distributed heterogeneous computing system, a plurality of heterogeneous computing devices such as a central processing unit (CPU), a graphics processing unit (GPU), and a field-programmable gate array (FPGA) exist in a single node. These devices are usually centered on the CPU in the node to complete the computing and communication processes.

[0003] As a heterogeneous computing device without any traditional operating system and software stack, the GPU cannot actively access a network interface controller (NIC) across chips like a host CPU, and cannot actively register its own node information on the network through the NIC. In related technologies, the heterogeneous computing engine in some nodes does not have a dedicated communication module, and needs to share a NIC with the GPU and the CPU on the node. The CPU is responsible for registering all heterogeneous computing engines in the node on the network topology or registering its own information on the network topology by executing the code provided by the manufacturer through the CPU, which limits the belonging and registration arrangement of the heterogeneous computing engine in the network topology. In order to accelerate the computing speed of various neural networks, a dedicated network communication module is provided inside each heterogeneous computing engine. In most cases, data no longer needs to be transmitted to the NIC belonging to the CPU for transmission when communicating externally. However, inside the node, the heterogeneous computing node is still connected to the CPU through a peripheral component interconnect express (PCIe) bus, and the CPU is responsible for registering all heterogeneous computing engines in the node on the network topology. For a distributed heterogeneous computing system that realizes independent communication of each computing engine based on algorithm-network fusion, the CPU being responsible for registering all heterogeneous computing engines in the node on the network topology seriously limits the flexibility and scalability of the network topology.

[0004] Therefore, it is an urgent technical problem for those skilled in the art to provide a network topology acquisition method to realize adaptive and automatic networking of GPU nodes. SUMMARY

[0005] The application aims to provide a network topology acquisition method, device, equipment and medium, which are used for realizing adaptive automatic networking of GPU nodes.

[0006] To solve the above technical problems, the application provides a network topology acquisition method applied to a host node in a distributed computing system based on algorithm network fusion, wherein each node in the distributed computing system is the host node or a graphic processor node, the host node contains a dynamic host configuration protocol server, and a network communication module exclusive to the graphic processor node is integrated with a dynamic host configuration protocol client, and the method comprises the following steps.

[0007] In the case of receiving the dynamic host configuration protocol broadcast message sent by each dynamic host configuration protocol client, an Internet protocol address is allocated to each dynamic host configuration protocol client, wherein a plurality of Internet protocol addresses are pre-stored in the dynamic host configuration protocol server;

[0008] Information sent by each dynamic host configuration protocol client is received, wherein the information at least includes the Internet protocol address and a unique code corresponding to each graphic processor node;

[0009] A node table is established according to the information sent by each dynamic host configuration protocol client;

[0010] The node table is sent to each graphic processor node respectively, so that each graphic processor node determines the network topology of the distributed computing system according to the node table.

[0011] On the one hand, the information sent by each dynamic host configuration protocol client is received, which comprises the following steps.

[0012] The information encapsulated by each dynamic host configuration protocol client through a user datagram protocol-based protocol is received, wherein the user datagram protocol-based protocol is a protocol set in the data content of the user datagram protocol, and the user datagram protocol-based protocol at least includes an initial source unique code, a target source unique code, a data transmission length and a checksum;

[0013] Correspondingly, the node table is established according to the information sent by each dynamic host configuration protocol client, which comprises the following steps.

[0014] The information encapsulated by each dynamic host configuration protocol client through the user datagram protocol-based protocol is parsed and the parsed information is obtained;

[0015] The node table is established according to the parsed information.

[0016] In another aspect, the establishing the node table according to the information sent by each of the dynamic host configuration protocol clients comprises:

[0017] determining state information of the graphic processor node corresponding to each of the dynamic host configuration protocol clients according to the information sent by each of the dynamic host configuration protocol clients;

[0018] establishing the node table according to the information sent by each of the dynamic host configuration protocol clients and the state information of each of the graphic processor nodes.

[0019] In another aspect, the distributed computing system comprises a plurality of host nodes; before the assigning the internet protocol address to each of the dynamic host configuration protocol clients, the method further comprises:

[0020] selecting a target host node from the plurality of host nodes, so as to execute the steps of the network topology obtaining method in the target host node; wherein the target host node is the host node whose internet protocol address remains unchanged;

[0021] obtaining the internet protocol address corresponding to the target host node;

[0022] sending the internet protocol address corresponding to the target host node to a common host node; wherein the common host node is the remaining host node in the host nodes except the target host node.

[0023] In another aspect, after the sending the node table to each of the graphic processor nodes, the method further comprises:

[0024] in the case that a dynamic host configuration protocol broadcast message sent by a new dynamic host configuration protocol client is received, assigning the internet protocol address to the new dynamic host configuration protocol client;

[0025] receiving information sent by a new dynamic host configuration protocol client;

[0026] updating each of the node tables in a target graphic processor node to a node table containing new graphic processor node information corresponding to the new dynamic host configuration protocol client according to the information sent by the new dynamic host configuration protocol client; wherein the target graphic processor node is all of the graphic processor nodes or part of the graphic processor nodes in all of the graphic processor nodes.

[0027] In another aspect, the updating each of the node tables in a target graphic processor node to a node table containing new graphic processor node information corresponding to the new dynamic host configuration protocol client according to the information sent by the new dynamic host configuration protocol client comprises:

[0028] If the information sent by the new dynamic host configuration protocol client is received multiple times within a first preset time period since the information sent by the new dynamic host configuration protocol client is received, information sent by the new dynamic host configuration protocol client received within a second preset time period starting from the end of the first preset time period is acquired;

[0029] The information sent by the new dynamic host configuration protocol client within the first preset time period and the information sent by the new dynamic host configuration protocol client within the second preset time period are used to update each of the node tables in the target graphics processor node to a node table containing the new graphics processor node information corresponding to the new dynamic host configuration protocol client.

[0030] In another aspect, the method further comprises:

[0031] The data packet encapsulated by the user datagram protocol based protocol sent by the general host node is acquired, and the data packet at least contains the number of graphics processor nodes to be requested and information of the general host node;

[0032] A data packet to be returned to the general host node is determined according to the content of the parsed data packet and the state information of the graphics processor node, and the data packet to be returned at least contains the internet protocol address of the graphics processor node and a unique code corresponding to the internet protocol address;

[0033] The data packet to be returned is sent to the general host node.

[0034] In another aspect, after the data packet to be returned is sent to the general host node, the method further comprises:

[0035] The node table in the target host node is updated according to the data packet to be returned, and an updated node table is acquired.

[0036] In another aspect, the application further provides a network topology acquisition method applied to each graphics processor node in a distributed computing system based on algorithm network integration, wherein each node in the distributed computing system is a host node or a graphics processor node, the host node contains a dynamic host configuration protocol server, and a dynamic host configuration protocol client is integrated in a network communication module exclusive to the graphics processor node, and the method comprises:

[0037] A dynamic host configuration protocol broadcast message is sent to the host node;

[0038] obtain an internet protocol address assigned by the host node; wherein the dynamic host configuration protocol server has pre-stored a plurality of the internet protocol addresses;

[0039] send information to the host node through the dynamic host configuration protocol client; wherein the information at least includes the internet protocol address and a unique code corresponding to each of the graphic processor nodes;

[0040] obtain a node table sent by the host node; wherein the node table is established by the host node according to the information sent by each of the dynamic host configuration protocol clients;

[0041] determine the network topology structure in the distributed computing system according to the node table.

[0042] In another aspect, the application further provides a network topology structure obtaining device applied to a host node in a distributed computing system based on algorithm network fusion, wherein each node in the distributed computing system is the host node or a graphic processor node, the host node contains a dynamic host configuration protocol server, and a network communication module in the graphic processor node is integrated with a dynamic host configuration protocol client, and the device comprises:

[0043] an assigning module, configured to assign an internet protocol address to each of the dynamic host configuration protocol clients upon receiving a dynamic host configuration protocol broadcast message sent by each of the dynamic host configuration protocol clients; wherein the dynamic host configuration protocol server has pre-stored a plurality of the internet protocol addresses;

[0044] a receiving module, configured to receive information sent by each of the dynamic host configuration protocol clients; wherein the information at least includes the internet protocol address and a unique code corresponding to each of the graphic processor nodes;

[0045] an establishing module, configured to establish a node table according to the information sent by each of the dynamic host configuration protocol clients;

[0046] a sending module, configured to send the node table to each of the graphic processor nodes, so that each of the graphic processor nodes determines the network topology structure in the distributed computing system according to the node table.

[0047] In another aspect, the application further provides a network topology structure obtaining device, comprising:

[0048] a memory, configured to store a computer program;

[0049] a processor, configured to execute the computer program to realize the steps of the network topology structure obtaining method.

[0050] In another aspect, the present application also provides a computer readable storage medium, wherein a computer program is stored on the computer readable storage medium, and the computer program, when executed by a processor, implements the steps of the network topology acquisition method.

[0051] The network topology acquisition method provided by the present application is applied to a host node in a distributed computing system based on algorithm network fusion, and in the method, a dynamic host configuration protocol client integrated in a network communication module dedicated to each graphics processor node acquires an internet protocol address of the corresponding graphics processor node from a plurality of internet protocol addresses pre-stored in the host node, and sends information containing the acquired internet protocol address of the graphics processor node to the host node, thereby realizing automatic registration of each graphics processor node in the network of the distributed computing system, and through a node table established by the host node according to the information sent by each dynamic host configuration protocol client, each graphics processor node can determine the network topology in the distributed computing system according to the node table, and the registration of the graphics processor on the network can be realized without relying on the central processor connected to the graphics processor, thereby improving the flexibility and scalability of the network topology. Secondly, in the distributed computing system provided by the present application, each node is a host node or a graphics processor node, that is, one node is a host node or a graphics processor node, thereby realizing decoupling of the graphics processor and the host to which the graphics processor belongs, and each graphics processor node has a dedicated network communication module, thereby eliminating the limitation of the network topology caused by the physical binding of PCIe and the host CPU. In addition, through the unique identifier of the graphics processor node, the internet protocol address of each graphics processor node can be quickly found in the node table according to the unique code, thereby improving the efficiency of self-networking of each graphics processor node.

[0052] In addition, the present application also provides a network topology acquisition device, a network topology acquisition equipment and a computer readable storage medium, which have the same or corresponding technical features and effects as the network topology acquisition method mentioned above. BRIEF DESCRIPTION OF DRAWINGS

[0053] In order to more clearly illustrate the embodiments of the present application, the drawings needed in the embodiments will be briefly introduced as follows. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor on the basis of these drawings.

[0054] Figure 1 A schematic diagram of a distributed computing system provided by the present application is shown in the following figure.

[0055] Figure 2A schematic diagram of a background service program of a host node provided for an embodiment of the present application is shown in

[0056] Figure 3 A schematic diagram of a hardware structure of a GPU node provided for an embodiment of the present application is shown in

[0057] Figure 4 A flowchart of a network topology acquisition method provided for an embodiment of the present application is shown in

[0058] Figure 5 A schematic diagram of the position and components of an RLTL protocol in the entire network protocol stack provided for an embodiment of the present application is shown in

[0059] Figure 6 A schematic diagram of a network topology discovery process of a communication-independent distributed heterogeneous computing system provided for an embodiment of the present application is shown in

[0060] Figure 7 A structural diagram of a network topology acquisition device provided for an embodiment of the present application is shown in

[0061] Figure 8 A structural diagram of a network topology acquisition device provided for another embodiment of the present application is shown in DETAILED DESCRIPTION

[0062] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work fall within the protection scope of the present application.

[0063] The core of the present application is to provide a network topology acquisition method, device, equipment and medium, which are used to realize adaptive automatic networking of a GPU node. Figure 1 A schematic diagram of a distributed computing system provided for an embodiment of the present application is shown in Figure 1 As shown in the figure, the distributed computing system contains a target host node 1, a normal host node 2 and a graphics processor node 3. The target host node 1 and the normal host node 2 are both CPU nodes. The target host node 1 is a node running a background service program, and the normal host node 2 is a node requesting data from the target host node 1. Figure 2A schematic diagram of a background service program of a host node provided by the embodiment of the present application is provided, in the target host node 1, external data is parsed and encapsulated in the management library through the traditional network protocol stack, and the dynamic host configuration protocol (DHCP) server in the network topology management allocates the Internet Protocol (IP) address of the node to the graphics processor node to realize the automatic registration of the GPU node on the network, and after obtaining the registration information of all GPU nodes on the network, the network topology discovery is realized. Figure 3 A hardware structure schematic diagram of a GPU node provided by the embodiment of the present application, the iRDMA module for providing network function support for the GPU is established on the traditional Ethernet protocol stack, and the function of remote memory access similar to Remote Direct Memory Access (RDMA) is provided, in the GPU node, the dynamic host configuration protocol client (referred to as DHCP client) and the protocol custom protocol engine based on the user datagram protocol realize the parsing, encapsulation, verification and the like of the data packet, it should be noted that the protocol based on the user datagram protocol in the embodiment is referred to as a reliable lightweight protocol (RLTL). The DHCP client is integrated in the network communication module dedicated to the DHCP client, and the upper layer host background service program and the RLTL analysis engine, the DHCP client and the node table of the graphics processor node are matched, so that each GPU computing engine has the ability of completely independent communication in the network, and can be freely networked in the form of a single GPU computing engine, eliminating the limitation of network topology caused by physical binding with the CPU host through PCIe, greatly improving the flexibility and scalability of the distributed computing system of the algorithm network integration.

[0064] In order to enable the personnel in the technical field to better understand the present application scheme, the present application is further described in detail below in combination with the drawings and specific embodiments. Figure 4 A flowchart of a network topology structure acquisition method provided by the embodiment of the present application is applied to a host node in a distributed computing system based on algorithm network integration, wherein each node in the distributed computing system is a host node or a graphics processor node, the host node comprises a dynamic host configuration protocol server, and the network communication module dedicated to the graphics processor node is integrated with a dynamic host configuration protocol client, and the method comprises:

[0065] S10: In the case of receiving the dynamic host configuration protocol broadcast message sent by each dynamic host configuration protocol client, the internet protocol address is allocated to each dynamic host configuration protocol client.

[0066] Pre-stored in the dynamic host configuration protocol server are a plurality of internet protocol addresses.

[0067] The DHCP client in each GPU node automatically sends a DHCP broadcast message when the GPU node is powered on, and each GPU node obtains the IP address of the node in the network with the assistance of the DHCP server in the background service program of the host node. It should be noted that the IP address allocated to the GPU by the DHCP server is determined according to the lease, so that the IP address of the current GPU node changes or remains unchanged. However, as long as the IP addresses corresponding to different GPU nodes at the same time are different, it is acceptable.

[0068] S11: Receiving information sent by each dynamic host configuration protocol client; wherein the information at least includes an internet protocol address and a unique code of each graphics processor node.

[0069] After each GPU node obtains the IP address of the node in the network, it automatically sends information containing the IP address of the current GPU node to the background service program, and the host receives the information sent by each DHCP client. In addition to the IP address of the current GPU node, the information also contains the unique code (Identity Document, ID) of the current GPU node.

[0070] S12: Establishing a node table according to the information sent by each dynamic host configuration protocol client.

[0071] S13: Sending the node table to each graphics processor node, so that each graphics processor node determines the network topology in the distributed computing system according to the node table.

[0072] After obtaining the information sent by each dynamic host configuration protocol client, the information is stored in the background service program. According to the information sent by each DHCP client, a node table such as ID-IP is established. In addition, in order to intuitively understand the state of each GPU node according to the node table and facilitate resource request, allocation, etc. according to the node table, in the implementation, the node table can contain the state of each GPU node in addition to ID-IP.

[0073] Specifically, establishing a node table according to the information sent by each dynamic host configuration protocol client includes:

[0074] According to the information sent by each dynamic host configuration protocol client, the state information of the graphics processor node corresponding to each dynamic host configuration protocol client is determined.

[0075] According to the information sent by each dynamic host configuration protocol client and the state information of each graphic processor node, a node table is established.

[0076] Table 1 is a GPU node table provided by an embodiment of the present application, as shown in Table 1, the GPU node table contains the ID, corresponding IP and corresponding GPU state of each GPU. In practice, in addition to the information of the ID, IP and GPU state of the GPU, the node table can also contain other information of the GPU, which is not limited.

[0077] Table 1 GPU node table

[0078] GPU ID GPU IP GPU status GPU ID1 GPU IP1 GPU status GPU ID2 GPU IP2 GPU status … … … GPU IDN GPU IPN GPU status

[0079] After the node table is established, the node table is sent to each graphic processor node, and within a time range, if the IP address or other information corresponding to the ID of a certain GPU node in the node table changes, the host node will send information to all other GPU nodes to update the node table in other GPU nodes, and when a certain GPU node needs to communicate with other nodes, the corresponding IP address can be quickly found according to the ID of the other party.

[0080] The network topology acquisition method provided by the embodiment of the present application is applied to a host node in a distributed computing system based on algorithm network integration. In the method, the dynamic host configuration protocol client integrated in the network communication module dedicated to each graphic processor node obtains the internet protocol address of the corresponding graphic processor node from the pre-stored multiple internet protocol addresses of the host node, and sends information containing the obtained internet protocol address of the graphic processor node to the host node, thereby realizing the automatic registration of each graphic processor node in the network of the distributed computing system, and through the node table established by the host node according to the information sent by each dynamic host configuration protocol client, each graphic processor node can determine the network topology in the distributed computing system according to the node table, without relying on the central processor connected to the graphic processor to realize the registration of the graphic processor on the network, thereby improving the flexibility and scalability of the network topology. Secondly, each node in the distributed computing system provided by the embodiment is a host node or a graphic processor node, that is, one node is a host node or a graphic processor node, thereby realizing the decoupling of the graphic processor and the host to which the graphic processor belongs, and each graphic processor node has a dedicated network communication module, thereby eliminating the limitation of the network topology caused by the physical binding of PCIe and the host CPU. In addition, through the unique identification of the graphic processor node, the internet protocol address of each graphic processor node can be quickly found in the node table according to the unique code, thereby improving the efficiency of the self-networking of each graphic processor node.

[0081] In order to establish a reliable link, the traditional method is to use the Transmission Control Protocol (TCP). However, due to the complexity of the TCP protocol, implementing the functions of the protocol on hardware will consume a large amount of FPGA resources, and the delay on the data path is higher compared with the User Datagram Protocol (UDP). Therefore, in the present embodiment, a protocol based on the User Datagram Protocol, i.e. the RLTL protocol described above, is used to improve the transmission efficiency of the iRDMA module under the UDP network.

[0082] The information sent by each dynamic host configuration protocol client includes:

[0083] The information encapsulated by each dynamic host configuration protocol client through the protocol based on the User Datagram Protocol; wherein the protocol based on the User Datagram Protocol is a protocol set in the data content of the User Datagram Protocol, and the protocol based on the User Datagram Protocol at least includes an initial source unique code, a target source unique code, a data transmission length, and a checksum;

[0084] Correspondingly, the node table is established according to the information sent by each dynamic host configuration protocol client, including:

[0085] The information encapsulated by each dynamic host configuration protocol client through the protocol based on the User Datagram Protocol is parsed and the parsed information is obtained;

[0086] The node table is established according to the parsed information.

[0087] The RLTL protocol provides the necessary functions to achieve reliable transmission, including timeout / reordering retransmission, flow control, and congestion management. Figure 5 A schematic diagram of the position and component parts of a RLTL protocol provided by an embodiment of the present application in the entire network protocol stack is shown in Figure 1. Figure 5As shown, the RLTL protocol is in the data content (AYLOADP) of the UDP protocol, that is, it is an application layer protocol. It contains fields such as frame type, frame number, flags, source ID (src id), destination ID (dest addr), transfer length, and cyclic redundancy check (CRC) checksum. The frame type is used to distinguish the main function of the frame, such as DHCP request of the GPU node, data transfer between nodes, instruction control between nodes, data response, etc. The source ID and destination ID represent the unique identification of the sender node and the receiver node of the frame (the ID information of the node is fixed). When the function of the frame is to transfer data, the source address and the destination address represent the source address and the destination address of the data. The CRC checksum provides error checking function.

[0088] After each graphics processor node obtains the IP address of the node in the network, the node finally sends a FINAL message encapsulated using the RLTL protocol to the background service program. The RLTL protocol of the message contains a series of information such as the unique ID of the node, which is stored in the background service program together with the IP address in the IP header, to complete the automatic registration in the network.

[0089] In the entire network, there is a server as the running host of the background service program. The background service program automatically receives the DHCP registration information and the FINAL message of all GPU nodes in the network, analyzes the information, and updates a node table in real time according to the information. The node table contains the ID information and the corresponding IP address of each GPU node in the network.

[0090] In the method provided in the embodiment, the RLTL protocol improves the transmission efficiency of the iRDMA module under the UDP network and realizes reliable transmission of data.

[0091] In implementation, the distributed computing system includes multiple host nodes. In the entire network, there is usually a server as the running host of the background service program. Therefore, in the embodiment, the host running the background service program is referred to as a target host node, and the remaining host nodes are referred to as ordinary host nodes. Before the internet protocol address is allocated to each dynamic host configuration protocol client, the method further includes:

[0092] The target host node is selected from the multiple host nodes, so as to execute the steps of the network topology acquisition method in the target host node; wherein the target host node is an internet protocol address unchanged host node;

[0093] Obtaining an Internet Protocol address corresponding to the target host node;

[0094] Sending the Internet Protocol address corresponding to the target host node to a normal host node; the normal host node is a remaining host node except the target host node in the host nodes.

[0095] Figure 6 A schematic diagram of a network topology discovery process of a communication-independent distributed heterogeneous computing system provided by an embodiment of the present application is shown in FIG. 1, which includes a preparation stage (a first stage), a power-on stage (a second stage), and a working stage (a third stage). Figure 6

[0096] For the target host node running the background service program, in the preparation stage, the background service program as a DHCP server needs to be started in advance in a certain host node, and the IP address of the host node is generally not changed. In addition, through one-time configuration, the IP address of the host node running the background service program is explicitly indicated to other host nodes, so that other host nodes request the address information of the GPU nodes in the network from the background service program in the later operation.

[0097] In the power-on stage (the second stage), the DHCP client in all GPU nodes automatically completes the acquisition of the IP address of the node and the registration on the network through the DHCP protocol and the FINAL message (packaged and encapsulated by the RLTL Protocol Engine). This operation depends not only on the conventional DHCP protocol, but also mainly on the frame type field and the source ID field of the RLTL protocol encapsulated in the FINAL message. The frame type field indicates that the message is a FINAL message, and the source ID field gives the unique identity ID of the GPU node sending the message. At the same time, the background service program completes the handshake operation of the DHCP protocol by means of the conventional network protocol stack (Network Protocol Stack). Since the RLTL protocol is a user layer custom protocol, the background service program will call the management library capable of analyzing and encapsulating the RTLT protocol to process the received information to understand the intention of the sender. For the FINAL information, it will obtain the ID-IP address pair information of all GPU nodes in the network. Then, the background service program will maintain a state information for each GPU node, which represents some state information of the GPU node, such as the GPU node is available, the GPU node is busy, the GPU node is unavailable, etc., and finally completes the network topology structure discovery.

[0098] ​After the power-on stage, a working stage (third stage) is entered, and the working stage has different tasks for different nodes. Therefore, after the node table is sent to each graphics processor node, the following is further included:

[0099] In the case of receiving a dynamic host configuration protocol broadcast message sent by a new dynamic host configuration protocol client, an internet protocol address is allocated to the new dynamic host configuration protocol client.

[0100] Receiving information sent by a new dynamic host configuration protocol client.

[0101] Updating each node table in a target graphics processor node to a node table containing new graphics processor node information corresponding to the new dynamic host configuration protocol client according to the information sent by the new dynamic host configuration protocol client; wherein the target graphics processor node is all graphics processor nodes or part of the graphics processor nodes.

[0102] a) For the host node running the background service program, the node will be monitored in real time in the working stage to add the information of the newly added GPU node in the network (that is, some GPU nodes will join the network after the entire network has completed the power-on and other initialization processes).

[0103] In implementation, to avoid network congestion, updating each node table in a target graphics processor node to a node table containing new graphics processor node information corresponding to the new dynamic host configuration protocol client according to the information sent by the new dynamic host configuration protocol client includes:

[0104] Since the information sent by the new dynamic host configuration protocol client is started to be received, if the information sent by the new dynamic host configuration protocol client is received multiple times within a first preset time period, the information sent by the new dynamic host configuration protocol client received within a second preset time period is obtained from the moment when the first preset time period ends.

[0105] Updating each node table in a target graphics processor node to a node table containing new graphics processor node information corresponding to the new dynamic host configuration protocol client according to the information sent by the new dynamic host configuration protocol client within the first preset time period and the information sent by the new dynamic host configuration protocol client within the second preset time period.

[0106] The first preset time period and the second preset time period are not limited. In this embodiment, multiple changes in the node table within a short period of time will not be synchronized multiple times, but the total changes within a period of time will be synchronized once to avoid network congestion.

[0107] b) For GPU nodes, in the working stage, each GPU node will save the change information parsed by the RLTL Protocol Engine in the node table in the node if it receives a synchronization update message (identified by the frame type field of the RLTL protocol) from the background service program.

[0108] In implementation, further comprising:

[0109] Obtaining a user datagram protocol encapsulated data packet sent by the general host node; wherein the data packet at least contains the number of requested GPU nodes, and information of the general host node;

[0110] Determining a data packet to be returned to the general host node according to the parsed content of the data packet and the state information of the GPU nodes; wherein the data packet to be returned at least contains the Internet protocol address of the GPU nodes and the unique code corresponding to the Internet protocol address;

[0111] Sending the data packet to be returned to the general host node.

[0112] After sending the data packet to be returned to the general host node, further comprising:

[0113] Updating the node table in the target host node according to the data packet to be returned and obtaining the updated node table.

[0114] The tasks of the working node target host node are described in a) above, and the tasks of the GPU nodes are described in b) above. In this embodiment, the tasks performed by the general host node in the working stage are as follows:

[0115] c) For a general host node, when the user of the host node needs to apply for a certain number of GPU node resources for calculation, the host node will send a RLTL protocol encapsulated packet to the IP address of the background service program according to the IP address of the background service program configured in the configuration stage. The frame type field of the RLTL protocol indicates the intention of the general node, i.e. requesting a certain number of GPU node resources (assuming N), and the source IP address in the IP protocol indicates the information of the request source to the background service program.

[0116] The background service program will return a RLTL protocol encapsulated packet to the host of the request source node. The payload field of the RLTL protocol of the packet stores the information of N GPU nodes in a certain format, including the IDs of N devices, the IP addresses corresponding to the IDs of N devices, etc. The background service program will also update the state information of the corresponding GPU nodes stored in the node to indicate that these GPU nodes have been used and occupied by the object to prevent being applied by other hosts.

[0117] In the method provided by the embodiment of the application, the functions of encapsulating and analyzing the self-defined RLTL protocol (located in the user layer) are integrated in the background service program of the upper host and the GPU hardware, so that the reliable transmission under the UDP protocol is realized, and the deployment is highly compatible with the existing mainstream network protocol stack.

[0118] By using the ID field of the self-defined RLTL protocol, the unique identity of each GPU node in the range is realized, and the identity is one-to-one corresponding to the IP address allocated by the DHCP server of the upper host for the GPU node, so that the IP address is quickly looked up.

[0119] By integrating the power-on self-starting DHCP client in the network communication module dedicated to the GPU, cooperating with the background service program of the upper host, the RLTL analysis engine at the GPU end and the node table, each GPU computing engine has the ability of completely independent communication in the network, and can be freely networked in the form of a single GPU computing engine, so that the limitation of the network topology caused by the physical binding with the CPU host through the PCIe is eliminated.

[0120] The network topology structure acquisition method applied to the host node is described above, and the embodiment also provides a network topology structure acquisition method applied to each graphics processor node. The network topology structure acquisition method provided by the embodiment is applied to each graphics processor node in a distributed computing system based on algorithm network integration, wherein each node in the distributed computing system is a host node or a graphics processor node, the host node contains a dynamic host configuration protocol server, and a dynamic host configuration protocol client is integrated in the network communication module dedicated to the graphics processor node. The method comprises the following steps:

[0121] A dynamic host configuration protocol broadcast message is sent to the host node.

[0122] An internet protocol address allocated by the host node is acquired; wherein a plurality of internet protocol addresses are pre-stored in the dynamic host configuration protocol server.

[0123] Information is sent to the host node by the dynamic host configuration protocol client; wherein the information at least includes the internet protocol address and the unique code corresponding to each graphics processor node.

[0124] A node table sent by the host node is acquired; wherein the node table is established by the host node according to the information sent by each dynamic host configuration protocol client.

[0125] The network topology structure of the distributed computing system is determined according to the node table.

[0126] The network topology acquisition method applied to each graphics processor node provided in the embodiment has the same or corresponding technical features as the network topology acquisition method applied to the host node described above, and the network topology acquisition method applied to the host node has been described in detail above. Therefore, the embodiment of the network topology acquisition method applied to each graphics processor node will not be described here again, and has the same beneficial effects as the network topology acquisition method applied to the host node mentioned above.

[0127] In the above embodiment, the network topology acquisition method is described in detail, and the application also provides corresponding embodiments of the network topology acquisition device and the network topology acquisition equipment. It should be noted that the application describes the embodiments of the device part from two angles, one is based on the functional module, and the other is based on the hardware.

[0128] The embodiment provides a network topology acquisition device applied to a host node in a distributed computing system based on network convergence, wherein each node in the distributed computing system is a host node or a graphics processor node, the host node comprises a dynamic host configuration protocol server, and a network communication module exclusive to the graphics processor node is integrated with a dynamic host configuration protocol client. Figure 7 The network topology acquisition device provided in the embodiment of the application is shown in the structural diagram. The embodiment is based on the functional module and comprises the following.

[0129] The allocation module 10 is configured to allocate an Internet protocol address to each dynamic host configuration protocol client when receiving a dynamic host configuration protocol broadcast message sent by each dynamic host configuration protocol client, wherein the dynamic host configuration protocol server is pre-stored with a plurality of Internet protocol addresses.

[0130] The receiving module 11 is configured to receive information sent by each dynamic host configuration protocol client, wherein the information at least comprises an Internet protocol address and a unique code corresponding to each graphics processor node.

[0131] The establishment module 12 is configured to establish a node table according to the information sent by each dynamic host configuration protocol client.

[0132] The sending module 13 is configured to send the node table to each graphics processor node respectively, so that each graphics processor node determines the network topology in the distributed computing system according to the node table.

[0133] Since the embodiments of the device part correspond to the embodiments of the method part, the embodiments of the device part are described in the description of the embodiments of the method part, which will not be described here again, and the effects are the same as above.

[0134] The receiving module 11 comprises:

[0135] The first receiving module is configured to receive information encapsulated by each dynamic host configuration protocol client through a protocol based on a user datagram protocol; the protocol based on the user datagram protocol is a protocol set in data content of the user datagram protocol, and the protocol based on the user datagram protocol at least includes an initial source unique code, a target source unique code, a data transmission length, and a check sum;

[0136] The establishing module 12 comprises:

[0137] The parsing and obtaining module is configured to parse the information encapsulated by each dynamic host configuration protocol client through the protocol based on the user datagram protocol and obtain the parsed information;

[0138] The first establishing module is configured to establish a node table according to the parsed information.

[0139] The establishing module 12 comprises:

[0140] The first determining module is configured to determine state information of a graphic processor node corresponding to each dynamic host configuration protocol client according to the information sent by each dynamic host configuration protocol client;

[0141] The second establishing module is configured to establish a node table according to the information sent by each dynamic host configuration protocol client and the state information of each graphic processor node.

[0142] The distributed computing system comprises a plurality of host nodes; and further comprises:

[0143] The selecting module is configured to select a target host node from the plurality of host nodes, so as to execute steps of the network topology structure obtaining method in the target host node; the target host node is a host node with an unchanged internet protocol address;

[0144] The first obtaining module is configured to obtain an internet information protocol address corresponding to the target host node;

[0145] The first sending module is configured to send the internet protocol address corresponding to the target host node to a normal host node; the normal host node is a remaining host node except the target host node in the host nodes.

[0146] Further comprising:

[0147] The allocating module is configured to allocate an internet protocol address to a new dynamic host configuration protocol client in a case that a dynamic host configuration protocol broadcast message sent by the new dynamic host configuration protocol client is received;

[0148] The second receiving module is configured to receive information sent by the new dynamic host configuration protocol client.

[0149] The updating module is configured to update each node table in the target GPU node to a node table containing new GPU node information corresponding to the new DHCP client according to the information sent by the new DHCP client; wherein the target GPU node is all GPU nodes or part of the GPU nodes.

[0150] The updating module comprises:

[0151] The second obtaining module is configured to, since the information sent by the new DHCP client is started to be received, if the information sent by the new DHCP client is received for multiple times within a first preset time length, obtain the information sent by the new DHCP client received within a second preset time length starting from the time when the first preset time length ends.

[0152] The first updating module is configured to update each node table in the target GPU node to a node table containing new GPU node information corresponding to the new DHCP client according to the information sent by the new DHCP client within the first preset time length and the information sent by the new DHCP client within the second preset time length.

[0153] Further comprising:

[0154] The third obtaining module is configured to obtain a data packet encapsulated by a protocol based on a user datagram protocol and sent by the general host node; wherein the data packet at least contains the number of GPU nodes to be requested and the information of the general host node.

[0155] The second determining module is configured to determine the data packet to be returned to the general host node according to the content of the parsed data packet and the state information of the GPU node; wherein the data packet to be returned at least includes the Internet protocol address of the GPU node and the unique code corresponding to the Internet protocol address.

[0156] The second sending module is configured to send the data packet to be returned to the general host node.

[0157] Further comprising:

[0158] The second updating module is configured to update the node table located in the target host node according to the data packet to be returned and obtain the updated node table.

[0159] The embodiment also provides a network topology acquisition device, which is applied to each graphic processor node in a distributed computing system based on algorithm network fusion, wherein each node in the distributed computing system is a host node or a graphic processor node, the host node contains a dynamic host configuration protocol server, and a dynamic host configuration protocol client is integrated in a network communication module of the graphic processor node, and the device comprises:

[0160] A third sending module is configured to send a dynamic host configuration protocol broadcast message to the host node.

[0161] A fourth acquisition module is configured to acquire an internet protocol address allocated by the host node, wherein a plurality of internet protocol addresses are pre-stored in the dynamic host configuration protocol server.

[0162] A fourth sending module is configured to send information to the host node through the dynamic host configuration protocol client, wherein the information at least comprises the internet protocol address and a unique code corresponding to each graphic processor node.

[0163] A fifth acquisition module is configured to acquire a node table sent by the host node, wherein the node table is established by the host node according to the information sent by each dynamic host configuration protocol client.

[0164] A third determination module is configured to determine the network topology of the distributed computing system according to the node table.

[0165] The network topology acquisition device provided by the embodiment has the same or corresponding technical features and effects as the network topology acquisition method described above.

[0166] Figure 8 A structural diagram of a network topology acquisition device provided by another embodiment of the present application is shown in the figure. Figure 8 As shown in the figure, the network topology acquisition device comprises:

[0167] A memory 20 is configured to store a computer program.

[0168] A processor 21 is configured to implement the steps of the network topology acquisition method mentioned in the above embodiment when executing the computer program.

[0169] The processor 21 can include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 21 can be implemented in at least one of a hardware form of a digital signal processor (DSP), an FPGA, a programmable logic array (PLA). The processor 21 can also include a main processor and a coprocessor, the main processor being a processor for processing data in an awake state, also known as a CPU; the coprocessor being a low-power processor for processing data in a standby state. In some embodiments, the processor 21 can be integrated with a GPU, which is responsible for rendering and drawing the content required to be displayed by the display screen. In some embodiments, the processor 21 can also include an artificial intelligence (AI) processor, which is used to process computing operations related to machine learning.

[0170] The memory 20 can include one or more computer-readable storage media, which can be non-transitory. The memory 20 can also include a high-speed random access memory, and a nonvolatile memory such as one or more disk storage devices, flash storage devices. In this embodiment, the memory 20 is at least used to store the following computer program 201, wherein the computer program is loaded and executed by the processor 21, and can implement the related steps of the network topology acquisition method disclosed in any of the preceding embodiments. In addition, the resources stored by the memory 20 can also include an operating system 202 and data 203, etc., and the storage mode can be temporary storage or permanent storage. The operating system 202 can include Windows, Unix, Linux, etc. The data 203 can include but is not limited to the data involved in the network topology acquisition method mentioned above.

[0171] In some embodiments, the network topology acquisition device can also include a display screen 22, an input / output interface 23, a communication interface 24, a power supply 25, and a communication bus 26.

[0172] Those skilled in the art can understand that the structure shown in the above Figure 8 The structure shown in the above does not constitute a limitation on the network topology acquisition device, and can include more or fewer components than those shown in the figure.

[0173] The network topology acquisition device provided by the embodiments of the present application includes a memory and a processor, and the processor can implement the following method when executing the program stored in the memory: the network topology acquisition method, and the effect is the same as above.

[0174] Finally, the application also provides a computer readable storage medium corresponding embodiment. The computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement the steps in the above method embodiments (which can be the method corresponding to the host node side, or the method corresponding to the graphics processor node side, or the method corresponding to the host node side and the graphics processor node side).

[0175] It can be understood that if the method in the above embodiments is implemented in the form of a software function unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application essentially or the part that contributes to the prior art or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and executes all or part of the steps of the methods described in various embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk or an optical disk, and various media that can store program codes.

[0176] The computer readable storage medium provided by the application includes the network topology acquisition method mentioned above, and the effect is the same as above.

[0177] The network topology acquisition method, device, equipment and medium provided by the application are described in detail above. The embodiments in the specification are described in a progressive manner, and each embodiment mainly describes the difference from other embodiments. The same or similar parts of each embodiment can be referred to. For the device disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple, and the related parts can be referred to the method part. It should be pointed out that for ordinary skilled in the art, without departing from the principles of the present application, the present application can be improved and modified in several ways, and these improvements and modifications also fall within the protection scope of the claims of the present application.

[0178] It also needs to be explained that in the present specification, the relational terms such as first and second and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises", "comprising", or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by "comprises... a" does not, without more constraints, exclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element.

Claims

1. A network topology acquisition method characterized by comprising: The application discloses a network topology structure acquisition method applied to a host node in a distributed computing system based on algorithm network fusion, wherein each node in the distributed computing system is the host node or a graphic processor node, a dynamic host configuration protocol server is contained in the host node, a dynamic host configuration protocol client is integrated in a network communication module of the graphic processor node, and the method comprises the following steps: In the case that the dynamic host configuration protocol broadcast messages sent by each dynamic host configuration protocol client are received, an internet protocol address is allocated to each dynamic host configuration protocol client; wherein a plurality of internet protocol addresses are pre-stored in the dynamic host configuration protocol server; Information sent by each dynamic host configuration protocol client is received; wherein the information at least comprises the internet protocol address and a unique code corresponding to each graphic processor node; A node table is established according to the information sent by each dynamic host configuration protocol client; The node table is sent to each graphic processor node respectively, so that each graphic processor node determines the network topology structure in the distributed computing system according to the node table.

2. The network topology acquisition method according to claim 1, characterized in that, The information sent by each dynamic host configuration protocol client is received, which comprises the following steps: The information encapsulated by each dynamic host configuration protocol client through a user datagram protocol-based protocol is received; wherein the user datagram protocol-based protocol is a protocol set in the data content of the user datagram protocol, and the user datagram protocol-based protocol at least comprises an initial source unique code, a target source unique code, a data transmission length and a check sum; Correspondingly, the node table is established according to the information sent by each dynamic host configuration protocol client, which comprises the following steps: The information encapsulated by each dynamic host configuration protocol client through the user datagram protocol-based protocol is parsed and the parsed information is obtained; The node table is established according to the parsed information.

3. The network topology acquisition method according to claim 2, characterized in that, The node table is established according to the information sent by each dynamic host configuration protocol client, which comprises the following steps: The state information of the graphic processor node corresponding to each dynamic host configuration protocol client is determined according to the information sent by each dynamic host configuration protocol client; The node table is established according to the information sent by each dynamic host configuration protocol client and the state information of each graphic processor node.

4. The network topology acquisition method according to claim 2 or 3, characterized by, The distributed computing system comprises a plurality of host nodes; Before the internet protocol address is allocated to each dynamic host configuration protocol client, the following steps are further included: A target host node is selected from the plurality of host nodes, so that the steps of the network topology structure acquisition method are executed in the target host node; wherein the target host node is the host node with an unchanged internet protocol address; The internet protocol address corresponding to the target host node is obtained; The internet protocol address corresponding to the target host node is sent to a common host node; wherein the common host node is the remaining host node except the target host node in the host nodes.

5. The network topology acquisition method according to claim 4, characterized in that, after sending the node table to each of the graphic processor nodes respectively, further comprising: in case of receiving a dynamic host configuration protocol broadcast message sent by a new dynamic host configuration protocol client, allocating the internet protocol address to the new dynamic host configuration protocol client; receiving information sent by a new dynamic host configuration protocol client; updating each of the node tables in the target graphic processor nodes to a node table containing new graphic processor node information corresponding to the new dynamic host configuration protocol client according to the information sent by the new dynamic host configuration protocol client; wherein the target graphic processor nodes are all the graphic processor nodes or part of the graphic processor nodes in all the graphic processor nodes.

6. The network topology acquisition method according to claim 5, wherein the updating each of the node tables in the target graphic processor nodes to a node table containing new graphic processor node information corresponding to the new dynamic host configuration protocol client according to the information sent by the new dynamic host configuration protocol client comprises: starting from the moment when the first preset time length ends, obtaining the information sent by the new dynamic host configuration protocol client received in the second preset time length; updating each of the node tables in the target graphic processor nodes to a node table containing the new graphic processor node information corresponding to the new dynamic host configuration protocol client according to the information sent by the new dynamic host configuration protocol client in the first preset time length and the information sent by the new dynamic host configuration protocol client in the second preset time length.

7. The network topology acquisition method of claim 4, wherein, further comprising: obtaining the user datagram protocol-based protocol encapsulated data packet sent by the general host node; wherein the data packet at least contains the number of graphic processor nodes to be requested, the information of the general host node; determining the data packet to be returned to the general host node according to the content of the parsed data packet and the state information of the graphic processor nodes; wherein the data packet to be returned at least includes the internet protocol address of the graphic processor node and the unique code corresponding to the internet protocol address; sending the data packet to be returned to the general host node.

8. The network topology acquisition method according to claim 7, wherein, after sending the data packet to be returned to the general host node, further comprising: updating the node table in the target host node according to the data packet to be returned and obtaining the updated node table.

9. A network topology acquisition method characterized by comprising: applied to each graphic processor node in a distributed computing system based on algorithm network fusion, wherein each node in the distributed computing system is a host node or a graphic processor node, the host node contains a dynamic host configuration protocol server, and the network communication module of the graphic processor node is integrated with a dynamic host configuration protocol client, and the method comprises: sending a dynamic host configuration protocol broadcast message to the host node; obtain an internet protocol address assigned by the host node; wherein the dynamic host configuration protocol server has pre-stored a plurality of the internet protocol addresses; send information to the host node through the dynamic host configuration protocol client; wherein the information at least includes the internet protocol address and a unique code corresponding to each of the graphic processor nodes; obtain a node table sent by the host node; wherein the node table is established by the host node according to the information sent by each of the dynamic host configuration protocol clients; determine the network topology structure in the distributed computing system according to the node table.

10. A network topology acquisition apparatus characterized by comprising: The application is applied to a host node in a distributed computing system based on algorithm network fusion, wherein each node in the distributed computing system is the host node or a graphic processor node, the host node contains a dynamic host configuration protocol server, a network communication module in the graphic processor node is integrated with a dynamic host configuration protocol client, and the host node comprises: a distribution module, which is used for distributing an internet protocol address to each of the dynamic host configuration protocol clients when receiving a dynamic host configuration protocol broadcast message sent by each of the dynamic host configuration protocol clients; wherein the dynamic host configuration protocol server has pre-stored a plurality of the internet protocol addresses; a receiving module, which is used for receiving information sent by each of the dynamic host configuration protocol clients; wherein the information at least includes the internet protocol address and a unique code corresponding to each of the graphic processor nodes; an establishing module, which is used for establishing a node table according to the information sent by each of the dynamic host configuration protocol clients; a sending module, which is used for sending the node table to each of the graphic processor nodes so as to make each of the graphic processor nodes determine the network topology structure in the distributed computing system according to the node table.

11. A network topology acquisition device, characterized by comprising: comprise: a memory, which is used for storing a computer program; a processor, which is used for executing the computer program to realize the steps of the network topology structure obtaining method according to any one of claims 1 to 9.

12. A computer-readable storage medium, characterized in that, The computer readable storage medium has stored a computer program, and the computer program is executed by the processor to realize the steps of the network topology structure obtaining method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Business scheduling method, apparatus and device, and readable storage medium

    CN110389843A

  • Topology aware grouping and provisioning of GPU resources in GPU-as-a-Service platform

    US10325343B1