CN115695311A - RoCE v2 network environment flow control method, system and storage medium - Google Patents

RoCE v2 network environment flow control method, system and storage medium Download PDF

Info

Publication number
CN115695311A
CN115695311A CN202211200606.0A CN202211200606A CN115695311A CN 115695311 A CN115695311 A CN 115695311A CN 202211200606 A CN202211200606 A CN 202211200606A CN 115695311 A CN115695311 A CN 115695311A
Authority
CN
China
Prior art keywords
roce
data
class
flow
congestion
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.)
Pending
Application number
CN202211200606.0A
Other languages
Chinese (zh)
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.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data Technology Co Ltd
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 Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202211200606.0A priority Critical patent/CN115695311A/en
Publication of CN115695311A publication Critical patent/CN115695311A/en
Pending legal-status Critical Current

Links

Images

Abstract

The invention relates to a RoCE v2 network environment flow control method, a system and a storage medium. When congestion occurs, the method performs packaging and sending operation on the RoCE v2 flow data packets of the same type according to the preset RoCE v2 flow data packet type sequence until the congestion is relieved or all types of RoCE v2 flow data packets are packaged and sent, wherein the type sequence is as follows: a log or information providing class, a refresh data class, and an operation data class; after the congestion is relieved, the RoCE v2 flow data is unpacked and sent out in sequence according to the sequence of operating the data class, refreshing the data class and providing the log or the information, and normal sending is recovered; and when the packet is lost due to congestion, the packet loss of the RoCE v2 flow data packet of the log or the information providing type is preferentially carried out. Under the condition of not limiting the flow injection of the data source, the method and the device relieve the congestion and reduce the packet loss of RoCE v2 flow data packets of important refresh data classes and operation data classes.

Description

RoCE v2 network environment flow control method, system and storage medium
Technical Field
The invention relates to the field of RoCE network flow control, in particular to a RoCE v2 network environment flow control method, a system and a storage medium.
Background
In the era of the king of data, the requirements of people on the network are more severe. However, the conventional TCP/IP ethernet connection occupies a large amount of CPU resources and requires additional data processing, and thus cannot meet the current network requirements of faster, more efficient and scalability. In this case, roCE (RDMA over Converged Ethernet remote direct data Access technology) should be generated. RDMA (remote direct data access) may directly access the memory of one host or server from the memory of another host or server. It releases the CPU to execute the work it should do, not only increasing bandwidth but also reducing delay, jitter and CPU consumption.
In a network switch, network congestion can occur when ingress traffic is greater than the bandwidth of egress traffic. A typical example is where multiple senders send network data to the same destination at the same time. The cache of the switch may handle temporary congestion, but when the congestion is too long, the cache of the switch may be overloaded. When the switch buffer is overloaded, the next new packet received is discarded. Packet loss can degrade application performance because of delays introduced by the complexity of retransmission and transmission protocols. The lossless network implements a flow control mechanism, which can pause the ingress traffic before the buffer overflows, preventing packet loss. However, the means by which the flow control itself suspends ingress traffic can result in wasted ingress bandwidth creating a problem with congestion propagation. In order to avoid congestion propagation caused by flow control, some congestion control means are proposed at present, and the core idea of the congestion control means is that when congestion is detected, the congestion is reported to all source ports of ports where the congestion occurs, the source ports limit the injection of flow in a speed reduction manner, and there is uncertainty in speed reduction, that is, speed reduction may be started just before, the buffer of the congested ports is released, and speed reduction is not needed, but speed reduction action is continued, transmission efficiency is reduced, and there is an excessive speed reduction causing a sudden bandwidth reduction so that the bandwidth is lower than a bottom line, performance of the congestion control means is lowered, and meanwhile, fluctuation of speed reduction recovery causes poor stability of the RoCE network.
Disclosure of Invention
To solve the above technical problems, or at least partially solve the above technical problems, the present invention provides a method, a system, and a storage medium for controlling a flow in a RoCE v2 network environment.
In a first aspect, the present invention provides a method for controlling a RoCE v2 network environment flow, including:
when congestion occurs, the operation of sending out after packaging is respectively carried out on RoCE v2 flow data packets of the same type according to the preset RoCE v2 flow data packet type sequence until the congestion is relieved or all the types of RoCE v2 flow data packets are respectively sent out after packaging, wherein the type sequence is as follows: log or information providing class, refresh data class and operation data class;
after the congestion is relieved, the RoCE v2 flow data is unpacked and sent out in sequence according to the sequence of operating the data class, refreshing the data class and providing the log or the information, and normal sending is recovered;
and when the packet is lost due to congestion, the packet loss of the RoCE v2 flow data packet of the log or the information providing type is preferentially carried out.
Furthermore, the source Ethernet card port adds a corresponding identification mark in the UDP header of the RoCE v2 flow data packet according to the type of the RoCE v2 flow data packet; adding a first identification mark in a UDP (user Datagram protocol) header of a RoCE v2 traffic data packet of an operation data class, adding a second identification mark in a UDP header of a RoCE v2 traffic data packet of a refresh data class, and adding a third identification mark in a UDP header of a RoCE v2 traffic data packet of a log or information providing class; the type of RoCE v2 traffic packets is identified based on the identification tag.
Furthermore, when the RoCE v2 traffic data packet is transmitted to the destination Ethernet card port for caching, the destination Ethernet card port reads again and disassembles the identification mark added in the RoCE v2 traffic data packet.
Furthermore, when congestion occurs, the operation of sending out the RoCE v2 flow data packets of the same type after respectively packing according to the preset RoCE v2 flow data packet type sequence comprises the following steps:
during congestion, firstly, log or information providing RoCE v2 flow data packets are packaged and then sent out, and RoCE v2 flow data packets of operation data classes and refresh data classes are sent out conventionally;
if the log or information provision type RoCE v2 flow data packets are sent after being packaged, the congestion continuously reaches a set time length, and the buffer memory is continuously full and has a packet loss risk, the log or information provision type RoCE v2 flow data packets and the refresh data type RoCE v2 flow data packets are respectively packaged and sent, and the operation data type RoCE v2 flow data packets are sent conventionally;
if the logs or the information providing classes and the refreshing data classes are sent after being respectively packaged, the congestion continuously reaches the set time length, and the buffer memory is continuously full and has the risk of packet loss, and RoCE v2 flow data packets of the logs or the information providing classes, the refreshing data classes and the operation data classes are respectively packaged and sent.
Furthermore, the packing quantities at different stages are configured from low to high, when the RoCE v2 flow data packets of the same type are respectively sent out after being packed, when the congestion is not relieved, the RoCE v2 flow data packet quantity of the same type is gradually increased and selected according to the packing quantity in a positive sequence, the RoCE v2 flow data packet quantity of the same type is sent out after being packed, and when the congestion is relieved, the RoCE v2 flow data packet quantity of the same type is gradually reduced and selected according to the packing quantity in a reverse sequence.
Furthermore, the step increment between the adjacent values of the packing amount is the product of the IO bandwidth and a preset coefficient, and the preset coefficient for the RoCE v2 traffic data packet is the product of the total data occupation ratio of the RoCE v2 traffic data packet and the preset step increment ratio.
Furthermore, when the similar RoCE v2 flow data packets sent out after being subjected to or unpacked are selected and are insufficient in step increment, the RoCE v2 flow data packets are selected according to the surplus quantity to be sent out after being subjected to or unpacked.
Furthermore, the receiving end is triggered to generate a corresponding log by the RoCE v2 flow data packet lost caused by congestion, and corresponding operation or data refreshing is carried out on the basis of the log to make up.
In a second aspect, an embodiment of the present invention provides a system for implementing a method for controlling a RoCE v2 network environment flow, including: the RoCE v2 network environment flow control method comprises a transmitting end, a transmitting end network card, a switch, a receiving end network card and a receiving end, wherein the switch is connected with the transmitting end network card and the receiving end network card, the transmitting end network card, the switch, the receiving end network card and the receiving end are respectively provided with at least one storage unit and a processing unit, the storage units store computer programs and data, and the RoCE v2 network environment flow control method is realized when the computer programs are executed by the processing units.
In a third aspect, an embodiment of the present invention provides a storage medium for implementing a method for controlling a RoCE v2 network environment flow, where the storage medium stores a computer program, and the computer program, when executed by at least one processor, implements the method for controlling the RoCE v2 network environment flow.
Compared with the prior art, the technical scheme provided by the embodiment of the invention has the following advantages:
when congestion occurs, the method performs packaging and sending operation on the RoCE v2 flow data packets of the same type according to the preset RoCE v2 flow data packet type sequence until the congestion is relieved or all types of RoCE v2 flow data packets are packaged and sent, wherein the type sequence sequentially comprises the following steps: a log or information providing class, a refresh data class, and an operation data class; after the congestion is relieved, the RoCE v2 flow data is unpacked and sent out in sequence according to the sequence of operating the data class, refreshing the data class and providing the log or the information, and normal sending is recovered; and when all types of RoCE v2 flow data packets are packed and sent to be still congested until the packets are lost, the RoCE v2 flow data packets of the logs or the information providing classes are preferentially lost, and the packet loss amount of the RoCE v2 flow data packets of the refreshing data classes and the operating data classes is reduced. Under the condition of not limiting the flow injection of the data source, the method and the device relieve the congestion and reduce the packet loss of RoCE v2 flow data packets of important refreshing data classes and operation data classes.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and together with the description, serve to explain the principles of the invention.
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious for those skilled in the art that other drawings can be obtained according to the drawings without inventive exercise.
Fig. 1 is a flowchart of a method for controlling a RoCE v2 network environment flow according to an embodiment of the present invention;
fig. 2 is a detailed flowchart of a method for controlling a RoCE v2 network environment flow according to an embodiment of the present invention;
fig. 3 is a flowchart for packing and sending out a log or information providing type RoCE v2 traffic data packet in stages according to a packing amount and a congestion condition of the log or information providing type RoCE v2 traffic data packet according to an embodiment of the present invention;
fig. 4 is a flowchart for packing and sending out a RoCE v2 traffic data packet of a log or an information providing class in stages according to a subdivision subclass order of the log or the information providing class and a congestion condition, according to an embodiment of the present invention;
fig. 5 is a flowchart for packing and sending out a RoCE v2 traffic packet of a refresh data class in stages according to a packing amount and a congestion condition of the RoCE v2 traffic packet of the refresh data class according to the embodiment of the present invention;
fig. 6 is a flowchart for packing and sending out a RoCE v2 traffic packet of a refresh data class in stages according to a subdivision subclass sequence and a congestion condition of the refresh data class, provided in an embodiment of the present invention;
fig. 7 is a flowchart for packing and sending the RoCE v2 traffic packets of the operation data class in stages according to the packing amount and congestion condition of the RoCE v2 traffic packets of the operation data class, according to the embodiment of the present invention;
fig. 8 is a flowchart that is provided in the embodiment of the present invention to package and send out a RoCE v2 traffic data packet of an operation data class in stages according to a subdivided subclass order and a congestion condition of the operation data class;
fig. 9 is a schematic diagram of a system for implementing a method for controlling a RoCE v2 network environment flow according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be obtained by a person skilled in the art without any inventive step based on the embodiments of the present invention, are within the scope of the present invention.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrases "comprising a," "8230," "8230," or "comprising" does not exclude the presence of additional like elements in a process, method, article, or apparatus that comprises the element.
Example 1
Referring to fig. 1, the present invention provides a method for controlling a RoCE v2 network environment flow, including:
and the source Ethernet card port adds a corresponding identification mark in a UDP (user datagram protocol) header of the RoCE v2 flow data packet according to the type of the RoCE v2 flow data packet. The source Ethernet card is an Ethernet card of a data transmitting end and supports RoCE v2 specification. The RoCE v2 specification was developed on the basis of RoCE, and the packet format thereof includes Eth L2 Header, ethertype, IP Header, protocol number, UDP Header, port number, IB BTH +, IB Payload, ICRC and FCS.
A source Ethernet card port adds a first identification mark in a UDP (user Datagram protocol) head (UDP Header) of a RoCE v2 flow data packet of an operation data type, adds a second identification mark in a UDP head of a RoCE v2 flow data packet of a refresh data type, and adds a third identification mark in a UDP head of a RoCE v2 flow data packet of a log or information providing type; the type of RoCE v2 traffic packets is identified based on the identification tag. And if the bit number occupied by the identification mark is k, 2^ k is more than the type number of RoCE v2 flow data packets. The method and the device do not limit the RoCE v2 traffic data packets of the data operation class, the refresh data class, the log or the information provision class to be the most subdivided type, and in a specific application process, the three types of RoCE v2 traffic data packets can be further classified according to the data priority of the data operation class, the refresh data class, the log or the information provision class. Factors that affect priority include, but are not limited to: packet delay requirements and packet importance levels; the higher the delay requirement (the shorter the transmission time requirement), the higher the priority, the later the ranking, the higher the importance of the data packet, the higher the priority, the later the ranking. The corresponding identification mark is configured into two parts, wherein the first part represents three major classes of an operation data class, a refresh data class, a log or an information providing class, and the second part represents a subclass which is further subdivided in the three major classes.
When congestion occurs, the operation of sending the same type of RoCE v2 flow data packets after packaging is respectively executed according to the type sequence of the preset RoCE v2 flow data packets until the congestion is relieved or all types of RoCE v2 flow data packets are sent after being packaged respectively. Wherein the type sequence is as follows: log or information providing class, refresh data class, and operational data class. When three major classes are further subdivided into several minor classes, the type sequence obtained by sequentially limiting the subdivided minor classes in each major class is as follows: log or information providing class _ subclass 1, log or information providing class _ subclass 2 \8230;, refresh data class _ subclass 1, refresh data class _ 2 \8230; and operation data class _ subclass 1, operation data class _ 2 \8230;.
After the congestion is relieved, according to the reverse order of the type sequence of the preset RoCE v2 flow data packet, namely according to the sequence of the operation data class, the refresh data class and the log or information providing class, the RoCE v2 flow data is unpacked and then sent out, and the normal sending is recovered.
In the specific implementation process, referring to fig. 2, in the normal transmission process of the RoCE v2 traffic data packet, the type of the RoCE v2 traffic data packet is identified by the identification mark in the UDP header, whether Congestion occurs is detected, a Congestion Notification (Congestion Notification) is generated when Congestion occurs, after receiving the Congestion Notification, the RoCE v2 traffic data packet identified as a log or an information provision class by the identification mark in the UDP header is first packaged and transmitted, and the RoCE v2 traffic data packet of an operation data class and a refresh data class is normally transmitted.
As a preferred embodiment, referring to fig. 3, for the RoCE v2 traffic packets of the log or the information providing class, the packing amounts in different stages are configured from low to high, when performing an operation of sending the RoCE v2 traffic packets of the log or the information providing class after packing, a part of all the RoCE v2 traffic packets of the log or the information providing class is selected according to the lowest value in the packing amounts to be packed, if congestion is not relieved, the amount of the RoCE v2 traffic packets of the selected log or the information providing class is increased gradually and positively according to the packing amounts, and the RoCE v2 traffic packets are sent after packing is performed, if congestion is relieved, the amount of the RoCE v2 traffic packets of the selected log or the information providing class is decreased gradually and negatively according to the packing amounts, and the RoCE v2 traffic packets of the selected log or the information providing class are sent after unpacking is relieved. The step increment between the adjacent values of the packing quantity of the log or information provision type RoCE v2 traffic data packets is the product of IO bandwidth and a preset coefficient for the log or information provision type RoCE v2 traffic data packets, and the preset coefficient for the log or information provision type RoCE v2 traffic data packets is the product of the total data proportion of the log or information provision type RoCE v2 traffic data packets and a preset step increment proportion. And when the log or information providing RoCE v2 flow data packet sent after the package is selected or removed is insufficient for increment, the RoCE v2 flow data packet is selected according to the surplus to be sent after the package is removed.
As a preferred embodiment, referring to fig. 4, if the log or the information providing class is further subdivided, the order of the subdivided sub-classes of the log or the information providing class is preset, the sub-class (log or information providing class _ sub-class 1) appearing first in the order of the subdivided sub-classes of the log or the information providing class is selected first and sent out after being packaged, and if congestion is not relieved, the selected sub-class (for example, the log or information providing class _ sub-class 2 is selected and increased for the second time) is gradually according to the order of the subdivided sub-classes of the log or the information providing class and sent out after being packaged; and if the congestion is relieved, selecting the corresponding subclasses according to the sequence of the subdivided subclasses of the log or the information providing class, gradually reducing in a reverse order, and unpacking and then sending the subclasses.
If the log or information provision type RoCE v2 flow data packets are sent after being packaged, the congestion continuously reaches the set time length, the buffer memory is continuously full, the packet loss risk exists, the log or information provision type RoCE v2 flow data packets and the refresh data type RoCE v2 flow data packets are respectively packaged and sent, and the operation data type RoCE v2 flow data packets are sent conventionally.
As a preferred embodiment, referring to fig. 5, for the RoCE v2 traffic data packet of the refresh data class, the packing amounts in different stages are configured from low to high, when performing an operation of sending the RoCE v2 traffic data packet of the refresh data class after packing, a part is selected from all the RoCE v2 traffic data packets of the refresh data class according to the lowest value in the packing amounts to pack, if congestion is not relieved, the RoCE v2 traffic data packet amount of the refresh data class is increased according to the packing amounts in a stepwise forward order, the RoCE v2 traffic data packet amount of the refresh data class is sent after packing is performed, and if congestion is relieved, the RoCE v2 traffic data packet amount of the refresh data class is decreased according to the stepwise reverse order. The step increment between the adjacent values of the packaging quantity of the RoCE v2 flow data packets of the refresh data class is the product of the IO bandwidth and a preset coefficient for the RoCE v2 flow data packets of the refresh data class, and the preset coefficient for the RoCE v2 flow data packets of the refresh data class is the product of the total data proportion of the RoCE v2 flow data packets of the refresh data class and the preset step increment proportion. And when the RoCE v2 flow data packet of the refresh data class sent out after the package is selected and unpacked is insufficient for increment, the RoCE v2 flow data packet is selected according to the surplus to be sent out after the package is unpacked.
As a preferred embodiment, referring to fig. 6, if the RoCE v2 flow data packet of the refresh data class is further subdivided, the order of the subdivided subclasses of the refresh data class is preset, the subclass (refresh data class _ subclass 1) appearing first in the order of the subdivided subclasses of the refresh data class is selected first and sent out after being packed, and if congestion is not relieved, the selected subclass is gradually increased according to the order of the subdivided subclasses of the refresh data class (for example, the refresh data class _ subclass 2 is selected and sent out after being packed for the second time); and if the congestion is relieved, selecting the corresponding subclasses according to the sequence of the subdivided subclasses of the refreshed data class, reducing the sequence step by step, and then unpacking and sending out.
If the logs or the information providing classes and the refreshing data classes are sent after being respectively packaged, the congestion continuously reaches the set time length, and the buffer memory is continuously full and has the risk of packet loss, and RoCE v2 flow data packets of the logs or the information providing classes, the refreshing data classes and the operation data classes are respectively packaged and sent.
As a preferred embodiment, referring to fig. 7, for the RoCE v2 traffic data packets of the operation data class, the packing amounts in different stages are configured from low to high, when performing an operation of sending the packed RoCE v2 traffic data packets of the operation data class, first, a part of all the RoCE v2 traffic data packets of the operation data class is selected according to the lowest value in the packing amounts to be packed, if congestion is not relieved, the RoCE v2 traffic data packet amount of the selected operation data class is increased according to the packing amounts in a stepwise forward order, the packing is executed to be sent, and if congestion is relieved, the RoCE v2 traffic data packet amount of the selected operation data class is decreased according to the stepwise reverse order of the packing amounts. The step increment between the adjacent values of the packing quantity of the RoCE v2 traffic data packets of the operation data class is the product of the IO bandwidth and a preset coefficient for the RoCE v2 traffic data packets of the operation data class, and the preset coefficient for the RoCE v2 traffic data packets of the operation data class is the product of the total data proportion of the RoCE v2 traffic data packets of the operation data class and a preset step increment proportion. And when the operation data type RoCE v2 flow data packet sent after the selection or the unpacking is insufficient for step increment, the RoCE v2 flow data packet is selected according to the surplus to be sent after the selection or the unpacking.
As a preferred embodiment, referring to fig. 8, if the operation data class RoCE v2 traffic data packet is further subdivided, the order of the subdivided subclasses of the operation data class is preset, the subclass (operation data class _ subclass 1) appearing first in the order of the subdivided subclasses of the operation data class is selected first and then is sent out after being packed, and if congestion is not relieved, the selected subclass is gradually increased according to the order of the subdivided subclasses of the operation data class (for example, the operation data class _ subclass 2 is selected for the second time and then is sent out after being packed; and if the congestion is relieved, selecting the corresponding subclasses according to the sequence of the subdivided subclasses of the operation data class, reducing the sequence gradually in a reverse order, and unpacking and then sending the subclasses.
And when the congestion is caused to the packet loss, the packet loss of the RoCE v2 flow data packet of the log or the information providing type is preferentially carried out. The packet loss includes, but is not limited to, a packet loss generated by congestion sent by a source ethernet card at a sending end, a packet loss generated by congestion of a forwarded switch, and a packet loss generated by congestion received by a destination ethernet card at a receiving end. And (3) generating a corresponding log by a trigger receiving end of RoCE v2 flow data packet loss of the data refreshing or operation data class caused by congestion, and performing corresponding operation or data refreshing based on the log to make up.
As a preferred embodiment, when the RoCE v2 traffic data packet is transmitted to the destination ethernet card port for caching, the destination ethernet card port reads and disassembles the identification mark added in the RoCE v2 traffic data packet again.
Example 2
Referring to fig. 9, an embodiment of the present invention provides a system for implementing a method for controlling a RoCE v2 network environment flow, including: the RoCE v2 network environment flow control method comprises a transmitting end, a transmitting end network card, an exchanger, a receiving end network card and a receiving end, wherein the exchanger is connected with the transmitting end network card and the receiving end network card, the transmitting end network card, the exchanger, the receiving end network card and the receiving end are respectively provided with at least one storage unit and a processing unit, the storage units store computer programs and data, and the RoCE v2 network environment flow control method is realized when the computer programs are executed by the processing units.
Example 3
The embodiment of the invention provides a storage medium for realizing a RoCE v2 network environment flow control method, wherein the storage medium stores a computer program, and the computer program realizes the RoCE v2 network environment flow control method when being executed by at least one processor.
In the embodiments provided in the present invention, it should be understood that the disclosed modules and units may be implemented in other manners. For example, the above-described structural embodiments are merely illustrative, and for example, the division of the units is only one type of logical functional division, and there may be other divisions when the actual implementation is performed, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, systems or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
Although the present invention has been described in detail in connection with the preferred embodiments with reference to the accompanying drawings, the present invention is not limited thereto. Various equivalent modifications or substitutions can be made on the embodiments of the present invention by those skilled in the art without departing from the spirit and scope of the present invention, and these modifications or substitutions are within the scope of the present invention/any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.

Claims (10)

1. A RoCE v2 network environment flow control method is characterized by comprising the following steps:
when congestion occurs, the operation of sending out after packaging is respectively carried out on RoCE v2 flow data packets of the same type according to the preset RoCE v2 flow data packet type sequence until the congestion is relieved or all the types of RoCE v2 flow data packets are respectively sent out after packaging, wherein the type sequence is as follows: log or information providing class, refresh data class and operation data class;
after the congestion is relieved, the RoCE v2 flow data is unpacked and sent out in sequence according to the sequence of operating the data class, refreshing the data class and providing the log or the information, and normal sending is recovered;
and when the congestion is caused to the packet loss, the packet loss of the RoCE v2 flow data packet of the log or the information providing type is preferentially carried out.
2. The RoCE v2 network environment flow control method according to claim 1, wherein a source Ethernet card port adds a corresponding identification mark in a UDP header of a RoCE v2 traffic data packet according to the type of the RoCE v2 traffic data packet; adding a first identification mark in a UDP (user Datagram protocol) header of a RoCE v2 traffic data packet of an operation data class, adding a second identification mark in a UDP header of a RoCE v2 traffic data packet of a refresh data class, and adding a third identification mark in a UDP header of a RoCE v2 traffic data packet of a log or information provision class; the type of RoCE v2 traffic packets is identified based on the identification tag.
3. The RoCE v2 network environment flow control method according to claim 2, wherein when the RoCE v2 flow data packet is transmitted to a destination Ethernet card port for buffering, the destination Ethernet card port re-reads and disassembles the identification mark added in the RoCE v2 flow data packet.
4. The RoCE v2 network environment flow control method according to claim 1, wherein when congestion occurs, the operation of respectively performing packing and sending on RoCE v2 flow data packets of the same class according to a preset RoCE v2 flow data packet type sequence comprises:
during congestion, firstly, log or information providing RoCE v2 flow data packets are packaged and then sent out, and RoCE v2 flow data packets of operation data classes and refresh data classes are sent out conventionally;
if the log or information provision type RoCE v2 flow data packets are sent after being packaged, the congestion continuously reaches a set time length, and the buffer memory is continuously full and has a packet loss risk, the log or information provision type RoCE v2 flow data packets and the refresh data type RoCE v2 flow data packets are respectively packaged and sent, and the operation data type RoCE v2 flow data packets are sent conventionally;
if the logs or the information providing classes and the refreshing data classes are sent after being respectively packaged, the congestion continuously reaches the set time length, and the buffer memory is continuously full and has the risk of packet loss, and RoCE v2 flow data packets of the logs or the information providing classes, the refreshing data classes and the operation data classes are respectively packaged and sent.
5. The RoCE v2 network environment flow control method according to claim 1, wherein the packing amounts at different stages are configured from low to high, and when the operation of sending the same type of RoCE v2 flow data packets after packing is performed respectively, if the congestion is not relieved, the quantity of the RoCE v2 flow data packets of the same type is gradually increased and selected in a positive order according to the packing amount, the data packets are sent after packing is performed, and if the congestion is relieved, the quantity of the RoCE v2 flow data packets of the same type is gradually decreased and selected in a negative order according to the packing amount.
6. The RoCE v2 network environment flow control method according to claim 5, wherein the step increment between adjacent values of the packing amount is a product of an IO bandwidth and a preset coefficient, and the preset coefficient for a type of RoCE v2 traffic data packet is a product of a total data occupation ratio of the type of RoCE v2 traffic data packet and a preset step increment ratio.
7. The RoCE v2 network environment flow control method according to claim 6, wherein when the similar RoCE v2 flow data packets sent out after being selected for or after being unpacked are insufficient for incremental steps, the RoCE v2 flow data packets are selected for being sent out according to the remaining amount or sent out after being unpacked.
8. The RoCE v2 network environment flow control method according to claim 1, wherein a trigger receiving end that causes packet loss of RoCE v2 flow packets of a refresh data class or an operation data class due to congestion generates a corresponding log, and performs corresponding operation or data refresh based on the log to make up.
9. A system for realizing RoCE v2 network environment flow control method is characterized in that the system comprises: the RoCE v2 network environment flow control method comprises a transmitting end, a transmitting end network card, an exchanger, a receiving end network card and a receiving end, wherein the exchanger is connected with the transmitting end network card and the receiving end network card, the transmitting end network card, the exchanger, the receiving end network card and the receiving end are respectively provided with at least one storage unit and one processing unit, the storage units store computer programs and data, and when the computer programs are executed by the processing units, the RoCE v2 network environment flow control method according to any one of claims 1-8 is achieved.
10. A storage medium storing a computer program for implementing a method for traffic control of a RoCE v2 network environment, the computer program when executed by at least one processor implementing the method for traffic control of a RoCE v2 network environment according to any one of claims 1 to 8.
CN202211200606.0A 2022-09-29 2022-09-29 RoCE v2 network environment flow control method, system and storage medium Pending CN115695311A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211200606.0A CN115695311A (en) 2022-09-29 2022-09-29 RoCE v2 network environment flow control method, system and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211200606.0A CN115695311A (en) 2022-09-29 2022-09-29 RoCE v2 network environment flow control method, system and storage medium

Publications (1)

Publication Number Publication Date
CN115695311A true CN115695311A (en) 2023-02-03

Family

ID=85064998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211200606.0A Pending CN115695311A (en) 2022-09-29 2022-09-29 RoCE v2 network environment flow control method, system and storage medium

Country Status (1)

Country Link
CN (1) CN115695311A (en)

Similar Documents

Publication Publication Date Title
US11916781B2 (en) System and method for facilitating efficient utilization of an output buffer in a network interface controller (NIC)
US11012367B2 (en) Technologies for managing TCP/IP packet delivery
US5974465A (en) Method and apparatus for prioritizing the enqueueing of outbound data packets in a network device
US9112786B2 (en) Systems and methods for selectively performing explicit congestion notification
US8248930B2 (en) Method and apparatus for a network queuing engine and congestion management gateway
US20220303217A1 (en) Data Forwarding Method, Data Buffering Method, Apparatus, and Related Device
US20030061269A1 (en) Data flow engine
US10791054B2 (en) Flow control and congestion management for acceleration components configured to accelerate a service
US10419370B2 (en) Hierarchical packet buffer system
US20070118665A1 (en) TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism
US7606151B2 (en) Power reduction in switch architectures
US20150215226A1 (en) Device and Method for Packet Processing with Memories Having Different Latencies
KR20040101746A (en) Device and Method for minimizing transmission delay in data communication system
CN112118167A (en) Method for quickly transmitting cross-network tunnel data
US10326696B2 (en) Transmission of messages by acceleration components configured to accelerate a service
CN114978433A (en) Data transmission method, device, equipment, storage medium and computer program product
US6976149B1 (en) Mapping technique for computing addresses in a memory of an intermediate network node
EP2774342B1 (en) Reducing tcp timeouts due to incast collapse at a network switch
EP3275139B1 (en) Technologies for network packet pacing during segmentation operations
CN115695311A (en) RoCE v2 network environment flow control method, system and storage medium
CN114567614B (en) Method and device for realizing ARP protocol processing based on FPGA
Rao et al. CNR: A technique for data replication organization in BigData
US20050044261A1 (en) Method of operating a network switch
US11558309B1 (en) Expandable queue
CN113347112B (en) Data packet forwarding method and device based on multi-level cache

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