Intelligent computing network topology awareness system, and related method and product

Through the intelligent computing network topology perception system, the producer module, message queue cluster and protocol converter are used to solve the problem that NCCL cannot summarize network topology information, and the generation and processing of global network topology information is realized, which has important monitoring and self-healing significance.

CN119743398AActive Publication Date: 2025-04-01CHINA TELECOM CLOUD TECH CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
CN202411695378.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-25
Publication Date
2025-04-01
Estimated Expiration
2044-11-25

AI Technical Summary

Technical Problem

When NCCL builds a network topology structure, it is impossible to summarize information through Allgather and store it into the ncclPeerInfo array, resulting in dispersed network topology information and cannot be effectively integrated and processed.

Method used

A smart computing network topology awareness system is designed, including producer modules, message queue clusters and protocol converters. The producer module collects the stand-alone network topology information generated by each node and uploads it to the message queue cluster. The message queue cluster is stored and provided to the protocol converter. The protocol converter generates global network topology information based on the stand-alone network topology information.

Benefits of technology

Through this system, it can solve the problem that intelligent computing network topology cannot be visualized globally, which is of great significance to monitoring, alarm, path selection and self-healing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119743398A_ABST
    Figure CN119743398A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an intelligent computing network topology sensing system and a related method and product, the intelligent computing network topology sensing system comprises a producer module, a message queue cluster and a protocol converter; wherein the producer module is used for collecting single-machine network topology information generated by each node and uploading the single-machine network topology information to the message queue cluster; the message queue cluster is used for receiving the single-machine network topology information and storing the single-machine network topology information; providing the single-machine network topology information to a protocol converter; and the protocol converter is used for generating global network topology information according to the single-machine network topology information. Through the embodiment of the invention, the problem that the topology of the intelligent computing network cannot be globally visualized can be solved, and the method has important significance on monitoring, alarming, routing and self-healing of the intelligent computing network.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of network topology, and in particular to an intelligent network topology perception system, a method for generating global network topology information, an electronic device and a computer-readable storage medium. Background Art

[0002] Collective communication in NCCL (NVIDIA Collective Communication Library) is based on channels, and each channel maintains a ncclComm structure. The ncclPeerInfo array in the structure is used to store information about neighboring nodes.

[0003] During the initialization of ncclComm, NCCL will completely build the local network topology by recursive traversal and persist it in the form of XML (eXtensible Markup Language) files.

[0004] However, NCCL does not aggregate this information through Allgather and store it in the ncclPeerInfo array, which causes the network topology information to be scattered on various computing nodes and cannot be effectively integrated and processed. Summary of the invention

[0005] In view of the above problems, an intelligent network topology perception system, a method for generating global network topology information, an electronic device and a computer-readable storage medium are proposed to overcome the above problems or at least partially solve the above problems, including:

[0006] An intelligent computing network topology perception system, comprising: a producer module, a message queue cluster and a protocol converter; wherein:

[0007] The producer module is used to collect the stand-alone network topology information generated by each node and upload the stand-alone network topology information to the message queue cluster;

[0008] The message queue cluster is used to receive the single-machine network topology information and store the single-machine network topology information; and provide the single-machine network topology information to the protocol converter;

[0009] The protocol converter is used to generate global network topology information according to the single-machine network topology information.

[0010] Optionally, the single-machine network topology information is an extensible markup language file;

[0011] The producer module is used to read the content of the single-machine network topology information, convert the read content into a binary stream, and upload it to the message queue cluster.

[0012] Optionally, the message queue cluster is used to receive content converted into a binary stream and read from the single-machine network topology information.

[0013] Optionally, the protocol converter includes:

[0014] A message processing module, used for receiving the content converted into a binary stream and read from the single-machine network topology information, and converting the content into the single-machine network topology information of an extensible markup language file;

[0015] The data serialization module is used to generate global network topology information according to the single-machine network topology information of the extensible markup language file.

[0016] Optionally, the data serialization module is used to generate global network topology information of a YAML file according to the single-machine network topology information of an extensible markup language file.

[0017] Optionally, the data serialization module is used to deserialize the single-machine network topology information of the extensible markup language file into an XML object tree and initialize a Graph object; traverse the XML object tree to form a mapping relationship between the XML object tree and the Node object; and generate the global network topology information of the YAML file based on the mapping relationship.

[0018] Optionally, the data serialization module is used to read the single-machine network topology information of the extensible markup language file to obtain the Node object; and, by integrating the parameters of adjacent Nodes and the connection type, obtain the Path object; and generate the global network topology information of the YAML file based on the Node object and the Path object.

[0019] The embodiment of the present invention further provides a method for generating global network topology information, which is applied to the intelligent computing network topology perception system as described above; the method comprises:

[0020] Obtain the single-machine network topology information generated by each node;

[0021] The global network topology information is generated according to the single-machine network topology information.

[0022] An embodiment of the present invention further provides an electronic device, comprising a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program implements the above method for generating global network topology information when executed by the processor.

[0023] An embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the method for generating global network topology information as described above is implemented.

[0024] The embodiments of the present invention have the following advantages:

[0025] In an embodiment of the present invention, an intelligent network topology perception system includes: a producer module, a message queue cluster and a protocol converter; wherein: the producer module is used to collect the single-machine network topology information generated by each node, and upload the single-machine network topology information to the message queue cluster; the message queue cluster is used to receive the single-machine network topology information and store the single-machine network topology information; and provide the single-machine network topology information to the protocol converter; the protocol converter is used to generate global network topology information based on the single-machine network topology information.

[0026] Through the embodiments of the present invention, the problem that the topology of the intelligent computing network cannot be globally visualized can be solved, which is of great significance to the monitoring, alarm, routing and self-healing of the intelligent computing network. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] In order to more clearly illustrate the technical solution of the present invention, the accompanying drawings required for use in the description of the present invention will be briefly introduced below. Obviously, the accompanying drawings in the following description are only some embodiments of the present invention. For ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without paying creative labor.

[0028] Figure 1 It is a structural diagram of an intelligent computing network topology perception system according to an embodiment of the present invention;

[0029] Figure 2 is a relationship diagram between delay and overhead according to an embodiment of the present invention;

[0030] Figure 3 is a flowchart of steps for generating global network topology information according to an embodiment of the present invention;

[0031] Figure 4 It is a structural diagram of another intelligent computing network topology perception system according to an embodiment of the present invention;

[0032] Figure 5 The present invention is a flowchart of a method for generating global network topology information according to an embodiment of the present invention. DETAILED DESCRIPTION

[0033] In order to make the above-mentioned purposes, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments. Obviously, the described embodiments are part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0034] Artificial Intelligence (AI), especially large-model AI, has been widely used in speech recognition, image processing, natural language processing and other fields due to its powerful learning and reasoning capabilities. However, as the scale of models continues to increase, the traditional single-machine computing mode can no longer meet the needs of training models. Therefore, the main training mode for large AI models is currently distributed computing. Different from single-machine computing, distributed computing significantly improves computing efficiency and performance by breaking down large-scale computing tasks into multiple subtasks and executing them in parallel on multiple intelligent computing nodes.

[0035] For large model training, each training requires hundreds or even thousands of GPUs (Graphics Processing Units) to participate in the calculation, forming a complex intelligent computing network. In this network, data transmission is one of the important expenses and also a key link.

[0036] In order to reduce the network overhead of the intelligent computing cluster, it is first necessary to clarify the communication topology between each node and GPU in the entire system, so that the algorithm can be used to implement intelligent task scheduling and communication link optimization, thereby improving data transmission efficiency. Therefore, establishing global topology awareness of the intelligent computing network is crucial for network optimization.

[0037] Currently, distributed computing of large models mainly relies on NCCL as the underlying communication library. NCCL provides a variety of optimized collective communication operations, which can achieve efficient data transmission and synchronization between multiple machines and multiple GPUs. The library supports various communication modes, including Allreduce, Allgather, Broadcast, etc.

[0038] However, NCCL mainly relies on Remote Direct Memory Access (RDMA) technology for data communication between multiple computing nodes. This implementation still has some problems in terms of global topology awareness of intelligent computing networks:

[0039] 1. Unable to perceive the overall topology:

[0040] Collective communication in NCCL is based on channels, and each channel maintains a ncclComm structure. The ncclPeerInfo array in the structure is used to store information about neighboring nodes.

[0041] During the initialization of ncclComm, NCCL will completely build the local network topology through recursive traversal and persist it in the form of XML files. However, NCCL does not aggregate this information through Allgather and store it in the ncclPeerInfo array, which causes the network topology information to be scattered on various computing nodes and cannot be effectively integrated and processed.

[0042] 2. Lack and redundancy of single-machine topology information:

[0043] NCCL provides the function of persisting single-machine topology information by configuring environment variables. The resulting file is a multi-layer XML file. Among them, XML nodes represent devices such as CPU (Central Processing Unit), PCIe (Peripheral Component Interconnect Express), GPU, NvLink, etc. The hierarchy between nodes represents the connection relationship between various devices. The protocol is as follows:

[0044] <system version="1">

[0045] <cpu numaid="g"affinity="0000,0000003f"arch="x86_64"

[0046] vendor="Intel"familyid="6"modelid="106">

[0047] <pci busid="0000:00:00.0"class="0x030200"vendor="0x10de"devi ce="0x20b0"

[0048] subsysten_vendor="0x10de"subsysten_device="0x134f" link_speed="16GT / s" link_width="16">

[0049] <gpu dev="0"sm="70"rank="o"gdr="1">

[0050]

[0051]

[0052]

[0053]

[0054] Among them: system version is the system version;

[0055] cpu numaid is an attribute that describes the CPU in the XML file, indicating the N UMA (Non-Uniform Memory Access) node ID of the CPU.

[0056] Affinity is an attribute that describes the CPU in the XML file, indicating the affinity of the CPU. Affinity refers to the association between the CPU and specific hardware resources (such as memory, I / O devices, etc.). By setting affinity, you can optimize system performance and ensure that specific tasks or processes run on specified CPU cores.

[0057] Arch is an attribute in the XML file that describes the CPU, indicating the CPU architecture type. The architecture type usually refers to the CPU instruction set architecture (Instruction Set Architecture, IS A), such as x86, x86_64, ARM, etc.

[0058] Vendor is an attribute in the XML file that describes the CPU, indicating the vendor of the CPU. The vendor usually refers to the company or organization that manufactures the CPU.

[0059] Familyid is an attribute in the XML file that describes the CPU, indicating the CPU's family ID. The family ID is a number used by CPU manufacturers to identify a specific CPU series.

[0060] modelid is an attribute in the XML file that describes the CPU, indicating the model ID of the CPU. The model ID is a number used by the CPU manufacturer to identify a specific CPU model.

[0061] PCI BusID refers to a unique identifier assigned to a PCI (Peripheral Component Interconnect) bus in a computer system. This identifier helps in uniquely identifying and addressing each PCI device on the bus.

[0062] The class tag is usually used to indicate the category or type of an element. This tag can help organize and classify the data in the XML document, making the data structure clearer and easier to manage.

[0063] The device tag is usually used to represent a device or hardware component. This tag can contain detailed information about the device, such as name, type, PCI BusID, description, etc. By using the device tag, you can clearly organize and represent the hardware device information in the system.

[0064] subsysten_vendor indicates the subsystem vendor of the device.

[0065] subsysten_device indicates the subsystem device identifier of the device.

[0066] link_speed indicates the bus speed to which the device is connected.

[0067] link_width indicates the bus width to which the device is connected.

[0068] gpu dev indicates the specific information of the GPU device.

[0069] sm represents the number of Streaming Multiprocessors of the GPU.

[0070] Gdr indicates whether the GPU supports GPUDirect RDMA (Remote Direct Memory Access).

[0071] Although this topology persistence method contains detailed node information, it still has many shortcomings from the perspective of intelligent computing network maintenance:

[0072] First, this topology method only emphasizes device parameters and lacks direct expression of parameters such as data link bandwidth and connected devices, which is not conducive to the subsequent extraction of topology network information;

[0073] Secondly, there is a lot of redundant information in XML nodes, such as the model of the device, specific classification identification, etc. This information is usually not needed during the operation and maintenance process;

[0074] In addition, XML files are deeply nested in complex system scenarios, making it difficult to quickly locate specific data or elements, increasing the complexity of subsequent parsing and processing.

[0075] In response to at least some of the above-mentioned problems, an embodiment of the present invention provides an intelligent computing network topology perception system, which can realize the collection and perception of the global intelligent computing network topology; through the embodiment of the present invention, the problem that the topology of the intelligent computing network cannot be globally visualized can be solved, which is of great significance to the monitoring, alarm, routing and self-healing of the intelligent computing network.

[0076] For details, please refer to Figure 1 , Figure 1 A structural schematic diagram of an intelligent computing network topology perception system according to an embodiment of the present invention is shown.

[0077] like Figure 1 As shown, the intelligent computing network topology perception system 10 may include: a producer module 110, a message queue cluster 120 and a protocol converter 130. Among them:

[0078] The producer module 110 is used to collect the single-machine network topology information generated by each node and upload the single-machine network topology information to the message queue cluster 120;

[0079] The message queue cluster 120 is used to receive the single-machine network topology information and store the single-machine network topology information; and provide the single-machine network topology information to the protocol converter 130;

[0080] The protocol converter 130 is used to generate global network topology information according to the single-machine network topology information.

[0081] The producer module 110 is responsible for collecting and uploading the single-machine network topology information generated by NCCL on the computing node; the message queue cluster 120 is responsible for forwarding files; and the protocol converter 130 is responsible for persisting the global topology according to the preset protocol.

[0082] Specifically, by configuring environment variables, an XML file recording the local network topology information, ie, the single-machine network topology information, can be generated during the NCCL initialization process of the computing node.

[0083] The producer module 110 may collect the stand-alone network topology information generated by each node from each node, and upload the stand-alone network topology information of each node to the message queue cluster 120 .

[0084] The single-machine network topology information may refer to information generated by a node and about neighboring nodes.

[0085] After obtaining the single-machine network topology information, the message queue cluster 120 may store it; in addition, the message queue cluster 120 may also provide the single-machine network topology information to the protocol converter 130 for conversion.

[0086] Exemplarily, the message queue cluster 120 may use a message queue middleware; options for the message queue middleware include: Kafka, RabbitMQ, or RocketMQ.

[0087] Taking Kafka as an example, the feasibility of this solution is confirmed by evaluating the performance overhead of file forwarding using Kafka. Sending a large number of XML files from the client's Producer to the server-side Kafka+Consumer simulates the scenario where thousands of computing nodes simultaneously send persistent files to the message queue of the control node in a very short period of time. The delay and overhead are as follows: Figure 2 shown.

[0088] On the server side, the main overhead is the CPU. As the data transmission rate (Transmition rate) on the sender side increases from 1fps to 1000fps, the file sending-receiving delay (Delay) from the client to the server stabilizes at around 340ms (the network delay is about 0.4ms). At the same time, the single-core forwarding CPU usage increased from 0.2% to 40%.

[0089] This scenario is a single-machine deployment. If a cluster deployment is used, the CPU overhead of a single core is expected to be further reduced. This result shows that the use of message queues can fully meet the real-time topology awareness requirements of thousands of computing nodes in large model training.

[0090] After obtaining the stand-alone network topology information of each node, the protocol converter 130 can generate global network topology information based on the stand-alone network topology information; wherein the global network topology information may include information of each node and contact information between each node, etc., which is not limited in the embodiment of the present invention.

[0091] In an embodiment of the present invention, the intelligent network topology perception system 10 includes: a producer module 110, a message queue cluster 120 and a protocol converter 130; wherein: the producer module 110 is used to collect the single-machine network topology information generated by each node, and upload the single-machine network topology information to the message queue cluster 120; the message queue cluster 120 is used to receive the single-machine network topology information and store the single-machine network topology information; and provide the single-machine network topology information to the protocol converter 130; the protocol converter 130 is used to generate global network topology information based on the single-machine network topology information.

[0092] Through the embodiments of the present invention, the problem that the topology of the intelligent computing network cannot be globally visualized can be solved, which is of great significance to the monitoring, alarm, routing and self-healing of the intelligent computing network.

[0093] In one embodiment of the present invention, the single-machine network topology information is an extensible markup language file;

[0094] The producer module 110 is used to read the content of the single-machine network topology information, convert the read content into a binary stream, and upload it to the message queue cluster 120.

[0095] In some feasible embodiments, the producer module 110 can be used to read file content from the single-machine network topology information, convert the read content into a binary stream, and upload it to the message queue cluster 120 of the control node.

[0096] In one embodiment of the present invention, the message queue cluster 120 is used to receive content converted into a binary stream and read from the single-machine network topology information.

[0097] In some feasible embodiments, the message queue cluster 120 may be used to receive content uploaded by the producer module 110 in the form of a binary stream or read from the single-machine network topology information.

[0098] In one embodiment of the present invention, the protocol converter 130 includes:

[0099] The message processing module 131 is used to receive the content converted into a binary stream and read from the single-machine network topology information, and convert it into the single-machine network topology information of an extensible markup language file;

[0100] The data serialization module 132 is used to generate global network topology information according to the single-machine network topology information in the extensible markup language file.

[0101] After receiving the content uploaded by the producer module 110 and read from the stand-alone network topology information in the form of a binary stream, the message processing module 131 may convert the content into the stand-alone network topology information in an extensible markup language file.

[0102] Exemplary, Extensible Markup Language file is a markup language used to store and transmit data. It is designed to structure, store and transmit information, and can be read by humans and machines. XML files are often used in scenarios such as configuration files, data exchange, and Web services.

[0103] A typical XML file usually contains the following parts:

[0104] XML declaration: located at the beginning of the file, used to specify the XML version and encoding. For example: <? xml version="1.0" encoding="UTF-8"? >;

[0105] Root element: An XML file must have a root element, which is the parent element of all other elements. For example: <rootelement>;

[0106] Sub-elements: The root element can contain multiple sub-elements, and sub-elements can be nested. For example: <childelement>;

[0107] Attributes: Elements can contain attributes, which are additional information about an element. For example:<element attribute="value"> ;

[0108] Text content: Elements can contain text content. For example: <element> Text content< / element> ;

[0109] Comment: Used to add comments in XML files, which will not be parsed. For example: <! --This is a comment-->.

[0110] After generating the single-machine network topology information of the extensible markup language file, the message processing module 131 may send the single-machine network topology information of the extensible markup language file to the data serialization module 132 for processing.

[0111] After receiving the single-machine network topology information of the extensible markup language file sent by the message processing module 131 , the data serialization module 132 may generate the global network topology information according to the single-machine network topology information of the extensible markup language file.

[0112] In one embodiment of the present invention, the data serialization module 132 is used to generate the global network topology information of the YAML file according to the single-machine network topology information of the extensible markup language file.

[0113] Specifically, the data serialization module 132 may generate the global network topology information of the YAML file according to the single-machine network topology information of the extensible markup language file.

[0114] Among them, the YAML (YAML Ain't Markup Language) file is a human-readable data serialization standard.

[0115] In one embodiment of the present invention, the data serialization module 132 is used to deserialize the single-machine network topology information of the extensible markup language file into an XML object tree and initialize the Graph object; traverse the XML object tree to form a mapping relationship between the XML object tree and the Node object; and generate the global network topology information of the YAML file based on the mapping relationship.

[0116] In some feasible embodiments, after receiving the single-machine network topology information of the extensible markup language file, the data serialization module 132 may first deserialize the single-machine network topology information of the extensible markup language file into an XML object tree and initialize a Graph object.

[0117] Then, the XML object tree can be traversed and a mapping relationship between the XML object tree and the Node object can be formed.

[0118] Next, the data serialization module 132 may generate global network topology information of a YAML file according to the mapping relationship.

[0119] In one embodiment of the present invention, the data serialization module 132 is used to read the single-machine network topology information of the extensible markup language file to obtain the Node object; and, by integrating the parameters of adjacent Nodes and the connection type, obtain the Path object; based on the Node object and the Path object, generate the global network topology information of the YAML file.

[0120] Specifically, the data serialization module 132 may first read the single-machine network topology information of the extensible markup language file to obtain the Node object; and may obtain the Path object by integrating the parameters of adjacent Nodes and the connection type.

[0121] Then, the data serialization module 132 may generate global network topology information of a YAML file according to the Node object and the Path object.

[0122] The data serialization module 132 is a key component of distributed topology awareness. Its function is to convert the complex and specific XML form topology generated by NCCL into a concise and abstract YAML form. Its protocol design is shown in the following code:

[0123]

[0124]

[0125] The main object in the Yamlizer protocol is Graph. There is only one Graph in a topology YAML file, which usually represents a computing node in the intelligent computing network.

[0126] Graph is further divided into two parts: Node and Path. There are usually multiple Nodes and Paths in a Graph, which form object arrays respectively. Next, we analyze these two objects.

[0127] (1) Path.

[0128] Path is an abstraction of data links in the intelligent computing network, such as NvLink, PCIe, QPI, IB / RoCE / TCP / IP fiber links, etc. Its internal attributes include: Label, Type, isTwoWay, Bandwidth (bw), and LinkedNodes.

[0129] Among them, Label is used to number the edges (data links). In a Graph, each Path has a unique Label value.

[0130] Type indicates the device type of the link, which can be regarded as an identifier of the opposite edge. Possible values ​​include NVL (representing a one-hop Nvlink link), PCI (representing a one-hop PCIe link), QPI (representing a one-hop QPI link), IB (representing a one-hop IB fiber link), ROC (representing a one-hop RoCE fiber link), and TCP (representing a one-hop TCP / IP fiber link).

[0131] isTwoWay indicates whether the bidirectional traffic of the link shares the bandwidth. If the bidirectional traffic of the link shares the bandwidth (such as a PCIe link), isTwoWay is equal to 0; otherwise (such as an NvLink link), it is equal to 1.

[0132] Bandwidth indicates the bandwidth of the transmission link, in GB / s.

[0133] LinkedNodes represents an array containing two elements, and the element content is the Label value of the Node. When isTwoWay=0, the Path is abstracted as an undirected edge, and the two elements of LinkedNodes only represent the Nodes at both ends of the Path; when isTwoWay=1, the Path is abstracted as a directed edge, and the two elements of LinkedNodes represent the starting and ending Nodes of the flow respectively.

[0134] (2)Node.

[0135] Node is an abstract forwarding device in the intelligent computing network, such as CPU, GPU, PCIe Switch, NvSwitch, network card, IB / RoCE / TCP / IP switch, etc. Its internal attributes include: Label, Type, UnDirLinks, InDirLinks, and OutDirLinks.

[0136] The Label is used to number the nodes (forwarding devices), and each node in the same Graph has a unique Label value.

[0137] The Type field indicates the device type of the node, which can be regarded as an identifier of the node. Possible values ​​include CPU, GPU, PCI (PCIe Switch), NVS (NvSwitch), and NIC (network card).

[0138] UnDirLinks, InDirLinks, and OutDirLinks all represent sets of arrays whose elements are Path labels. The difference between them is that the elements in UnDirLinks represent undirected paths (isTwoWay=0), while InDirLinks and OutDirLinks represent inbound and outbound directed paths respectively (isTwoWay=1). By distinguishing these three types of paths, the network topology can be more accurately determined, thereby effectively obtaining the best bandwidth link.

[0139] 3. Implementation of the data serialization module 132.

[0140] The data serialization module 132 is implemented mainly by performing a breadth-first traversal (BFS) on the nodes in the XML file generated by NCCL. The main idea is as follows: Figure 3 As shown, it is divided into the following three main steps:

[0141] (1) Initialization: Deserialize the XML file output by NCCL into an XML object tree and initialize the Graph object;

[0142] (2) Traverse the XML tree and establish a mapping: By traversing the XML tree in a breadth-first manner, a mapping relationship is formed between the XML object and the Node object. The Node object can be initialized directly by reading the XML data, while the Path object is initialized by combining the parameters of the adjacent Node and the connection type until there is no XML file;

[0143] (3) Serialization: According to the pre-established protocol, the complete Graph object is converted into a YAML file and persisted.

[0144] Exemplarily, the producer module 110 may be distributed and obtain the single-machine network topology information from each node. Figure 4 As shown, producer module 110 may include producer module 1, producer module 2, ..., producer module n; producer module 1 may obtain the single-machine network topology information of node 1, producer module 2 may obtain the single-machine network topology information of node 2, and producer module n may obtain the single-machine network topology information of node n.

[0145] The message queue cluster 120 may include multiple brokers (broker1, broker2, broker3); each broker may be used to receive, store and forward single-machine network topology information.

[0146] The protocol converter 130 includes a message processing module 131 and a data serialization module 132; wherein the message processing module 131 is used to receive the content read from the stand-alone network topology information and converted into a binary stream, and convert it into the stand-alone network topology information of an extensible markup language file; the data serialization module 132 is used to generate global network topology information based on the stand-alone network topology information of the extensible markup language file.

[0147] Based on the above intelligent computing network topology perception system, the embodiment of the present invention also provides a generation of global network topology information, such as Figure 5 shown.

[0148] Specifically, refer to Figure 5 , shows a flowchart of the steps of a method for generating global network topology information according to an embodiment of the present invention. Figure 5 As shown, the method for generating the global network topology information may include the following steps:

[0149] Step 501: Obtain the single-machine network topology information generated by each node.

[0150] By configuring environment variables, an XML file that records the local network topology information, namely, the single-machine network topology information, can be generated during the NCCL initialization process of the computing node.

[0151] The producer module can collect the stand-alone network topology information generated by each node from each node, and upload the stand-alone network topology information of each node to the message queue cluster.

[0152] The single-machine network topology information may refer to information generated by a node and about neighboring nodes.

[0153] After obtaining the single-machine network topology information, the message queue cluster can store it; in addition, the message queue cluster can also provide the single-machine network topology information to the protocol converter for conversion.

[0154] Step 502: Generate global network topology information based on the single-machine network topology information.

[0155] After obtaining the single-machine network topology information of each node, the protocol converter can generate global network topology information based on the single-machine network topology information.

[0156] Specifically, the protocol converter includes a message processing module and a data serialization module. After receiving the content uploaded by the producer module and read from the single-machine network topology information in binary stream, the message processing module can convert it into the single-machine network topology information of an extensible markup language file.

[0157] After generating the single-machine network topology information of the extensible markup language file, the message processing module may send the single-machine network topology information of the extensible markup language file to the data serialization module for processing.

[0158] After receiving the single-machine network topology information of the extensible markup language file sent by the message processing module, the data serialization module can generate the global network topology information according to the single-machine network topology information of the extensible markup language file.

[0159] In the embodiment of the present invention, the single-machine network topology information generated by each node is obtained; and the global network topology information is generated based on the single-machine network topology information. Through the embodiment of the present invention, the problem that the topology of the intelligent computing network cannot be visualized globally can be solved, which is of great significance to the monitoring, alarm, routing and self-healing of the intelligent computing network.

[0160] It should be noted that, for the sake of simplicity, the method embodiments are described as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present invention are not limited by the order of the actions described, because according to the embodiments of the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present invention.

[0161] An embodiment of the present invention further provides an electronic device, including a processor, a memory, and a computer program stored in the memory and capable of running on the processor, and when the computer program is executed by the processor, the above method for generating global network topology information is implemented.

[0162] An embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the method for generating global network topology information as described above is implemented.

[0163] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0164] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0165] Those skilled in the art will appreciate that the embodiments of the present invention may be provided as methods, devices, or computer program products. Therefore, the embodiments of the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.

[0166] The embodiments of the present invention are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems) and computer program products according to the embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0167] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0168] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0169] Although the preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present invention.

[0170] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "including a..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements.

[0171] The above provides a detailed introduction to an intelligent network topology perception system, a method for generating global network topology information, an electronic device and a computer-readable storage medium. Specific examples are used in this article to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea; at the same time, for general technical personnel in this field, according to the idea of ​​the present invention, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present invention.< / childelement> < / rootelement>

Claims

1. An intelligent network topology perception system, characterized in that: The intelligent computing network topology perception system includes: a producer module, a message queue cluster and a protocol converter; wherein: The producer module is used to collect the stand-alone network topology information generated by each node and upload the stand-alone network topology information to the message queue cluster; The message queue cluster is used to receive the single-machine network topology information and store the single-machine network topology information; and provide the single-machine network topology information to the protocol converter; The protocol converter is used to generate global network topology information according to the single-machine network topology information.

2. The intelligent computing network topology perception system according to claim 1 is characterized in that: The single-machine network topology information is an extensible markup language file; The producer module is used to read the content of the single-machine network topology information, convert the read content into a binary stream, and upload it to the message queue cluster.

3. The intelligent computing network topology perception system according to claim 2 is characterized in that: The message queue cluster is used to receive content converted into a binary stream and read from the single-machine network topology information.

4. The intelligent computing network topology perception system according to claim 2, characterized in that: The protocol converter comprises: A message processing module, used for receiving the content converted into a binary stream and read from the single-machine network topology information, and converting the content into the single-machine network topology information of an extensible markup language file; The data serialization module is used to generate global network topology information according to the single-machine network topology information of the extensible markup language file.

5. The intelligent computing network topology perception system according to claim 4 is characterized in that: The data serialization module is used to generate the global network topology information of the YAML file according to the single-machine network topology information of the extensible markup language file.

6. The intelligent computing network topology perception system according to claim 5, characterized in that: The data serialization module is used to deserialize the single-machine network topology information of the extensible markup language file into an XML object tree and initialize the Graph object; traverse the XML object tree to form a mapping relationship between the XML object tree and the Node object; and generate the global network topology information of the YAML file based on the mapping relationship.

7. The intelligent computing network topology perception system according to claim 5, characterized in that: The data serialization module is used to read the single-machine network topology information of the extensible markup language file to obtain the Node object; and obtain the Path object by integrating the parameters and connection types of adjacent nodes; Generate global network topology information of a YAML file according to the Node object and the Path object.

8. A method for generating global network topology information, characterized in that: Applied to the intelligent computing network topology perception system according to any one of claims 1 to 7; the method comprises: Obtain the single-machine network topology information generated by each node; The global network topology information is generated according to the single-machine network topology information.

9. An electronic device, characterized in that: The invention comprises a processor, a memory and a computer program stored in the memory and capable of running on the processor, wherein the computer program implements the method for generating global network topology information as claimed in claim 8 when executed by the processor.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method for generating global network topology information as claimed in claim 8 is implemented.

Citation Information

Patent Citations

  • Application cluster migrating method and migrating device based on service model

    CN106603592A

  • Customer-directed networking limits in distributed systems

    CN112134741A

  • Method and system for generating computing power topology, node and medium

    CN113810977A

  • Network structure processing method and device, electronic equipment and storage medium

    CN114186680A

  • Multi-domain network security path calculation method, system and device, medium and terminal

    CN114827002A