Intelligent computing network traffic control method and device, electronic equipment and storage medium

By using work queues and token mechanisms in the intelligent computing network, combined with RDMA technology, the problems of network traffic congestion and packet loss in the intelligent computing center were solved, achieving efficient and reliable data transmission and improving the user experience.

CN116886627BActive Publication Date: 2026-06-09CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER
Filing Date
2023-07-14
Publication Date
2026-06-09

Smart Images

  • Figure CN116886627B_ABST
    Figure CN116886627B_ABST
Patent Text Reader

Abstract

This disclosure provides a method, apparatus, electronic device, and storage medium for intelligent computing network traffic control, relating to the field of intelligent computing network technology. The method includes: generating work queue elements within a first preset time period; matching each work queue element with a corresponding first token; sequentially sending each work queue element carrying a first token in the first work queue to a receiving network interface card (NIC), wherein the receiving NIC receives each work queue element when it determines that the first token carried by each work queue element is valid; and when the current time enters a second preset time period, if the first work queue contains unsent work queue elements, placing the unsent work queue elements into the second work queue. This disclosure stores data in a work queue, thereby controlling the transmission of work queue elements through tokens and preset time periods, avoiding network traffic congestion, packet loss, and other problems, and improving the effectiveness and reliability of network traffic control.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of intelligent computing network technology, and in particular to an intelligent computing network traffic control method, device, electronic device and storage medium. Background Technology

[0002] The application of intelligent computing centers can be designed based on job programs. The intelligent computing nodes participating in the intelligent computing jobs need to frequently transmit intermediate computing data, and the data volume is very large. Therefore, the operating network of intelligent computing centers must meet the requirements of high throughput, low latency, and high stability.

[0003] In related technologies, intelligent computing centers can transmit data via Ethernet, but because the amount of data to be transmitted between intelligent computing nodes is often large, network congestion and packet loss may occur, thus degrading the user experience. Therefore, there is an urgent need for an effective and reliable network traffic control method to reduce network congestion and improve the user experience.

[0004] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of this disclosure, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention

[0005] This disclosure provides a method, apparatus, electronic device, and storage medium for intelligent computing network traffic control, which at least to some extent overcomes the problem that related technologies cannot effectively and reliably control intelligent computing network traffic, resulting in intelligent computing network traffic congestion and reduced user experience.

[0006] Other features and advantages of this disclosure will become apparent from the following detailed description, or may be learned in part from practice of this disclosure.

[0007] According to one aspect of this disclosure, a method for controlling traffic in an intelligent computing network is provided, executed by a transmitting network interface card (NIC) included in the intelligent computing network. The transmitting NIC includes at least one work queue. The method includes: generating at least one work queue element within a first preset time period; matching each of the at least one work queue element with a corresponding first token, wherein any first token corresponds to the first preset time period; sequentially sending each work queue element carrying the first token in the first work queue to a receiving NIC, wherein the receiving NIC is used to receive each work queue element when it is determined that the first token carried by each work queue element is valid; and when the current time enters a second preset time period, if the first work queue includes an unsent work queue element, placing the unsent work queue element into the second work queue, wherein the second work queue corresponds to the second preset time period, and the first preset time period and the second preset time period are two adjacent preset time periods.

[0008] In some exemplary embodiments, generating at least one work queue element within a first preset time period includes: within the first preset time period, acquiring at least one data transmission request sent by the intelligent computing job program module; and generating at least one work queue element based on the at least one data transmission request, wherein the data transmission request corresponds one-to-one with the work queue element.

[0009] In some exemplary embodiments, the intelligent computing network traffic control method provided in this disclosure further includes: generating the first token when the current time enters the first preset time period; sending the first token to the receiving end network card, wherein the receiving end network card is used to store the received work queue element when the token carried by the received work queue element is the first token; and to reject the work queue element when the token carried by the received work queue element is not the first token.

[0010] In some exemplary embodiments, the intelligent computing network traffic control method provided in this disclosure may further include: generating a second token corresponding to the second preset time when the current time enters the second preset time period; wherein, if the first work queue includes unsent work queue elements, after placing the unsent work queue elements into the second work queue, the method provided in this disclosure may further include: re-matching the corresponding second token for each unsent work queue element.

[0011] In some exemplary embodiments, the transmitting network card also includes a completion queue. The intelligent computing network traffic control method provided in this disclosure includes: after sending a work queue element to the receiving network card, generating a corresponding completion queue element in the completion queue.

[0012] According to another aspect of this disclosure, a smart computing network traffic control system is also provided. The system includes: a transmitting network interface card (NIC) and a receiving network interface card (NIC) included in the smart computing network. The transmitting NIC includes a work queue sending controller, a token generator, and a work queue buffer. The work queue buffer is used to generate at least one work queue element within a first preset time period, and to match a corresponding first token for each of the at least one work queue element using the token generator. At least one work queue element carrying the first token is stored in a first work queue, which corresponds to the first preset time period. The work queue sending controller... The controller is used to control the work queue buffer to sequentially send each work queue element carrying the first token in the first work queue to the receiving network card. The receiving network card is used to receive each work queue element when it is determined that the first token carried by each work queue element is valid. The work queue buffer is also used to place the unsent work queue element into the second work queue when the current time enters the second preset time period. If the first work queue contains unsent work queue elements, the unsent work queue elements are placed into the second work queue. The second work queue corresponds to the second preset time period. The first preset time period and the second preset time period are two adjacent preset time periods.

[0013] In some exemplary embodiments, the intelligent computing network traffic control system provided in this disclosure further includes: a time slice transmitter; the time slice transmitter is used to instruct the token generator to generate the first token when the current time enters the first preset time period; the time slice transmitter is also used to instruct the work queue sending controller to control the work queue buffer to send each work queue element carrying the first token in the first work queue when the current time enters the first preset time period.

[0014] According to another aspect of this disclosure, a smart computing network traffic control device is also provided, applied to a transmitting network interface card (NIC) included in a smart computing network. The transmitting NIC includes at least one work queue. The device includes: a work queue element generation module, used to generate at least one work queue element within a first preset time period; a first token matching module, used to match a corresponding first token for each of the at least one work queue element, wherein any first token corresponds to the first preset time period; a work queue element sending module, used to sequentially send each work queue element carrying the first token in the first work queue to a receiving NIC, wherein the receiving NIC receives each work queue element when it is determined that the first token carried by each work queue element is valid; and a work queue element placement module, used to place unsent work queue elements into the second work queue when the current time enters a second preset time period, if the first work queue includes unsent work queue elements, wherein the second work queue corresponds to the second preset time period, and the first preset time period and the second preset time period are two adjacent preset time periods.

[0015] In some exemplary embodiments, the work queue element generation module is configured to acquire at least one data transmission request sent by the intelligent computing job program module within a first preset time period; and generate at least one work queue element based on the at least one data transmission request, wherein the data transmission request corresponds one-to-one with the work queue element.

[0016] In some exemplary embodiments, the intelligent computing network traffic control device provided in this disclosure may further include: a first token generation module, configured to generate the first token when the current time enters the first preset time period; and a first token sending module, configured to send the first token to a receiving network interface card (NIC), wherein the receiving NIC is configured to store the received work queue element when the token carried by the received work queue element is the first token, and reject the work queue element when the token carried by the received work queue element is not the first token.

[0017] In some exemplary embodiments, the intelligent computing network traffic control device provided in this disclosure may further include: a second token generation module, used to generate a second token corresponding to the second preset time when the current time enters the second preset time period; and a second token matching module, used to re-match the corresponding second token for each unsent work queue element.

[0018] In some exemplary embodiments, the transmitting network card further includes a completion queue. The intelligent computing network traffic control device provided in this embodiment may further include: a completion queue element generation module, used to generate a corresponding completion queue element in the completion queue after a work queue element is sent to the receiving network card.

[0019] According to another aspect of this disclosure, an electronic device is also provided, which may include: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform any of the above-described intelligent computing network traffic control methods by executing the executable instructions.

[0020] According to another aspect of this disclosure, a computer-readable storage medium is also provided, on which a computer program is stored, which, when executed by a processor, implements the intelligent computing network traffic control method described in any of the preceding claims.

[0021] According to another aspect of this disclosure, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the intelligent computing network traffic control method provided in various alternative embodiments of this disclosure.

[0022] The technical solutions provided in the embodiments of this disclosure can store the data to be sent in a work queue, thereby controlling the sending of work queue elements through tokens and preset time periods to avoid problems such as traffic congestion and packet loss in the intelligent computing network, improve the effectiveness and reliability of intelligent computing network traffic control, and enhance user experience.

[0023] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0024] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure. It is obvious that the drawings described below are merely some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.

[0025] Figure 1 This diagram illustrates an exemplary system architecture according to an embodiment of the present disclosure;

[0026] Figure 2 This diagram illustrates a flowchart of a smart computing network traffic control method according to an embodiment of the present disclosure.

[0027] Figure 3 This diagram illustrates a process of intelligent computing network traffic transmission in an embodiment of the present disclosure.

[0028] Figure 4 This diagram illustrates a method for controlling traffic in a smart computing network according to an embodiment of the present disclosure.

[0029] Figure 5 This diagram illustrates a smart computing network traffic control system according to an embodiment of the present disclosure.

[0030] Figure 6 This diagram illustrates a smart computing network traffic control device according to an embodiment of the present disclosure.

[0031] Figure 7 A schematic diagram of an electronic device according to an embodiment of the present disclosure is shown. Detailed Implementation

[0032] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, they are provided so that this disclosure will be more comprehensive and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0033] Furthermore, the accompanying drawings are merely illustrative of this disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0034] To facilitate understanding, before introducing the embodiments of this disclosure, the following explanations are provided for several terms involved in the embodiments of this disclosure:

[0035] InfiniBand (IB): As a unified interconnect technology, IB can handle storage I / O (Input / Output), network I / O, and inter-process communication. It can interconnect management nodes, compute nodes, and storage servers (distributed storage, disk arrays) in a server cluster to achieve high-speed communication. It can also connect to external networks such as the Internet, VPN (Virtual Private Network), and WAN (Wide Area Network). The primary purpose of designing and using IB technology is for high-speed communication in enterprise-level data centers. Its goals are to achieve high reliability, availability, scalability, and high performance. IB can provide high-bandwidth, low-latency transmission over relatively short distances and supports redundant I / O channels in single or multiple interconnect networks, thus maintaining high-speed operation even in the event of data center failures.

[0036] The specific implementation methods of the embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.

[0037] Figure 1 An exemplary system architecture diagram is shown that can be applied to the intelligent computing network traffic control method in the embodiments of this disclosure. For example... Figure 1 As shown, the system architecture may include a transmitting network card 101, a network 102, and a receiving network card 103 in the intelligent computing network.

[0038] The transmitting network card 101 can generate at least one work queue element within a first preset time period, and match a corresponding first token for each of the at least one work queue element, wherein any first token corresponds to the first preset time period.

[0039] Subsequently, the sending network card 101 can sequentially send each work queue element carrying the first token in the first work queue to the receiving network card 103. The receiving network card is used to receive each work queue element when it is determined that the first token carried by each work queue element is valid.

[0040] In addition, when the current time enters the second preset time period, if the first work queue includes unsent work queue elements, the sending end network card 101 can place the unsent work queue elements into the second work queue. The second work queue corresponds to the second preset time period, and the first preset time period and the second preset time period are two adjacent preset time periods.

[0041] Network 102 is a medium used to provide a communication link between the sending network card 101 and the receiving network card 103. It can be a wired network or a wireless network.

[0042] Optionally, the aforementioned wireless or wired networks use standard communication technologies and / or protocols. The network is typically the Internet, but can also be any network, including but not limited to Local Area Networks (LANs), Metropolitan Area Networks (MANs), Wide Area Networks (WANs), mobile, wired or wireless networks, private networks, or any combination of virtual private networks. In some embodiments, technologies and / or formats including Hyper Text Markup Language (HTML), Extensible Markup Language (XML), etc., are used to represent data exchanged over the network. Furthermore, conventional encryption technologies such as Secure Socket Layer (SSL), Transport Layer Security (TLS), Virtual Private Networks (VPNs), and Internet Protocol Security (IPSec) can be used to encrypt all or some links. In other embodiments, custom and / or dedicated data communication technologies can be used to replace or supplement the aforementioned data communication technologies.

[0043] The transmitting network card 101 and the receiving network card 103 can be located in various electronic devices, which can be terminal devices or servers. For example, the terminal devices include, but are not limited to, smartphones, tablets, laptops, desktop computers, smart speakers, smartwatches, wearable devices, augmented reality devices, virtual reality devices, etc.

[0044] Optionally, the aforementioned server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms.

[0045] Those skilled in the art will know that Figure 1The number of transmitting network interface cards 101, network 102, and receiving network interface cards 103 shown in the figures is merely illustrative. Any number of transmitting network interface cards 101, network 102, and receiving network interface cards 103 can be used as needed. This disclosure does not limit the number of these components.

[0046] Under the above system architecture, this disclosure provides a method for intelligent computing network traffic control, which can be executed by any electronic device with computing capabilities.

[0047] In some embodiments, the intelligent computing network traffic control method provided in this disclosure can be executed by the transmitting network interface card (NIC) of the system architecture described above. The transmitting NIC may include at least one work queue.

[0048] Figure 2 This diagram illustrates a flowchart of a smart computing network traffic control method according to an embodiment of the present disclosure, such as... Figure 2 As shown, the intelligent computing network traffic control method provided in this embodiment includes the following steps S202 to S208.

[0049] S202, generate at least one work queue element within a first preset time period.

[0050] This disclosure does not limit the transmitting network card that performs this method. For example, the transmitting network card can be any type of IB network card.

[0051] Furthermore, this embodiment does not limit the length of the first preset time period. For example, the length of the first preset time period can be determined by the sending network card based on factors such as current network congestion. Alternatively, the length of the first preset time period can be a fixed value. For example, the length of the first preset time period can range from 5 milliseconds to 800 milliseconds.

[0052] In some embodiments, generating at least one work queue element within a first preset time period includes: within the first preset time period, acquiring at least one data transmission request sent by the intelligent computing job program module; and generating at least one work queue element based on the at least one data transmission request, wherein the data transmission request corresponds one-to-one with the work queue element.

[0053] This disclosure does not limit the intelligent computing job program module. For example, since each intelligent computing application corresponding to the intelligent computing center can be designed based on the job program, any application of the intelligent computing center can correspond to an intelligent computing job program module.

[0054] For example, since the various intelligent computing nodes participating in the intelligent computing operation need to frequently transmit intermediate computing data, and the data volume is large, the intelligent computing node can send a data transmission request to the sending network card through its corresponding intelligent computing program module. This allows the corresponding data to be sent to the receiving IB network card via the IB network card.

[0055] In one possible implementation, the intelligent computing job program can send data transmission requests to the IB network card via the verbs interface.

[0056] In one possible implementation, the data transmission request may include data to be transmitted. After the sending network card receives the data transmission request, it can generate a corresponding work queue element based on the data to be transmitted and store the work queue element in the work queue.

[0057] It should be noted that the work queue can be any one of at least one work queue that the sending network interface card (NIC) can pre-generate. Alternatively, the work queue can be generated by the sending NIC after receiving a data transmission request.

[0058] This disclosure does not limit the number of data transmission requests sent by any intelligent computing job program module. Furthermore, this disclosure does not limit the number of intelligent computing job program modules corresponding to the sending network card.

[0059] For example, when there are multiple intelligent computing job program modules corresponding to the sending network card, the work queue elements corresponding to the data sending requests sent by each intelligent computing job program module can be stored in different work queues.

[0060] S204, matching the corresponding first token for at least one work queue element, wherein any first token corresponds to the first preset time period.

[0061] This disclosure does not limit the type of the first token. For example, the first token may be a Token-Ring.

[0062] In some embodiments, any work queue element generated within a first preset time period may carry a first token. The first token can be used to indicate that the corresponding work queue element needs to be sent to the receiving network interface card within the first preset time period.

[0063] In some embodiments, the intelligent computing network traffic control method provided in this disclosure may further include: generating the first token when the current time enters the first preset time period.

[0064] For example, whenever the current time enters a new preset time period, a token corresponding to that preset time period can be generated. Subsequently, all work queue elements generated within that preset time period can be matched with a token corresponding to that preset time period.

[0065] S206, sequentially send each work queue element carrying the first token in the first work queue to the receiving network card. The receiving network card is used to receive each work queue element when it is determined that the first token carried by each work queue element is valid.

[0066] In some embodiments, the transmitting network card can send each work queue element according to the time order in which each work queue element in the first work queue is stored.

[0067] For example, each work queue element and its first token can be encapsulated into a data packet and sent to the receiving network card in sequence.

[0068] For example, within a first preset time period, each work queue element generated by a data transmission request sent by the same intelligent computing job program module can be stored in the first work queue.

[0069] It should be noted that if the capacity of the first work queue is insufficient to store all work queue elements corresponding to a single intelligent computing job module within the first preset time period, the remaining work queue elements can be stored in another work queue.

[0070] In one possible implementation, after receiving any work queue element, the receiving network interface card (NIC) can verify the validity of the first token carried by that work queue element. For example, if the time when the receiving NIC receives the work queue element falls within a first preset time period, the first token is valid. If the time when the receiving NIC receives the work queue element does not fall within the first preset time period, the first token is invalid.

[0071] In some embodiments, the first token can be generated when the current time enters the first preset time period. In this case, the intelligent computing network traffic control method provided in this disclosure embodiment may further include: sending the first token to a receiving network interface card (NIC), wherein the receiving NIC is used to store the received work queue element when the token carried by the received work queue element is the first token; and to reject the work queue element when the token carried by the received work queue element is not the first token.

[0072] For example, after generating the first token, the first token can be sent to the receiving network card, so that the receiving network card can confirm whether the token carried by the subsequently received work queue element is valid.

[0073] Specifically, if the token carried by a received work queue element is the first token, it proves that the token carried by that work queue element is valid. Therefore, the received work queue element can be stored. Conversely, if the token carried by a received work queue element is not the first token, it proves that the token carried by that work queue element is invalid. Therefore, the work queue element can be rejected.

[0074] In some embodiments, the transmitting network interface card further includes a completion queue, and the method includes: after sending a work queue element to the receiving network interface card, generating a corresponding completion queue element in the completion queue.

[0075] For example, the completion queue can be used to record each work queue element that has been sent.

[0076] In one possible implementation, the sending network interface card (NIC) can generate a data transmission response based on the corresponding element in the completion queue. This data transmission response can then be sent to the corresponding intelligent computing job application module.

[0077] S208, when entering the second preset time period at the current time, if the first work queue includes unsent work queue elements, the unsent work queue elements are placed into the second work queue, wherein the second work queue corresponds to the second preset time period, and the first preset time period and the second preset time period are two adjacent preset time periods.

[0078] In one possible implementation, each unsent work queue element in the first work queue can be placed at the tail of the second work queue.

[0079] In an exemplary embodiment, the length of the first preset time period and the length of the second preset time period may be the same or different, and this embodiment does not limit this.

[0080] In an exemplary embodiment, the first preset time period and the second preset time period can be set using time slices. For example, the transmitting network interface card (NIC) can be configured with a time slice, and the duration of the current preset time period is the time slice that arrives at the desired time. Furthermore, the transmitting NIC can configure the arrival time of the time slice in real time, thereby allowing for real-time adjustment of the preset time period's duration.

[0081] In some embodiments, the intelligent computing network traffic control method provided in this disclosure may further include: generating a second token corresponding to the second preset time period when the current time enters the second preset time period.

[0082] In this case, if the first work queue includes unsent work queue elements, after placing the unsent work queue elements into the second work queue, the method further includes: re-matching the corresponding second token for each unsent work queue element.

[0083] In an exemplary embodiment, when the current time enters the second preset time period, a second token can be generated, and each work queue element generated during the second preset time period can be matched with a second token. At this time, the first token becomes invalid, so it is necessary to re-match a second token for each unsent work queue element in the first work queue, so that each unsent work queue element can be sent within the second preset time period.

[0084] The method provided in this disclosure can store data to be sent in a work queue, thereby controlling the sending of work queue elements through tokens and preset time periods to avoid network traffic congestion and packet loss, improve the effectiveness and reliability of intelligent computing network traffic control, and enhance user experience.

[0085] For example, a schematic diagram of a smart computing network traffic transmission process provided in this disclosure embodiment can be as follows: Figure 3 As shown. The intelligent computing center constructs an IB network, applying RDMA (Remote Direct Memory Access) technology to build a high-volume, extremely low-latency intelligent computing network. Both intelligent computing nodes A and B can include intelligent computing applications based on intelligent computing job programs. These applications can achieve collaborative operations with large computational and data volumes through RDMA technology. Each intelligent computing application can include multiple application data caching modules to store relevant data, and can connect to the system Kenel (real-time operating system) and the IB network card through different application data modules, thereby submitting a series of data transmission requests to the verbs interfaces of the system Kenel and the IB network card.

[0086] In an exemplary embodiment, the system Kenel can store the data to be sent using a built-in data caching module and transmit the data to the Ethernet card in intelligent computing node A via the TCP / IP protocol stack. The Ethernet card in intelligent computing node A may include a built-in data caching module to store the received data to be sent. The data can then be transmitted over the network to the Ethernet card in intelligent computing node B, thereby enabling network data transfer.

[0087] For example, the IB network interface card (NIC) in intelligent computing node A can communicate with the IB NIC in intelligent computing node B. Therefore, intelligent computing node A can send corresponding data to intelligent computing node B through the IB NIC. The IB NIC in intelligent computing node A can generate a corresponding work queue to store data sending requests. At this time, QPs (Queue Pairs) can be created according to send and receive pairs. For example, when the intelligent computing application sends a request to a QP, a work queue element will be generated in the work queue, and the IB NIC will execute each work queue element sequentially. At the same time, the IB NIC can also establish a corresponding completion queue. Whenever a work queue element is completed, the corresponding completion queue can generate a completion queue element.

[0088] It should be noted that network transmission based on the TCP / IP protocol stack requires CPU involvement and the system kernel to perform data encapsulation, parsing, and caching operations, consuming significant CPU resources and resulting in underutilization of the network card's (NIC) transmission capacity, thus wasting resources. RDMA technology, however, employs kernel bypass technology, bypassing the system kernel's processing. This allows intelligent computing applications to directly access the IB NIC and send data directly to the receiving end, greatly improving transmission efficiency and speed, significantly reducing transmission latency, and making it suitable for high-throughput concurrent programs in intelligent computing centers, meeting the need for extremely low latency under large data volumes. Therefore, this disclosure provides a flow control method for intelligent computing center IB networks based on RDMA technology, solving the network transmission congestion problem caused by packet processing issues in intelligent computing jobs, and is applicable to intelligent computing center network application scenarios.

[0089] In some embodiments, a schematic diagram of an intelligent computing network traffic control method provided in this disclosure can be as follows: Figure 4 As shown.

[0090] exist Figure 4In the process, the intelligent computing job module can send various data transmission requests to the IB network card via the verbs interface within a first preset time period. The IB network card can generate work queue elements according to each data transmission request and store the work queue elements in the work queue. Each work queue element, after being generated, can obtain a corresponding token from the token generator. It should be noted that all work queue elements within the same work queue correspond to the same token.

[0091] In addition, the IB network card can send the work queue elements in the work queue sequentially to the corresponding IB network card of the receiver through the network communication interface.

[0092] For example, the IB network interface card may also include a completion queue, which can generate a completion queue element whenever a work queue element is sent through the network communication interface of the IB network interface card.

[0093] For example, this disclosure provides an intelligent computing network traffic control system, which may include: a transmitting network card included in the intelligent computing network and a receiving network card included in the intelligent computing network, wherein the transmitting network card includes a work queue sending controller, a token generator, and a work queue buffer.

[0094] The work queue cache is used to generate at least one work queue element within a first preset time period, and to match the corresponding first token for each of the at least one work queue element using the token generator; and to store at least one work queue element carrying the first token into a first work queue, which corresponds to the first preset time period.

[0095] The work queue sending controller is used to control the work queue buffer to sequentially send each work queue element carrying the first token in the first work queue to the receiving network card. The receiving network card is used to receive each work queue element when it is determined that the first token carried by each work queue element is valid.

[0096] The work queue buffer is further configured to, when entering the second preset time period at the current time, if the first work queue includes unsent work queue elements, place the unsent work queue elements into the second work queue, wherein the second work queue corresponds to the second preset time period, and the first preset time period and the second preset time period are two adjacent preset time periods.

[0097] In some exemplary embodiments, the intelligent computing network traffic control system provided in this disclosure further includes: a time slice transmitter;

[0098] The time slice transmitter is used to instruct the token generator to generate the first token when the current time enters the first preset time period;

[0099] The time slice transmitter is further configured to instruct the work queue sending controller to control the work queue buffer to send each work queue element carrying the first token in the first work queue when the current time enters the first preset time period.

[0100] It should be noted that the methods for each operation performed by the sending network card, receiving network card, and time slice transmitter in this intelligent computing network traffic control system can be found in the corresponding descriptions in steps S202 to S208 above, and will not be repeated here.

[0101] For example, a schematic diagram of an intelligent computing network traffic control system provided in this disclosure embodiment can be as follows: Figure 5 As shown. In Figure 5 In this context, the time slice generator can be used to configure the duration of the time slice, which can be used to control the pulse rhythm of the work queue. Whenever the time slice arrives, it immediately triggers a notification to the work queue sending controller and the token generator.

[0102] For example, the work queue buffer can generate corresponding work queue elements and store them in the work queue when the intelligent computing job program module sends a data transmission request through the verbs interface of the sending end IB network card. Furthermore, under the control and scheduling of the work queue transmission controller, the work queue elements of a certain work queue are sent through the physical communication interface of the sending end IB network card. For each work queue element generated, a corresponding token is obtained from the token generator, and this token can be carried in the transmitted data packet.

[0103] For example, the work queue sending controller is used to control each work queue of the work queue buffer to send data packets sequentially through the physical interface within a certain time slice, with each data packet carrying a corresponding token. When the time slice generator triggers the work queue sending controller, it indicates that the next preset time period is about to begin. At this time, the sending permission of the current work queue can be cut off and the permission can be delegated to the next work queue sending controller. At the same time, any unsent work queue sending controller elements in the current work queue can be placed at the tail of the queue of the next work queue sending controller.

[0104] Additionally, the token generator can generate new tokens after the time slice generator is triggered, which can then be used to match work queue elements generated within the current time slice. The token generator can also send this token to the receiving IB network interface card (IB card) via the sending IB card's communication physical interface. After the new token is sent, the original token becomes invalid, and the receiving IB card will reject data packets carrying the original token.

[0105] This disclosure embodiment fully utilizes the high efficiency and extremely low latency advantages of RDMA technology through an intelligent computing network traffic control system based on RDMA. At the same time, it uses a time slice generator for trigger control on the existing hardware of the IB network card, and effectively solves the problem of network traffic congestion by matching corresponding tokens to each work queue element, thereby improving the effectiveness and reliability of intelligent computing network traffic control.

[0106] Based on the same inventive concept, this disclosure also provides an intelligent computing network traffic control device, as described in the following embodiments. Since the principle by which this device solves the problem is similar to that of the above-described method embodiments, the implementation of this device embodiment can refer to the implementation of the above-described method embodiments, and repeated details will not be elaborated further.

[0107] Figure 6 This diagram illustrates a smart computing network traffic control device according to an embodiment of the present disclosure, such as... Figure 6 As shown, this device can be applied to a transmitter network interface card (NIC) included in an intelligent computing network. The transmitter NIC includes at least one work queue. The device includes:

[0108] The work queue element generation module 601 is used to generate at least one work queue element within a first preset time period.

[0109] The first token matching module 602 is used to match the corresponding first token for at least one work queue element, wherein any first token corresponds to the first preset time period;

[0110] The work queue element sending module 603 is used to sequentially send each work queue element carrying the first token in the first work queue to the receiving network card. The receiving network card is used to receive each work queue element when it is determined that the first token carried by each work queue element is valid.

[0111] The work queue element placement module 604 is used to place unsent work queue elements into the second work queue when the first work queue contains unsent work queue elements when the current time enters the second preset time period. The second work queue corresponds to the second preset time period, and the first preset time period and the second preset time period are two adjacent preset time periods.

[0112] In some exemplary embodiments, the work queue element generation module 601 is used to acquire at least one data transmission request sent by the intelligent computing job program module within a first preset time period; and generate at least one work queue element according to the at least one data transmission request, wherein the data transmission request corresponds one-to-one with the work queue element.

[0113] In some exemplary embodiments, the intelligent computing network traffic control device provided in this disclosure may further include: a first token generation module, used to generate the first token when the current time enters the first preset time period;

[0114] The first token sending module is used to send the first token to the receiving network card. The receiving network card is used to store the received work queue element when the token carried by the received work queue element is the first token, and to reject the work queue element when the token carried by the received work queue element is not the first token.

[0115] In some exemplary embodiments, the intelligent computing network traffic control device provided in this disclosure may further include:

[0116] The second token generation module is used to generate a second token corresponding to the second preset time when the current time enters the second preset time period.

[0117] The second token matching module is used to rematch the corresponding second token for each unsent work queue element.

[0118] In some exemplary embodiments, the transmitting network interface card further includes a completion queue, and the intelligent computing network traffic control device provided in this disclosure embodiment may further include:

[0119] The completion queue element generation module is used to generate a corresponding completion queue element in the completion queue after a work queue element is sent to the receiving network card.

[0120] It should be noted that the work queue element generation module 601, the first token matching module 602, the work queue element sending module 603, and the work queue element placement module 604 described above correspond to steps S202 to S208 in the method embodiments, respectively. The examples and application scenarios implemented by these modules and their corresponding steps are the same, but they are not limited to the content disclosed in the above method embodiments. It should also be noted that these modules, as part of the apparatus, can be executed in a computer system, such as a set of computer-executable instructions.

[0121] The apparatus provided in this disclosure can store data to be sent in a work queue, thereby controlling the sending of work queue elements through tokens and preset time periods to avoid network traffic congestion and packet loss, improve the effectiveness and reliability of intelligent computing network traffic control, and enhance user experience.

[0122] Those skilled in the art will understand that various aspects of this disclosure can be implemented as a system, method, or program product. Therefore, various aspects of this disclosure can be specifically implemented in the following forms: a completely hardware implementation, a completely software implementation (including firmware, microcode, etc.), or a combination of hardware and software aspects, collectively referred to herein as a "circuit," "module," or "system."

[0123] The following reference Figure 7 To describe an electronic device 700 according to such an embodiment of the present disclosure. Figure 7 The electronic device 700 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments disclosed herein.

[0124] like Figure 7 As shown, the electronic device 700 is manifested in the form of a general-purpose computing device. The components of the electronic device 700 may include, but are not limited to: at least one processing unit 710, at least one storage unit 720, and a bus 730 connecting different system components (including storage unit 720 and processing unit 710).

[0125] The storage unit stores program code that can be executed by the processing unit 710, causing the processing unit 710 to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of this disclosure. For example, the processing unit 710 can perform the following steps of the above method embodiment: generating at least one work queue element within a first preset time period; matching corresponding first tokens for each of the at least one work queue element, wherein any first token corresponds to the first preset time period; sequentially sending each work queue element carrying a first token in the first work queue to the receiving network card, wherein the receiving network card is used to receive each work queue element when it is determined that the first token carried by each work queue element is valid; when the current time enters a second preset time period, if the first work queue includes unsent work queue elements, placing the unsent work queue elements into the second work queue, wherein the second work queue corresponds to the second preset time period, and the first preset time period and the second preset time period are two adjacent preset time periods.

[0126] Storage unit 720 may include a readable medium in the form of a volatile storage unit, such as random access memory (RAM) 7201 and / or cache memory 7202, and may further include a read-only memory (ROM) 7203.

[0127] The storage unit 720 may also include a program / utility 7204 having a set (at least one) program module 7205, such program module 7205 including but not limited to: an operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.

[0128] Bus 730 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.

[0129] Electronic device 700 can also communicate with one or more external devices 740 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with electronic device 700, and / or with any device that enables electronic device 700 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 750. Furthermore, electronic device 700 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 760. As shown, network adapter 760 communicates with other modules of electronic device 700 via bus 730. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 700, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0130] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this disclosure.

[0131] In particular, according to embodiments of this disclosure, the process described above with reference to the flowchart can be implemented as a computer program product, which includes a computer program that, when executed by a processor, implements the above-described intelligent computing network traffic control method.

[0132] In exemplary embodiments of this disclosure, a computer-readable storage medium is also provided, which may be a readable signal medium or a readable storage medium. The computer-readable storage medium stores a program product capable of implementing the methods described above. In some possible implementations, various aspects of this disclosure may also be implemented as a program product including program code, which, when run on a terminal device, causes the terminal device to perform the steps according to various exemplary embodiments of this disclosure described in the "Exemplary Methods" section of this specification.

[0133] More specific examples of computer-readable storage media in this disclosure may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0134] In this disclosure, a computer-readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of transmitting, propagating, or transmitting a program for use by or in connection with an instruction execution system, apparatus, or device.

[0135] Optionally, the program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.

[0136] In practical implementation, program code for performing the operations of this disclosure can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, and conventional procedural programming languages ​​such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0137] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this 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 and embodied by multiple modules or units.

[0138] Furthermore, although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.

[0139] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, mobile terminal, or network device, etc.) to execute the methods according to the embodiments of this disclosure.

[0140] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope of this disclosure is indicated by the appended claims.

Claims

1. A method for controlling traffic in an intelligent computing network, characterized in that, The method, executed by a transmitting network interface card (NIC) included in an intelligent computing network, wherein the transmitting NIC includes at least one work queue, comprises: At least one work queue element is generated within a first preset time period; Match a first token to at least one work queue element, wherein any first token corresponds to the first preset time period; The receiving network card sequentially sends each work queue element carrying the first token in the first work queue to the receiving network card. The receiving network card is used to receive each work queue element when it is determined that the first token carried by each work queue element is valid. When the current time enters the second preset time period, if the first work queue includes unsent work queue elements, the unsent work queue elements are placed into the second work queue. The second work queue corresponds to the second preset time period, and the first preset time period and the second preset time period are two adjacent preset time periods.

2. The intelligent computing network traffic control method according to claim 1, characterized in that, The generation of at least one work queue element within a first preset time period includes: Within a first preset time period, acquire at least one data transmission request sent by the intelligent computing job program module; At least one work queue element is generated based on at least one data sending request, and the data sending request corresponds one-to-one with the work queue element.

3. The intelligent computing network traffic control method according to claim 1, characterized in that, The method further includes: When the current time enters the first preset time period, the first token is generated; The first token is sent to the receiving network card, wherein the receiving network card is used to store the received work queue element when the token carried by the received work queue element is the first token; and to reject the work queue element when the token carried by the received work queue element is not the first token.

4. The intelligent computing network traffic control method according to any one of claims 1 to 3, characterized in that, The method further includes: When the current time enters the second preset time period, a second token corresponding to the second preset time is generated; Wherein, if the first work queue includes unsent work queue elements, after placing the unsent work queue elements into the second work queue, the method further includes: Rematch the corresponding second token for each unsent work queue element.

5. The intelligent computing network traffic control method according to any one of claims 1 to 3, characterized in that, The transmitting network card also includes a completion queue, and the method further includes: After a work queue element is sent to the receiving network card, a corresponding completion queue element is generated in the completion queue.

6. A smart computing network traffic control system, characterized in that, The system includes: a transmitting network card and a receiving network card in the intelligent computing network, wherein the transmitting network card includes a work queue sending controller, a token generator, and a work queue buffer; The work queue cache is used to generate at least one work queue element within a first preset time period, and to match the corresponding first token for each of the at least one work queue element using the token generator; and to store at least one work queue element carrying the first token into a first work queue, wherein the first work queue corresponds to the first preset time period. The work queue sending controller is used to control the work queue buffer to sequentially send each work queue element carrying the first token in the first work queue to the receiving network card. The receiving network card is used to receive each work queue element when it is determined that the first token carried by each work queue element is valid. The work queue buffer is further configured to, when entering the second preset time period at the current time, if the first work queue includes unsent work queue elements, place the unsent work queue elements into the second work queue, wherein the second work queue corresponds to the second preset time period, and the first preset time period and the second preset time period are two adjacent preset time periods.

7. The intelligent computing network traffic control system according to claim 6, characterized in that, The system also includes: a time slice transmitter; The time slice transmitter is used to instruct the token generator to generate the first token when the current time enters the first preset time period; The time slice transmitter is further configured to instruct the work queue sending controller to control the work queue buffer to send each work queue element carrying the first token in the first work queue when the current time enters the first preset time period.

8. A smart computing network traffic control device, characterized in that, A transmitting network interface card (NIC) used in an intelligent computing network, the transmitting NIC including at least one work queue, the device comprising: The work queue element generation module is used to generate at least one work queue element within a first preset time period. The first token matching module is used to match the corresponding first token for at least one work queue element, wherein any first token corresponds to the first preset time period; The work queue element sending module is used to sequentially send each work queue element carrying the first token in the first work queue to the receiving end network card. The receiving end network card is used to receive each work queue element when it is determined that the first token carried by each work queue element is valid. The work queue element placement module is used to place unsent work queue elements into the second work queue when the first work queue contains unsent work queue elements when the second preset time period begins at the current time. The second work queue corresponds to the second preset time period, and the first preset time period and the second preset time period are two adjacent preset time periods.

9. An electronic device, characterized in that, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to execute the intelligent computing network traffic control method according to any one of claims 1 to 5 by executing the executable instructions.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the intelligent computing network traffic control method according to any one of claims 1 to 5.