CN113904976A - Multi-path data transmission method and device for lossy network based on RDMA - Google Patents
Multi-path data transmission method and device for lossy network based on RDMA Download PDFInfo
- Publication number
- CN113904976A CN113904976A CN202111144199.1A CN202111144199A CN113904976A CN 113904976 A CN113904976 A CN 113904976A CN 202111144199 A CN202111144199 A CN 202111144199A CN 113904976 A CN113904976 A CN 113904976A
- Authority
- CN
- China
- Prior art keywords
- data
- data transmission
- transmitted
- path
- sending
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 352
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012795 verification Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 9
- 238000007726 management method Methods 0.000 description 16
- 230000006854 communication Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000001341 grazing-angle X-ray diffraction Methods 0.000 description 4
- 238000013467 fragmentation Methods 0.000 description 3
- 238000006062 fragmentation reaction Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000002146 bilateral effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
Abstract
The invention relates to the technical field of data transmission, in particular to a multipath data transmission method and a multipath data transmission device for a lossy network based on RDMA (remote direct memory Access). The method comprises the following steps: at least two available data transmission paths of a data transmission terminal are transmitted; acquiring at least two available data receiving paths sent by corresponding data receiving terminals; determining a plurality of data transmission paths for transmitting data based on the available data transmission path and the available data reception path; and sending the data to be transmitted to the corresponding data receiving terminal through a plurality of data transmission paths. The data sending and receiving terminals solve the inherent problem of data packet disorder during multipath data transmission through the multipath read-write memory management module respectively, and reliable and efficient transmission of RoCE flow in a lossy network without using a PFC technology is realized. Therefore, data transmission is carried out through a plurality of currently available data transmission paths, and the data transmission speed can be increased to at least a certain extent.
Description
Technical Field
The invention relates to the technical field of data transmission, in particular to a multipath data transmission method and a multipath data transmission device for a lossy network based on RDMA (remote direct memory Access).
Background
Remote Direct Memory Access (RDMA) technology has the characteristics of low latency, high throughput, and low CPU occupancy. RDMA enables direct transfer of data between applications at two endpoints over a network without excessive intervention by the operating system kernel and the TCP/IP network protocol stack. Three major properties of RDMA are as follows: CPU offload, kernel bypass, zero copy.
In the prior art, when data transmission is performed based on the RDMA technology, data transmission is often performed by using only one path, and when the data volume is too large, the data transmission speed of the path is limited, and the data transmission time is long.
Disclosure of Invention
The embodiment of the invention provides a multi-path data transmission method, a multi-path data transmission device, electronic equipment and a storage medium for a lossy network based on RDMA (remote direct memory Access), which are used for solving the problems that in the existing scheme, when data transmission is carried out based on the RDMA technology, only one path is often used for transmitting one data packet, and when the data packet data volume is too large, the data transmission speed of the path is limited, and the data transmission time is longer.
In a first aspect, an embodiment of the present invention provides a multipath data transmission method for a lossy network based on RDMA, including:
transmitting an available data transmission path of the data transmission terminal; the available data transmission paths at least comprise two data transmission paths;
acquiring an available data receiving path sent by a corresponding data receiving terminal; wherein, the available data receiving paths at least comprise two data receiving paths;
determining a plurality of data transmission paths for transmitting data based on the available data transmission path and the available data reception path;
sending the data to be transmitted to corresponding data receiving terminals through the plurality of data transmission paths; and the data receiving terminal receives the data to be transmitted based on a preset memory management mode.
Preferably, the sending the data to be transmitted to the corresponding data receiving terminal through the plurality of data transmission paths includes:
sending data size information to the data receiving terminal;
segmenting the data to be transmitted to obtain a plurality of data segments to be transmitted; the plurality of data paragraphs to be transmitted comprise a plurality of data paragraphs with preset sizes and an end data paragraph; the terminal data paragraph is terminal data of the data to be transmitted and the size of the terminal data paragraph is not larger than a preset size;
setting a request identifier for each data paragraph to be transmitted; the request identification is used for indicating the information of the transmission data section;
and sending each data section to be transmitted and the corresponding request identifier to a corresponding data receiving terminal through each data transmission path, so that the data receiving terminal synthesizes the data to be transmitted based on the data size information, the request identifier and the data section to be transmitted.
Preferably, the sending, through each data transmission path, each to-be-transmitted data segment and the corresponding request identifier to the corresponding data receiving terminal includes:
determining a data transmission queue of each data transmission path based on the data section to be transmitted and each data transmission path; the data transmission queue comprises transmission requests of each transmission data section;
transmitting a data paragraph to be transmitted and a corresponding request identifier through each data transmission path based on a corresponding data transmission queue;
the multi-path data transmission method for the lossy network based on RDMA further comprises the following steps:
and when one data transmission path finishes the transmission request in the corresponding data transmission queue, re-determining the data transmission queue of each data transmission path.
Preferably, the transmitting, through each of the data transmission paths, the to-be-transmitted data segment and the corresponding request identifier based on the corresponding data transmission queue includes:
based on the data transmission queue, sending a data paragraph to be transmitted and a corresponding request identifier to the data receiving terminal;
after the data paragraph to be transmitted and the corresponding request mark are determined to be sent, a check request is sent to the data receiving terminal; the check request is used for indicating the data receiving terminal to check whether the data paragraph to be transmitted and the transmission corresponding to the request identifier lose packet or not and sending a check result to the data sending terminal;
and receiving the verification result, finishing the transmission of the data paragraph to be transmitted and the corresponding request identifier when the verification result is that no packet is lost, and re-transmitting the data paragraph to be transmitted and the corresponding request identifier when the verification result is that the packet is lost.
In a second aspect, an embodiment of the present invention provides a multipath data transmission method for a lossy network based on RDMA, which is applied to a data receiving terminal, and the method includes:
sending an available data receiving path of the data receiving terminal; wherein, the available data receiving paths at least comprise two data receiving paths;
acquiring an available data receiving and sending path sent by a corresponding data sending terminal; the available data transmission paths at least comprise two data transmission paths;
determining a plurality of data transmission paths for transmitting data based on the available data transmission path and the available data reception path;
and receiving the data to be transmitted through the plurality of data transmission paths based on a preset memory management mode.
Preferably, the receiving, through the plurality of data transmission paths, data to be transmitted based on a preset memory management manner includes:
acquiring data size information sent by the data sending terminal;
based on the data size information, creating a continuous virtual memory with a preset size as a unit;
acquiring a data paragraph to be transmitted and a corresponding request identifier sent by the data sending terminal based on each data transmission path, and storing the data paragraph to be transmitted in a corresponding virtual memory based on the request identifier;
writing the data in the virtual memory into the physical memory;
the data paragraph to be transmitted is obtained by dividing the data to be transmitted by the data sending terminal; the plurality of data paragraphs to be transmitted comprise a plurality of data paragraphs with preset sizes and an end data paragraph; the end data paragraph is end data of the data to be transmitted and has a size not larger than a preset size.
Preferably, the method further comprises the following steps:
acquiring a checking request sent by the data sending terminal; the data sending terminal sends the check request after sending the data paragraph to be transmitted and the corresponding request mark once;
based on the check request, checking whether the data paragraph to be transmitted and the corresponding request identifier lose packet in the sending process to obtain a checking result;
and sending a check result to the data sending terminal to indicate the data sending terminal, and if the data is lost, resending the data paragraph to be transmitted and the corresponding request identifier.
In a third aspect, an embodiment of the present invention provides a multipath data transmission apparatus for a lossy network based on RDMA, which is applied to a data sending terminal, and includes:
a first sending module, configured to send an available data sending path of the data sending terminal; the available data transmission paths at least comprise two data transmission paths;
the first acquisition module is used for acquiring an available data receiving path sent by a corresponding data receiving terminal; wherein, the available data receiving paths at least comprise two data receiving paths;
a first determining module, configured to determine a plurality of data transmission paths for transmitting data based on the available data transmission path and the available data reception path;
and the second sending module is used for sending the data to be transmitted to the corresponding data receiving terminal through the plurality of data transmission paths.
In a fourth aspect, an embodiment of the present invention provides a multipath data transmission apparatus for a lossy network based on RDMA, which is applied to a data receiving terminal, and includes:
a third sending module, configured to send an available data receiving path of the data receiving terminal; wherein, the available data receiving paths at least comprise two data receiving paths;
the second acquisition module is used for acquiring an available data receiving and sending path sent by the corresponding data sending terminal; the available data transmission paths at least comprise two data transmission paths;
a second determining module, configured to determine a plurality of data transmission paths for transmitting data based on the available data transmission path and the available data reception path;
and the receiving module is used for receiving the data to be transmitted through the plurality of data transmission paths based on a preset memory management mode.
In a fifth aspect, an embodiment of the present invention provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor executes the computer program to implement the steps of the RDMA-based multipath data transmission method for a lossy network according to the present invention.
According to the multipath data transmission method for the lossy network based on RDMA provided by the embodiment of the invention, when data transmission is carried out, data transmission is not carried out through only one path, but the available data transmission path and the available data receiving path of the data transmission terminal and the data receiving terminal are preferentially determined, and then a plurality of currently available data transmission paths are determined for data transmission, so that the data transmission speed can be increased to at least a certain degree.
Further, the data receiving terminal receives the data to be transmitted based on a preset memory management mode. Namely, the data sending terminal segments the data to be transmitted to obtain a plurality of data segments to be transmitted; the plurality of data paragraphs to be transmitted comprise a plurality of data paragraphs with preset sizes and an end data paragraph; the terminal data paragraph is terminal data of the data to be transmitted and the size of the terminal data paragraph is not larger than a preset size; setting a request identifier for each data paragraph to be transmitted; the request identification is used for indicating the information of the transmission data section; and sending each data section to be transmitted and the corresponding request identifier to a corresponding data receiving terminal through each data transmission path, so that the data receiving terminal synthesizes the data to be transmitted based on the data size information, the request identifier and the data section to be transmitted. The data receiving terminal acquires the data size information sent by the data sending terminal; based on the data size information, creating a continuous virtual memory with a preset size as a unit; acquiring a data paragraph to be transmitted and a corresponding request identifier sent by the data sending terminal based on each data transmission path, and storing the data paragraph to be transmitted in a corresponding virtual memory based on the request identifier; writing the data in the virtual memory into the physical memory; the data sending and receiving terminals solve the inherent problem of data packet disorder during multipath data transmission through a multipath memory management mode respectively, and reliable and efficient transmission of RoCE flow in a lossy network without using a PFC technology is realized.
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, and it is obvious that the drawings in the following description are some embodiments of the present invention, and those skilled in the art can also obtain other drawings according to the drawings without creative efforts.
Fig. 1 is a flowchart illustrating a multi-path data transmission method for a lossy network based on RDMA according to an embodiment of the present invention;
fig. 2 is a flowchart illustrating a multi-path data transmission method for a lossy network based on RDMA according to another embodiment of the present invention;
fig. 3 is a flowchart illustrating a multi-path data transmission method for a lossy network based on RDMA according to another embodiment of the present invention;
fig. 4 is a flowchart illustrating a multi-path data transmission method for a lossy network based on RDMA according to another embodiment of the present invention;
fig. 5 is a flowchart illustrating a multi-path data transmission method for a lossy network based on RDMA according to another embodiment of the present invention;
fig. 6 is a flowchart illustrating a multi-path data transmission method for a lossy network based on RDMA according to another embodiment of the present invention;
fig. 7 is a schematic diagram of a multipath data transmission method for a lossy network based on RDMA according to an embodiment of the present invention;
fig. 8 is a partial flowchart of a method for multipath data transmission for a lossy network based on RDMA according to an embodiment of the present invention;
fig. 9 is a schematic structural diagram of a multipath data transmission apparatus for a lossy network based on RDMA according to an embodiment of the present invention;
FIG. 10 is a schematic structural diagram of a multi-path data transmission apparatus for a lossy network based on RDMA according to another embodiment of the present invention
Fig. 11 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be 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.
In the traditional TCP/IP network communication process, a sender copies data from a user space to a kernel space, a kernel TCP/IP protocol stack encapsulates the data layer by layer, and then the data is sent to a cache in a network card for network transmission. And the receiver performs the reverse processing after receiving the data packet. For a gigabit/one hundred giga ethernet, the processing of packet, unpacking, checking, etc. of a data packet occupies a lot of CPU capacity, which is a relatively time-consuming I/O operation and involves many times of memory copy, interrupt processing, process context switching, etc., resulting in that the CPU cannot use its powerful computing power for the business logic processing of a user. This situation is unacceptable in high performance computing centers (HPCs), data centers, distributed systems, and other large data transfer application scenarios. Remote Direct Memory Access (RDMA) technology, which has the characteristics of low latency, high throughput, and low CPU utilization, can solve these problems. RDMA enables direct transfer of data between applications at two endpoints over a network without excessive intervention by the operating system kernel and the TCP/IP network protocol stack. Three major properties of RDMA: CPU offload, kernel bypass, zero copy.
RDMA allows local applications to read and write directly to remote memory. RDMA supports both unilateral and bilateral communication. Unilateral RDMA operations directly access remote memory without involving the remote CPU. Bilateral RDMA operations notify remote nodes of a delivered message. RDMA supports Reliable Connections (RC), Unreliable Connections (UC), and Unreliable Datagrams (UD). RDMA uses various types of queues to enable communication. RC communication is established by building a Pair of Queue Pairs (QPs) between two nodes. When data transmission is performed based on the RDMA technology, data transmission is often performed by using only one path, and when the amount of data is too large, the data transmission speed of the path is limited, and the data transmission time is long. To address this problem, an embodiment of the present invention provides a multipath data transmission method for a lossy network based on RDMA. Fig. 1 is a flowchart illustrating a multipath data transmission method for a lossy network based on RDMA according to an embodiment of the present invention, where the embodiment takes an execution flow of a data sending terminal as an example.
As shown in fig. 1, the method includes:
in some embodiments, when data is transmitted, one data transmitting end often has multiple data transmitting paths, and in general, a part of the data transmitting paths are occupied. In practical application, after the data sending terminal is in communication connection with the data sending terminal, a QP is created based on an IP address; and sends a QP list (i.e., an available data transmission path) to the data reception terminal;
similarly, the data receiving terminal establishes a QP based on the IP address after performing communication connection with the data sending terminal; and sends a QP list (i.e., an available data reception path) to the data transmission terminal;
when the data sending terminal receives the QP list sent by the data receiving terminal, the data transmission path can be constructed based on the preset rule by combining the QP list of the data sending terminal with the QP list of the data receiving terminal. When the data receiving terminal receives the QP list sent by the data sending terminal, the data transmission path can be constructed based on the preset rule by combining the QP list of the data receiving terminal with the QP list of the data sending terminal. When both of them complete the construction of the data transmission path, the data transmission can be performed.
And step 140, sending the data to be transmitted to the corresponding data receiving terminals through the plurality of data transmission paths.
The data receiving terminal receives the data to be transmitted based on a preset memory management mode.
In the scheme provided by the embodiment of the invention, the data to be transmitted can be sent to the corresponding data receiving terminal through the plurality of data transmission paths. Compared with the prior art in which data is transmitted through one data transmission path, in the scheme provided by the embodiment of the invention, when data transmission is performed, available data transmission paths and available data receiving paths of a data transmission terminal and a data receiving terminal are preferentially determined, and then, a plurality of currently available data transmission paths are determined for data transmission.
Further, as shown in fig. 2, step 140, sending the data to be transmitted to the corresponding data receiving terminal through the plurality of data transmission paths, includes:
142, segmenting the data to be transmitted to obtain a plurality of data segments to be transmitted; the plurality of data paragraphs to be transmitted comprise a plurality of data paragraphs with preset sizes and an end data paragraph; the terminal data paragraph is terminal data of the data to be transmitted and the size of the terminal data paragraph is not larger than a preset size;
In the above description of step 140, a specific scheme for performing data transmission based on multiple data transmission paths is provided, that is: and segmenting the data to be transmitted to obtain a plurality of data segments to be transmitted.
In practical application, the method for dividing the data to be transmitted and the related steps are as follows:
first, a virtual memory in which data to be transmitted is located is segmented in units of 1GB-8MB (here, default values len-1 KB-8B-1016B are used) (in actual splitting, the size of the last data segment may not satisfy the size of 1GB-8MB), and transmission of each segment is performed through a multi-data transmission path. Each segment is subdivided by 220Each size len-1 KB-8B-1016B (default values are used here in order to avoid IP fragmentation). Each segment corresponds to one WQE (RDMA write request), there is one SGA (Scatter/Gather Abstract) in each WQE, addr in the SGA represents a start address of the segment, size is 011 represents 1KB-8B (default len ═ 1KB-8B ═ 1016B is used here), num represents the number of data shares (number of packets) contained in the segment, and key is read-write permission. The smart card can handle multiple WQEs (multipaths) in QP1 and QP2 simultaneously, loop 2 according to the content of each WQE20Second (and possibly less than 2 if the last segment20) And writing the data of 1GB-8MB (if the data is the last segment, the data can be less than 1GB-8MB) of the local end into the memory of the remote end.
Further, as shown in fig. 3, in step 144, sending each to-be-transmitted data segment and the corresponding request identifier to the corresponding data receiving terminal through each data transmission path, includes:
It should be noted that, in the embodiment of the present invention, a part of key points lie in the establishment of a data transmission queue, where the data transmission queue may split a transmission task of data to be transmitted into a plurality of subtasks (i.e., transmission tasks of data segments to be transmitted), and then control a plurality of data transmission paths to execute the subtasks one by one, so as to finally complete the transmission task of data transmission. In order to ensure the overall transmission efficiency, each data transmission queue may be divided in an approximately equal manner, so that the data amount required to be transmitted by each data transmission path is approximately equal. Further, in the process of practical application, the transmission efficiency of each data transmission path is not necessarily the same, so that one data transmission path may have completed a data transmission task, but other data transmission paths have a plurality of data transmission tasks (i.e., to-be-transmitted data paragraphs) that are not transmitted, at this time, the data transmission queue may be re-planned, and the data transmission tasks that are not transmitted may be re-divided, so that all data transmission paths are in a data transmission state, and the overall transmission process of to-be-transmitted data is accelerated.
Further, in the process of data transmission, there may be a case of packet loss, so as to avoid that the whole data to be transmitted cannot be used due to the case of packet loss. In the solution provided in the embodiment of the present invention, the transmitting, through each of the data transmission paths, a data segment to be transmitted and a corresponding request identifier based on a corresponding data transmission queue specifically includes the following steps:
based on the data transmission queue, sending a data paragraph to be transmitted and a corresponding request identifier to the data receiving terminal;
after the data paragraph to be transmitted and the corresponding request mark are determined to be sent, a check request is sent to the data receiving terminal; the check request is used for indicating the data receiving terminal to check whether the data paragraph to be transmitted and the transmission corresponding to the request identifier lose packet or not and sending a check result to the data sending terminal;
and receiving the verification result, finishing the transmission of the data paragraph to be transmitted and the corresponding request identifier when the verification result is that no packet is lost, and re-transmitting the data paragraph to be transmitted and the corresponding request identifier when the verification result is that the packet is lost.
By the arrangement, the data transmission error caused by packet loss in the data transmission process can be avoided.
Fig. 4 is a flowchart illustrating a multipath data transmission method for a lossy network based on RDMA according to an embodiment of the present invention, where the embodiment takes an execution flow of a data sending terminal as an example. As shown in fig. 4, the method is applied to a data receiving terminal, and includes:
In the scheme provided by the embodiment of the invention, the data to be transmitted can be sent to the corresponding data receiving terminal by the plurality of data transmission paths. Compared with the prior art in which data is transmitted through one data transmission path, in the scheme provided by the embodiment of the invention, when data transmission is performed, available data transmission paths and available data receiving paths of a data transmission terminal and a data receiving terminal are preferentially determined, and then, a plurality of currently available data transmission paths are determined for data transmission.
Specifically, as shown in fig. 5, step 440 receives data to be transmitted through the multiple data transmission paths based on a preset memory management manner, where the method includes:
the data paragraph to be transmitted is obtained by dividing the data to be transmitted; the plurality of data paragraphs to be transmitted comprise a plurality of data paragraphs with preset sizes and an end data paragraph; the end data paragraph is end data of the data to be transmitted and has a size not larger than a preset size.
It should be noted that the virtual memory is established, so that each segment of data to be transmitted is directly written into the virtual memory, and thus, as long as the segment of data to be transmitted is filled into the corresponding virtual memory according to the dividing sequence, complete data to be transmitted can be formed in the virtual memory.
In practical applications, the transmission of data based on the difference of the execution bodies includes: reading and writing: for the two cases, the virtual memory is set and the related steps are as follows: if the node A writes data to the node B, the node A informs the node B of the data amount through the control plane. The node B allocates continuous virtual memory with 1GB as a unit, and the maximum value is 50GB (for example, a 100GB smart network card is considered here, and may be adjusted according to the size of the actual memory). And the node A writes data to the node B through the data plane, and informs the node B through the control plane after writing a 1GB-8MB data block or lost packet each time. The node B uses the red-black tree to sort 1024 data units in the 1GB virtual memory block according to the PSN (when a data packet is inserted into the red-black tree, the value of the U field of the data packet is changed from 0 to 1, and the value of the FE field is 01, which indicates that the last data packet in the current 1G data segment is processed), if no packet is lost, the node A is informed through a control plane that the data block of 1GB-8MB is successfully received, otherwise, the node A is informed of the PSN with the packet loss through the control plane to retransmit. When the node A receives a 1GB-8MB data block receiving success notice from the node B, the node A carries out subsequent processing on the corresponding WR;
if the node A reads data from the node B, the node B informs the node A of the data volume and the starting address of the data in the virtual memory through the control plane. The node a allocates continuous virtual memory with 1GB as a unit, and the maximum value is 50GB (for example, a 100GB smart network card is considered here, and may be adjusted according to the size of the actual memory). And the node A reads data from the node B through the data plane, and performs subsequent processing after reading one data block of 1GB-8MB or lost packet each time. The node a uses the red-black tree to sort 1024 data units in the 1GB virtual memory block according to the PSN (when a data packet is inserted into the red-black tree, the value of its U field is changed from 0 to 1, and the value of the FE field is 01, which indicates that the last data packet in the current 1G data segment is processed), and if there is no packet loss, the subsequent processing is performed. And when the node A receives a 1GB-8MB data block receiving success notice from the node B, the corresponding WR is processed subsequently.
By the arrangement, the data sending and receiving terminals solve the inherent problem of data packet disorder during multipath data transmission through a multipath memory management mode respectively, and reliable and efficient transmission of RoCE flow in a lossy network without using a PFC technology is realized.
Specifically, the RDMA-based multipath data transmission method for a lossy network according to the embodiment of the present invention is applied to a data receiving terminal, and further includes:
acquiring a checking request sent by the data sending terminal; the data sending terminal sends the check request after sending the data paragraph to be transmitted and the corresponding request mark once;
based on the check request, checking whether the data paragraph to be transmitted and the corresponding request identifier lose packet in the sending process to obtain a checking result;
and sending a check result to the data sending terminal to indicate the data sending terminal, and if the data is lost, resending the data paragraph to be transmitted and the corresponding request identifier.
In summary, the invention has the following three innovative technical advantages:
(1) the multipath establishing method comprises the following steps: the nodes of the two communication parties establish the multipath between the local terminal and the remote terminal through the control surface, and the local terminal and the remote terminal respectively establish QPs according to the GIDs which are associated with the local terminal and can access the IP addresses. The two-party nodes send respective QP lists to each other, and then establish a QP set (QPS) and related queues and data structures according to the QP lists sent by each other for supporting the multi-path transmission of data.
(2) The multi-path data read-write method comprises the following steps: the local end application program and the remote end application program firstly segment the used virtual memory by a fixed size (1GB or 1GB-8MB), and respectively transmit each data segment to be transmitted through each data transmission path. Each segment is subdivided by 220Each size is len-1 KB-8B-1016B (in order to avoid IP fragmentation). Each segment corresponds to one WQE (RDMA read or write request), each WQE is provided with an SGA (scatter gather digest), addr in the SGA represents the starting address of the segment, the size is 011 and represents 1KB or 1KB-8B, num represents the number of data copies (pack number) contained in the segment, and key represents read-write permission. The smart card can handle multiple WQEs (multipaths) in QP1 and QP2 simultaneously, loop 2 according to the content of each WQE20Second (and possibly less than 2 if the last segment20) Completing the reading and writing of data;
(3) the multi-path read-write memory management method comprises the following steps: the nodes of the two communication parties inform the total data volume needing to be transferred through the control plane. The receiving party allocates continuous virtual memory with 1GB as a unit, and the maximum value is 50GB (for example, a 100GB smart network card is considered here, and may be adjusted according to the size of the actual memory). The sender writes data to the receiver through the data surface, and informs the receiver through the control surface after finishing writing a 1GB-8MB data block or lost packet each time. The receiving side uses the red-black tree to sort 1024 data units in the 1GB virtual memory block according to the PSN (when a data packet is inserted into the red-black tree, the value of the U field of the data packet is changed from 0 to 1, and the value of the FE field is 01, which indicates that the last data packet in the current 1G data segment is processed), if no packet is lost, the control plane informs the sending side that the data block of 1GB-8MB is successfully received, otherwise, informs the control plane of the PSN with the packet loss to the sending side for retransmission. And the sender receives a successful receiving notice of one 1GB-8MB data block from the receiver, processes the corresponding WR, and then reads and writes the next 1GB-8MB data block through the data plane. The multi-path read-write memory management method solves the inherent problem of data packet disorder during multi-path data transmission, and realizes reliable and efficient transmission of RoCE flow in a lossy network without using a PFC technology.
Fig. 6 is a flowchart illustrating a multi-path data transmission method for a lossy network based on RDMA according to another embodiment of the present invention; fig. 7 is a schematic diagram of a multipath data transmission method for a lossy network based on RDMA according to an embodiment of the present invention; referring to fig. 6 and 7, a method for multi-path data transmission for a lossy network based on RDMA according to an embodiment of the present invention includes:
specifically, the nodes of the two communicating parties establish a multi-path between the local end and the remote end through a control plane, and the local end and the remote end respectively create a QP according to the GID which is associated with the remote end and can access the IP address (the GID is a Global ID, and the GID is required to be used for establishing the QP in the RoCE network). The two-party nodes send respective QP lists (QP1 is before and QP2 is after) to each other, and then establish a QP set (QPS) and related queues and data structures according to the QP lists sent by each other, so as to prepare for the multipath transmission of data.
specifically, sending the basic information of the data to be transmitted can provide a reference for creating the virtual memory. In preparation for further data transmission.
For brevity and without loss of completeness, the description is provided hereTake two paths as an example. Referring to fig. 7, an application program of a data receiving terminal first allocates a virtual memory according to an amount of data to be read, and then segments the virtual memory in units of 1GB, with odd-numbered segments being written by a path associated with QP1, and even-numbered segments being written by a path associated with QP 2. Each segment is subdivided by 220Shares, each size of 1KB (in order to avoid IP fragmentation). Each segment corresponds to one WQE (RDMA read request), each WQE has an SGA (Scatter/Gather Abstract), addr in the SGA indicates the start address of the segment, size is 011 and 1KB (default value is used here), num indicates the number of data shares (number of packets) contained in the segment, and key indicates read and write permissions. The local intelligent network card can simultaneously process a plurality of WQEs (multiple paths) in QP1 and QP2, and according to each RDMA read request, a loop program in the remote intelligent network card loops 2 according to information (addr, size, num and key) sent by the opposite party20Second (and possibly less than 2 if the last segment20) Converting the virtual address into a physical address, and sending the data of 1GB-8MB (if the last segment is, the data may be less than 1GB-8MB) to the local intelligent network card; one circulation program circulation 2 in the local terminal intelligent network card20Second (and possibly less than 2 if the last segment20) The virtual address is converted into a physical address, and the received 1GB (or less than 1GB if the last segment) of data is written into the memory.
Further, when the data transmission paths are multiple, the allocation of the path transmission is already inapplicable by means of odd-numbered segments and even-numbered segments, and at this time, the division of each data transmission path can be performed by a preset rule.
Referring to fig. 8, the transmission of a specific data segment to be transmitted in one data transmission path is taken as an example for explanation:
in the embodiment of the present invention, only one data transmission path is used for illustration, and one data transmission path first needs to transmit data segments to be transmitted one by one according to a preset data transmission queue.
the data receiving terminal carries out packet loss detection, a red-black tree is used for sorting the data units in the virtual memory block according to PSN, if no packet loss exists, the data units are indicated to successfully complete the transmission of a data section to be transmitted, and then the data receiving terminal carries out subsequent processing of receiving the data section to be transmitted; if the packet loss is detected through the red and black tree, the lost packet is re-read according to the PSN, i.e. step 803 is executed.
after the transmission of one segment of data to be transmitted is completed, it is determined whether the transmission of the corresponding data transmission queue is completed, and if not, step 801 is executed to send the next segment of data to be transmitted in the data transmission queue. If it is, step 805 is performed.
after the current data transmission channel completes the task in its own data transmission queue, if there are other channels that do not complete data transmission, the channel can assist other channels to transmit data, so as to accelerate the data transmission rate. Namely: and judging whether the other data transmission queues are all completed, if so, finishing the data transmission, and if not, executing step 806.
the scheme provided by the embodiment of the invention is explained by one data transmission path through the above embodiment.
Referring to fig. 9, an embodiment of the present invention provides a multipath data transmission apparatus for a lossy network based on RDMA, which is applied to a data transmission terminal, and includes:
a first sending module 91, configured to send an available data sending path of the data sending terminal; the available data transmission paths at least comprise two data transmission paths;
a first obtaining module 92, configured to obtain an available data receiving path sent by a corresponding data receiving terminal; wherein, the available data receiving paths at least comprise two data receiving paths;
a first determining module 93, configured to determine a plurality of data transmission paths for transmitting data based on the available data sending path and the available data receiving path;
the second sending module 94 is configured to send the data to be transmitted to the corresponding data receiving terminal through the multiple data transmission paths.
Optionally, the sending the data to be transmitted to the corresponding data receiving terminal through the multiple data transmission paths includes:
sending data size information to the data receiving terminal;
segmenting the data to be transmitted to obtain a plurality of data segments to be transmitted; the plurality of data paragraphs to be transmitted comprise a plurality of data paragraphs with preset sizes and an end data paragraph; the terminal data paragraph is terminal data of the data to be transmitted and the size of the terminal data paragraph is not larger than a preset size;
setting a request identifier for each data paragraph to be transmitted; the request identification is used for indicating the information of the transmission data section;
and sending each data section to be transmitted and the corresponding request identifier to a corresponding data receiving terminal through each data transmission path, so that the data receiving terminal synthesizes the data to be transmitted based on the data size information, the request identifier and the data section to be transmitted.
Optionally, the sending, through each data transmission path, each to-be-transmitted data segment and the corresponding request identifier to the corresponding data receiving terminal includes:
determining a data transmission queue of each data transmission path based on the data section to be transmitted and each data transmission path; the data transmission queue comprises transmission requests of each transmission data section;
transmitting a data paragraph to be transmitted and a corresponding request identifier through each data transmission path based on a corresponding data transmission queue;
and when one data transmission path finishes the transmission request in the corresponding data transmission queue, re-determining the data transmission queue of each data transmission path.
Optionally, the transmitting, through each of the data transmission paths, the to-be-transmitted data paragraph and the corresponding request identifier based on the corresponding data transmission queue includes:
based on the data transmission queue, sending a data paragraph to be transmitted and a corresponding request identifier to the data receiving terminal;
after the data paragraph to be transmitted and the corresponding request mark are determined to be sent, a check request is sent to the data receiving terminal; the check request is used for indicating the data receiving terminal to check whether the data paragraph to be transmitted and the transmission corresponding to the request identifier lose packet or not and sending a check result to the data sending terminal;
and receiving the verification result, finishing the transmission of the data paragraph to be transmitted and the corresponding request identifier when the verification result is that no packet is lost, and re-transmitting the data paragraph to be transmitted and the corresponding request identifier when the verification result is that the packet is lost.
Referring to fig. 10, an embodiment of the present invention provides an RDMA-based multipath data transmission apparatus for a lossy network, where the apparatus is applied to a data receiving terminal, and the apparatus includes:
a third sending module 95, configured to send an available data receiving path of the data receiving terminal; wherein, the available data receiving paths at least comprise two data receiving paths;
a second obtaining module 96, configured to obtain an available data receiving and sending path sent by a corresponding data sending terminal; the available data transmission paths at least comprise two data transmission paths;
a second determining module 97, configured to determine a plurality of data transmission paths for transmitting data based on the available data sending path and the available data receiving path;
the receiving module 98 is configured to receive data to be transmitted through the multiple data transmission paths based on a preset memory management manner.
Optionally, the receiving, through the multiple data transmission paths and based on a preset memory management manner, data to be transmitted includes:
acquiring data size information sent by the data sending terminal;
based on the data size information, creating a continuous virtual memory with a preset size as a unit;
acquiring a data paragraph to be transmitted and a corresponding request identifier sent by the data sending terminal based on each data transmission path, and storing the data paragraph to be transmitted in a corresponding virtual memory based on the request identifier;
writing the data in the virtual memory into the physical memory;
the data paragraph to be transmitted is obtained by dividing the data to be transmitted by the data sending terminal; the plurality of data paragraphs to be transmitted comprise a plurality of data paragraphs with preset sizes and an end data paragraph; the end data paragraph is end data of the data to be transmitted and has a size not larger than a preset size.
Optionally, the method further includes: acquiring a checking request sent by the data sending terminal; the data sending terminal sends the check request after sending the data paragraph to be transmitted and the corresponding request mark once;
based on the check request, checking whether the data paragraph to be transmitted and the corresponding request identifier lose packet in the sending process to obtain a checking result;
and sending a check result to the data sending terminal to indicate the data sending terminal, and if the data is lost, resending the data paragraph to be transmitted and the corresponding request identifier.
Fig. 11 is a schematic structural diagram of an electronic device according to an embodiment of the present invention, and as shown in fig. 11, the electronic device may include: a processor (processor)1110, a communication Interface (Communications Interface)1120, a memory (memory)1130, and a communication bus 1140, wherein the processor 1110, the communication Interface 1120, and the memory 1130 communicate with each other via the communication bus 1140. Processor 1110 may call logical commands in memory 1130 to perform the following method: transmitting an available data transmission path of the data transmission terminal; the available data transmission paths at least comprise two data transmission paths; acquiring an available data receiving path sent by a corresponding data receiving terminal; wherein, the available data receiving paths at least comprise two data receiving paths; determining a plurality of data transmission paths for transmitting data based on the available data transmission path and the available data reception path; and sending the data to be transmitted to the corresponding data receiving terminal through the plurality of data transmission paths. Or performing the following method: sending an available data receiving path of the data receiving terminal; wherein, the available data receiving paths at least comprise two data receiving paths; acquiring an available data receiving and sending path sent by a corresponding data sending terminal; the available data transmission paths at least comprise two data transmission paths; determining a plurality of data transmission paths for transmitting data based on the available data transmission path and the available data reception path; and receiving the data to be transmitted through the plurality of data transmission paths based on a preset memory management mode.
In addition, the logic commands in the memory 1130 may be implemented in the form of software functional units and may be stored in a computer readable storage medium when sold or used as a stand-alone product. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes a plurality of commands for enabling a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
Embodiments of the present invention further provide a non-transitory computer-readable storage medium, on which a computer program is stored, where the computer program is implemented to perform the method provided in the foregoing embodiments when executed by a processor, and the method includes: transmitting an available data transmission path of the data transmission terminal; the available data transmission paths at least comprise two data transmission paths; acquiring an available data receiving path sent by a corresponding data receiving terminal; wherein, the available data receiving paths at least comprise two data receiving paths; determining a plurality of data transmission paths for transmitting data based on the available data transmission path and the available data reception path; and sending the data to be transmitted to the corresponding data receiving terminal through the plurality of data transmission paths. Or comprises the following steps: sending an available data receiving path of the data receiving terminal; wherein, the available data receiving paths at least comprise two data receiving paths; acquiring an available data receiving and sending path sent by a corresponding data sending terminal; the available data transmission paths at least comprise two data transmission paths; determining a plurality of data transmission paths for transmitting data based on the available data transmission path and the available data reception path; and receiving the data to be transmitted through the plurality of data transmission paths based on a preset memory management mode. .
The above-described embodiments of the apparatus are merely illustrative, and the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware. With this understanding in mind, the above technical solutions may be embodied in the form of a software product, which can be stored in a computer-readable storage medium, such as ROM/RAM, magnetic disk, optical disk, etc., and includes commands for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method according to the embodiments or some parts of the embodiments.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.
Claims (10)
1. A multipath data transmission method for a lossy network based on RDMA, applied to a data transmission terminal, the method comprising:
transmitting an available data transmission path of the data transmission terminal; the available data transmission paths at least comprise two data transmission paths;
acquiring an available data receiving path sent by a corresponding data receiving terminal; wherein, the available data receiving paths at least comprise two data receiving paths;
determining a plurality of data transmission paths for transmitting data based on the available data transmission path and the available data reception path;
sending the data to be transmitted to corresponding data receiving terminals through the plurality of data transmission paths; and the data receiving terminal receives the data to be transmitted based on a preset memory management mode.
2. The RDMA-based multi-path data transmission method for a lossy network according to claim 1, wherein the transmitting data to be transmitted to the corresponding data reception terminals through the plurality of data transmission paths includes:
sending data size information to the data receiving terminal;
segmenting the data to be transmitted to obtain a plurality of data segments to be transmitted; the plurality of data paragraphs to be transmitted comprise a plurality of data paragraphs with preset sizes and an end data paragraph; the terminal data paragraph is terminal data of the data to be transmitted and the size of the terminal data paragraph is not larger than a preset size;
setting a request identifier for each data paragraph to be transmitted; the request identification is used for indicating the information of the transmission data section;
and sending each data section to be transmitted and the corresponding request identifier to a corresponding data receiving terminal through each data transmission path, so that the data receiving terminal synthesizes the data to be transmitted based on the data size information, the request identifier and the data section to be transmitted.
3. The RDMA-based multi-path data transmission method for a lossy network according to claim 2, wherein the sending each to-be-transmitted data segment and the corresponding request identifier to the corresponding data receiving terminal via each data transmission path includes:
determining a data transmission queue of each data transmission path based on the data section to be transmitted and each data transmission path; the data transmission queue comprises transmission requests of each transmission data section;
transmitting a data paragraph to be transmitted and a corresponding request identifier through each data transmission path based on a corresponding data transmission queue;
the multi-path data transmission method for the lossy network based on RDMA further comprises the following steps:
and when one data transmission path finishes the transmission request in the corresponding data transmission queue, re-determining the data transmission queue of each data transmission path.
4. The RDMA-based multi-path data transmission method for a lossy network according to claim 3, wherein the performing transmission of the data segment to be transmitted and the corresponding request identifier through each data transmission path based on the corresponding data transmission queue comprises:
based on the data transmission queue, sending a data paragraph to be transmitted and a corresponding request identifier to the data receiving terminal;
after the data paragraph to be transmitted and the corresponding request mark are determined to be sent, a check request is sent to the data receiving terminal; the check request is used for indicating the data receiving terminal to check whether the data paragraph to be transmitted and the transmission corresponding to the request identifier lose packet or not and sending a check result to the data sending terminal;
and receiving the verification result, finishing the transmission of the data paragraph to be transmitted and the corresponding request identifier when the verification result is that no packet is lost, and re-transmitting the data paragraph to be transmitted and the corresponding request identifier when the verification result is that the packet is lost.
5. A multipath data transmission method for a lossy network based on RDMA, applied to a data receiving terminal, the method comprising:
sending an available data receiving path of the data receiving terminal; wherein, the available data receiving paths at least comprise two data receiving paths;
acquiring an available data receiving and sending path sent by a corresponding data sending terminal; the available data transmission paths at least comprise two data transmission paths;
determining a plurality of data transmission paths for transmitting data based on the available data transmission path and the available data reception path;
and receiving the data to be transmitted through the plurality of data transmission paths based on a preset memory management mode.
6. The RDMA-based multipath data transmission method for a lossy network according to claim 5, wherein the receiving the data to be transmitted through the plurality of data transmission paths based on a preset memory management manner includes:
acquiring data size information sent by the data sending terminal;
based on the data size information, creating a continuous virtual memory with a preset size as a unit;
acquiring a data paragraph to be transmitted and a corresponding request identifier sent by the data sending terminal based on each data transmission path, and storing the data paragraph to be transmitted in a corresponding virtual memory based on the request identifier;
writing the data in the virtual memory into the physical memory;
the data paragraph to be transmitted is obtained by dividing the data to be transmitted by the data sending terminal; the plurality of data paragraphs to be transmitted comprise a plurality of data paragraphs with preset sizes and an end data paragraph; the end data paragraph is end data of the data to be transmitted and has a size not larger than a preset size.
7. The RDMA-based multi-path data transmission method for lossy networks of claim 6, further comprising:
acquiring a checking request sent by the data sending terminal; the data sending terminal sends the check request after sending the data paragraph to be transmitted and the corresponding request mark once;
based on the check request, checking whether the data paragraph to be transmitted and the corresponding request identifier lose packet in the sending process to obtain a checking result;
and sending a check result to the data sending terminal to indicate the data sending terminal, and if the data is lost, resending the data paragraph to be transmitted and the corresponding request identifier.
8. A multipath data transmission device for a lossy network based on RDMA, applied to a data transmission terminal, comprising:
a first sending module, configured to send an available data sending path of the data sending terminal; the available data transmission paths at least comprise two data transmission paths;
the first acquisition module is used for acquiring an available data receiving path sent by a corresponding data receiving terminal; wherein, the available data receiving paths at least comprise two data receiving paths;
a first determining module, configured to determine a plurality of data transmission paths for transmitting data based on the available data transmission path and the available data reception path;
and the second sending module is used for sending the data to be transmitted to the corresponding data receiving terminal through the plurality of data transmission paths.
9. A multipath data transmission device for a lossy network based on RDMA, applied to a data receiving terminal, comprising:
a third sending module, configured to send an available data receiving path of the data receiving terminal; wherein, the available data receiving paths at least comprise two data receiving paths;
the second acquisition module is used for acquiring an available data receiving and sending path sent by the corresponding data sending terminal; the available data transmission paths at least comprise two data transmission paths;
a second determining module, configured to determine a plurality of data transmission paths for transmitting data based on the available data transmission path and the available data reception path;
and the receiving module is used for receiving the data to be transmitted through the plurality of data transmission paths based on a preset memory management mode.
10. An electronic device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein the processor when executing the program implements the steps of the RDMA-based multi-path data transmission method for a lossy network according to any of claims 1 to 7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111144199.1A CN113904976A (en) | 2021-09-28 | 2021-09-28 | Multi-path data transmission method and device for lossy network based on RDMA |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111144199.1A CN113904976A (en) | 2021-09-28 | 2021-09-28 | Multi-path data transmission method and device for lossy network based on RDMA |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113904976A true CN113904976A (en) | 2022-01-07 |
Family
ID=79189004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111144199.1A Pending CN113904976A (en) | 2021-09-28 | 2021-09-28 | Multi-path data transmission method and device for lossy network based on RDMA |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113904976A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115834002A (en) * | 2022-11-16 | 2023-03-21 | 江苏为是科技有限公司 | High-speed transmission system and method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100023595A1 (en) * | 2008-07-28 | 2010-01-28 | Crossfield Technology LLC | System and method of multi-path data communications |
CN104618236A (en) * | 2015-01-21 | 2015-05-13 | 网宿科技股份有限公司 | Parallel data transmission system and method of acceleration network |
CN109936510A (en) * | 2017-12-15 | 2019-06-25 | 微软技术许可有限责任公司 | Multipath RDMA transmission |
CN110191052A (en) * | 2019-04-23 | 2019-08-30 | 北京交通大学 | Across the protocol network transmission method of one kind and system |
CN113316263A (en) * | 2021-04-20 | 2021-08-27 | 阿里巴巴新加坡控股有限公司 | Data transmission method, device, equipment and storage medium |
-
2021
- 2021-09-28 CN CN202111144199.1A patent/CN113904976A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100023595A1 (en) * | 2008-07-28 | 2010-01-28 | Crossfield Technology LLC | System and method of multi-path data communications |
CN104618236A (en) * | 2015-01-21 | 2015-05-13 | 网宿科技股份有限公司 | Parallel data transmission system and method of acceleration network |
CN109936510A (en) * | 2017-12-15 | 2019-06-25 | 微软技术许可有限责任公司 | Multipath RDMA transmission |
CN110191052A (en) * | 2019-04-23 | 2019-08-30 | 北京交通大学 | Across the protocol network transmission method of one kind and system |
CN113316263A (en) * | 2021-04-20 | 2021-08-27 | 阿里巴巴新加坡控股有限公司 | Data transmission method, device, equipment and storage medium |
Non-Patent Citations (1)
Title |
---|
刘路等: "基于动态连接的RDMA可靠传输协议设计", 《计算机工程与科学》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115834002A (en) * | 2022-11-16 | 2023-03-21 | 江苏为是科技有限公司 | High-speed transmission system and method |
CN115834002B (en) * | 2022-11-16 | 2023-10-31 | 江苏为是科技有限公司 | High-speed transmission system and method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11184439B2 (en) | Communication with accelerator via RDMA-based network adapter | |
US10868767B2 (en) | Data transmission method and apparatus in optoelectronic hybrid network | |
US10484472B2 (en) | Methods and systems for efficiently moving data between nodes in a cluster | |
CN111277616B (en) | RDMA-based data transmission method and distributed shared memory system | |
CN113014528B (en) | Message processing method, processing unit and virtual private network server | |
CN105141603A (en) | Communication data transmission method and system | |
CN109391522B (en) | RDMA-based network traffic determination method, forwarding device, analysis server, and storage medium | |
CN113422793A (en) | Data transmission method and device, electronic equipment and computer storage medium | |
CN113904976A (en) | Multi-path data transmission method and device for lossy network based on RDMA | |
CN109688606B (en) | Data processing method and device, computer equipment and storage medium | |
CN113076281B (en) | Method, system, equipment and medium for communication of Ceph kernel client | |
US11115474B2 (en) | Data transmission and network interface controller | |
CN113238856A (en) | RDMA (remote direct memory Access) -based memory management method and device | |
CN103067304B (en) | The method of packet order preserving and device | |
WO2022111693A1 (en) | Data transmission method and related device | |
CN113572695B (en) | Link aggregation method, device, computing equipment and computer storage medium | |
CN109660495B (en) | File transmission method and device | |
CN107241404B (en) | Method, device and system for receiving and transmitting messages | |
CN105230074A (en) | Video cache switching handling method, device and system | |
US20240146806A1 (en) | Intermediate apparatus, communication method, and program | |
JP6268027B2 (en) | COMMUNICATION SYSTEM, TRANSMISSION DEVICE, AND COMMUNICATION METHOD | |
JP5758572B2 (en) | Message transmission / reception method of messaging network system | |
KR102184363B1 (en) | Communicating method between host and client with network connector, and network connector proceeding the same | |
CN117675890A (en) | RDMA dynamic connection transmission service providing method and device | |
CN117692109A (en) | Data retransmission method for remote direct memory access and related equipment |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220107 |