CN115442320B - Method, device and storage medium for realizing fragment reassembly of RDMA (remote direct memory Access) multi-queue messages - Google Patents
Method, device and storage medium for realizing fragment reassembly of RDMA (remote direct memory Access) multi-queue messages Download PDFInfo
- Publication number
- CN115442320B CN115442320B CN202210910677.3A CN202210910677A CN115442320B CN 115442320 B CN115442320 B CN 115442320B CN 202210910677 A CN202210910677 A CN 202210910677A CN 115442320 B CN115442320 B CN 115442320B
- Authority
- CN
- China
- Prior art keywords
- packet
- data
- header
- data packet
- packet header
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
- H04L47/365—Dynamic adaptation of the packet size
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention provides a method, a device and a storage medium for realizing fragment reassembly of RDMA multi-queue messages, wherein the method comprises the following steps: receiving operation parameters of the network card and the first storage device, wherein the operation parameters comprise the processing rate of the network card and the processing period of the first storage device; calculating the maximum packet receiving number of the network card based on the processing rate and the processing period; constructing a first cache space with the maximum packet receiving number; receiving a data packet through a network card, extracting a packet header of the data packet, storing the packet header part of the data packet in first cache spaces, replacing the original data packet header in the first cache spaces if each first cache space stores the data packet header, and storing the replaced data packet header in first storage equipment; and when the complete packet header of the data packet is received, acquiring the packet header data of the data packet from the first cache space or the first space, analyzing the packet header of the data packet, and storing the packet header of the data packet and the data part corresponding to the packet header to the local for persistence.
Description
Technical Field
The invention relates to the technical field of data transmission, in particular to a method, a device and a storage medium for realizing fragment reassembly of an RDMA multi-queue message.
Background
With the development of high-performance computing technology, cloud technology and data centers, the data transmission rate is greatly improved, the network congestion situation is increased, and the time delay requirement on the network is higher and higher.
Remote Direct Memory Access (RDMA) is a technology for directly performing Remote memory access, i.e., data can be directly and quickly migrated from one system to another Remote system memory without any influence on an operating system, so that consumption of a central processing unit participating in a data transmission process is reduced, the performance of system processing service is further improved, and the RDMA has the characteristics of high bandwidth, low time delay and low CPU occupancy rate.
At present, a network card with an RDMA function in the market generally receives a fragment message by using a sliding window (sliding window), which is a flow control technology, in the existing network communication, two communication parties generally do not consider the congestion situation of a network to directly send data, and the sliding window is used to realize the situation that the network congestion and the time delay are large.
Disclosure of Invention
In view of this, embodiments of the present invention provide a method for implementing RDMA multi-queue packet fragmentation reassembly, so as to obviate or mitigate one or more of the disadvantages in the prior art.
One aspect of the present invention provides a method for implementing RDMA multi-queue packet fragmentation reassembly, the method includes:
receiving operation parameters of a network card and a first storage device, wherein the operation parameters of the network card comprise the processing rate of the network card, and the operation parameters of the first storage device comprise the processing period of the first storage device;
calculating the maximum packet receiving number of the network card based on the processing rate of the network card and the processing period of the first storage device;
constructing a first buffer space with the maximum packet receiving number based on the maximum packet receiving number;
receiving a data packet through a network card, extracting a packet header of the data packet, storing the packet header part of the data packet in first cache spaces, replacing the original data packet header in the first cache spaces if each first cache space stores the data packet header, and storing the replaced data packet header in a first space of first storage equipment;
and when the complete packet header of the data packet is received, acquiring the packet header data of the data packet from the first cache space or the first space, analyzing the packet header of the data packet, and storing the packet header of the data packet and the data part corresponding to the packet header to the local for persistence.
By adopting the scheme, on one hand, the packet headers of a plurality of data packets are firstly cached in a first cache space through different channels, if all the packet headers of the data packets are received before the data packets are replaced from the first cache space, the packet headers of the data packets are analyzed, the packet headers of the data packets and the data parts corresponding to the packet headers are stored locally for persistence, if the data packets are replaced from the first cache space to a first storage device, the situation that the data packets are delayed or congested is shown, the data packets are replaced to the first storage device, other data packets are prevented from being influenced, and the output transmission efficiency is improved; on the other hand, the scheme calculates the maximum packet receiving number of the network card based on the processing rate of the network card and the processing period of the first storage device, and accurately calculates the number of data packets entering when the first storage device is accessed if the packet header of the data packet is in the first storage device, so as to prevent delay or congestion caused by accessing the first storage device.
In some embodiments of the present invention, the maximum number of packets received by the network card is calculated according to the following formula:
the maximum number of received packets = the processing rate of the network card + the processing period of the first storage device.
In some embodiments of the present invention, the step of extracting the header portion of the data packet and storing the header portion of the data packet in the first buffer space further includes extracting the data portion of the data packet and storing the data portion in a preset second buffer space.
In some embodiments of the present invention, the step of receiving the data packet through the network card includes:
the header portion and the data portion of the incoming data packet are parsed based on the IB protocol.
In some embodiments of the present invention, each first cache space stores a packet header of a data packet at the same time, and if each first cache space stores a packet header, the step of replacing the original packet header in the first cache space includes:
respectively recording the caching time of the packet headers of the data packets in each first caching space;
and replacing the data packet header with the longest cache time with the newly added data packet header.
In some embodiments of the present invention, the buffering time of the packet header in each first buffer space is recorded, and if the buffering time is greater than a preset buffering threshold, the packet header is stored in the first space of the first storage device, and the first buffer space where the packet header is located is emptied.
In some embodiments of the present invention, in the step of receiving the data packet through the network card, the data packet is received in a fragmentation manner, when each data fragment is received, the BTH header of each data fragment is obtained based on the IB protocol, data with the same BTH header is searched in a plurality of first cache spaces or first spaces based on the BTH header, and if there is data with the same BTH header, the packet header of the data fragment and the data with the same BTH header are stored in the same location; if the data of the same BTH header does not exist, extracting the header of the data packet in the data slice, storing the header of the data packet in the first cache space, if each first cache space has the data packet header stored, replacing the original data packet header in the first cache space, and storing the replaced data packet header in the first space of the first storage device.
In some embodiments of the present invention, in the step of decomposing the header portion and the data portion of the incoming data packet based on the IB protocol, a chaining token is established based on the virtual address of the data packet, the length of the data packet, and the remote key, and a corresponding relationship between the header portion and the data portion is established based on the chaining token;
in the step of storing the packet header and the data portion corresponding to the packet header to a local memory for persistence, the packet header and the data portion corresponding to the packet header are stored to the local memory based on the chaining flag.
The present invention also provides an apparatus for implementing RDMA multi-queue packet fragment reassembly, which includes a computer device including a processor and a memory, wherein the memory stores computer instructions, and the processor is configured to execute the computer instructions stored in the memory, and when the computer instructions are executed by the processor, the apparatus implements the steps of the method.
The present invention also provides a computer readable storage medium having stored thereon a computer program which, when being executed by a processor, implements the steps of the aforementioned implementation method for RDMA multi-queue packet fragment reassembly. The computer readable storage medium may be a tangible storage medium such as Random Access Memory (RAM), memory, read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, floppy disks, hard disks, removable storage disks, CD-ROMs, or any other form of storage medium known in the art.
Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and drawings.
It will be appreciated by those skilled in the art that the objects and advantages that can be achieved with the present invention are not limited to the specific details set forth above, and that these and other objects that can be achieved with the present invention will be more clearly understood from the detailed description that follows.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the principle of the invention.
Fig. 1 is a schematic diagram of a first embodiment of a method for implementing RDMA multi-queue packet fragment reassembly according to the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention will be described in further detail with reference to the following embodiments and accompanying drawings. The exemplary embodiments and descriptions of the present invention are provided to explain the present invention, but not to limit the present invention.
It should be noted that, in order to avoid obscuring the present invention with unnecessary details, only the structures and/or processing steps closely related to the scheme according to the present invention are shown in the drawings, and other details not so relevant to the present invention are omitted.
It should be emphasized that the term "comprises/comprising" when used herein, is taken to specify the presence of stated features, elements, steps or components, but does not preclude the presence or addition of one or more other features, elements, steps or components.
It is also noted that, unless otherwise specified, the term "coupled" is used herein to refer not only to a direct connection, but also to an indirect connection with an intermediate.
Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In the drawings, the same reference numerals denote the same or similar parts, or the same or similar steps.
To solve the above problem, as shown in fig. 1, the present invention provides a method for implementing RDMA multi-queue packet fragmentation reassembly, where the method includes the steps of:
step S100, receiving operation parameters of a network card and a first storage device, wherein the operation parameters of the network card comprise the processing rate of the network card, and the operation parameters of the first storage device comprise the processing period of the first storage device;
in some embodiments of the invention, the processing rate is calculated from the processing speed of the historical data, and an average of the processing speeds over the historical period of time may be calculated;
the historical time period may be the previous 10 minutes, 30 minutes, 60 minutes, or the like, and if the historical time period is the previous 10 minutes, the total number of data packets accessed in the previous ten minutes may be counted, and the number of data packets processed per second is calculated as the processing rate of the network card.
In some embodiments of the present invention, the first memory device may be a DDR, and the processing cycle of the first memory device may be a latency of 40ns for each over-current of the DDR.
Step S200, calculating the maximum packet receiving number (Max _ QP) of the network card based on the processing rate of the network card and the processing period of the first storage device;
step S300, constructing a first cache space with the maximum packet receiving number based on the maximum packet receiving number;
in some embodiments of the present invention, each first buffer space of the present solution is used for buffering header data of one data packet, since a header of the data packet may exist in the first buffer space or the first storage device, a number of first buffer spaces with a maximum packet reception number is constructed based on the maximum packet reception number, when the header of the data packet exists in the first buffer space, the processing speed is fast, and the time consumed by the processing is ignored, but when the header of the data packet exists in the first storage device, the processing speed is relatively slow, and the maximum number of data packets that can enter in the processing time period is calculated, so that data delay or congestion caused when accessing the first storage device can be prevented.
Step S400, receiving a data packet through a network card, extracting a packet header of the data packet, storing the packet header of the data packet in first cache spaces, replacing the original data packet header in the first cache spaces if each first cache space stores the data packet header, and storing the replaced data packet header in a first space of first storage equipment;
in some embodiments of the present invention, the network card is an RDMA network card, and the original packet header replaced in the above step is the packet header stored in the plurality of first buffer spaces, where the buffer time is longest.
By adopting the scheme, the data packet is received in a fragmentation mode, if the situation that the data packet header is not completely collected for a long time exists, the situation that disconnection is possible to occur in the data packet sending process is shown, the overall data receiving speed is reduced by continuously occupying the cache position, the overall data receiving speed is replaced, and the situation that the overall speed is influenced by a single data packet is prevented.
Step S500, after receiving the complete header of the data packet, obtaining the header data of the data packet from the first cache space or the first space, analyzing the header of the data packet, and storing the header of the data packet and the data portion corresponding to the header to a local for persistence.
In some embodiments of the present invention, the present solution is configured at a data receiving end, and when a complete packet header of a data packet is received, the present solution stores the packet header of the data packet and a data portion corresponding to the packet header to the receiving end locally for persistence, and may store the data packet header and the data portion in a device such as a hard disk.
By adopting the scheme, on one hand, the packet headers of a plurality of data packets are firstly cached in a first cache space through different channels, if all the packet headers of the data packets are received before the data packets are replaced from the first cache space, the packet headers of the data packets are analyzed, the packet headers of the data packets and the data parts corresponding to the packet headers are stored locally for persistence, if the data packets are replaced from the first cache space to a first storage device, the situation that the data packets are delayed or congested is shown, the data packets are replaced to the first storage device, other data packets are prevented from being influenced, and the output transmission efficiency is improved; on the other hand, the scheme calculates the maximum packet receiving number of the network card based on the processing rate of the network card and the processing period of the first storage device, and accurately calculates the number of data packets entering when the first storage device is accessed if the packet header of the data packet is in the first storage device, so as to prevent delay or congestion caused by accessing the first storage device.
In some embodiments of the invention, the maximum number of packets received for a network card is calculated according to the following formula:
the maximum number of received packets = the processing rate of the network card + the processing period of the first storage device.
In some embodiments of the invention, the processing rate is calculated from the processing speed of the historical data, and an average of the processing speeds over the historical period of time may be calculated; the historical time period may be the previous 10 minutes, 30 minutes or 60 minutes, and the like, and if the historical time period is the previous 10 minutes, the total number of data packets accessed in the previous ten minutes may be specifically counted, and the number of data packets processed per second is calculated as the processing rate of the network card; the first storage device may be a DDR, and a processing cycle of the first storage device may be a response time of each over-current of the DDR, which may be 40ns.
By adopting the scheme, the maximum data packet quantity which can enter in the processing time period when the packet header of the data packet exists in the first storage device can be calculated based on the formula, so that data delay or congestion caused by accessing the first storage device can be prevented.
In some embodiments of the present invention, the step of extracting the header portion of the data packet and storing the header portion of the data packet in the first buffer space further includes extracting the data portion of the data packet and storing the data portion in a preset second buffer space.
In some embodiments of the present invention, the header portion and the data portion of the incoming data packet are decomposed based on the IB protocol, and the header portion or the data portion of the data packet is further extracted.
In some embodiments of the present invention, the first cache space and the second cache space of the present invention may be constructed based on a Random Access Memory (RAM).
Because the invention adopts the cache (RAM), the RDMA network card can not generate the congestion condition when receiving the fragment data packet, the read-write performance of the RAM is fast, and the receiving time delay of the data packet can be effectively reduced.
In some embodiments of the present invention, the step of receiving the data packet through the network card includes:
the header and data portions of the incoming data packet are parsed based on the IB protocol (InfiniBand).
In some embodiments of the present invention, each of the first cache spaces stores a packet header of a data packet at the same time, and if each of the first cache spaces stores a packet header, the step of replacing the original packet header in the first cache space includes:
respectively recording the caching time of the packet heads of the data packets in each first caching space;
and replacing the data packet head with the longest cache time with the newly added data packet head.
In some embodiments of the present invention, the buffering time of the packet header in each first buffer space is recorded, and if the buffering time is greater than a preset buffering threshold, the packet header is stored in the first space of the first storage device, and the first buffer space where the packet header is located is emptied.
By adopting the scheme, the data packet is received in a fragmentation mode, if the situation that the data packet header is not completely collected for a long time exists, the situation that disconnection is possible to occur in the data packet sending process is shown, the data packet continues to occupy the cache position, and the overall data receiving speed is reduced.
In some embodiments of the present invention, in the step of receiving the data packet through the network card, the data packet is received in a fragmentation manner, when each data fragment is received, the BTH header of each data fragment is obtained based on the IB protocol, data with the same BTH header is searched in a plurality of first cache spaces or first spaces based on the BTH header, and if there is data with the same BTH header, the packet header of the data fragment and the data with the same BTH header are stored in the same location; if the data of the same BTH header does not exist, extracting the header of the data packet in the data slice, storing the header of the data packet in the first cache space, if each first cache space has the data packet header stored, replacing the original data packet header in the first cache space, and storing the replaced data packet header in the first space of the first storage device.
In some embodiments of the present invention, the BTH Header is an InfiniBand Base Transport Header, and different data slices of the same packet are the same BTH Header, so that the scheme adopts a method of searching for data with the same BTH Header in a plurality of first buffer spaces or first spaces based on the BTH Header to mark different data slices, thereby preventing matching errors.
In some embodiments of the present invention, in the step of decomposing the header portion and the data portion of the incoming data packet based on the IB protocol, a link flag is established based on the virtual address of the data packet, the length of the data packet, and the remote key, and a corresponding relationship between the header portion and the data portion is established based on the link flag;
in some embodiments of the present invention, the link flag in the solution may be obtained by sequentially arranging and combining the virtual address, the packet length, and the remote key, and the solution may ensure that the link flag of each data packet is different, and further may precisely match the packet header portion and the data portion, ensure the combining accuracy, and ensure the integrity of data when stored in the local memory.
In the step of storing the packet header and the data portion corresponding to the packet header to a local memory for persistence, the packet header and the data portion corresponding to the packet header are stored to the local memory based on the chaining flag.
In some embodiments of the present invention, the step of storing the packet header and the corresponding data portion of the packet header to the local memory based on the chaining token further comprises obtaining a physical address of the sender based on the RDMA network card according to the virtual address va.
And transmitting the obtained physical address, data and data length to a local memory through Direct Memory Access (DMA).
The beneficial effects of the invention include:
1. according to the scheme, the packet headers of a plurality of data packets are respectively cached to a first cache space through different channels, if all the packet headers of the data packets are received before the data packets are replaced from the first cache space, the packet headers of the data packets are analyzed, the packet headers of the data packets and data parts corresponding to the packet headers are stored locally for persistence, if the data packets are replaced from the first cache space to a first storage device, the condition that the data packets are delayed or congested is indicated, the data packets are replaced to the first storage device, other data packets are prevented from being influenced, and the output transmission efficiency is improved;
2. according to the scheme, based on the processing rate of the network card and the processing period of the first storage device, the first storage device needs to be started when the packet header of the data packet exists in the first storage device is calculated based on a formula, the maximum packet receiving number of the network card in the processing time period is accurately calculated, if the packet header of the data packet exists in the first storage device, the number of the data packets entering the first storage device when the first storage device is accessed is accurately calculated, and delay or congestion caused by accessing the first storage device is prevented;
3. the data packet is received in a fragmentation mode, if the situation that the data packet header is not completely collected for a long time exists, the situation that disconnection is possible to occur in the data packet sending process is shown, the data packet continues to occupy the cache position, and the overall data receiving speed is reduced;
4. the link marks can be obtained by sequentially arranging and combining the virtual addresses, the data packet lengths and the remote keys, the scheme can ensure that the link marks of all the data packets are different, and then the packet head parts and the data parts can be accurately matched, so that the combination accuracy is ensured, and the data integrity when the data packets are stored in a local memory is ensured.
An embodiment of the present invention further provides an apparatus for implementing RDMA multi-queue packet fragment reassembly, which includes a computer device, where the computer device includes a processor and a memory, where the memory stores computer instructions, and the processor is configured to execute the computer instructions stored in the memory, and when the computer instructions are executed by the processor, the apparatus implements the steps of the method described above.
The embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored, where the computer program is executed by a processor to implement the steps of the implementation method for fragmented reassembly of RDMA multi-queue messages. The computer readable storage medium may be a tangible storage medium such as Random Access Memory (RAM), memory, read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, floppy disks, hard disks, removable storage disks, CD-ROMs, or any other form of storage medium known in the art.
Those of ordinary skill in the art will appreciate that the various illustrative components, systems, and methods described in connection with the embodiments disclosed herein may be implemented as hardware, software, or combinations of both. Whether this is done in hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention. When implemented in hardware, it may be, for example, an electronic circuit, an Application Specific Integrated Circuit (ASIC), suitable firmware, plug-in, function card, or the like. When implemented in software, the elements of the invention are the programs or code segments used to perform the required tasks. The program or code segments can be stored in a machine-readable medium or transmitted by a data signal carried in a carrier wave over a transmission medium or a communication link.
It is to be understood that the invention is not limited to the specific arrangements and instrumentality described above and shown in the drawings. A detailed description of known methods is omitted herein for the sake of brevity. In the above embodiments, several specific steps are described and shown as examples. However, the method processes of the present invention are not limited to the specific steps described and illustrated, and those skilled in the art can make various changes, modifications and additions or change the order between the steps after comprehending the spirit of the present invention.
Features that are described and/or illustrated with respect to one embodiment may be used in the same way or in a similar way in one or more other embodiments and/or in combination with or instead of the features of the other embodiments in the present invention.
The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention, and various modifications and changes may be made to the embodiment of the present invention by those skilled in the art. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims (9)
1. A realization method for RDMA multi-queue message fragment recombination is characterized by comprising the following steps:
receiving operation parameters of a network card and a first storage device, wherein the operation parameters of the network card comprise the processing rate of the network card, and the operation parameters of the first storage device comprise the processing period of the first storage device;
calculating the maximum packet receiving number of the network card based on the processing rate of the network card and the processing period of the first storage device;
constructing a first cache space with the number of the maximum packet receiving number based on the maximum packet receiving number;
receiving a data packet through a network card, extracting a packet header of the data packet, storing the packet header part of the data packet in a first cache space, if each first cache space has the data packet header, replacing the original data packet header in the first cache space, storing the replaced data packet header in a first space of first storage equipment, receiving the data packet through the network card in a fragmentation mode, when each data piece is received, obtaining the BTH header of each data piece based on an IB protocol, searching data with the same BTH header in a plurality of first cache spaces or first spaces based on the BTH header, and if the data with the same BTH header exists, storing the packet header of the data piece and the data with the same BTH header in the same position; if the data of the same BTH header does not exist, extracting the header of the data packet in the data slice, storing the header part of the data packet in first cache spaces, if each first cache space stores the header of the data packet, replacing the header of the original data packet in the first cache space, and storing the replaced header of the data packet in a first space of first storage equipment;
and when the complete packet header of the data packet is received, acquiring the packet header data of the data packet from the first cache space or the first space, analyzing the packet header of the data packet, and storing the packet header of the data packet and the data part corresponding to the packet header to the local for persistence.
2. The method of implementing RDMA multi-queue message fragment reassembly according to claim 1, wherein the maximum packet reception number of a network card is calculated according to the following formula:
the maximum number of received packets = the processing rate of the network card + the processing period of the first storage device.
3. The method of implementing RDMA multi-queue packet fragment reassembly according to claim 1, wherein the step of storing the header portion of the data packet in the first buffer space after extracting the header portion of the data packet further comprises extracting the data portion of the data packet and storing the data portion in a predetermined second buffer space.
4. The method for implementing RDMA multi-queue message fragment reassembly according to claim 1, wherein said step of receiving a data packet via a network card comprises:
the header portion and the data portion of the incoming data packet are parsed based on the IB protocol.
5. The method of claim 1, wherein each first buffer space stores a packet header of a data packet at the same time, and if each first buffer space stores a packet header, the step of replacing the original packet header in the first buffer space comprises:
respectively recording the caching time of the packet headers of the data packets in each first caching space;
and replacing the data packet header with the longest cache time with the newly added data packet header.
6. The method of implementing RDMA multi-queue packet fragment reassembly according to claim 1, wherein the buffering time of the packet header in each first buffer space is recorded separately, and if the buffering time is greater than a preset buffering threshold, the packet header is stored in the first space of the first storage device, and the first buffer space where the packet header is located is emptied.
7. The method of implementing RDMA multi-queue packet fragment reassembly according to claim 4, wherein in the step of disassembling the header part and the data part of an incoming data packet based on the IB protocol, a chaining token is established based on a virtual address of the data packet, a length of the data packet, and a remote key, and a correspondence between the header part and the data part is established based on the chaining token;
in the step of storing the packet header and the data part corresponding to the packet header locally for persistence, the packet header and the data part corresponding to the packet header are stored in a local memory based on the chaining token.
8. An apparatus for implementing RDMA multi-queue packet fragment reassembly, the apparatus comprising a computer device including a processor and a memory, the memory having stored therein computer instructions for executing computer instructions stored in the memory, the apparatus implementing the steps of the method as recited in any one of claims 1-7 when the computer instructions are executed by the processor.
9. A computer-readable storage medium, having stored thereon, a computer program which, when executed by a processor, performs the steps of a method for implementing RDMA multi-queue packet fragment reassembly as recited in any one of claims 1 to 7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210910677.3A CN115442320B (en) | 2022-07-29 | 2022-07-29 | Method, device and storage medium for realizing fragment reassembly of RDMA (remote direct memory Access) multi-queue messages |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210910677.3A CN115442320B (en) | 2022-07-29 | 2022-07-29 | Method, device and storage medium for realizing fragment reassembly of RDMA (remote direct memory Access) multi-queue messages |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115442320A CN115442320A (en) | 2022-12-06 |
CN115442320B true CN115442320B (en) | 2023-03-10 |
Family
ID=84242487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210910677.3A Active CN115442320B (en) | 2022-07-29 | 2022-07-29 | Method, device and storage medium for realizing fragment reassembly of RDMA (remote direct memory Access) multi-queue messages |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115442320B (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105357148A (en) * | 2015-10-15 | 2016-02-24 | 盛科网络(苏州)有限公司 | Method and system for preventing output message of network exchange chip from being disordered |
US11956311B2 (en) * | 2020-06-29 | 2024-04-09 | Marvell Asia Pte Ltd | Method and apparatus for direct memory access of network device |
CN113422792A (en) * | 2021-02-05 | 2021-09-21 | 阿里巴巴集团控股有限公司 | Data transmission method and device, electronic equipment and computer storage medium |
-
2022
- 2022-07-29 CN CN202210910677.3A patent/CN115442320B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN115442320A (en) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7613109B2 (en) | Processing data for a TCP connection using an offload unit | |
CN111786748B (en) | Data retransmission method and system, network card, device, server and storage medium | |
US7751404B2 (en) | Method, system, and computer program product for high performance bonding resequencing | |
US20030172169A1 (en) | Method and apparatus for caching protocol processing data | |
US20130136136A1 (en) | Apparatus and method for processing received data | |
US20170300595A1 (en) | Data packet extraction method and apparatus | |
US20220303217A1 (en) | Data Forwarding Method, Data Buffering Method, Apparatus, and Related Device | |
CN108600053B (en) | Wireless network data packet capturing method based on zero copy technology | |
US20170187587A1 (en) | Technologies for inline network traffic performance tracing | |
JP2005192216A (en) | Retransmission system and method for transport offload engine | |
CN109525495B (en) | Data processing device and method and FPGA board card | |
CN114726933B (en) | QUIC-based data transmission control method, system and equipment | |
CN115442320B (en) | Method, device and storage medium for realizing fragment reassembly of RDMA (remote direct memory Access) multi-queue messages | |
CN116303173B (en) | Method, device and system for reducing RDMA engine on-chip cache and chip | |
WO2015085849A1 (en) | Method for network device congestion avoidance and network device | |
CN115913473B (en) | Data selective retransmission method and system, storage medium and electronic equipment thereof | |
CN111669431B (en) | Message transmission method and device, computer equipment and storage medium | |
CN115514686A (en) | Flow acquisition method and device, electronic equipment and storage medium | |
US9160688B2 (en) | System and method for selective direct memory access | |
CN115996203B (en) | Network traffic domain division method, device, equipment and storage medium | |
CN108616327B (en) | FC-ASM protocol-based concurrent fragment message receiving method and circuit | |
CN116346722A (en) | Message processing method and device | |
EP3306857B1 (en) | Sampling method and network chip | |
CN116192783A (en) | Network sub-packet processing method, device, equipment and readable storage medium | |
CN115314161A (en) | Message processing method and device, electronic equipment and storage medium |
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 |