Network delay analysis method and device, program product and electronic equipment

By dividing devices into multicast groups in large distributed systems and sending multicast detection packets using unreliable datagrams, the hardware performance degradation caused by queue management under RDMA technology is solved, and more efficient network latency analysis and resource utilization are achieved.

CN119788568AActive Publication Date: 2025-04-08CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202411908687.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-23
Publication Date
2025-04-08
Estimated Expiration
2044-12-23

AI Technical Summary

Technical Problem

In large distributed systems, remote direct data access (RDMA) technology is used to measure the server round trip delay, which requires frequent creation and destruction of queue pairs (QPs) and management of excessive QPs, resulting in degradation of hardware performance, increasing the consumption of network and computing resources, and thus causing problems of latency and packet loss.

Method used

The network delay information is determined by dividing the devices in the cluster into multicast groups according to the network topology and sending multicast probe packets to each multicast group using unreliable datagrams, and receiving information of devices in each multicast group is determined. This method uses only one-way detection packets, reducing the consumption of network and computing resources.

Benefits of technology

On the basis of ensuring network latency performance, the consumption of network and computing resources is reduced, delay and packet loss caused by excessive resource consumption are avoided, and network detection efficiency and accuracy are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119788568A_ABST
    Figure CN119788568A_ABST
Patent Text Reader

Abstract

The invention provides a network delay analysis method and device, a program product and electronic equipment, and relates to the technical field of communication. The method comprises the following steps: dividing equipment in a cluster into at least one multicast group according to a network topology; respectively sending a multicast probe packet to each multicast group through an unreliable datagram; determining receiving information of receiving the multicast probe packet by each device in each multicast group; and determining network delay information according to the receiving information corresponding to each device in each multicast group. According to the method and the device, the network delay information is determined only by using the one-way detection packet, so that the consumption of network and computing resources is reduced on the basis of ensuring that the network delay performance is determined, and the conditions of delay and packet loss caused by relatively high consumption of the network resources are avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of communication technology, and in particular to a network delay analysis method, device, program product and electronic device. Background Art

[0002] At present, with the rise of cloud computing and big models, the scale of intelligent computing centers that provide computing power is rapidly expanding. Specifically, the large distributed systems corresponding to intelligent computing centers have tens of thousands of servers and network devices. How to determine the network failures corresponding to tens of thousands of servers and network devices in large distributed systems has become an important part of improving the performance of large distributed systems.

[0003] In the related technology, Pingmesh, a large-scale system for data center network latency measurement and analysis, analyzes and troubleshoots the network by measuring the round-trip time (RTT) between servers. However, using remote direct memory access (RDMA) technology to obtain data to measure the round-trip latency of servers requires the creation and destruction of queue pairs (QPs) and the management of excessive QPs. The aforementioned QP-related processing will consume hardware computing power and affect hardware performance. Summary of the invention

[0004] The present disclosure provides a network delay analysis method, a network delay analysis device, a computer program product and an electronic device, which are used to reduce the consumption of network and computing resources on the basis of ensuring the determination of network delay performance, and avoid the delay and packet loss caused by the large consumption of network resources.

[0005] According to a first aspect of the present disclosure, a network delay analysis method is provided, the method comprising:

[0006] According to the network topology, the devices in the cluster are divided into at least one multicast group;

[0007] Sending a multicast detection packet to each of the multicast groups respectively through an unreliable datagram;

[0008] Determining reception information of the multicast detection packet received by each device in each of the multicast groups;

[0009] The network delay information is determined according to the reception information corresponding to each device in each of the multicast groups.

[0010] In a possible implementation, according to the network topology, the devices in the cluster are divided into at least one multicast group, including:

[0011] According to the network topology and service allocation requirement information, the devices in the cluster are divided into at least one multicast group.

[0012] In a possible implementation manner, determining the network delay information according to the reception time information corresponding to each device in each of the multicast groups includes:

[0013] Determine the reception summary information corresponding to each device in each multicast group according to the reception information corresponding to each device in each multicast group;

[0014] When it is determined that the reception summary information corresponding to the first device in the first multicast group meets the preset condition, performing point-to-point detection processing on the first device to obtain detection result information;

[0015] Determine network delay information of the first device according to the detection result information.

[0016] In a possible implementation manner, determining the reception summary information corresponding to each device in each multicast group according to the reception time information corresponding to each device in each multicast group includes:

[0017] Determine packet loss information of each device and / or time interval information corresponding to packet loss according to reception information corresponding to each device in each of the multicast groups;

[0018] The packet loss information of each device and / or the time interval information corresponding to the packet loss is used as the reception summary information corresponding to each device.

[0019] In a possible implementation, the method further includes:

[0020] When it is determined that the reception summary information corresponding to the second device in the first multicast group does not meet the preset condition, the network delay information is determined according to the reception information corresponding to the second device.

[0021] In a possible implementation, sending a multicast detection packet to each of the multicast groups respectively through an unreliable datagram includes:

[0022] A multicast detection packet is sent to the corresponding multicast group via an unreliable datagram according to the multicast time interval corresponding to each multicast group; wherein each of the multicast detection packets contains an increasing sequence number.

[0023] In a possible implementation manner, determining reception information of the multicast detection packet received by each device in each of the multicast groups includes:

[0024] For each of the multicast groups, perform the following operations:

[0025] Determine the number information of devices in the multicast group, and establish corresponding monitoring and queue pair number settings according to the number information of devices in the multicast group, so as to receive the corresponding multicast detection packet;

[0026] When it is determined that the device in the multicast group has received the corresponding multicast detection packet, record the address information, receiving time information and sequence number of sending the multicast detection packet;

[0027] According to the recorded address information, receiving time information and sequence number of sending the multicast detection packet, the reception information of each device in the multicast group receiving the multicast detection packet is determined; wherein each reception information includes sequence number missing information and round-trip time information.

[0028] According to a second aspect of the present disclosure, a network delay analysis device is provided, the device comprising:

[0029] A division unit, used for dividing the devices in the cluster into at least one multicast group according to the network topology;

[0030] A sending unit, configured to send a multicast detection packet to each of the multicast groups respectively through an unreliable datagram;

[0031] A determining unit, used to determine reception information of the multicast detection packet received by each device in each of the multicast groups;

[0032] The processing unit is used to determine the network delay information according to the reception information corresponding to each device in each of the multicast groups.

[0033] In a possible implementation manner, the division unit is specifically used to:

[0034] According to the network topology and service allocation requirement information, the devices in the cluster are divided into at least one multicast group.

[0035] In a possible implementation manner, the processing unit is specifically configured to:

[0036] Determine the reception summary information corresponding to each device in each multicast group according to the reception information corresponding to each device in each multicast group;

[0037] When it is determined that the reception summary information corresponding to the first device in the first multicast group meets the preset condition, performing point-to-point detection processing on the first device to obtain detection result information;

[0038] Determine network delay information of the first device according to the detection result information.

[0039] In a possible implementation manner, the processing unit is specifically configured to:

[0040] Determine packet loss information of each device and / or time interval information corresponding to packet loss according to reception information corresponding to each device in each of the multicast groups;

[0041] The packet loss information of each device and / or the time interval information corresponding to the packet loss is used as the reception summary information corresponding to each device.

[0042] In a possible implementation manner, the processing unit is specifically configured to:

[0043] When it is determined that the reception summary information corresponding to the second device in the first multicast group does not meet the preset condition, the network delay information is determined according to the reception information corresponding to the second device.

[0044] In a possible implementation manner, the sending unit is specifically configured to:

[0045] A multicast detection packet is sent to the corresponding multicast group via an unreliable datagram according to the multicast time interval corresponding to each multicast group; wherein each of the multicast detection packets contains an increasing sequence number.

[0046] In a possible implementation manner, the determining unit is specifically configured to:

[0047] For each of the multicast groups, perform the following operations:

[0048] Determine the number information of devices in the multicast group, and establish corresponding monitoring and queue pair number settings according to the number information of devices in the multicast group, so as to receive the corresponding multicast detection packet;

[0049] When it is determined that the device in the multicast group has received the corresponding multicast detection packet, record the address information, receiving time information and sequence number of sending the multicast detection packet;

[0050] According to the recorded address information, receiving time information and sequence number of sending the multicast detection packet, the reception information of each device in the multicast group receiving the multicast detection packet is determined; wherein each reception information includes sequence number missing information and round-trip time information.

[0051] According to a third aspect of the present disclosure, a computer program product is provided, including a computer program, wherein when the computer program is executed by a processor, the method of the first aspect and possible implementations thereof are implemented.

[0052] According to a fourth aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to execute the method of the above-mentioned first aspect and its possible implementation methods by executing the executable instructions.

[0053] The technical solution disclosed in this disclosure has the following beneficial effects:

[0054] In the disclosed embodiment, the devices in the cluster are divided into at least one multicast group according to the network topology; a multicast detection packet is sent to each multicast group through an unreliable datagram; the reception information of each device in each multicast group receiving the multicast detection packet is determined; and finally, the network delay information is determined according to the reception information corresponding to each device in each multicast group. It can be seen that in the disclosed embodiment, the method of determining the network delay information by only using a one-way detection packet reduces the consumption of network and computing resources on the basis of ensuring the performance of determining the network delay, and avoids the occurrence of delays and packet losses caused by large network resource consumption.

[0055] Other features and advantages of the present disclosure will be described in the following description, and partly become apparent from the description, or be understood by practicing the present disclosure. The purpose and other advantages of the present disclosure can be realized and obtained by the structures particularly pointed out in the written description, claims, and drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings required for use in the embodiments of the present disclosure will be briefly introduced below. Obviously, the drawings introduced below are only some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0057] Figure 1 A schematic diagram of an application scenario in this exemplary embodiment is shown;

[0058] Figure 2 A flowchart showing a network delay analysis method in this exemplary embodiment is shown;

[0059] Figure 3 An interactive schematic diagram showing a network delay analysis method in this exemplary embodiment;

[0060] Figure 4 A schematic diagram showing the structure of a network delay analysis device in this exemplary embodiment is shown;

[0061] Figure 5 A schematic structural diagram of an electronic device in this exemplary embodiment is shown. DETAILED DESCRIPTION

[0062] In order to make the purpose, technical solutions and advantages of the present disclosure clearer, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only part of the embodiments of the present disclosure, rather than all of the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present disclosure. In the absence of conflict, the embodiments in the present disclosure and the features in the embodiments can be arbitrarily combined with each other. In addition, although the logical order is shown in the flow chart, in some cases, the steps shown or described can be performed in an order different from that here.

[0063] The term "comprising" and any variations thereof in the specification and claims of the present disclosure are intended to cover non-exclusive protection. For example, a process, method, system, product or device comprising a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products or devices.

[0064] In the embodiments of the present disclosure, one or more, "many" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or plural.

[0065] It should be noted that the terms "first", "second", "third", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order, sequence, size, and priority. For example, the first business host and the second business host in the embodiment of the present disclosure are only used to distinguish different business hosts. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.

[0066] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, which are schematic diagrams of the present disclosure and are not necessarily drawn to scale. Some of the block diagrams shown in the accompanying drawings may be functional entities, which do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software form, or in hardware modules or integrated circuits, or in networks, processors or microcontrollers. The implementation method can be implemented in a variety of forms and should not be construed as being limited to the examples set forth herein. The features, structures or characteristics described in the present disclosure may be combined in one or more implementations in any suitable manner. In the following description, many specific details are provided to provide a full description of the implementation methods of the present disclosure. However, those skilled in the art should be aware that one or more specific details may be omitted when implementing the technical solution of the present disclosure, or one or more specific details may be replaced by other methods, components, devices, steps, etc.

[0067] It should be noted that in the embodiments of the present disclosure, some existing solutions in the industry such as software, components, models, etc. may be mentioned, which should be considered as exemplary, and their purpose is only to illustrate the feasibility of implementing the technical solution of the present disclosure, but it does not mean that the applicant has or will necessarily use the solution. In the technical solution of the present disclosure, the collection, dissemination, and use of data are in compliance with relevant national laws and regulations.

[0068] In order to better understand the solution provided by the present disclosure, some key terms involved in the present disclosure are introduced below:

[0069] Remote Direct Memory Access (RDMA): A technology that allows network devices to directly read and write remote system memory without the involvement of the Central Processing Unit (CPU), thereby greatly improving communication efficiency and reducing latency.

[0070] Pingmesh is a large-scale system for measuring and analyzing network latency in data centers. It analyzes and troubleshoots networks by measuring TCP and HTTP round-trip latency between two machines in a data center.

[0071] Queue Pair (QP): A virtual interface between hardware and software in RDMA that is used to sequentially store tasks from software to hardware that contain information such as data source, length, and destination address.

[0072] Round-Trip Time (RTT): The time from when the sender starts sending data to when the sender receives confirmation from the receiver (the receiver sends confirmation immediately after receiving the data).

[0073] Unreliable Datagram (UD): A transmission mode in RDMA that provides connectionless, unreliable messaging services.

[0074] Reliable Connection (RC): A transmission mode in RDMA that provides connected and reliable communication services.

[0075] RDMA over Converged Ethernet (RoCE): A communication protocol that can perform RDMA transmission on Ethernet. There are two versions, RoCEv1 and RoCEv2.

[0076] IB (InfiniBand): RDMA technology based on the InfiniBand architecture, proposed by IBTA (InfiniBand Trade Association). Building an RDMA network based on IB technology requires a dedicated IB network card and IB switch.

[0077] GID (Global Identifier): A globally unique identifier in the IB protocol, used to identify different nodes in the InfiniBand network to ensure that data is correctly routed to the target location in the network.

[0078] LID (Local Identifier): It is used in the IB protocol to identify a node in a subnet. It is a local identifier in a subnet. Each node in a subnet has a unique LID, which is used for routing within the subnet.

[0079] Perftest is a set of tools for performance testing, specifically for benchmarking RDMA and InfiniBand networks.

[0080] Qperf is a tool for testing latency and bandwidth.

[0081] Currently, RDMA communication is limited by resources such as QP in the hardware, and the creation, destruction and management of too many QPs will consume hardware computing power and affect hardware performance. Unlike TCP or HTTP protocols, it is not possible to create any number of links at the software level for pingmesh measurements. In addition, RDMA needs to rely on a lossless network to achieve its efficient performance. However, in a large-scale cluster, an end-to-end detection scheme for the round-trip delay between every two nodes will significantly increase the network and computing load. In addition, as the scale of the round-trip experiment increases, the consumption of network resources may cause network congestion, further increasing the risk of delay and packet loss. Therefore, a more efficient detection method is urgently needed to reduce the network burden.

[0082] In view of one or more of the above problems, an exemplary embodiment of the present disclosure provides a network delay analysis method, through which the devices in the cluster can be divided into at least one multicast group according to the network topology; a multicast detection packet is sent to each multicast group respectively through an unreliable datagram; the reception information of each device in each multicast group receiving the multicast detection packet is determined; and finally, the network delay information is determined according to the reception information corresponding to each device in each multicast group. It can be seen that in the embodiment of the present disclosure, the consumption of network and computing resources is reduced by using only one-way detection packets to determine the reception information, so that network problems can be located in time for troubleshooting while ensuring performance.

[0083] In order to better understand the technical solutions provided by the embodiments of the present disclosure, the following briefly introduces the application scenarios to which the technical solutions provided by the embodiments of the present disclosure are applicable. It should be noted that the application scenarios introduced below are only used to illustrate the embodiments of the present disclosure and are not intended to limit the present disclosure. In specific implementation, the technical solutions provided by the embodiments of the present disclosure can be flexibly applied according to actual needs.

[0084] In the embodiments of the present disclosure, the network delay analysis technology can be applied to various business scenarios that require linking cloud computing and large models, such as social marketing, video recommendation, business processing, etc., which are not limited in the embodiments of the present disclosure.

[0085] See also Figure 1 As shown, Figure 1This is an application scenario to which the technical solution of the embodiment of the present disclosure can be applied. In the scenario diagram, a server cluster 100 is included, and the server cluster includes multiple devices, each of which can be understood as a service host. In order to perform network delay analysis on the server cluster 100, the multiple devices in the server cluster 100 can be divided into control end devices and detection processing devices according to their functions, wherein the detection processing device can act as both a detection end and a detected end, and is operated through a simplified daemon process. This daemon process runs on the detection processing device, and is mainly responsible for processing communications with the control end and sending and receiving detection messages.

[0086] In the disclosed embodiment, the function of the detection end is implemented as follows: after starting the monitoring control end message service, a hierarchical detection scheme is executed according to the control end message. The hierarchical detection scheme is: firstly perform UD-based multicast detection, and when the control end analyzes the existence of a potential abnormal detected end, perform RC-based point-to-point detection on the abnormal detected end.

[0087] In the disclosed embodiment, the detection end can establish a parent thread to start monitoring the control end detection parameter service, receive the detection information of the control end, and determine whether to execute thread 1 or thread 2, wherein thread 1 performs UD-based multicast detection, specifically, according to the detection interval, a multicast detection packet can be sent to the multicast group through UD. Thread 2 performs RC-based point-to-point detection, specifically, establishes an RC link with the abnormal detected end, sends a detection message, and closes the RC link after the sending is completed.

[0088] In the embodiment of the present disclosure, the function of the detected end is implemented as follows: after starting the monitoring detection end service, the detection processing scheme is executed according to the message of the detection end. The detection processing scheme includes: a multicast detection processing process and a point-to-point detection processing process based on RC.

[0089] In the disclosed embodiment, the detected end can establish a parent thread for starting the listening detection end service, and can also establish a thread 1 for performing multicast detection processing. Specifically, thread 1 can bind IP, port, protection domain (PD) and QPN, and the RC queue is initialized to enqueue a work queue entry (WQE). Based on the WQE, the detection packet is received. In order to ensure that there is always a WQE in the queue, if WQE==0 in the RC queue, the RC queue will enqueue 2 WQEs, otherwise the RC queue can enqueue 1 WQE to perform detection packet data processing and obtain reception information. In addition, the detected end can also establish a thread 2 for performing point-to-point detection processing. Specifically, thread 2 can establish an RC link, receive detection packets, and close the RC link.

[0090] Figure 1The server cluster 100 may be a server cluster or distributed system composed of multiple physical servers, or a cloud server cluster composed of cloud servers that provide basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms, but is not limited to these.

[0091] Of course, the method provided in the embodiment of the present disclosure is not limited to Figure 1 The application scenarios shown may also be used in other possible application scenarios, and the embodiments of the present disclosure are not limited thereto.

[0092] To further illustrate the technical solution provided by the embodiments of the present disclosure, this is described in detail below in conjunction with the accompanying drawings and specific implementation methods. Although the embodiments of the present disclosure provide method operation steps as shown in the following embodiments or drawings, more or fewer operation steps may be included in the method based on routine or no creative labor. In the steps where there is no necessary causal relationship logically, the execution order of these steps is not limited to the execution order provided by the embodiments of the present disclosure. The method may be executed in the order of the method shown in the embodiments or drawings or in parallel during the actual processing process or when the device is executed.

[0093] See also Figure 2 , Figure 2 FIG. 1 is a flow chart of a network delay analysis method in an embodiment of the present disclosure. The flow of the method may be executed by an electronic device, for example, and the electronic device may be Figure 1 The server cluster 100 in the embodiment is executed, and the specific implementation process of the method is as follows:

[0094] Step 201: According to the network topology, devices in the cluster are divided into at least one multicast group.

[0095] In the embodiment of the present disclosure, the control end device in the server cluster can divide the devices in the cluster into at least one multicast group according to the network topology. That is, the devices in the cluster can be divided into one multicast group, or the devices in the cluster can be divided into multiple multicast groups, such as 2 multicast groups or 3 multicast groups, etc. The specific number of multicast groups can be determined according to the actual implementation situation, and this is not limited in the embodiment of the present disclosure.

[0096] Optionally, the control end device can divide the devices in the cluster into at least one multicast group according to the network topology and service allocation demand information. The network topology can be understood as cluster topology information, which includes node information, network topology structure, rack information, domain name system information, computing power information, etc. Service allocation demand information, for example, includes which computing power and racks are required to execute service 1. In other words, the devices in the cluster are divided into multicast groups according to the actual service demand allocation information and the current cluster situation, so that the devices included in any multicast group obtained can be understood as devices that can execute a sub-service.

[0097] Optionally, the control end device can also divide the entire cluster into at least one multicast group based on the cluster topology information and service allocation requirements, combined with equal-cost multi-path routing (ECMP) or other routing configurations. It can be seen that in the disclosed embodiment, when dividing the multicast group, in addition to considering the cluster situation and service allocation, the transmission problem is also considered, so as to ensure the accuracy of the multicast group division as much as possible, and provide a good implementation basis for the subsequent transmission of the multicast detection packet.

[0098] In the embodiment of the present disclosure, after the control terminal device determines the multicast group, the first information of each multicast group can be determined respectively, and the first information includes the configuration information of the multicast group and the detection interval information. Among them, the configuration information of the multicast group can be understood as the identification information and quantity information of the devices included in the multicast group, and the detection interval information can be understood as the interval time of sending a multicast detection packet to the multicast group. The detection interval information can be determined according to the actual implementation, for example, a multicast detection packet is sent once every 3 seconds, which is not limited in the embodiment of the present disclosure.

[0099] In the embodiment of the present disclosure, after the control end device determines the first information of each multicast group, the first information can be sent to the detection processing device, so that the detection end and the detected end in the detection processing device can both monitor and obtain the first information. In this way, it can be ensured that the first information obtained by the detection processing device is the latest first information, avoiding the situation where the first information adjustment caused by the topology adjustment within the cluster is unknown, which leads to errors in network delay measurement.

[0100] Step 202: Send a multicast detection packet to each multicast group through an unreliable datagram.

[0101] In the embodiment of the present disclosure, after the detection end in the detection processing device monitors the first message triggered by the control end device, multicast detection can be implemented based on UD.

[0102] In the disclosed embodiment, the detection end in the detection processing device sends a multicast detection packet to the corresponding multicast group through the UD according to the multicast time interval corresponding to each multicast group; wherein each multicast detection packet contains an increasing sequence number. wherein the multicast time interval is a specific value corresponding to the detection interval information in the first information.

[0103] Step 203: Determine the reception information of the multicast detection packet received by each device in each multicast group.

[0104] In the disclosed embodiment, the detected end in the detection processing device may start a monitoring service for receiving the first information from the control end and the connection request of the point-to-point detection, thereby establishing a basic communication framework for subsequent detection activities.

[0105] In the disclosed embodiment, the detected end in the detected processing device performs the following operations for each multicast group: determining the number information of devices in the multicast group, and establishing corresponding monitoring and queue pair number settings according to the number information of devices in the multicast group, so as to receive the corresponding multicast detection packet; when it is determined that the device in the multicast group has received the corresponding multicast detection packet, recording the address information, receiving time information and sequence number of the sending multicast detection packet; determining the receiving information of the receiving multicast detection packet of each device in the multicast group according to the recorded address information, receiving time information and sequence number of the sending multicast detection packet; wherein each receiving information includes sequence number missing information and round-trip time information.

[0106] It can be seen that in the embodiment of the present disclosure, the detected end in the detection processing device can start a separate thread to receive the multicast detection information from the UD, that is, the aforementioned multicast detection packet. In this thread, first, according to the first information of the multicast group, a preset monitoring and queue pair number (QPN) setting is established. Then, the receiving queue is initialized and the WQE is added to the queue to ensure that the receiving queue always has enough WQE to process the received data and prevent the loss of the multicast detection packet. Whenever the multicast detection packet is successfully received, the IP address and receiving timestamp of the sender and the sequence number in the message are recorded. For example, {"IP1":{"index1":"time1","index2":"time2",...},...}. Furthermore, the data collected during all detection processes can be integrated to obtain the receiving information, and then asynchronously reported to the control end for further analysis by the control end.

[0107] Optionally, if it is for the popular ROCEv2 protocol in RDMA, the preset monitoring is IP monitoring, and the corresponding IP address is recorded. If it is for IB (InfiniBand) and ROCEv1 protocols, the preset monitoring is GID (Global Identifier) ​​or LID (Local Identifier) ​​monitoring, and the corresponding record is GID address or LID address.

[0108] Step 204: Determine network delay information according to the reception information corresponding to each device in each of the multicast groups.

[0109] In the disclosed embodiment, the control end device can determine the reception summary information corresponding to each device in each multicast group according to the reception information corresponding to each device in each multicast group. Optionally, according to the reception information corresponding to each device in each multicast group, the packet loss information and / or the time interval information corresponding to the packet loss of each device can be determined; the packet loss information and / or the time interval information corresponding to the packet loss of each device can be used as the reception summary information corresponding to each device.

[0110] In the disclosed embodiment, packet loss information can be understood as the number of times the detection packet is lost (sequence number is missing). That is to say, based on the missing sequence number corresponding to the data in the multicast detection packet (i.e., the missing sequence number in the aforementioned recorded message), it can be determined whether the detection packet is lost, thereby determining the loss information.

[0111] In the embodiment of the present disclosure, the time interval information corresponding to the packet loss can be understood as the time interval Δt between adjacent sequence number detection packets is greater than 2 times The number of times. where time interval The interval for sending multicast detection packets. is the theoretical minimum link delay, and the minimum Δt is used for estimation here, that is,

[0112]

[0113] In the embodiment of the present disclosure, if the number of detection packet losses is greater than the first threshold, it is determined that the preset condition is met, or if the time interval information corresponding to the packet loss is greater than the second threshold, it is determined that the preset condition is met, or if the number of data packet losses (sequence number missing) and the time interval Δt between adjacent sequence number detection packets are greater than 2 times If the sum of the times is greater than the third threshold, it is determined that the preset condition is met.

[0114] In an optional implementation, when it is determined that the reception summary information corresponding to the first device in the first multicast group meets a preset condition, point-to-point detection processing is performed on the first device to obtain detection result information; based on the detection result information, the network delay information of the first device is determined.

[0115] Among them, the detection result information can be the average, maximum or minimum value of the round-trip time in the point-to-point detection data. If the detection result information deviates greatly from the empirical value, for example, the average, maximum or minimum value of the round-trip time in the point-to-point detection data is much larger than the empirical value, or much smaller than the empirical value, it is determined that there is an abnormality in the network, indicating a potential performance bottleneck or link failure.

[0116] Optionally, the detection end can perform point-to-point detection processing on the first device based on RC point-to-point detection processing to obtain detection result information. That is, after analyzing historical data to identify the potential abnormal detected end, the control end assigns the detection end to perform RC point-to-point measurement with the potential abnormal detected end, so as to obtain more accurate delay data (i.e., the aforementioned detection result information). Then, the control end device can determine the network delay information of the first device based on the detection result information.

[0117] Optionally, after the detected end receives the link establishment request of the point-to-point detection, the listening service performs connection negotiation and starts a new thread to use RC for precise detection. During the detection process, by running a standard detection process such as Perftest or Qperf, data packets are sent to each other and the average, maximum and minimum values ​​of RTT are collected. And, after completing data collection, the RC connection is closed.

[0118] In an optional implementation, when it is determined that the reception summary information corresponding to the second device in the first multicast group does not meet a preset condition, the network delay information is determined according to the reception information corresponding to the second device.

[0119] It can be seen that in the disclosed embodiment, the method of determining network delay information using only one-way detection packets not only optimizes the efficiency of sending and processing detection packets, but also significantly reduces the network bandwidth required by the traditional full-connection detection mode, reduces the consumption of network resources, and thus can alleviate the network congestion that may occur in large-scale cluster environments, and can effectively improve the overall network detection efficiency without sacrificing data accuracy. In addition, after determining the received information, the received information is further analyzed to determine whether to further take targeted point-to-point precise detection, which reduces the consumption of network resources and ensures the accuracy of network delay analysis.

[0120] The following is an introduction to a network delay analysis method provided in an embodiment of the present disclosure using a specific example. Figure 3 , the specific process steps are as follows:

[0121] Step 301: The control end divides the cluster into at least one multicast group according to cluster topology information and service allocation requirement information, and determines and issues first information of each multicast group.

[0122] Step 302: The detection end uses UD to send a multicast detection packet to the set multicast group at a multicast time interval according to the first information of the monitored multicast group, and the multicast detection packet contains increasing sequence number data.

[0123] Step 303: The detected end receives the multicast detection packet according to the WQE in the receiving queue set by the established IP monitoring and QPN, and records the IP address, receiving timestamp and sequence number in the message of the detecting end, and determines the receiving information of the detected end according to the IP address, receiving timestamp and sequence number in the message of the detecting end.

[0124] Step 304: The control end receives the reception information sent by the detected end, and determines the reception summary information corresponding to the detected end according to the reception information.

[0125] Step 305: When the control end determines that the received summary information meets the preset conditions, it issues a point-to-point detection task.

[0126] Step 306: After the detecting end monitors the point-to-point detection task, it performs RC-based point-to-point detection processing on the detected end.

[0127] Step 307: After receiving the link establishment request of the point-to-point detection at the monitoring service, the detected end performs connection negotiation and starts a new thread to perform accurate detection using RC to obtain detection result information.

[0128] Optionally, during the detection process, a standard detection process such as Perftest or Qperf is run to send data packets to each other and collect the average, maximum and minimum values ​​of RTT to obtain detection result information. After completing data collection, the RC connection can be closed.

[0129] Step 308: The control end receives the detection result information sent by the detected end, and determines the network delay information of the detected end according to the detection result information.

[0130] Step 309: When the control end determines that the received summary information does not meet the preset condition, the network delay information of the detected end is determined according to the received information.

[0131] It can be seen that in the disclosed embodiment, the UD and unidirectional multicast modes are used to perform preliminary network detection, that is, multicast detection is performed first. In this way, the detection traffic can be reduced and the allocation of various resources can be optimized. In addition, after the preliminary multicast detection, combined with the analysis and evaluation of the data by the control end, targeted point-to-point precise detection is further adopted. Such a hierarchical detection strategy not only ensures the efficient execution of the detection task, but also ensures the accuracy of network fault location and the speed of fault diagnosis and resolution through targeted allocation of software and hardware resources, thereby improving the reliability and service quality of the network.

[0132] The exemplary embodiment of the present disclosure also provides a network delay analysis device. Figure 4 As shown, the network delay analysis device 400 includes the following program modules:

[0133] A division unit 401, configured to divide the devices in the cluster into at least one multicast group according to the network topology;

[0134] The sending unit 402 is used to send a multicast detection packet to each of the multicast groups through an unreliable datagram;

[0135] A determining unit 403 is used to determine reception information of the multicast detection packet received by each device in each of the multicast groups;

[0136] The processing unit 404 is configured to determine network delay information according to the reception information corresponding to each device in each of the multicast groups.

[0137] In a possible implementation manner, the division unit 401 is specifically configured to:

[0138] According to the network topology and service allocation requirement information, the devices in the cluster are divided into at least one multicast group.

[0139] In a possible implementation manner, the processing unit 404 is specifically configured to:

[0140] Determine the reception summary information corresponding to each device in each multicast group according to the reception information corresponding to each device in each multicast group;

[0141] When it is determined that the reception summary information corresponding to the first device in the first multicast group meets the preset condition, performing point-to-point detection processing on the first device to obtain detection result information;

[0142] Determine network delay information of the first device according to the detection result information.

[0143] In a possible implementation manner, the processing unit 404 is specifically configured to:

[0144] Determine packet loss information of each device and / or time interval information corresponding to packet loss according to reception information corresponding to each device in each of the multicast groups;

[0145] The packet loss information of each device and / or the time interval information corresponding to the packet loss is used as the reception summary information corresponding to each device.

[0146] In a possible implementation manner, the processing unit 404 is specifically configured to:

[0147] When it is determined that the reception summary information corresponding to the second device in the first multicast group does not meet the preset condition, the network delay information is determined according to the reception information corresponding to the second device.

[0148] In a possible implementation manner, the sending unit 402 is specifically configured to:

[0149] A multicast detection packet is sent to the corresponding multicast group via an unreliable datagram according to the multicast time interval corresponding to each multicast group; wherein each of the multicast detection packets contains an increasing sequence number.

[0150] In a possible implementation manner, the determining unit 403 is specifically configured to:

[0151] For each of the multicast groups, perform the following operations:

[0152] Determine the number information of devices in the multicast group, and establish corresponding monitoring and queue pair number settings according to the number information of devices in the multicast group, so as to receive the corresponding multicast detection packet;

[0153] When it is determined that the device in the multicast group has received the corresponding multicast detection packet, record the address information, receiving time information and sequence number of sending the multicast detection packet;

[0154] According to the recorded address information, receiving time information and sequence number of sending the multicast detection packet, the reception information of each device in the multicast group receiving the multicast detection packet is determined; wherein each reception information includes sequence number missing information and round-trip time information.

[0155] The specific details of each part of the above-mentioned device have been described in detail in the implementation method of the method part. The undisclosed details can be found in the implementation method of the method part, so they will not be repeated here.

[0156] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the exemplary embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.

[0157] The exemplary embodiments of the present disclosure also provide a computer program product, which includes a computer program, and when the computer program is executed by a processor, the network delay analysis method is implemented.

[0158] In one embodiment, the computer program product may be a tangible product containing a computer program, such as a computer-readable storage medium storing a computer program. The readable storage medium may be a storage medium based on electrical, magnetic, optical, electromagnetic, infrared, or other signals, including but not limited to: random access memory (RAM), read-only memory (ROM), magnetic tape, floppy disk, flash memory (Flash), mechanical hard disk (HDD), solid-state drive (SSD), and the like. Exemplarily, the computer program product may be implemented as a non-volatile storage medium storing a computer program, such as a read-only memory, a NAND flash memory, and the like.

[0159] In one embodiment, the computer program product may be an intangible product including a computer program. Exemplarily, the computer program product may be implemented as a virtual digital product, such as a digital file storing an executable file, an installation package, etc. of the computer program.

[0160] The code of the computer program can be written in one or more programming languages. Programming languages ​​such as C language, Java, C++, etc. The program code can be executed entirely on the user computing device, or partially on the user computing device, or as a separate software package, or partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, such as a local area network (LAN), a wide area network (WAN), etc., or can be connected to an external computing device (e.g., an Internet connection provided by an operator).

[0161] The computer program may be carried or transmitted via electrical, magnetic, optical, electromagnetic, infrared, or other signals. The electronic device may convert the signal carrying the computer program into a digital signal, thereby running the computer program. When the computer program runs on an electronic device, its code is used to enable the electronic device to execute (more specifically, the processor of the electronic device may execute) the method steps of various exemplary embodiments of the present disclosure, such as the above-mentioned network delay analysis method, which includes the following steps:

[0162] Step 201: Divide the devices in the cluster into at least one multicast group according to the network topology; Step 202: Send a multicast detection packet to each multicast group through an unreliable datagram; Step 203: Determine the reception information of each device in each multicast group receiving the multicast detection packet; Step 204: Determine the network delay information according to the corresponding reception information of each device in each multicast group.

[0163] The above method steps are implemented by a computer program. According to the network topology, the devices in the cluster are divided into at least one multicast group; a multicast detection packet is sent to each multicast group through an unreliable datagram; the reception information of each device in each multicast group receiving the multicast detection packet is determined; and finally, the network delay information is determined according to the reception information corresponding to each device in each multicast group. It can be seen that in the embodiment of the present disclosure, the method of determining the network delay information by only using a one-way detection packet reduces the consumption of network and computing resources on the basis of ensuring the performance of determining the network delay, and avoids the occurrence of delays and packet losses caused by large network resource consumption.

[0164] The exemplary embodiments of the present disclosure also provide an electronic device, which may include a processor and a memory. The memory stores executable instructions of the processor, such as a computer program. The processor executes the method steps of various exemplary embodiments of the present disclosure by executing the executable instructions.

[0165] Reference below Figure 4 , the electronic device is exemplarily described in the form of a general-purpose computing device. It should be understood that Figure 4 The electronic device 400 shown is merely an example and should not limit the functions and scope of use of the embodiments of the present disclosure.

[0166] like Figure 5 As shown, the electronic device 500 may include: a processor 510 , a memory 520 , a bus 530 , an I / O (input / output) interface 540 , and a network adapter 550 .

[0167] The memory 520 may include a volatile memory, such as a RAM 521, a cache unit 522, and may also include a non-volatile memory, such as a ROM 523. The memory 520 may also include one or more program modules 524, such program modules 524 include but are not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or a combination thereof may include the implementation of a network environment. For example, the program module 524 may include each module in the above-mentioned device.

[0168] The processor 510 may include one or more processing units. For example, the processor 510 may include an AP (Application Processor), a modem processor, a GPU (Graphics Processing Unit), an ISP (Image Signal Processor), a controller, an encoder, a decoder, a DSP (Digital Signal Processor), a baseband processor and / or an NPU (Neural-Network Processing Unit), etc.

[0169] The processor 510 can be used to execute executable instructions stored in the memory 520, such as the above-mentioned network delay analysis method, which includes the following steps: Step 201: According to the network topology, the devices in the cluster are divided into at least one multicast group; Step 202: Through unreliable datagrams, a multicast detection packet is sent to each multicast group respectively; Step 203: Determine the reception information of each device in each multicast group receiving the multicast detection packet; Step 204: Determine the network delay information based on the reception information corresponding to each device in each multicast group.

[0170] The processor 510 executes the above method steps, and divides the devices in the cluster into at least one multicast group according to the network topology; sends a multicast detection packet to each multicast group through an unreliable datagram; determines the reception information of each device in each multicast group receiving the multicast detection packet; and finally determines the network delay information according to the corresponding reception information of each device in each multicast group. It can be seen that in the embodiment of the present disclosure, the method of determining the network delay information by only using a one-way detection packet reduces the consumption of network and computing resources on the basis of ensuring the performance of determining the network delay, and avoids the occurrence of delays and packet losses caused by large network resource consumption.

[0171] The bus 530 is used to realize the connection between different components of the electronic device 500, and may include a data bus, an address bus, and a control bus.

[0172] The electronic device 500 can communicate with one or more external devices 600 (eg, a keyboard, a mouse, an external controller, etc.) through the I / O interface 540 .

[0173] The electronic device 500 can communicate with one or more networks through the network adapter 550. For example, the network adapter 550 can provide mobile communication solutions such as 3G / 4G / 5G, or provide wireless communication solutions such as wireless LAN, Bluetooth, near field communication, etc. The network adapter 550 can communicate with other modules of the electronic device 500 through the bus 530.

[0174] although Figure 5 Not shown, other hardware and / or software modules may also be provided in the electronic device 500, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0175] As can be seen from the above, the technical solution of the present disclosure can be implemented as a method, an apparatus, a system, a computer program product, a storage medium, an electronic device, etc. Those skilled in the art can understand that various aspects of the present disclosure can be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or an implementation combining hardware and software, such as being respectively referred to as a "circuit", "module" or "system".

[0176] It should be understood that the present disclosure is not limited to the specific method steps or structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from the scope thereof. Those skilled in the art will easily think of other embodiments based on the specific embodiments provided by the present disclosure. Therefore, the specific embodiments provided by the present disclosure are only exemplary, and the scope and spirit of the present disclosure are indicated by the claims, and any variations, uses or adaptive changes of the present disclosure should be covered, which follow the general principles of the present disclosure and include common knowledge or customary technical means in the technical field that are not disclosed in the present disclosure.

Claims

1. A network delay analysis method, characterized in that: The method comprises: According to the network topology, the devices in the cluster are divided into at least one multicast group; Sending a multicast detection packet to each of the multicast groups respectively through an unreliable datagram; Determining reception information of the multicast detection packet received by each device in each of the multicast groups; The network delay information is determined according to the reception information corresponding to each device in each of the multicast groups.

2. The method according to claim 1, characterized in that Based on the network topology, the devices in the cluster are divided into at least one multicast group, including: According to the network topology and service allocation requirement information, the devices in the cluster are divided into at least one multicast group.

3. The method according to claim 1, characterized in that Determining network delay information according to the receiving time information corresponding to each device in each multicast group includes: Determine the reception summary information corresponding to each device in each multicast group according to the reception information corresponding to each device in each multicast group; When it is determined that the reception summary information corresponding to the first device in the first multicast group meets the preset condition, performing point-to-point detection processing on the first device to obtain detection result information; Determine network delay information of the first device according to the detection result information.

4. The method according to claim 3, characterized in that Determining the reception summary information corresponding to each device in each multicast group according to the reception time information corresponding to each device in each multicast group includes: Determine packet loss information of each device and / or time interval information corresponding to packet loss according to reception information corresponding to each device in each of the multicast groups; The packet loss information of each device and / or the time interval information corresponding to the packet loss is used as the reception summary information corresponding to each device.

5. The method according to claim 3, characterized in that: The method further comprises: When it is determined that the reception summary information corresponding to the second device in the first multicast group does not meet the preset condition, the network delay information is determined according to the reception information corresponding to the second device.

6. The method according to any one of claims 1 to 5, characterized in that: Sending a multicast detection packet to each of the multicast groups respectively through an unreliable datagram includes: A multicast detection packet is sent to the corresponding multicast group via an unreliable datagram according to the multicast time interval corresponding to each multicast group; wherein each of the multicast detection packets contains an increasing sequence number.

7. The method according to claim 6, characterized in that Determining reception information of each device in each of the multicast groups receiving the multicast detection packet includes: For each of the multicast groups, perform the following operations: Determine the number information of devices in the multicast group, and establish corresponding monitoring and queue pair number settings according to the number information of devices in the multicast group, so as to receive the corresponding multicast detection packet; When it is determined that the device in the multicast group has received the corresponding multicast detection packet, record the address information, receiving time information and sequence number of sending the multicast detection packet; According to the recorded address information, receiving time information and sequence number of sending the multicast detection packet, the reception information of each device in the multicast group receiving the multicast detection packet is determined; wherein each reception information includes sequence number missing information and round-trip time information.

8. A network delay analysis device, characterized in that: The device comprises: A division unit, used for dividing the devices in the cluster into at least one multicast group according to the network topology; A sending unit, configured to send a multicast detection packet to each of the multicast groups respectively through an unreliable datagram; A determining unit, used to determine reception information of the multicast detection packet received by each device in each of the multicast groups; The processing unit is used to determine the network delay information according to the reception information corresponding to each device in each of the multicast groups.

9. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.

10. An electronic device, characterized in that: include: processor; A memory, configured to store executable instructions of the processor; The processor is configured to perform the method of any one of claims 1 to 7 by executing the executable instructions.

Citation Information

Patent Citations

  • DECT network clustering system and clustering method

    CN110662178A

  • System and method for media delivery on broadcast video networks

    US10334322B1

  • Multicast-based inference of temporal delay characteristics in packet data networks

    US20090080339A1

  • DECT network clustering system and clustering method

    US20210083888A1

  • Multicast cluster servicer for communicating amongst a plurality of nodes without a dedicated local area network

    US6192417B1