CN113162864B - RoCE network flow control method, device, equipment and storage medium - Google Patents

RoCE network flow control method, device, equipment and storage medium Download PDF

Info

Publication number
CN113162864B
CN113162864B CN202110448376.9A CN202110448376A CN113162864B CN 113162864 B CN113162864 B CN 113162864B CN 202110448376 A CN202110448376 A CN 202110448376A CN 113162864 B CN113162864 B CN 113162864B
Authority
CN
China
Prior art keywords
source
source end
network
network card
source terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110448376.9A
Other languages
Chinese (zh)
Other versions
CN113162864A (en
Inventor
赵耀
余学山
许广洋
杨飘飘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110448376.9A priority Critical patent/CN113162864B/en
Publication of CN113162864A publication Critical patent/CN113162864A/en
Application granted granted Critical
Publication of CN113162864B publication Critical patent/CN113162864B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion

Abstract

The present specification provides a method, an apparatus, a device and a storage medium for controlling RoCE network traffic, which can be applied to the financial field or other fields, the method comprises: acquiring internetwork communication description information and network card residual sending capacity information of each source end in a source end set; separating a source terminal set with the same destination terminal from a source terminal set according to the destination terminal in the internetwork communication description information; for each source terminal set, determining the flow distribution proportion of each source terminal in the source terminal set according to the network card residual sending capacity information of each source terminal in the source terminal set; acquiring the residual receiving capacity information of the network card of each destination end; and for each source end subset, determining the single transmission flow upper limit of each source end in the source end subset according to the corresponding flow distribution proportion and the network card residual receiving capacity information of the corresponding destination end, and sending the single transmission flow upper limit to the corresponding source end so that each source end sends data flow based on the single transmission flow upper limit. The method and the device can reduce the congestion rate of the RoCE network and give consideration to the operation stability of the RoCE network.

Description

RoCE network flow control method, device, equipment and storage medium
Technical Field
The present disclosure relates to the field of traffic control technologies, and in particular, to a method, an apparatus, a device, and a storage medium for controlling traffic of a RoCE network.
Background
RoCE (RDMA over Converged Ethernet, RDMA technology and Ethernet convergence technology) is a transport layer Protocol based on UDP (User Datagram Protocol) connectionless. The reliability of the RoCE network is generally poor, and the RoCE network is extremely sensitive to packet loss, and one hundred thousand of packet loss can cause rapid reduction of transmission performance, so that the deployment of the RoCE network cannot be separated from an effective flow control mechanism to ensure high-speed and reliable transmission. At present, a PFC (Priority-based Flow Control) technology is generally used in a RoCE network to ensure lossless forwarding, but a mechanism of the PFC operates at a port level, and Flow Control often simply and roughly stops all switch port flows, so that other service flows are damaged, even a PFC storm and deadlock are caused, and even a global network is affected by diffusion.
Disclosure of Invention
An object of an embodiment of the present specification is to provide a method for controlling a traffic of a RoCE network, so as to achieve both operation stability of the RoCE network and reduction of congestion rate of the RoCE network.
To achieve the above object, in one aspect, an embodiment of the present specification provides a method for controlling a traffic of a RoCE network, including:
acquiring internetwork communication description information and network card residual sending capacity information of each source end in a source end set;
according to the destination end in the internetwork communication description information, separating a source terminal set with the same destination end from the source terminal set;
for each source terminal set, determining the flow distribution proportion of each source terminal in the source terminal set according to the residual sending capacity information of the network card of each source terminal in the source terminal set;
acquiring the residual receiving capacity information of the network card of each destination end;
for each source terminal subset, determining the single transmission flow upper limit of each source terminal in the source terminal subset according to the corresponding flow distribution proportion and the network card residual receiving capacity information of the corresponding destination terminal;
and sending the corresponding single transmission flow upper limit to each source end so that each source end sends the data stream based on the single transmission flow upper limit.
In an embodiment of this specification, the acquiring inter-network communication description information and network card remaining transmission capability information of each source end in a source end set includes:
and receiving the inter-network communication description information and the network card residual sending capability information sent by each source end in the source end set at the appointed time.
In an embodiment of the present specification, the timing assignment includes that the source end determines to send out a data stream.
In an embodiment of the present specification, the internetwork communication description information includes a source address and a destination address.
In an embodiment of this specification, the description information of the internetwork communication further includes: the RoCE protocol.
In an embodiment of this specification, the determining, for each source terminal set, a flow allocation ratio of each source terminal in the source terminal set according to the network card remaining transmission capability information of each source terminal in the source terminal set includes:
for each source subset, according to a formula
Figure BDA0003037679810000021
Determining the flow distribution proportion of each source end in the system;
wherein R is ij A flow distribution proportion for the jth source end in the ith source end subset, b ij The network card residual sending capability of the jth source end in the ith source end subset is obtained; and N is the number of source ends in the ith source end subset.
In an embodiment of this specification, the determining, for each source terminal subset, a single transmission flow upper limit of each source terminal in the source terminal subset according to the corresponding flow distribution ratio and the network card remaining receiving capability information of the corresponding destination terminal includes:
for each source terminal subset, according to formula F ij =R ij *B i Determining the upper limit of single transmission flow of each source end;
wherein, F ij The single transmission flow upper limit of the jth source end in the ith source end subset is set; b is i And the network card residual receiving capability information of the destination end corresponding to the ith source end subset.
In another aspect, an embodiment of the present specification further provides a RoCE network traffic control apparatus, including:
the first acquisition module is used for acquiring internetwork communication description information and network card residual sending capability information of each source end in the source end set;
a source grouping module, configured to separate, according to a destination in the inter-network communication description information, a source terminal set with a same destination from the source set;
the proportion determining module is used for determining the flow distribution proportion of each source end in each source terminal set according to the network card residual sending capacity information of each source end in each source terminal set;
the second acquisition module is used for acquiring the network card residual receiving capacity information of each destination end;
the upper limit determining module is used for determining the single transmission flow upper limit of each source end in each source end subset according to the corresponding flow distribution proportion and the network card residual receiving capacity information of the corresponding destination end;
and the upper limit sending module is used for sending the corresponding single transmission flow upper limit to each source end so that each source end sends the data stream based on the single transmission flow upper limit.
In another aspect, the embodiments of the present specification further provide a computer device, which includes a memory, a processor, and a computer program stored on the memory, and when the computer program is executed by the processor, the computer program executes the instructions of the above method.
In another aspect, the present specification further provides a computer storage medium, on which a computer program is stored, where the computer program is executed by a processor of a computer device, and the computer program executes the instructions of the method.
As can be seen from the technical solutions provided in the embodiments of the present specification, the network card remaining transmission capability and the inter-network communication description information of the source end may be obtained, and the network card remaining reception capability information of the destination end may be obtained; for each source end with the same destination end, the flow distribution proportion transmitted to the destination end can be determined according to the network card residual sending capacity of the source end, and the single transmission flow upper limit of each source end can be determined according to the flow distribution proportion and the network card residual receiving capacity information of the destination end and correspondingly provided for each source end, so that each source end can send data stream based on the single transmission flow upper limit. Therefore, the traffic control of the RoCE network is realized under the condition of not depending on a PFC traffic control mechanism, so that the congestion rate of the RoCE network is realized, the operation stability of the RoCE network is considered, and the operation and maintenance difficulty of the RoCE network is reduced.
Drawings
In order to more clearly illustrate the embodiments of the present specification or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, it is obvious that the drawings in the following description are only some embodiments described in the present specification, and for those skilled in the art, other drawings can be obtained according to the drawings without any creative effort. In the drawings:
fig. 1 is a schematic diagram illustrating an application scenario of RoCE network traffic control in some embodiments of the present specification;
fig. 2 illustrates a flow diagram of a method of traffic control for a RoCE network in some embodiments of the present description;
FIG. 3 is a diagram illustrating a source aggregation in one embodiment of the present specification;
FIG. 4 is a schematic diagram of a source subset separated from the source subset of FIG. 3;
FIG. 5 is a schematic diagram of another source subset separated from the source subset of FIG. 3;
FIG. 6 illustrates a block diagram of a RoCE network flow control device in some embodiments of the present description;
FIG. 7 is a block diagram illustrating the architecture of a computer device in some embodiments of the present description.
[ description of reference ]
100. A source end;
200. a flow control server;
300. a destination end;
61. a first acquisition module;
62. a source end grouping module;
63. a proportion determination module;
64. a second acquisition module;
65. an upper limit determination module;
66. an upper limit sending module;
702. a computer device;
704. a processor;
706. a memory;
708. a drive mechanism;
710. an input/output interface;
712. an input device;
714. an output device;
716. a presentation device;
718. a graphical user interface;
720. a network interface;
722. a communication link;
724. a communication bus.
Detailed Description
In order to make those skilled in the art better understand the technical solutions in the present specification, the technical solutions in the embodiments of the present specification will be clearly and completely described below with reference to the drawings in the embodiments of the present specification, and it is obvious that the described embodiments are only a part of the embodiments of the present specification, and not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments in the present specification without making any creative effort shall fall within the protection scope of the present specification.
The embodiment of the present specification mainly relates to a flow control technology of a RoCE network, and may be applied to a scenario where both transmitting and receiving parties (hereinafter, a source end and a destination end) in the financial field or other fields adopt a RoCE protocol, and in this scenario, both the transmitting and receiving parties are generally configured with an intelligent network card. In the existing RoCE network, a PFC technology is generally used for guaranteeing lossless forwarding, but a mechanism of PFC operates at a port level, flow control often simply and roughly stops all the flow of a port of a switch, other service flows are damaged, and even a PFC storm and deadlock are caused, so that the operation stability of the RoCE network is influenced.
In view of the above, the present invention is to reduce the operation stability of the RoCE network and simultaneously achieve the operation stability of the RoCE network. The embodiment of the specification provides a flow control method of a RoCE network. As shown in fig. 1, the flow control method for the RoCE network may be applied to a flow control server 200 (i.e., a server for implementing flow control in the RoCE network) in the RoCE network, so as to implement flow control when the source end 100 sends a data stream to the destination end 300.
As will be understood by those skilled in the art, the source peer and the destination peer in the embodiments of the present disclosure are opposite, and in one data stream transmission, the sender is the source peer, and the receiver is the destination peer. For example, in one data stream transmission, a forwards a data stream to B, and at this time, a is the source end and B is the destination end. In another data stream transmission, B forwards the data stream to a, and at this time, B is the source and a is the destination.
Furthermore, the node types of the source end and the destination end are not limited in this embodiment of the present specification. Either party may be a client or a server. The client can be a desktop computer, a tablet computer, a notebook computer, a smart phone, a digital assistant, a smart wearable device and the like. Wherein, wearable equipment of intelligence can include intelligent bracelet, intelligent wrist-watch, intelligent glasses, intelligent helmet etc.. Of course, the client is not limited to the electronic device (or referred to as a computer device) having a certain entity, and may also be software running in the electronic device. The server can be an electronic device (or called a computer device) with operation and network interaction functions; software that runs in the electronic device and provides business logic for data processing and network interaction is also possible.
Referring to fig. 2, in some embodiments of the present disclosure, the method for controlling traffic of a RoCE network may include the following steps:
s201, acquiring inter-network communication description information and network card residual sending capability information of each source end in a source end set.
S202, according to the destination end in the internetwork communication description information, separating a source end subset with the same destination end from the source end set.
S203, for each source terminal subset, determining the flow distribution proportion of each source terminal according to the network card residual sending capability information of each source terminal in the source terminal subset.
And S204, acquiring the residual receiving capacity information of the network card of each destination terminal.
S205, for each source terminal subset, determining the single transmission flow upper limit of each source terminal in the source terminal subset according to the corresponding flow distribution proportion and the network card residual receiving capacity information of the corresponding destination terminal.
S206, sending the corresponding single transmission flow upper limit to each source end, so that each source end sends the data stream based on the single transmission flow upper limit.
In the embodiment of the specification, the network card remaining sending capability and the inter-network communication description information of the source end can be obtained, and the network card remaining receiving capability information of the destination end can be obtained; for each source end with the same destination end, the flow distribution proportion transmitted to the destination end can be determined according to the network card residual sending capacity of the source end, and the single transmission flow upper limit of each source end can be determined according to the flow distribution proportion and the network card residual receiving capacity information of the destination end and correspondingly provided for each source end, so that each source end can send data stream based on the single transmission flow upper limit. Therefore, the traffic control of the RoCE network is realized under the condition of not depending on a PFC traffic control mechanism, so that the congestion rate of the RoCE network is realized, the operation stability of the RoCE network is considered, and the operation and maintenance difficulty of the RoCE network is reduced.
In an embodiment of the present specification, a source end set may refer to all source ends currently requiring outgoing data streams in a RoCE network. For example, in a RoCE network, there are ten nodes, and five nodes currently have a demand for outgoing data streams, and these five nodes can be used as a source end set. Outgoing data streams here refer to: one node in the RoCE network transmits data to other nodes in the RoCE network.
The internetwork communication description information may generally include a source address and a destination address. The source address is the network card IP address of the source end, and the destination address is the network card IP address of the destination end. Of course, in other embodiments of this specification, the inter-network communication description information may further include other information such as a RoCE protocol. In this way, in an application scenario in which multiple transport protocols (e.g., the RoCE protocol, the Infiniband protocol, etc.) are configured in this node, the internetwork communication description information includes the RoCE protocol, and it is also possible that the sender can serve as one of the elements in the source end set when an outgoing data stream of the RoCE protocol is used. Thereby realizing the flow control with pertinence.
In some embodiments of this specification, the obtaining inter-network communication description information and network card remaining transmission capability information of each source end in the source end set may include: and receiving the inter-network communication description information and the network card residual sending capability information sent by each source end in the source end set at the appointed time. Wherein, the appointed time can be selected according to the actual need. For example, in an embodiment of the present specification, the designated time may be when the source determines to send out a data stream (although it is not sent, it is determined to which destination), so that the inter-network communication description information and the network card remaining sending capability information can be sent as needed, which is beneficial to reducing the communication cost. Of course, this is merely an exemplary example, and in other embodiments of the present disclosure, the designated timing may also be any other suitable timing such as a timed time of the timed transmission.
Since quintuple information (source address, source port, destination address, destination port and transport layer protocol) and the like can be generally adopted in communication to identify internetwork communication between nodes. For convenience of implementation, in some embodiments of the present disclosure, the internetwork communication description information sent by the source end may also be quintuple information. Correspondingly, after the flow control server receives the quintuple information, information such as a source address, a destination address and the like can be extracted from the quintuple information.
The network card remaining transmission capability information of one source end is used for representing the remaining (i.e. actually available) uplink transmission capability (i.e. network card transmission capability) of the intelligent network card of the source end. Due to the dynamic change of the network environment, the uplink transmission capability of the intelligent network card can also be dynamically changed. Therefore, the remaining transmission capability information of the network card is generally used to represent the remaining uplink transmission capability of the intelligent network card at the source end at the current time. The uplink transmission capability may be represented by parameters such as an actual uplink transmission rate.
Each source within the set of sources prepares to send a data stream to a particular destination. Therefore, for the same destination, data streams transmitted by one or more source terminals may be received at the same time. In order to implement flow control on each data stream, source ends in a source end set may be grouped in the same manner as a destination end. For example, in the exemplary embodiment shown in fig. 3, in a source end set composed of five source ends (i.e., source end S1 to source end S5), both the source end S1 and the source end S3 currently want to transmit data streams to the destination end D1, so that both have the same destination end, a source end subset shown in fig. 4 can be separated from the source end set (see the dashed box in fig. 4). Similarly, the source end S2, the source end S4, and the source end S5 all want to send data streams to the destination end D2 currently, so that the three have the same destination end, and a source terminal set shown in fig. 5 can be separated from the source end set (see a dashed box in fig. 5).
Similar to the network card remaining receiving capability information, the network card remaining receiving capability information of a destination is used to represent the remaining (i.e., actually available) downlink transmission capability (i.e., network card receiving capability) of the intelligent network card of the destination. Due to the dynamic change of the network environment, the downlink transmission capability of the intelligent network card can also be dynamically changed. Therefore, the network card remaining receiving capability information of the destination is generally used to represent the remaining downlink transmission capability of the intelligent network card of the destination at the present time. Wherein, the remaining downlink transmission capability may be represented by parameters such as the actual downlink transmission rate.
In some embodiments of the present specification, the manner in which the flow control server obtains the information about the remaining receiving capability of the network card may be active obtaining or passive obtaining, and may be specifically selected as needed. Wherein, actively acquiring may refer to: and the flow control server actively asks for the residual receiving capacity information of the network card of the destination terminal based on an event trigger mode. Passive acquisition may refer to: and the destination terminal reports the residual receiving capacity of the network card to the flow control server at regular time.
Because all the source ends in the source end subset can simultaneously transmit flow to the same destination end, in order to fully utilize the network card transmission capability of each source end in the source end subset and ensure that all the source ends in the source end subset can transmit data streams, the transmission flow ratio can be correspondingly distributed according to the network card residual transmission capability of each source end in the source end subset. That is, in the source terminal set, the ratio of the transmission traffic allocated by the source terminal is positively correlated with the remaining transmission capability of the network card. In other words, the stronger the remaining transmission capability of the network card at a source end, the larger the ratio of the allocated transmission traffic, and vice versa.
In some embodiments of this specification, the determining, for each source terminal set, a flow allocation ratio of each source terminal according to the remaining network card sending capability information of each source terminal in the source terminal set may include:
for each source subset, according to a formula
Figure BDA0003037679810000081
And determining the flow distribution proportion of each source end in the system. Wherein R is ij Distributing proportion for the flow of the jth source end in the ith source end subset, b ij Residual sending capacity of a network card of a jth source end in the ith source end subset is obtained; and N is the number of source ends in the ith source end subset.
For example, taking the source terminal set shown in fig. 4 as an example, it is assumed that the remaining network card sending capabilities of the source terminal S1 and the source terminal S3 in the source terminal set are b respectively 1 And b 3 Then, within the source terminal set:
flow distribution ratio R of source S1 1 Can be expressed as:
Figure BDA0003037679810000082
flow distribution ratio R of source S3 3 Can be expressed as:
Figure BDA0003037679810000083
for another example, taking the source terminal set shown in fig. 5 as an example, it is assumed that the remaining sending capabilities of the network cards of the source end S2, the source end S4, and the source end S5 in the source terminal set are b respectively 2 、b 4 And b 5 Then, within the source terminal set:
flow distribution ratio R of source S2 2 Can be expressed as:
Figure BDA0003037679810000084
flow distribution ratio R of source S4 4 Can be expressed as:
Figure BDA0003037679810000085
flow distribution ratio R of source S5 5 Can be expressed as:
Figure BDA0003037679810000086
because all the source ends in the source end subset can send traffic to the same destination end at the same time, but the receiving capability of the same destination end is limited, in order to prevent the sending total amount of all the source ends in the source end subset (i.e. the sum of the data amount sent by each source end in the source end subset at a single time) from exceeding the network card receiving capability of the corresponding destination end, and ensure that all the source ends in the source end subset can send, a single transmission traffic upper limit can be set for each source end in the source end subset.
In some embodiments of this specification, the determining, for each source terminal subset, the upper limit of the single transmission traffic of each source terminal in the source terminal subset according to the corresponding traffic distribution ratio and the network card remaining receiving capability information of the corresponding destination terminal may include:
for each source subset, according to formula F ij =R ij *B i And determining the upper limit of the single transmission flow of each source end. Wherein, F ij The single transmission flow upper limit of the jth source end in the ith source end subset is set; b i And the network card residual receiving capability information of the destination end corresponding to the ith source end subset.
For example, taking the source terminal set shown in fig. 4 as an example, assume that the remaining receiving capability of the network card of the destination D1 is B 1 According to the formula F ij =R ij *B i The upper limit of the single transmission flow of each source end in the source end subset can be calculated respectively. Specifically, the method comprises the following steps:
upper limit F of single transmission flow of source end S1 1 Can be expressed as: f 1 =R 1 ×B 1
Upper limit F of single transmission flow of source end S3 3 Can be expressed as: f 3 =R 3 ×B 1
For another example, taking the source terminal set shown in fig. 5 as an example, assume that the remaining receiving capability of the network card of the destination D2 is B 2 According to the formula F ij =R ij *B i The upper limit of the single transmission flow of each source end in the source end subset can be calculated respectively. Specifically, the method comprises the following steps:
upper limit F of single transmission flow of source end S2 2 Can be expressed as: f 2 =R 2 ×B 2
Upper limit F of single transmission flow of source end S4 4 Can be expressed as: f 4 =R 4 ×B 2
Upper limit F of single transmission flow of source end S5 5 Can be expressed as: f 5 =R 5 ×B 2
While the process flows described above include operations that occur in a particular order, it should be appreciated that the processes may include more or less operations that are performed sequentially or in parallel (e.g., using parallel processors or a multi-threaded environment).
Corresponding to the foregoing method, embodiments of the present specification further provide a RoCE network flow control apparatus, which may be installed or configured in the flow control server described above. Referring to fig. 6, in some embodiments of the present description, the RoCE network traffic control apparatus includes:
the first obtaining module 61 may be configured to obtain inter-network communication description information and network card remaining sending capability information of each source end in the source end set;
a source grouping module 62, configured to separate a source terminal set that is the same as a destination terminal from the source terminal set according to the destination terminal in the internetwork communication description information;
the proportion determining module 63 may be configured to determine, for each source terminal subset, a flow allocation proportion of each source terminal in the source terminal subset according to the network card remaining transmission capability information of each source terminal in the source terminal subset;
a second obtaining module 64, configured to obtain the remaining receiving capability information of the network card of each destination;
an upper limit determining module 65, configured to determine, for each source end subset, an upper limit of a single transmission flow of each source end in the source end subset according to the corresponding flow distribution proportion and the network card remaining receiving capability information of the corresponding destination end;
the upper limit sending module 66 may be configured to send a corresponding single-time-transmission-traffic upper limit to each source end, so that each source end sends a data stream based on its single-time-transmission-traffic upper limit.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functions of the various elements may be implemented in the same one or more software and/or hardware implementations of the present description.
Embodiments of the present description also provide a computer device. As shown in FIG. 7, in some embodiments of the present description, the computer device 702 may include one or more processors 704, such as one or more Central Processing Units (CPUs) or Graphics Processors (GPUs), each of which may implement one or more hardware threads. The computer device 702 may also include any memory 706 for storing any kind of information, such as code, settings, data, etc., and in a particular embodiment a computer program on the memory 706 and executable on the processor 704, which computer program when executed by the processor 704 may perform instructions according to the above-described method. For example, and without limitation, the memory 706 can include any one or more of the following in combination: any type of RAM, any type of ROM, flash memory devices, hard disks, optical disks, etc. More generally, any memory may use any technology to store information. Further, any memory may provide volatile or non-volatile retention of information. Further, any memory may represent fixed or removable components of computer device 702. In one case, when the processor 704 executes associated instructions that are stored in any memory or combination of memories, the computer device 702 can perform any of the operations of the associated instructions. The computer device 702 also includes one or more drive mechanisms 708, such as a hard disk drive mechanism, an optical disk drive mechanism, or the like, for interacting with any memory.
Computer device 702 can also include input/output interface 710 (I/O) for receiving various inputs (via input device 712) and for providing various outputs (via output device 714). One particular output mechanism may include a presentation device 716 and an associated graphical user interface 718 (GUI). In other embodiments, input/output interface 710 (I/O), input device 712, and output device 714 may not be included, but merely as a computer device in a network. Computer device 702 can also include one or more network interfaces 720 for exchanging data with other devices via one or more communication links 722. One or more communication buses 724 couple the above-described components together.
Communication link 722 may be implemented in any manner, such as over a local area network, a wide area network (e.g., the Internet), a point-to-point connection, etc., or any combination thereof. Communication link 722 may include any combination of hardwired links, wireless links, routers, gateway functions, name servers, etc., as dictated by any protocol or combination of protocols.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products of some embodiments of the specification. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processor to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processor, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processor to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processor to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computer device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Disks (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium which can be used to store information that can be accessed by a computer device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
As will be appreciated by one skilled in the art, embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, embodiments of the present description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and so forth) having computer-usable program code embodied therein.
The embodiments of this specification may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The described embodiments may also be practiced in distributed computing environments where tasks are performed by remote processors that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment. In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of an embodiment of the specification. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement or the like made within the spirit and principle of the present application shall be included in the scope of the claims of the present application.

Claims (10)

1. A method for controlling RoCE network traffic is characterized by comprising the following steps:
acquiring inter-network communication description information and network card residual sending capacity information of each source end in a source end set;
according to the destination end in the internetwork communication description information, separating a source terminal set with the same destination end from the source terminal set;
for each source terminal set, determining the flow distribution proportion of each source terminal in the source terminal set according to the network card residual sending capacity information of each source terminal in the source terminal set;
acquiring the residual receiving capacity information of the network card of each destination end;
for each source terminal subset, determining the single transmission flow upper limit of each source terminal in the source terminal subset according to the corresponding flow distribution proportion and the network card residual receiving capacity information of the corresponding destination terminal;
and sending the corresponding single transmission flow upper limit to each source end so that each source end sends the data stream based on the single transmission flow upper limit.
2. The method of controlling RoCE network traffic according to claim 1, wherein said obtaining inter-network communication description information and network card remaining transmission capability information of each source end in a source end set comprises:
and receiving the inter-network communication description information and the network card residual sending capability information sent by each source end in the source end set at the appointed time.
3. The RoCE network traffic control method of claim 2, wherein the designated occasion includes when a source end determines to send out a data stream.
4. The RoCE network traffic control method of claim 1, wherein the inter-network communication description information includes a source address and a destination address.
5. The RoCE network traffic control method of claim 4, wherein the inter-network communication description information further comprises: the RoCE protocol.
6. The method of controlling a RoCE network traffic of claim 1, wherein the determining, for each of the source terminal sets, a traffic allocation proportion of each source terminal therein according to the remaining sending capability information of the network card of each source terminal therein, comprises:
for each source terminal subset, according to a formula
Figure FDA0003037679800000011
Determining the flow distribution proportion of each source end in the system;
wherein R is ij A flow distribution proportion for the jth source end in the ith source end subset, b ij The network card residual sending capability of the jth source end in the ith source end subset is obtained; and N is the number of source ends in the ith source end subset.
7. The method of controlling RoCE network traffic according to claim 6, wherein said determining, for each of said source end subsets, an upper limit of a single transmission traffic of each source end therein according to the corresponding traffic distribution ratio and the remaining receiving capability information of the network card of the corresponding destination end comprises:
for each source subset, according to formula F ij =R ij *B i Determining the upper limit of single transmission flow of each source end;
wherein, F ij The single transmission flow upper limit of the jth source end in the ith source end subset is set; b is i And the network card residual receiving capability information of the destination end corresponding to the ith source end subset.
8. A RoCE network traffic control apparatus, comprising:
the first acquisition module is used for acquiring internetwork communication description information and network card residual sending capability information of each source end in the source end set;
a source end grouping module, configured to separate a source terminal set with a same destination end from the source end set according to the destination end in the internetwork communication description information;
the proportion determining module is used for determining the flow distribution proportion of each source end in each source terminal set according to the network card residual sending capacity information of each source end in the source terminal set;
the second acquisition module is used for acquiring the network card residual receiving capacity information of each destination end;
the upper limit determining module is used for determining the single transmission flow upper limit of each source end in each source end subset according to the corresponding flow distribution proportion and the network card residual receiving capacity information of the corresponding destination end;
and the upper limit sending module is used for sending the corresponding single transmission flow upper limit to each source end so that each source end sends the data stream based on the single transmission flow upper limit.
9. A computer device comprising a memory, a processor, and a computer program stored on the memory, wherein the computer program, when executed by the processor, performs the instructions of the method of any one of claims 1-7.
10. A computer storage medium on which a computer program is stored, characterized in that the computer program, when being executed by a processor of a computer device, executes instructions of a method according to any one of claims 1-7.
CN202110448376.9A 2021-04-25 2021-04-25 RoCE network flow control method, device, equipment and storage medium Active CN113162864B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110448376.9A CN113162864B (en) 2021-04-25 2021-04-25 RoCE network flow control method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110448376.9A CN113162864B (en) 2021-04-25 2021-04-25 RoCE network flow control method, device, equipment and storage medium

Publications (2)

Publication Number Publication Date
CN113162864A CN113162864A (en) 2021-07-23
CN113162864B true CN113162864B (en) 2022-11-08

Family

ID=76870307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110448376.9A Active CN113162864B (en) 2021-04-25 2021-04-25 RoCE network flow control method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN113162864B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107493238A (en) * 2016-06-13 2017-12-19 华为技术有限公司 A kind of method for controlling network congestion, equipment and system
CN109981471A (en) * 2017-12-27 2019-07-05 华为技术有限公司 A kind of method, apparatus and system for alleviating congestion
CN110061923A (en) * 2018-01-19 2019-07-26 北京金山云网络技术有限公司 Flow control methods, device, interchanger, transmitting terminal server and medium
CN110213170A (en) * 2018-02-28 2019-09-06 华为技术有限公司 A kind of method and device of message transmissions
CN111447155A (en) * 2020-03-24 2020-07-24 广州市百果园信息技术有限公司 Data transmission method, device, equipment and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10785161B2 (en) * 2018-07-10 2020-09-22 Cisco Technology, Inc. Automatic rate limiting based on explicit network congestion notification in smart network interface card

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107493238A (en) * 2016-06-13 2017-12-19 华为技术有限公司 A kind of method for controlling network congestion, equipment and system
CN109981471A (en) * 2017-12-27 2019-07-05 华为技术有限公司 A kind of method, apparatus and system for alleviating congestion
CN110061923A (en) * 2018-01-19 2019-07-26 北京金山云网络技术有限公司 Flow control methods, device, interchanger, transmitting terminal server and medium
CN110213170A (en) * 2018-02-28 2019-09-06 华为技术有限公司 A kind of method and device of message transmissions
CN111447155A (en) * 2020-03-24 2020-07-24 广州市百果园信息技术有限公司 Data transmission method, device, equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
数据中心RoCE和无损网络技术;刘军等;《中国电信业》;20200715(第07期);第76-80页 *

Also Published As

Publication number Publication date
CN113162864A (en) 2021-07-23

Similar Documents

Publication Publication Date Title
US10963962B2 (en) Offload processing of data packets containing financial market data
Chen et al. Reinforcement learning–based QoS/QoE‐aware service function chaining in software‐driven 5G slices
US9608917B1 (en) Systems and methods for achieving high network link utilization
US10650452B2 (en) Offload processing of data packets
US9838166B2 (en) Data stream division to increase data transmission rates
US8837288B2 (en) Flow-based network switching system
US20170026303A1 (en) Data stream division to increase data transmission rates
KR20090028621A (en) Method and system for fault-tolerant quality of service
US11689646B2 (en) Network packet processing method and apparatus and network server
TW200816758A (en) Systems and methods for dynamically customizable quality of service on the edge of a network
US8090814B2 (en) Method for determining distribution of a shared resource among a plurality of nodes in a network
CN114268613B (en) Data transmission system, method, device and storage medium
KR20090033223A (en) Method and system for network-independent qos
US20050169309A1 (en) System and method for vertical perimeter protection
US9444680B2 (en) Performing value and context aware communications networking
Zhu et al. EdgePlace: availability‐aware placement for chained mobile edge applications
WO2013148693A1 (en) Offload processing of data packets
CN102932269A (en) Method and device for balancing load
CN114024910A (en) Extremely-low-delay reliable communication system and method for financial transaction system
Donta et al. Towards intelligent data protocols for the edge
CN113162864B (en) RoCE network flow control method, device, equipment and storage medium
CN115622952A (en) Resource scheduling method, device, equipment and computer readable storage medium
WO2023179457A1 (en) Method, apparatus and system for identifying service connection, and storage medium
CN105323234A (en) Service node capability processing method and device, service classifier and service controller
Kalaivani et al. Using multipath TCP and opportunistic routing in IoT network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant