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 PDF

Info

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
Application number
CN202210910677.3A
Other languages
Chinese (zh)
Other versions
CN115442320A (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.)
Yusur Technology Co ltd
Original Assignee
Yusur 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 Yusur Technology Co ltd filed Critical Yusur Technology Co ltd
Priority to CN202210910677.3A priority Critical patent/CN115442320B/en
Publication of CN115442320A publication Critical patent/CN115442320A/en
Application granted granted Critical
Publication of CN115442320B publication Critical patent/CN115442320B/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
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • 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
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • 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/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic 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

Method, device and storage medium for realizing fragment reassembly of RDMA (remote direct memory Access) multi-queue messages
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.
CN202210910677.3A 2022-07-29 2022-07-29 Method, device and storage medium for realizing fragment reassembly of RDMA (remote direct memory Access) multi-queue messages Active CN115442320B (en)

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)

* Cited by examiner, † Cited by third party
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

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