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 PDF

Info

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
Application number
CN202111144199.1A
Other languages
Chinese (zh)
Inventor
张同光
高雪霞
郜伟雪
田乔梅
张涛
朱怡豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xinxiang University
Original Assignee
Xinxiang University
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 Xinxiang University filed Critical Xinxiang University
Priority to CN202111144199.1A priority Critical patent/CN113904976A/en
Publication of CN113904976A publication Critical patent/CN113904976A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath

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

Multi-path data transmission method and device for lossy network based on RDMA
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:
step 110, sending an available data sending path of the data sending terminal; the available data transmission paths at least comprise two data transmission paths;
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;
step 120, 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;
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;
step 130, determining a plurality of data transmission paths for transmitting data based on the available data transmission path and the available data receiving path;
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:
step 141, sending data size information to the data receiving terminal;
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;
step 143, setting a request identifier for each to-be-transmitted data paragraph; the request identification is used for indicating the information of the transmission data section;
step 144, sending each to-be-transmitted data segment and the corresponding request identifier to a corresponding data receiving terminal through each data transmission path, so that the data receiving terminal synthesizes the to-be-transmitted data based on the data size information, the request identifier and the to-be-transmitted data segment.
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:
step 1441, determining a data transmission queue of each data transmission path based on the data segment to be transmitted and each data transmission path; the data transmission queue comprises transmission requests of each transmission data section;
step 1442, through each data transmission path, based on the corresponding data transmission queue, performing transmission of the data paragraph to be transmitted and the corresponding request identifier;
step 1443, when there is a data transmission path to complete the transmission request in the corresponding data transmission queue, re-determining the data transmission queue of each data transmission path.
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:
step 410, sending an available data receiving path of the data receiving terminal; wherein, the available data receiving paths at least comprise two data receiving paths;
step 420, 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;
step 430, determining a plurality of data transmission paths for transmitting data based on the available data transmission path and the available data receiving path;
step 440, receiving the data to be transmitted through the plurality of data transmission paths based on a preset memory management manner.
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:
step 441, obtaining data size information sent by the data sending terminal;
step 442, creating a continuous virtual memory with a preset size as a unit based on the data size information;
step 443, 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;
step 444, writing the data in the virtual memory into the memory;
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:
step 601, establishing a plurality of data transmission paths;
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.
Step 602, sending basic information of data to be transmitted;
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.
Step 603, segmenting the data to be transmitted to obtain a plurality of data segments to be transmitted;
step 604, creating a continuous virtual memory with a preset size as a unit based on the data size information;
step 605, sending the data to be transmitted to the corresponding data receiving terminal through the plurality of data transmission paths.
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:
step 801, a data sending terminal sends a data paragraph to be transmitted according to a data transmission queue;
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.
Step 802, whether packet loss occurs or not;
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.
Step 803, resend the data segment to be transmitted;
step 804, whether the corresponding data transmission queue is completely transmitted or not is judged;
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.
Step 805, whether all other data transmission queues complete transmission;
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.
Step 806, reformulating the data transmission queue;
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.
CN202111144199.1A 2021-09-28 2021-09-28 Multi-path data transmission method and device for lossy network based on RDMA Pending CN113904976A (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115834002A (en) * 2022-11-16 2023-03-21 江苏为是科技有限公司 High-speed transmission system and method

Citations (5)

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

Patent Citations (5)

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

* Cited by examiner, † Cited by third party
Title
刘路等: "基于动态连接的RDMA可靠传输协议设计", 《计算机工程与科学》 *

Cited By (2)

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