CN114024874A - RDMA (remote direct memory Access) -based data transmission method, device, equipment and storage medium - Google Patents

RDMA (remote direct memory Access) -based data transmission method, device, equipment and storage medium Download PDF

Info

Publication number
CN114024874A
CN114024874A CN202111276818.2A CN202111276818A CN114024874A CN 114024874 A CN114024874 A CN 114024874A CN 202111276818 A CN202111276818 A CN 202111276818A CN 114024874 A CN114024874 A CN 114024874A
Authority
CN
China
Prior art keywords
data
receiving end
interrupt
filling
cache
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.)
Granted
Application number
CN202111276818.2A
Other languages
Chinese (zh)
Other versions
CN114024874B (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.)
Inspur Power Commercial Systems Co Ltd
Original Assignee
Inspur Power Commercial Systems 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 Inspur Power Commercial Systems Co Ltd filed Critical Inspur Power Commercial Systems Co Ltd
Priority to CN202111276818.2A priority Critical patent/CN114024874B/en
Publication of CN114024874A publication Critical patent/CN114024874A/en
Application granted granted Critical
Publication of CN114024874B publication Critical patent/CN114024874B/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Bus Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention discloses a data transmission method, a device, equipment and a storage medium based on RDMA (remote direct memory Access); in the scheme, before the data transmitting end transmits data to the data receiving end, if the data receiving end is required to generate interrupt generation prompt information, the interrupt information needs to be filled in a cache, and therefore after the data receiving end acquires the data, if the interrupt information can be analyzed from the received target data, a data update prompt is generated.

Description

RDMA (remote direct memory Access) -based data transmission method, device, equipment and storage medium
Technical Field
The present invention relates to the field of data transmission technologies, and in particular, to a method, an apparatus, a device, and a storage medium for data transmission based on RDMA.
Background
At present, in large-scale data centers, cloud computing, high-frequency transactions, high-performance computing and other scenes, the requirement on network delay is higher and higher, and the requirement on low-delay network cards is higher and higher. The core technology point of the low latency network card is RDMA (Remote Direct Memory Access). The RDMA transmission data needs an RNIC which is a special network card supporting RMDA, and the transmission operation is divided into single-side operation RDMA READ/WRITE (RDMA READ/WRITE) and double-side operation RDMA SEND/RECV (RDMA SEND/receive). Although the single-side operation data transmission efficiency is high, a Central Processing Unit (CPU) at the other end does not have any calling process, and cannot know whether data is updated or not, and an application cannot process the data in time. If the unilateral transmission is finished, the other end is informed of the completion of the data transmission by executing the bilateral action once again, so that the time delay of the whole transmission process is increased. If the other end of the application always polls and checks the self-defined flag (mark) in the buffer, the polling thread always occupies the CPU, and the CPU occupancy rate is 100%.
Therefore, how to enable the passive side to obtain the updated information of the data in time during RDMA single-side transmission is a problem to be solved by those skilled in the art.
Disclosure of Invention
The invention aims to provide a data transmission method, a device, equipment and a storage medium based on RDMA (remote direct memory Access), so that a passive end can acquire updated information of data in time during single-side transmission of RDMA.
In order to achieve the above object, the present invention provides an RDMA-based data transmission method, including:
before transmitting data, the data transmitting end determines whether the data receiving end needs to generate interruption;
if so, filling interruption information in a cache of the data sending end;
and transmitting the target data in the cache to the data receiving end so that the data receiving end generates a data updating prompt after analyzing the interrupt information carried by the target data.
Filling interrupt information in the cache of the data sending end, wherein the method comprises the following steps:
and filling interrupt information in a preset number of bytes in a cache of the data transmitting end.
Wherein the interrupt information includes: interrupt flag bit, offset information, length information.
The method for filling the interrupt information in the predetermined number of bytes in the cache of the data sending end comprises the following steps:
filling an interrupt flag bit in the 0 th byte of the cache of the data sending end, filling offset information in the 1 st to 4 th bytes of the cache, and filling length information in the 5 th to 8 th bytes of the cache; wherein, the 0 th byte filling 1 in the cache represents that the data receiving end is required to generate an interrupt.
After the data receiving end analyzes the interrupt information carried by the target data, a data update reminder is generated, which includes:
and the data receiving end analyzes the target data, and if the 0 th byte in the target data is 1, the data receiving end generates a data updating prompt.
Wherein the determining whether the data receiving end is required to generate the interrupt comprises:
judging whether the target fields of the data sending end and the data receiving end are both 1;
and if so, determining that the data receiving end is required to generate the interrupt.
To achieve the above object, the present invention further provides an RDMA-based data transfer apparatus, comprising:
the determining module is used for determining whether the data receiving end needs to generate interruption before the data transmitting end transmits data;
the filling module is used for filling the interrupt information in the cache of the data sending end when the data receiving end needs to generate the interrupt;
and the transmission module is used for transmitting the target data in the cache to the data receiving end so that the data receiving end generates a data updating prompt after analyzing the interrupt information carried by the target data.
Wherein the filling module is specifically configured to: and filling interrupt information in a preset number of bytes in a cache of the data transmitting end.
To achieve the above object, the present invention further provides an electronic device comprising:
a memory for storing a computer program;
a processor for implementing the steps of the RDMA-based data transfer method as described above when executing the computer program.
To achieve the above object, the present invention further provides a computer-readable storage medium having stored thereon a computer program which, when being executed by a processor, carries out the steps of the RDMA-based data transfer method as described above.
According to the scheme, the RDMA-based data transmission method, the RDMA-based data transmission device, the RDMA-based data transmission equipment and the RDMA-based storage medium are provided by the embodiment of the invention; in the scheme, before transmitting data, a data transmitting end firstly determines whether a data receiving end needs to generate interruption; if yes, filling interruption information in a cache of the data sending end; transmitting the target data in the cache to a data receiving end, and generating a data updating reminder after the data receiving end analyzes the interrupt information carried by the target data; therefore, in the scheme, before the data sending end transmits data to the data receiving end, if the data receiving end is required to generate interrupt generation prompt information, the interrupt information needs to be filled in the cache, and therefore after the data receiving end obtains the data, if the interrupt information can be analyzed from the received target data, a data update prompt is generated.
Drawings
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, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
FIG. 1 is a flow chart of the operation of RDMA WIRTE in a prior art arrangement;
FIG. 2 is a flow diagram of the operation of an RDMA READ in a prior art arrangement;
FIG. 3 is a flow chart of a bilateral operation in a prior art scheme;
FIG. 4 is a flowchart illustrating a RDMA-based data transmission method according to an embodiment of the present invention;
FIG. 5 is a schematic diagram of an interrupt message according to an embodiment of the present invention;
FIG. 6 is a flow chart of a specific data transmission according to an embodiment of the present invention;
FIG. 7 is a schematic structural diagram of an RDMA-based data transfer apparatus according to an embodiment of the present invention;
fig. 8 is a schematic structural diagram of an electronic device according to an embodiment of the disclosure.
Detailed Description
At present, when data is transferred by RDMA, unilateral operation and bilateral operation are mainly included. Before data transmission, two ends of the host need to establish connection, including respective QP (Queue Pair) and CQ (complete Queue), where the QP includes SQ (send Queue) and RQ (receive Queue), and then register a buffer address to obtain a key of the buffer. The following is a brief description of both operations.
Firstly, one-side operation RDMA WIRTE is performed, and the content of Buffer A is directly and remotely written into Buffer B without any operation by the application of the B-side host. Referring to fig. 1, an operation flow diagram of RDMA WIRTE, includes the following steps:
1. the application registers a WQE (work queue entry) in an established WQ (work queue), and for the a side, the WQ is SQ, and the WQE describes VB and rkey pointing to data waiting to be sent and containing a destination address of the data at the B side.
2. And the RNIC at the A end asynchronously schedules the WQE of the A, and analyzes that the WQE is a WRITE message, and the RNIC directly acquires data from the Buffer A.
3. The RNIC at the A end directly sends data to the B end.
4. After the data stream reaches the RNIC at the B end, the RNIC resolves the data stream into a WRITE message and contains the destination address of the data, and the RNIC at the B directly WRITEs the data to the buffer B.
5. And after the writing is finished, the RNIC of the B returns the state information of the whole data transmission to the A end.
It can be seen that, in the whole transmission process, the CPU at the B end is not required to do any action, the application does not sense the data written by the RNIC, and only the application at the a end needs to initiate a WIRTE action.
And secondly, single-side operation RDMA READ, wherein the A end READs the content of the B end, namely the content of the Buffer B is directly and remotely written into the Buffer A, and no operation is required to be performed by the application of the B end host. Referring to FIG. 2, a flow diagram of the operation of an RDMA READ. RDMA READ requires that the A end firstly sends a READ command to the B end, the RNIC of the B end READs data and then sends the data to A, and the RNIC of A writes the data to Buffer A. Unilateral operation is usually used for bulk data transmission, and the transmission efficiency is high.
And thirdly, the content of the RDMA SEND/RECV is remotely sent to the Buffer B by bilateral operation.
Referring to fig. 3, the bilateral operation flowchart specifically includes the following steps:
1. and the B terminal registers WQE into own WQ, wherein the WQ is RQ, and the WQE description points to a Buffer B for storing data.
2. An A terminal registers WQE into own WQ, wherein the WQ is SQ, and the WQE description points to a data Buffer A waiting to be sent;
3. the RNIC asynchronous dispatching of the A end turns to the WQE of the A end, the WQE is analyzed to be a SEND message, and data is obtained from the Buffer A;
4. the RNIC at the A end directly sends data to the B end.
5. After the data stream reaches the RNIC of the B end, the WQE of the B end is consumed, and the data is directly stored to the storage position pointed by the WQE.
As can be seen from the above, in both the single-side operation and the double-side operation, after each WQE is executed, the RNIC generates a CQE (Complete Queue Entry) to be placed in a CQ (Complete Queue) Queue. After the end a finishes sending, a completion message CQE is generated in the CQ of the end a. Meanwhile, after B completes receiving, B also generates a completion message in CQ. The completion of a WQE's processing in each WQ results in a CQE. The bilateral operation is usually used for control message transmission, and the efficiency is lower than that of the unilateral operation.
However, in the unilateral operation, the CPU on the other end has no calling process, and cannot know whether the data is updated or not, and the application cannot process the data in time. Therefore, in the embodiment of the present invention, a method, an apparatus, a device, and a storage medium for RDMA-based data transmission are provided, so that a passive side can timely obtain updated information of data during RDMA unilateral transmission.
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 only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Referring to fig. 4, a flow diagram of a RDMA-based data transmission method provided in an embodiment of the present invention includes:
s101, before data transmission, a data transmitting end determines whether a data receiving end needs to generate interruption or not;
in this embodiment, there are a data sending end and a data receiving end in the unilateral operation, for example, in the unilateral operation RDMA WIRTE, the content of Buffer a is directly and remotely written to Buffer B, so the a end is the data sending end, and the B end is the data receiving end. In addition, before RDMA data transmission, the scheme can negotiate whether to notify a data receiving end of unilateral transmission by using interruption or not, and the data is operated; if the notification is needed, the data receiving end is required to generate interruption, and at the moment, subsequent operation is required to be executed; if no notification is needed, the subsequent processes do not have to be performed, or the data is transferred according to the original RDMA flow.
Specifically, before data transmission, when a data sending end and a data receiving end exchange address information, a target field rintflag is added; after information interaction, judging whether target fields of a data sending end and a data receiving end are both 1; and if so, determining that the data receiving end is required to generate the interrupt. That is, if the rintflag fields at both ends are set to 1, indicating that unilateral transmission is performed, the interruption notification data operation is started to be completed; if the intflag is 0 by default or 0 at one end and 1 at the other end, the interrupt notification is not enabled by default, and the subsequent steps are not executed.
S102, if the data receiving end is required to generate interruption, filling interruption information in a cache of the data sending end;
when the interruption information is filled in the cache of the data sending end, the interruption information is filled in a preset number of bytes in the cache of the data sending end.
It should be noted that, in the present solution, a predetermined number of bytes of the first register buffer at both ends need to be reserved for filling the interrupt information. In this embodiment, the first 9 bytes of the buffer registered at both ends are specifically reserved for filling the interrupt flag bit, the offset information, and the length information of the interrupt information. Referring to fig. 5, an interrupt information diagram provided in the embodiment of the present invention is shown; as can be seen from fig. 5, when data is transmitted, the 0 th byte in the first 9 bytes is an interruption flag intflag indicating whether the data receiving end generates an interruption, and if the interruption occurs, the intflag is 1. Bytes 1-4 store the offset information offset of transmission, and bytes 5-8 store the length information len of transmission; if no interrupt is generated, intflag is 0, 1-8 bytes have no meaning, and reading is not needed. And during unilateral transmission, when one end (data transmitting end) actively initiating transmission constructs WQE, the first 9 fields of the buffer are filled according to the application requirement, and the transmitting flow is not changed. Therefore, in the scheme, when the data sending end fills the interrupt information, the interrupt flag bit 1 is filled in the 0 th byte of the cache of the data sending end, the offset information is filled in the 1 st to 4 th bytes of the cache, and the length information is filled in the 5 th to 8 th bytes of the cache.
It is understood that during data transmission, not every transmission needs to trigger an interrupt, and the intflag may be set to 1 after multiple transmissions. However, once rintflag is 1 at both ends of the first step, the first nine bytes of buffer have special purpose and cannot be reused to store user data.
S103, transmitting the target data in the cache to a data receiving end so that the data receiving end generates a data updating prompt after analyzing the interrupt information carried by the target data.
After the data receiving end in the scheme analyzes the interrupt information carried by the target data, the process of generating the data updating reminder specifically comprises the following steps: and the data receiving end analyzes the target data, and if the 0 th byte in the target data is 1, the data receiving end generates a data updating prompt.
Specifically, after receiving the target data sent by the data sending end, the RNIC of the data receiving end writes the target data into the Buffer B and returns the target data to the data sending end to transmit the state information of the data; the data receiving end RNIC continues to analyze the first byte of the buffer B, if the intflag is 1, the RNIC generates an interrupt to inform the application program that the data writing action is finished; intflag is 0, no operation. Specifically, the data receiving end needs to modify the network card driver, register interrupt _ process (), and add the user mode notification interface stat _ read (). The interrupt processing program is used for awakening a user process for calling stat _ read () when the network card generates an interrupt for finishing data transmission, informing the user that data can be operated, and returning the transmitted offset and Len by the stat _ read (); stat read may also set a user-defined timeout, which is reached or an interrupt is returned, otherwise the process sleeps.
It should be noted that, in the present solution, the RDMA low-latency network card interconnection network is operated by running a Linux operating system and using an IB (InfiniBand ) interface for transmission. And the interrupt _ process () and stat _ read () interfaces described above are called during the data transfer. Here, taking the example that the data sending end a calls RDMA WRITE to write to the data receiving end B, if the operation is an RDMA READ operation, after the B-end RNIC sends data to the a-end, the application READ is notified that the intflag is 1 interrupt. Referring to fig. 6, an embodiment of the present invention provides a specific data transmission flowchart, where the data transmission process is described by an a-side and a B-side respectively:
an A end: the transfer process adds a process to fill the first 9 bytes of the buffer before each call RDMA WRITE.
1) The A end initializes QP, CQ and register buffer needed by RDMA transmission;
2) exchanging buffer addresses and buffer key information at two ends of A and B, wherein rintflag is 1;
3) building WQE at the A end, and filling the first nine bytes of the buffer;
4) the A terminal initiates RDMA WRITE operation;
5) the steps 3 and 4 can be repeated for a plurality of times;
6) the a terminal RDMA WRITE ends.
And (3) end B: the user process needs to actively call stat _ read (), wait for an interrupt to notify a data write completion operation or return overtime.
1) Both ends of the B initialize QP, CQ and register buffer needed by RDMA transmission;
2) exchanging buffer addresses and buffer key information at two ends of A and B;
3) b, defining timeout time by the user mode process at the B end, and calling stat _ read ();
4) waiting for interruption or waiting for overtime, if the interruption returns, informing the user that the data is written, wherein the data storage position is the data with len length from the offset of the register buffer.
5)3 and 4 may be repeated a plurality of times.
In summary, in this scheme, before the data sending end transmits data to the data receiving end, if the data receiving end needs to generate interrupt generation prompt information, the interrupt notification needs to be started, and 9 bytes dedicated for transmission buffer are set to store the interrupt information. After the data receiving end acquires the data, if the interruption information is analyzed from the received target data, a data updating prompt is generated, and by the mode, the data receiving end can acquire the updated information of the data in time when the RDMA is transmitted on one side; the data transmission state is not required to be specially sent by the data sending end, or the data receiving end polls the data state, so that the transmission efficiency is improved.
In the following, the data transmission device, the apparatus, and the storage medium according to the embodiments of the present invention are introduced, and the data transmission device, the apparatus, and the storage medium described below may be referred to the data transmission method described above.
Referring to fig. 7, a schematic structural diagram of an RDMA-based data transmission apparatus according to an embodiment of the present invention includes:
a determining module 11, configured to determine whether a data receiving end needs to generate an interrupt before a data transmitting end transmits data;
a filling module 12, configured to fill in interrupt information in a cache of a data sending end when a data receiving end needs to generate an interrupt;
and the transmission module 13 is configured to transmit the target data in the cache to the data receiving end, so that the data receiving end generates a data update reminder after analyzing the interrupt information carried by the target data.
Wherein the filling module is specifically configured to: and filling interrupt information in a preset number of bytes in a cache of the data transmitting end.
Wherein the interrupt information includes: interrupt flag bit, offset information, length information.
Wherein the filling module is specifically configured to: filling an interrupt flag bit in the 0 th byte of the cache of the data sending end, filling offset information in the 1 st to 4 th bytes of the cache, and filling length information in the 5 th to 8 th bytes of the cache; wherein, the 0 th byte filling 1 in the cache represents that the data receiving end is required to generate an interrupt.
Wherein the data receiving end is specifically configured to: and analyzing the target data, and if the 0 th byte in the target data is 1, generating a data updating reminder by the data receiving end.
Wherein the determining module is specifically configured to: judging whether the target fields of the data sending end and the data receiving end are both 1; and if so, determining that the data receiving end is required to generate the interrupt.
Referring to fig. 8, an electronic device according to an embodiment of the present invention includes:
a memory 21 for storing a computer program;
a processor 22 for implementing the steps of the RDMA-based data transfer method as described above when executing the computer program.
In this embodiment, the device may be a PC (Personal Computer), or may be a terminal device such as a smart phone, a tablet Computer, a palmtop Computer, or a portable Computer.
The device may include a memory 21, a processor 22, and a bus 23.
The memory 21 includes at least one type of readable storage medium, which includes a flash memory, a hard disk, a multimedia card, a card type memory (e.g., SD or DX memory, etc.), a magnetic memory, a magnetic disk, an optical disk, and the like. The memory 21 may in some embodiments be an internal storage unit of the device, for example a hard disk of the device. The memory 21 may also be an external storage device of the device in other embodiments, such as a plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) Card, Flash memory Card (Flash Card), etc. provided on the device. Further, the memory 21 may also include both an internal storage unit of the device and an external storage device. The memory 21 may be used not only to store application software installed in the device and various types of data such as program codes for executing a data transmission method, etc., but also to temporarily store data that has been output or is to be output.
The processor 22 may be a Central Processing Unit (CPU), controller, microcontroller, microprocessor or other data Processing chip in some embodiments, and is used for executing program codes stored in the memory 21 or Processing data, such as program codes for executing data transmission methods.
The bus 23 may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 8, but this is not intended to represent only one bus or type of bus.
Further, the device may further include a network interface 24, and the network interface 24 may optionally include a wired interface and/or a wireless interface (e.g., WI-FI interface, bluetooth interface, etc.), which are generally used to establish a communication connection between the device and other electronic devices.
Optionally, the device may further comprise a user interface 25, the user interface 25 may comprise a Display (Display), an input unit such as a Keyboard (Keyboard), and the optional user interface 25 may also comprise a standard wired interface, a wireless interface. Alternatively, in some embodiments, the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, an OLED (Organic Light-Emitting Diode) touch device, or the like. The display, which may also be referred to as a display screen or display unit, is suitable for displaying information processed in the device and for displaying a visualized user interface.
Fig. 8 shows only the device with the components 21-25, and it will be understood by those skilled in the art that the structure shown in fig. 8 does not constitute a limitation of the device, and may comprise fewer or more components than those shown, or some components may be combined, or a different arrangement of components.
An embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the steps of the RDMA-based data transmission method as described above.
Wherein the storage medium may include: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The embodiments in the present description are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (10)

1. An RDMA-based data transfer method, comprising:
before transmitting data, the data transmitting end determines whether the data receiving end needs to generate interruption;
if so, filling interruption information in a cache of the data sending end;
and transmitting the target data in the cache to the data receiving end so that the data receiving end generates a data updating prompt after analyzing the interrupt information carried by the target data.
2. The data transmission method according to claim 1, wherein filling in the interrupt information in the buffer of the data sender includes:
and filling interrupt information in a preset number of bytes in a cache of the data transmitting end.
3. The data transmission method according to claim 2, wherein the interruption information includes: interrupt flag bit, offset information, length information.
4. The data transmission method of claim 3, wherein filling the interrupt information in a predetermined number of bytes in the buffer of the data transmitting end comprises:
filling an interrupt flag bit in the 0 th byte of the cache of the data sending end, filling offset information in the 1 st to 4 th bytes of the cache, and filling length information in the 5 th to 8 th bytes of the cache; wherein, the 0 th byte filling 1 in the cache represents that the data receiving end is required to generate an interrupt.
5. The data transmission method according to claim 4, wherein the data receiving end generates a data update reminder after analyzing the interrupt information carried by the target data, the data update reminder including:
and the data receiving end analyzes the target data, and if the 0 th byte in the target data is 1, the data receiving end generates a data updating prompt.
6. The data transmission method according to any one of claims 1 to 5, wherein the determining whether the data receiving end is required to generate an interrupt comprises:
judging whether the target fields of the data sending end and the data receiving end are both 1;
and if so, determining that the data receiving end is required to generate the interrupt.
7. An RDMA-based data transfer apparatus, comprising:
the determining module is used for determining whether the data receiving end needs to generate interruption before the data transmitting end transmits data;
the filling module is used for filling the interrupt information in the cache of the data sending end when the data receiving end needs to generate the interrupt;
and the transmission module is used for transmitting the target data in the cache to the data receiving end so that the data receiving end generates a data updating prompt after analyzing the interrupt information carried by the target data.
8. The data transmission apparatus according to claim 7, wherein the filling module is specifically configured to: and filling interrupt information in a preset number of bytes in a cache of the data transmitting end.
9. An electronic device, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the RDMA-based data transfer method of any of claims 1 to 6 when executing the computer program.
10. A computer-readable storage medium, characterized in that a computer program is stored thereon, which computer program, when being executed by a processor, realizes the steps of the RDMA-based data transfer method according to any one of claims 1 to 6.
CN202111276818.2A 2021-10-29 2021-10-29 RDMA (remote direct memory Access) -based data transmission method, device, equipment and storage medium Active CN114024874B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111276818.2A CN114024874B (en) 2021-10-29 2021-10-29 RDMA (remote direct memory Access) -based data transmission method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111276818.2A CN114024874B (en) 2021-10-29 2021-10-29 RDMA (remote direct memory Access) -based data transmission method, device, equipment and storage medium

Publications (2)

Publication Number Publication Date
CN114024874A true CN114024874A (en) 2022-02-08
CN114024874B CN114024874B (en) 2023-03-14

Family

ID=80059034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111276818.2A Active CN114024874B (en) 2021-10-29 2021-10-29 RDMA (remote direct memory Access) -based data transmission method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN114024874B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114584492A (en) * 2022-02-15 2022-06-03 珠海星云智联科技有限公司 Time delay measuring method, system and related equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105487937A (en) * 2015-11-27 2016-04-13 华为技术有限公司 RDMA (Remote Direct Memory Access) implementation method and device
WO2020001459A1 (en) * 2018-06-26 2020-01-02 华为技术有限公司 Data processing method, remote direct memory access network card, and device
CN110888827A (en) * 2018-09-10 2020-03-17 华为技术有限公司 Data transmission method, device, equipment and storage medium
CN111400213A (en) * 2019-09-29 2020-07-10 杭州海康威视系统技术有限公司 Method, device and system for transmitting data
CN113422793A (en) * 2021-02-05 2021-09-21 阿里巴巴集团控股有限公司 Data transmission method and device, electronic equipment and computer storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105487937A (en) * 2015-11-27 2016-04-13 华为技术有限公司 RDMA (Remote Direct Memory Access) implementation method and device
WO2020001459A1 (en) * 2018-06-26 2020-01-02 华为技术有限公司 Data processing method, remote direct memory access network card, and device
CN110888827A (en) * 2018-09-10 2020-03-17 华为技术有限公司 Data transmission method, device, equipment and storage medium
CN111400213A (en) * 2019-09-29 2020-07-10 杭州海康威视系统技术有限公司 Method, device and system for transmitting data
CN113422793A (en) * 2021-02-05 2021-09-21 阿里巴巴集团控股有限公司 Data transmission method and device, electronic equipment and computer storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114584492A (en) * 2022-02-15 2022-06-03 珠海星云智联科技有限公司 Time delay measuring method, system and related equipment

Also Published As

Publication number Publication date
CN114024874B (en) 2023-03-14

Similar Documents

Publication Publication Date Title
US9467511B2 (en) Techniques for use of vendor defined messages to execute a command to access a storage device
CN109690512B (en) GPU remote communication with trigger operation
WO2021244194A1 (en) Register reading/writing method, chip, subsystem, register group, and terminal
CN110297722B (en) Thread task communication method and related product
CN114513545B (en) Request processing method, device, equipment and medium
CN103218313A (en) Method and electric device for interacting cache descriptors
CN113037649B (en) Method and device for transmitting and receiving network interrupt data packet, electronic equipment and storage medium
CN114024874B (en) RDMA (remote direct memory Access) -based data transmission method, device, equipment and storage medium
CN115964319A (en) Data processing method for remote direct memory access and related product
CN111445331A (en) Transaction matching method and device
CN112291325A (en) Message processing method and device and computer system
JP2017520052A (en) Universal serial bus (USB) communication system and method
CN110909359A (en) Communication method based on dual-system architecture and terminal equipment
US7822040B2 (en) Method for increasing network transmission efficiency by increasing a data updating rate of a memory
CN102301359B (en) Providing An Indication Of Change At A User Interface Device Over A Network Between Computers
US20230342086A1 (en) Data processing apparatus and method, and related device
CN111124953B (en) Data exchange method, device, processor and computer system
CN111857546B (en) Method, network adapter and computer program product for processing data
CN106657256A (en) Resource acquisition processing method and device
CN111858035A (en) FPGA equipment allocation method, device, equipment and storage medium
KR20170116941A (en) System and method of piggybacking target buffer address for next rdma operation in current acknowledgement message
CN112422485A (en) Communication method and device of transmission control protocol
WO2003029997A1 (en) Bus system and bus interface
US10255210B1 (en) Adjusting order of execution of a target device
US9934184B1 (en) Distributed ordering system

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