A RDMA-based data transmission system and method

By adopting RDMA-based data transmission systems and methods in smart devices, and using the combination of RISC-V module and LRDMA module, the problem of sensor access I/O node resource pressure and high bandwidth transmission is solved, and the effect of lightweight and high bandwidth transmission is achieved.

CN119854373BActive Publication Date: 2025-06-13NAT UNIV OF DEFENSE TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510329578.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-20
Publication Date
2025-06-13
Estimated Expiration
2045-03-20

AI Technical Summary

Technical Problem

In smart devices, the storage and logical resources of sensor access I/O nodes are under great pressure, making it difficult to achieve lightweight high-bandwidth transmission for sensor access.

Method used

A data transmission system and method based on RDMA is adopted to realize link building with the opponent through the RISC-V module. The LRDMA module only retains RDMA Write operations in RC mode to reduce the status information and unacknowledged packet information that need to be cached.

Benefits of technology

Effectively slow down the storage and logic resource pressure of sensor access I/O nodes, realize lightweight and high-bandwidth transmission for sensor access, and reduce the overhead of system hardware logic components and software chain building.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119854373B_ABST
    Figure CN119854373B_ABST
Patent Text Reader

Abstract

The present application discloses a data transmission system and method based on RDMA, mainly related to the field of computer technology. First, the RISC-V module (106) initializes all modules, sends relevant configuration information to the transmission control module (102) and the LRDMA module (103), and notifies the peer to prepare to receive data. The transmission control module (102) uploads the information of the sensor interface module (101) to the storage module (107), and generates corresponding instructions for the LRDMA module (103). After receiving the corresponding instructions, the LRDMA module (103) reads the corresponding data from the storage module (107) and sends it to the peer to complete the data transmission operation. The RISC-V module (106) clears all transmission parameters, and the transmission control module (102) stops the queue transmission. The present application can effectively relieve the storage and logic resource pressure of sensor access and achieve lightweight high-bandwidth transmission for sensor access.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application mainly relates to the field of computer technology, and particularly relates to a data transmission system and method based on RDMA. Background Art

[0002] With the continuous advancement and development of the Internet, the amount of data of intelligent devices has increased sharply, the demand for the real-time acquisition and analysis of data has been continuously upgraded, and the demand for device access and data acquisition has also inevitably increased. The traditional device sensor data collection and processing system is established by using the original technical means, independently completes its own data collection and processing, the computing and storage resources cannot be shared, there is a lack of data fusion, and the bandwidth is limited. It is difficult for a large amount of sensing data to access the information network of intelligent devices, and it is even more impossible to transmit and share among different units in intelligent devices, which hinders the deployment and application of intelligent applications.

[0003] The existing communication methods between high-speed sensing data acquisition terminals and computing terminals are mainly divided into two types: bus type and network type. Among them, the bus type communication method is difficult to meet the requirements of high bandwidth / multi-source sensor access; the network type communication method has the advantage of supporting high-bandwidth transmission, decoupling sensing and computing, and supporting multi-source sensor access; the problem is that a large amount of data is generated by a large number of sensors, the bandwidth demand continues to increase, and the CPU overhead of the computing terminal for network processing and frequent data transfer increases accordingly, occupying heavy CPU resources, increasing processing delay, and being unfavorable for the deployment and rapid response of delay-sensitive services such as intelligent decision-making.

[0004] The high-bandwidth and low-computing-power-occupying network RDMA (Remote Direct Memory Access) technology can achieve higher-bandwidth and lower-latency network transmission, and release CPU resources for business and algorithm deployment. However, its research mainly focuses on data center application scenarios such as network storage and cloud computing, and is mainly represented by RoCEv2 RDMA technology. In the industrial community, many suppliers such as NVIDIA Mellanox, Intel, Marvell, and Huawei Hisilicon have launched a series of commercial Ethernet RDMA network cards. In intelligent devices, the end nodes can be divided into those with strong logical storage resources and those with weak logical storage resources according to the two connected ends. The computing and storage nodes are classified as the end nodes with strong logical storage resources, referred to as the strong end for short; the sensor access I / O nodes are defined as the end nodes with weak logical storage resources, referred to as the weak end for short. According to the asymmetric nodes and communication characteristics inside the intelligent device, that is, the end nodes in the system include weak ends and strong ends, and the main transmission direction of the data stream is from sensor data to the computing or storage node, or between the computing and storage nodes. Among them, the strong end has complete resources and can theoretically use commercial RDMA network cards, while for the weak end, the logical storage resources are limited and it is difficult to deploy commercial RDMA network cards.

[0005] Therefore, how to implement a lightweight RDMA (Light Remote Direct Memory Access, LRDMA) to effectively relieve the storage and logical resource pressure at the weak end and achieve lightweight high-bandwidth transmission for sensor access has become an urgent problem to be solved. Summary of the Invention

[0006] To solve the above technical problems, the purpose of this application is to provide a data transmission system and method based on RDMA, which can effectively relieve the storage and logical resource pressure of sensor access to I / O nodes and achieve lightweight high-bandwidth transmission for sensor access.

[0007] To achieve the above purpose, this application provides a data transmission system and method based on RDMA:

[0008] The first application purpose of this application is achieved through the following technical solutions:

[0009] A data transmission system based on RDMA includes a sensor interface module 101, a transmission control module 102, an LRDMA module 103, and a high-speed Ethernet interface module 104 that are connected in sequence, a bus interconnection module 105 connected to the transmission control module 102 and the LRDMA module 103, and a RISC-V module 106 and a storage module 107 respectively connected to the bus interconnection module 105, where:

[0010] The sensor interface module 101 is used to acquire sensor data and transmit the sensor data to the transmission control module 102;

[0011] The RISC-V module 106 is used to establish a link with the peer through the high-speed Ethernet interface module 104, interact configuration information through the bus interconnection module 105, notify the peer to prepare the RQE queue, and receive the start transmission signal from the peer, and control the transmission control module 102 to start data transmission according to the start transmission signal;

[0012] The transmission control module 102 is used to transmit the sensor data to the storage module 107 after receiving the data transmission start signal, and generate corresponding WQE and the first Doorbell signal and send them to the LRDMA module 103;

[0013] The LRDMA module 103 is used to receive the first Doorbell signal and the corresponding WQE generated by the transmission control module 102, read the corresponding data from the storage module 107, and use the RDMA Write operation in RC mode to send the read data to the peer through the high-speed Ethernet interface module 104;

[0014] The LRDMA module 103 is further configured to generate a CQE and transmit it to the transmission control module 102 after receiving an ACK confirmation response message from the peer end;

[0015] The transmission control module 102 is further configured to send a second Doorbell signal to the LRDMA module 103 after receiving the CQE from the LRDMA module 103;

[0016] The LRDMA module 103 is further configured to receive the second Doorbell signal sent by the transmission control module 102, update the corresponding QP pointer, and send an RDMA Write Immediate operation to the peer end to prompt the peer end that the data transmission has been completed;

[0017] The RISC-V module 106 is further configured to receive a stop transmission signal from the peer end, clear the corresponding queue transmission parameters according to the stop transmission signal, and control the transmission control module 102 to stop the corresponding queue transmission.

[0018] Preferably, the RISC-V module 106 is further configured to obtain the RQE queue depth after notifying the peer end to prepare the RQE queue, and configure the RQE queue depth into the LRDMA module 103.

[0019] Preferably, the LRDMA module 103 is further configured to check whether the RQE queue depth meets a preset requirement after receiving the first Doorbell signal. If the preset requirement is met, the LRDMA module 103 receives the WQE from the transmission control module 102.

[0020] Preferably, when the sensor interface module 101 executes the operation of acquiring sensor data and transmitting the sensor data to the transmission control module 102, the sensor interface module 101 is specifically configured to:

[0021] Complete the I / O access of multiple sensors to acquire sensor data from multiple sensors, convert the sensor data into a unified data format, perform data aggregation, and transmit the data to the transmission control module 102.

[0022] Preferably, when performing data aggregation, the sensor interface module 101 supports a scheduling mode of a weighted round-robin scheduling algorithm.

[0023] Preferably, the data transmission system supports the transmission of ordinary messages. Specifically,

[0024] The LRDMA module 103 is further configured to receive ordinary packets through the high-speed Ethernet interface module 104, store the ordinary packets into the storage module 107 through direct memory access, and notify the RISC-V module 106 in an interrupt manner;

[0025] The LRDMA module 103 is further configured to receive descriptors from the RISC-V module 106, retrieve the ordinary packets stored in the storage module 107 according to the descriptors, and send the ordinary packets through the high-speed Ethernet interface module 104.

[0026] Preferably, when the RISC-V module 106 performs link establishment with the peer through the high-speed Ethernet interface module 104, it is specifically configured to:

[0027] Perform Socket link establishment with the peer based on the LwIP protocol stack through the high-speed Ethernet interface module 104.

[0028] Preferably, the high-speed Ethernet interface module 104 includes high-speed Ethernet interfaces with one or more of the following rates: 1000 Mbps, 10 Gbps, 25 Gbps, 40 Gbps, 50 Gbps, 100 Gbps, and 400 Gbps.

[0029] The second objective of this application is to provide a data transmission method based on RDMA.

[0030] The above-mentioned second application objective of this application is achieved through the following technical solutions:

[0031] A data transmission method based on RDMA includes a sensor interface module 101, a transmission control module 102, an LRDMA module 103, a high-speed Ethernet interface module 104 connected in sequence, a bus interconnection module 105 connected to the transmission control module 102 and the LRDMA module 103, and a RISC-V module 106 and a storage module 107 respectively connected to the bus interconnection module 105. The method includes:

[0032] Use the sensor interface module 101 to acquire sensor data and transmit the sensor data to the transmission control module 102;

[0033] Use the RISC-V module 106 to establish a link with the peer through the high-speed Ethernet interface module 104, interact configuration information through the bus interconnection module 105, notify the peer to prepare the RQE queue, and receive the start transmission signal from the peer, and control the transmission control module 102 to start data transmission according to the start transmission signal;

[0034] Using the transmission control module 102, after the data transmission signal is turned on, the sensor data is transmitted to the storage module 107, and the corresponding WQE and the first Doorbell signal are generated and sent to the LRDMA module 103;

[0035] Using the LRDMA module 103, receive the first Doorbell signal and the corresponding WQE generated by the transmission control module 102, read the corresponding data from the storage module 107, and use the RDMA Write operation in RC mode to send the read data to the peer through the high-speed Ethernet interface module 104;

[0036] Using the LRDMA module 103, after receiving the ACK confirmation response message from the peer, generate CQE and transmit it to the transmission control module 102;

[0037] Using the transmission control module 102, after receiving the CQE from the LRDMA module 103, send the second Doorbell signal to the LRDMA module 103;

[0038] Using the LRDMA module 103, receive the second Doorbell signal sent by the transmission control module 102, update the corresponding QP pointer, and send a RDMA Write Immediate operation to the peer to prompt the peer that the data transmission has been completed.

[0039] Using the RISC-V module 106, receive the stop transmission signal from the peer, and according to the stop transmission signal, clear the corresponding queue transmission parameters, and control the transmission control module 102 to stop the corresponding queue transmission.

[0040] Preferably, after the step of using the RISC-V module 106 to notify the peer to prepare the RQE queue, it further includes:

[0041] Using the RISC-V module 106, obtain the RQE queue depth, and configure the RQE queue depth into the LRDMA module 103;

[0042] Correspondingly, after the step of using the LRDMA module 103 to receive the first Doorbell signal, it further includes:

[0043] Using the LRDMA module 103, check whether the RQE queue depth meets the preset requirements. If it meets the preset requirements, execute the step of using the LRDMA module 103 to receive the WQE from the transmission control module 102.

[0044] The present application provides a data transmission system and method based on RDMA, which realizes link establishment and intercommunication with the peer through the RISC-V module. The LRDMA module only retains the RDMA Write operation in the RC mode, thereby greatly reducing the status information and unacknowledged message information to be cached, and reducing the system hardware logic components, software link establishment, and space registration management overhead. The device can be deployed to the sensor access I / O node, effectively alleviating the storage and logic resource pressure of the sensor access I / O node, and realizing lightweight high-bandwidth transmission for sensor access. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments recorded in the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0046] Figure 1 Schematic diagram of a data transmission system based on RDMA in an embodiment of the present application;

[0047] Figure 2 Schematic diagram of a data transmission method based on RDMA in an embodiment of the present application;

[0048] Among them, 101 - sensor interface module; 102 - transmission control module; 105 - bus interconnection module; 106 - RISC-V module; 107 - storage module; 103 - LRDMA module; 104 - high-speed Ethernet interface module. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0049] To make the objectives, technical solutions, and advantages of the embodiments of the present application clearer, the following will clearly and completely describe the technical solutions in the embodiments of the present application with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are some, but not all, of the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of the present application.

[0050] In addition, the technical features in each embodiment or a single embodiment provided by the present application can be combined with each other arbitrarily to form a feasible technical solution. This combination is not restricted by the order of steps and / or the structural composition mode, but must be based on the fact that those of ordinary skill in the art can implement it. When the combination of technical solutions conflicts with each other or cannot be implemented, it should be considered that this combination of technical solutions does not exist and is not within the scope of protection required by the present application.

[0051] In the embodiments provided in this application, it should be understood that the disclosed methods and systems can be implemented in other ways. The system embodiments described below are merely illustrative. For example, the division of units and modules is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or modules can be combined, or can be integrated into another system, or some features can be ignored, or not executed. In addition, the couplings, direct couplings, or communication connections between the components shown or discussed can be through some interfaces, indirect couplings or communication connections of devices or modules, and can be electrical, mechanical, or other forms.

[0052] In addition, each functional unit in the embodiments of this application can be all integrated in a processor, or each unit can be separately used as a device, or two or more units can be integrated in a device; each functional unit in the embodiments of this application can be implemented in the form of hardware, or in the form of a combination of hardware and software functional units.

[0053] Those of ordinary skill in the art can understand that all or part of the steps of implementing the following method embodiments can be completed through program instructions and related hardware. The foregoing program instructions can be stored in a computer-readable storage medium. When the program instructions are executed, the steps of the following method embodiments are executed; and the foregoing storage medium includes: various media such as removable storage devices, read-only memory (ROM), magnetic disks, or optical discs that can store program codes.

[0054] It should be understood that in this application, if the terms "system", "device", "unit", and / or "module" are used, they are only a method for distinguishing different components, elements, parts, portions, or assemblies at different levels. However, if other words can achieve the same purpose, the term can be replaced by other expressions.

[0055] In addition, the terms "first" and "second" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, the features defined with "first" and "second" can explicitly or implicitly include one or more of such features. In the description of this application, the meanings of "multiple" and "several" are two or more, unless otherwise specifically defined.

[0056] It should be noted that the structures, proportions, sizes, etc. shown in the attached drawings of this specification are only used to cooperate with the content disclosed in the specification for those familiar with this technology to understand and read, and are not used to limit the implementation conditions of this application. Therefore, they do not have any substantial technical significance. Any modification of the structure, change of the proportional relationship, or adjustment of the size, without affecting the effects that this application can produce and the purposes that can be achieved, should still fall within the scope covered by the technical content disclosed in this application.

[0057] If a flowchart is used in this application, the flowchart is used to illustrate the operations performed by the system according to the embodiments of this application. It should be understood that the previous or subsequent operations do not necessarily need to be executed precisely in sequence. On the contrary, they can be executed in reverse order or processed simultaneously. At the same time, other operations can also be added to these processes, or one or several operations can be removed from these processes.

[0058] It should also be noted that in this article, terms such as "including", "comprising", or any other variants thereof are intended to cover non-exclusive inclusion. Thus, an article or device including a series of elements not only includes those elements but also includes other elements not explicitly listed, or elements inherent to such an article or device. Without further limitations, an element defined by the statement "including one..." does not exclude the existence of additional identical elements in the article or device including the above elements.

[0059] The embodiments of this application are written in a progressive manner.

[0060] As Figure 1 shown, an embodiment of this application provides a data transmission device based on RDMA, including: a sensor interface module 101, a transmission control module 102, an LRDMA (Light Remote Direct Memory Access) module 103, a high-speed Ethernet interface module 104 connected in sequence, a bus interconnection module 105 connected to the transmission control module 102 and the LRDMA module 103, and a RISC-V (Reduced Instruction Set Computer) module 106 and a storage module 107 respectively connected to the bus interconnection module 105; where:

[0061] The sensor interface module 101 is used to obtain sensor data and transmit the sensor data to the transmission control module 102;

[0062] Specifically, the sensor interface module 101 mainly accesses the I / Os of multiple sensors, converts the sensor data into a unified data format, aggregates the data, and transmits it to the transmission control module 102.

[0063] In the embodiment of the present application, when the sensor interface module 101 performs data aggregation, due to the different data transmission rates of different sensors, the sensor interface module 101 supports the scheduling mode of the weighted round-robin (WRR) algorithm.

[0064] The RISC-V module 106 is used to establish a link with the peer through the high-speed Ethernet interface module 104, interact configuration information through the bus interconnection module 105, notify the peer to prepare the RQE queue (Receive Queue Element), and receive the start transmission signal from the peer, and control the transmission control module 102 to start data transmission according to the start transmission signal.

[0065] Specifically, the RISC-V module 106 mainly completes the initialization and configuration of all modules, establishes a link with the peer through the high-speed Ethernet interface module 104, interacts configuration information through the bus interconnection module 105, distributes relevant configuration information to the transmission control module 102 and the LRDMA module 103, notifies the peer to prepare the RQE queue, and controls the transmission control module 102 to start data transmission according to the start transmission signal.

[0066] In other embodiments of the present application, the RISC-V module 106 is further used to obtain the depth of the RQE queue after notifying the peer to prepare the RQE queue, and configure the depth of the RQE queue into the LRDMA module.

[0067] Preferably, in the embodiment of the present application, the high-speed Ethernet interface module 104 includes one or more high-speed Ethernet interfaces with rates of 1000 Mbps, 10 Gbps, 25 Gbps, 40 Gbps, 50 Gbps, 100 Gbps, and 400 Gbps.

[0068] In other embodiments of the present application, when the RISC-V module 106 executes to establish a link with the peer through the high-speed Ethernet interface, it is specifically used to: establish a Socket link with the peer through the high-speed Ethernet interface module 104 based on the LwIP protocol stack.

[0069] In the embodiment of the present application, RoCEv2 supports two link establishment methods based on CM and Socket. Among them, the link establishment based on CM requires additional software and hardware support, and the RISC-V module 106 needs to establish an Ethernet link communication with the peer end. In order to save the LRDMA module, the RISC-V module 106 in this embodiment interacts with the peer end for Socket link establishment based on the LwIP (Light Weight IP) protocol stack. The link establishment is based on TCP / IP. Therefore, the double-end link establishment process needs to go through the TCP three-way handshake, double-end interactive link establishment data (peer end LID, QPN, PSN, GID, VA, R_Key and other RDMA transmission parameter information), and TCP four-way handshake. After the RISC-V core completes the link establishment interaction configuration information, it sends the relevant RDMA transmission parameter information to the transmission control module 102 and the LRDMA module 103.

[0070] In the embodiment of the present application, the RQE queue is mainly used by the peer end to receive the RDMA WriteImmediate operation sent by the LRDMA module, which is used to indicate that the local device has completed the data transmission and notify the peer end that it can receive the relevant data. In this embodiment, the RDMA WriteImmediate operation can be sent every time the data transmission is completed, or it can be sent after multiple successful data transmissions. The amount of data represented by each RDMA WriteImmediate operation can be set by the user according to the actual situation.

[0071] The transmission control module 102 is used to transmit the acquired sensor data to the storage module 107 after the data transmission signal is turned on, and generate the corresponding WQE and the first Doorbell signal and send them to the LRDMA module 103;

[0072] Specifically, the transmission control module 102 receives an instruction from the RISC-V module 106, directly uploads the acquired sensor data to the storage module 107 through DMA (Direct Memory Access, remote direct memory access), and generates the corresponding WQE (Write Queue Element, write queue unit) and the first Doorbell (doorbell) signal for the LRDMA module 103.

[0073] The LRDMA module 103 is used to receive the first Doorbell signal and the corresponding WQE generated by the transmission control module 102, read the corresponding data from the storage module 107, and use the RDMA Write operation in the RC (Root Complex) mode to send the read data to the peer end through the high-speed Ethernet interface module 104;

[0074] Specifically, the LRDMA module 103 receives the first Doorbell signal and the corresponding WQE generated by the transmission control module 102, reads the stored data from the storage module 107, and uses the RDMA Write operation in the RC mode to send the read data to the peer through the high-speed Ethernet interface module 104.

[0075] In other embodiments of the present application, after receiving the first Doorbell signal, the LRDMA module 103 checks whether the RQE queue depth meets the preset requirements. If the preset requirements are met, it receives the WQE from the transmission control module 102.

[0076] Specifically, when the RQE queue depth is greater than or equal to the set threshold, it is considered that the RQE queue depth meets the preset requirements. If the RQE queue depth is less than the set threshold, it means that the peer is temporarily unable to receive the data, and the data transmission is paused until it is greater than the set threshold and then the data transmission is restarted.

[0077] In other embodiments of the present application, the LRDMA module 103 also supports the transmission of ordinary packets.

[0078] Specifically, the LRDMA module 103 receives the ordinary packet through the high-speed Ethernet interface, stores the ordinary packet into the storage module 107 through direct memory access, and notifies the RISC-V module 106 by means of interruption; the LRDMA module 103 receives the descriptor from the RISC-V module 106, and according to the descriptor, takes out the ordinary packet stored in the storage module 107 and sends the ordinary packet through the high-speed Ethernet interface module 104.

[0079] In the embodiment of the present application, RDMA Write is a unilateral operation. During the communication process, the active party (client) directly pushes the data from the local buffer to the continuous memory block in the virtual space of the remote QP (Queue Pair), and the passive party (server) does not need to perform any operation.

[0080] The LRDMA module 103 is also used to generate a CQE (Completition Queue Element) and transmit it to the transmission control module 102 after receiving the ACK (Acknowledgement) confirmation response packet from the peer.

[0081] The transmission control module 102 is also used to send the second Doorbell signal to the LRDMA module 103 after receiving the CQE from the LRDMA module 103.

[0082] The LRDMA module 103 is further configured to receive the second Doorbell signal sent by the transmission control module 102, update the corresponding QP pointer (QPointer, smart pointer), and send an RDMA Write Immediate operation to the peer end to prompt that the data transmission at the peer end has been completed;

[0083] In the embodiment of the present application, the RDMA Write Immediate operation is used to indicate that the local device has completed data transmission, notify the peer end that it can receive the transmitted data, and the peer end needs to update the RQE depth to the local device after completing data reception to ensure that the RQE depth can maintain continuous data transmission.

[0084] The RISC-V module 106 is further configured to receive the stop transmission signal from the peer end, clear the corresponding queue transmission parameters according to the stop transmission signal, and control the transmission control module 102 to stop the corresponding queue transmission.

[0085] In the embodiment of the present application, the local device supports multi-QP transmission, allows different sensors to use different QP queues for transmission, and the transmission processes are independent. When the peer end needs to stop transmission, all queues can be stopped, or a specific QP queue can be specified to stop. If a specific QP queue stops, it will not interfere with the continued transmission of other QP queues.

[0086] The embodiment of the present application provides a data transmission device based on RDMA, which realizes link establishment and intercommunication with the peer end through the RISC-V microprocessor core. The LRDMA only retains the RDMA Write operation in the RC mode, thereby greatly reducing the state information and unacknowledged message information that need to be cached, and reducing the system hardware logic components, software link establishment, and space registration management overhead. This device can be deployed to the sensor access I / O node to achieve lightweight high-bandwidth transmission for sensor access.

[0087] As Figure 2 shown, the embodiment of the present application also provides a data transmission method based on RDMA, which is applied to the data transmission system based on RDMA as described above. The data transmission system includes a sensor interface module 101, a transmission control module 102, an LRDMA module 103, a high-speed Ethernet interface module 104 connected in sequence, a bus interconnection module 105 connected to the transmission control module 102 and the LRDMA module 103, and an RISC-V module 106 and a storage module 107 respectively connected to the bus interconnection module 105, including:

[0088] S1. Use the sensor interface module 101 to obtain sensor data and transmit the data to the transmission control module 102;

[0089] In S1, specifically, the RISC-V module 106 can first initialize all modules; then, using the sensor interface module 101, the I / Os of multiple sensors are connected, the sensor data is converted into a unified format, and the data is aggregated and transmitted to the transmission control module 102. In the embodiment of the present application, when the sensor interface module 101 performs data aggregation, the sensor interface module 101 supports the scheduling mode of the weighted round-robin scheduling algorithm WRR.

[0090] S2. The RISC-V module 106 establishes a link with the peer end, exchanges configuration information with each other, notifies the peer end to prepare the RQE queue, and starts data transmission according to the transmission signal of the peer end;

[0091] In S2, specifically, the RISC-V module 106 establishes a link with the peer end through the high-speed Ethernet interface module 104, exchanges configuration information through the bus interconnection module 105, issues relevant configuration information to the transmission control module 102 and the LRDMA module 103, notifies the peer end to prepare the RQE queue, and controls the transmission control module 102 to start data transmission according to the start transmission signal.

[0092] In other embodiments of the present application, after the step of using the RISC-V module 106 to notify the peer end to prepare the RQE queue, it further includes: using the RISC-V module 106 to obtain the RQE queue depth and configure the RQE queue depth into the LRDMA module 103.

[0093] In other embodiments of the present application, the high-speed Ethernet interface module 104 includes: high-speed Ethernet interfaces with one or more rates among 1000 Mbps, 10 Gbps, 25 Gbps, 40 Gbps, 50 Gbps, 100 Gbps, and 400 Gbps.

[0094] In other embodiments of the present application, one implementation method of the step of using the RISC-V module 106 to establish a link with the peer end through the high-speed Ethernet interface module specifically includes: establishing a Socket link with the peer end through the high-speed Ethernet interface module 104 based on the LwIP protocol stack.

[0095] S3. After the data transmission signal is turned on, the sensor data is transmitted to the storage module 107, and the corresponding WQE and the first Doorbell signal are generated;

[0096] In S3, specifically, the transmission control module 102 receives an instruction from the RISC-V module 106, directly uploads the obtained sensor data to the storage module 107 through DMA, and generates the corresponding WQE and Doorbell signals for the LRDMA module 103.

[0097] S4. The LRDMA module 103 receives the first Doorbell signal and the corresponding WQE, and sends the stored data to the peer end;

[0098] In S4, specifically, the LRDMA module 103 receives the first Doorbell signal and the corresponding WQE generated by the transmission control module 102, reads the stored data from the storage module 107, and uses the RDMA Write operation in RC mode to send the read data to the peer end through the high-speed Ethernet interface module 104.

[0099] In other embodiments of the present application, after the step of using the LRDMA module 103 to receive the first Doorbell signal, it further includes: using the LRDMA module 103 to check whether the depth of the RQE queue meets the preset requirements. If it meets the preset requirements, then execute the step of using the LRDMA module 103 to receive the WQE from the transmission control module 102;

[0100] Specifically, if the depth of the RQE queue is less than the set threshold, it means that the peer end is temporarily unable to receive the data, so the data transmission is paused until it is greater than the set threshold and then the data transmission is restarted.

[0101] In other embodiments of the present application, the LRDMA module 103 also supports the transmission of ordinary packets.

[0102] S5. After the LRDMA module 103 receives the ACK confirmation response packet from the peer end, it generates a CQE and transmits it to the transmission control module 102;

[0103] S6. After the transmission control module 102 receives the CQE from the LRDMA module 103, it issues a second Doorbell signal to the LRDMA module 103;

[0104] S7. Receive the second Doorbell signal, update the corresponding QP pointer, and prompt the peer end that the data transmission has been completed;

[0105] In S7, specifically, the LRDMA module 103 receives the second Doorbell signal issued by the transmission control module 102, updates the corresponding QP pointer, and sends an RDMA Write Immediate operation to the peer end to prompt that the data transmission has been completed.

[0106] S8. Receive the stop transmission signal from the peer end, clear the configuration information of all modules, and stop the corresponding queue transmission.

[0107] In S8, specifically, the RISC-V module 106 receives the stop transmission signal from the peer end, clears the information configured by all modules at the start of data transmission according to the stop transmission signal, and controls the transmission control module 102 to stop the corresponding queue transmission.

[0108] A data transmission method based on RDMA proposed by an embodiment of the present application greatly reduces the state information and unacknowledged message information that need to be cached by adopting Socket link establishment and only using the RDMA Write / Write Immediate operation in the RC mode, effectively alleviates the storage and logic resource pressure of the sensor access I / O node, and realizes lightweight high-bandwidth transmission for sensor access.

[0109] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present application. Various modifications to these embodiments will be obvious to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A data transmission system based on RDMA, characterized in that: The invention comprises a sensor interface module (101), a transmission control module (102), an LRDMA module (103), and a high-speed Ethernet interface module (104) connected in sequence, a bus interconnection module (105) connected to the transmission control module (102) and the LRDMA module (103), and a RISC-V module (106) and a storage module (107) respectively connected to the bus interconnection module (105), wherein: The sensor interface module (101) is used to acquire sensor data and transmit the sensor data to the transmission control module (102); The RISC-V module (106) is used to establish a link with the opposite end through the high-speed Ethernet interface module (104), exchange configuration information through the bus interconnection module (105), notify the opposite end to prepare an RQE queue, and receive a transmission start signal from the opposite end, and control the transmission control module (102) to start data transmission according to the transmission start signal; The transmission control module (102) is used to transmit the sensor data to the storage module (107) after the data transmission signal is turned on, and generate a corresponding WQE and a first Doorbell signal to send to the LRDMA module (103); The LRDMA module (103) is used to receive the first Doorbell signal and the corresponding WQE generated by the transmission control module (102), and read the corresponding data from the storage module (107), and use the RDMA Write operation in RC mode to send the read data to the opposite end through the high-speed Ethernet interface module (104); The LRDMA module (103) is further configured to generate a CQE and transmit it to the transmission control module (102) after receiving an ACK confirmation response message from the other end; The transmission control module (102) is further configured to send a second Doorbell signal to the LRDMA module (103) after receiving the CQE from the LRDMA module (103); The LRDMA module (103) is further configured to receive the second Doorbell signal sent by the transmission control module (102), update the corresponding QP pointer, and send an RDMA Write Immediate operation to the other end to prompt the other end that data transmission has been completed; The RISC-V module (106) is also used to receive a stop transmission signal from the other end, and according to the stop transmission signal, clear the corresponding queue transmission parameters, and control the transmission control module (102) to stop the corresponding queue transmission.

2. The RDMA-based data transmission system according to claim 1, characterized in that: The RISC-V module (106) is further used to obtain the RQE queue depth after notifying the opposite end to prepare the RQE queue, and configure the RQE queue depth into the LRDMA module (103); The LRDMA module (103) is further configured to check whether the RQE queue depth meets a preset requirement after receiving the first Doorbell signal, and if so, receive the WQE from the transmission control module (102).

3. The RDMA-based data transmission system according to claim 1, characterized in that: The sensor interface module (101), when executing the acquisition of sensor data and transmitting the sensor data to the transmission control module (102), is specifically used to: The I / O access of multiple sensors is completed to obtain sensor data from the multiple sensors, and after the sensor data is converted into a unified data format, data aggregation is performed and transmitted to the transmission control module (102).

4. The RDMA-based data transmission system according to claim 1, characterized in that: The sensor interface module (101) supports a scheduling mode of a weighted round-robin scheduling algorithm when performing data aggregation.

5. The RDMA-based data transmission system according to claim 1, characterized in that: The data transmission system supports ordinary message transmission, specifically, The LRDMA module (103) is further configured to receive a common message through the high-speed Ethernet interface module (104), store the common message in the storage module (107) through direct memory access, and notify the RISC-V module (106) through an interrupt; The LRDMA module (103) is further configured to receive a descriptor from the RISC-V module (106), and based on the descriptor, retrieve the common message stored in the storage module (107), and send the common message through the high-speed Ethernet interface module (104).

6. The RDMA-based data transmission system according to claim 1, characterized in that: The RISC-V module (106), when executing the link establishment with the opposite end through the high-speed Ethernet interface module (104), is specifically used to: Through the high-speed Ethernet interface module (104), a Socket link is established with the opposite end based on the LwIP protocol stack.

7. The RDMA-based data transmission system according to claim 1, characterized in that: The high-speed Ethernet interface module (104) comprises a high-speed Ethernet interface of one or more rates of 1000 Mbps, 10 Gbps, 25 Gbps, 40 Gbps, 50 Gbps, 100 Gbps, and 400 Gbps.

8. A data transmission method based on RDMA, characterized in that: Applied to the RDMA-based data transmission system as claimed in claim 1, the data transmission system comprises a sensor interface module (101), a transmission control module (102), an LRDMA module (103), a high-speed Ethernet interface module (104) connected in sequence, a bus interconnection module (105) connected to the transmission control module (102) and the LRDMA module (103), and a RISC-V module (106) and a storage module (107) respectively connected to the bus interconnection module (105), the method comprising: Utilizing the sensor interface module (101) to acquire sensor data, and transmitting the sensor data to the transmission control module (102); Using the RISC-V module (106), establishing a link with the opposite end through the high-speed Ethernet interface module (104), exchanging configuration information through the bus interconnection module (105), notifying the opposite end to prepare an RQE queue, and receiving a transmission start signal from the opposite end, and controlling the transmission control module (102) to start data transmission according to the transmission start signal; Utilizing the transmission control module (102), after the data transmission signal is turned on, the sensor data is transmitted to the storage module (107), and a corresponding WQE and a first Doorbell signal are generated and sent to the LRDMA module (103); Using the LRDMA module (103), receiving the first Doorbell signal and the corresponding WQE generated by the transmission control module (102), and reading the corresponding data from the storage module (107), using the RDMA Write operation in RC mode, and sending the read data to the opposite end through the high-speed Ethernet interface module (104); Utilizing the LRDMA module (103), after receiving an ACK confirmation response message from the other end, generating a CQE and transmitting it to the transmission control module (102); After receiving the CQE from the LRDMA module (103), the transmission control module (102) sends a second Doorbell signal to the LRDMA module (103); Using the LRDMA module (103), receiving the second Doorbell signal sent by the transmission control module (102), updating the corresponding QP pointer, and sending an RDMA Write Immediate operation to the other end, prompting the other end that data transmission has been completed; The RISC-V module (106) is used to receive a stop transmission signal from the other end, and according to the stop transmission signal, the corresponding queue transmission parameters are cleared, and the transmission control module (102) is controlled to stop the corresponding queue transmission.

9. The RDMA-based data transmission method according to claim 8, characterized in that: After the step of using the RISC-V module (106) to notify the other end to prepare the RQE queue, the method further includes: Utilizing the RISC-V module (106), obtaining the RQE queue depth, and configuring the RQE queue depth into the LRDMA module (103); Accordingly, after the step of using the LRDMA module (103) to receive the first Doorbell signal, the method further includes: The LRDMA module (103) is used to check whether the RQE queue depth meets the preset requirement. If the preset requirement is met, the step of using the LRDMA module (103) to receive the WQE from the transmission control module (102) is performed.

Citation Information

Patent Citations

  • Data retransmission method and terminal for remote direct memory access

    CN116455524A

  • Sensing data transmission architecture used in intelligent equipment platform

    CN118381774A