Data transmission system and method based on RDMA
By adopting RDMA-based data transmission systems and methods in smart devices, and using the combination of RISC-V module and LRDMA module, the resource pressure problem of sensor access I/O nodes is solved, and lightweight high bandwidth transmission is achieved.
Patent Information
- Application Number
- CN202510329578.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-20
- Publication Date
- 2025-04-18
- Estimated Expiration
- 2045-03-20
AI Technical Summary
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.
The RDMA-based data transmission system and method are 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.
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.
Smart Images

Figure CN119854373A_ABST
Abstract
Description
Technical Field
[0001] The present application mainly relates to the field of computer technology, and specifically 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 from smart devices has increased dramatically, and the demand for real-time data collection and analysis has also been continuously upgraded. The demand for device access and data collection will inevitably increase. The traditional device sensor data collection and processing system is established using the original technical means, and each data is collected and processed independently. The computing and storage resources cannot be shared, there is a lack of data fusion, and the bandwidth is limited. Massive sensor data is difficult to access the information network of smart devices, and it cannot be transmitted and shared between different units in smart devices, which hinders the deployment and application of intelligent applications.
[0003] There are two main communication modes between the existing high-speed sensor data acquisition end and the computing end: bus type and network type. The bus type communication mode is difficult to meet the needs of high-bandwidth / multi-source sensor access; the network type communication mode has the advantage of supporting high-bandwidth transmission, decoupling sensing and computing, and supporting multi-source sensor access; the problem is that massive sensors generate a large amount of data, and the bandwidth demand continues to increase. The CPU overhead of the computing end for network processing and frequent data movement increases accordingly, occupying heavier CPU resources, increasing processing delays, and is not conducive to the deployment and rapid response of such delay-sensitive services as intelligent decision-making.
[0004] The high-bandwidth, low-computing-power network RDMA (Remote Direct Memory Access) technology can achieve higher bandwidth, lower latency network transmission, and release CPU resources for business and algorithm deployment. However, its research is mainly aimed at data center application scenarios such as network storage and cloud computing, and is mainly based on RDMA technology represented by RoCEv2. In the industry, many suppliers such as NVIDIA Mellanox, Intel, Marvell, and Huawei Hisilicon have launched a series of commercial Ethernet RDMA network cards. In smart 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 ends of the connection. The computing and storage nodes are divided into the strong end of logical storage resources, referred to as the strong end; the sensor access I / O node is defined as the weak end of logical storage resources, referred to as the weak end. According to the asymmetric nodes and communication characteristics within the smart device, that is, the end nodes within the system include weak ends and strong ends, the main transmission direction of the data flow is the transmission of sensor data to computing or storage nodes, or between computing and storage nodes. Among them, the strong end has complete resources, and theoretically commercial RDMA network cards can be used, while the weak end has limited logical storage resources, and commercial RDMA network cards are difficult to deploy.
[0005] Therefore, how to implement a lightweight RDMA (Light Remote Direct Memory Access, LRDMA) to effectively alleviate the storage and logical resource pressure on 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] In order 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 alleviate the storage and logical resource pressure of sensor access I / O nodes and realize lightweight high-bandwidth transmission for sensor access.
[0007] To achieve the above objectives, the present application provides a data transmission system and method based on RDMA: The above-mentioned application objective 1 of the present application is achieved through the following technical solutions: 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 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 obtain 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 start transmission signal from the opposite end, and control the transmission control module 102 to start data transmission according to the start transmission 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 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.
[0008] Preferably, the RISC-V module 106 is also used to obtain the RQE queue depth after notifying the other end to prepare the RQE queue, and configure the RQE queue depth into the LRDMA module 103.
[0009] 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, and if so, receive the WQE from the transmission control module 102 .
[0010] Preferably, 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 for: 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, the data is aggregated and transmitted to the transmission control module 102 .
[0011] Preferably, the sensor interface module 101 supports a scheduling mode of a weighted round-robin scheduling algorithm when performing data aggregation.
[0012] Preferably, the data transmission system supports ordinary message transmission, specifically, The LRDMA module 103 is further used to receive common messages through the high-speed Ethernet interface module 104, store the common messages in the storage module 107 through direct memory access, and notify the RISC-V module 106 through an interrupt; The LRDMA module 103 is also used to receive the descriptor from the RISC-V module 106, and according to the descriptor, take out the ordinary message stored in the storage module 107, and send the ordinary message through the high-speed Ethernet interface module 104.
[0013] Preferably, 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 for: Through the high-speed Ethernet interface module 104, a Socket link is established with the opposite end based on the LwIP protocol stack.
[0014] Preferably, the high-speed Ethernet interface module 104 includes: a high-speed Ethernet interface with one or more rates of 1000 Mbps, 10 Gbps, 25 Gbps, 40 Gbps, 50 Gbps, 100 Gbps, and 400 Gbps.
[0015] The second objective of the present application is to provide a data transmission method based on RDMA.
[0016] The second application objective of the present application is achieved through the following technical solutions: A data transmission method 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 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: Utilize the sensor interface module 101 to acquire sensor data, and transmit the sensor data to the transmission control module 102; Using the RISC-V module 106, a link is established with the opposite end through the high-speed Ethernet interface module 104, configuration information is exchanged through the bus interconnection module 105, the opposite end is notified to prepare an RQE queue, and a transmission start signal is received from the opposite end, and according to the transmission start signal, the transmission control module 102 is controlled to start data transmission; 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 a corresponding WQE and a first Doorbell signal are generated and sent 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 the RDMA Write operation in RC mode is used to send the read data to the opposite end through the high-speed Ethernet interface module 104; Utilizing the LRDMA module 103, after receiving the ACK confirmation response message from the other end, generating a CQE and transmitting it to the transmission control module 102; Using the transmission control module 102, after receiving the CQE from the LRDMA module 103, a second Doorbell signal is sent to the LRDMA module 103; The LRDMA module 103 is used 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 opposite end, prompting the opposite end that data transmission has been completed.
[0017] 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.
[0018] Preferably, after the step of using the RISC-V module 106 to notify the other end to prepare the RQE queue, the step further includes: Utilize the RISC-V module 106 to obtain the RQE queue depth, and configure 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.
[0019] The present application provides a data transmission system and method based on RDMA, which realizes link establishment and intercommunication with the opposite end through the RISC-V module, and the LRDMA module only retains the RDMA Write operation in the RC mode, thereby greatly reducing the state information and unconfirmed message information that need 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
[0020] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0021] Figure 1A schematic diagram of a data transmission system based on RDMA in an embodiment of the present application; Figure 2 A schematic diagram of a data transmission method based on RDMA in an embodiment of the present application; 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
[0022] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0023] In addition, the technical features of the various embodiments or single embodiments provided in the present application can be arbitrarily combined with each other to form a feasible technical solution. Such combination is not restricted by the sequence of steps and / or the structural composition mode, but must be based on the ability of ordinary technicians in the field to implement it. When the combination of technical solutions is mutually contradictory or cannot be implemented, it should be deemed that such combination of technical solutions does not exist and is not within the scope of protection required by this application.
[0024] In the embodiments provided in the present application, it should be understood that the disclosed methods and systems can be implemented in other ways. The system embodiments described below are merely schematic. For example, the division of units and modules is only a logical function division. There may be other division methods in actual implementation, such as: 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 coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.
[0025] In addition, all functional units in the embodiments of the present application may be integrated into one processor, or each unit may be a separate device, or two or more units may be integrated into one device; each functional unit in the embodiments of the present application may be implemented in the form of hardware or in the form of hardware plus software functional units.
[0026] A person skilled in the art can understand that all or part of the steps of the following method embodiments can be completed by program instructions and related hardware. The aforementioned 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 aforementioned storage medium includes: a mobile storage device, a read-only memory (ROM), a magnetic disk or an optical disk, and other media that can store program codes.
[0027] It should be understood that the use of "system", "device", "unit" and / or "module" in this application is only a method for distinguishing different components, elements, parts, parts or assemblies at different levels. However, if other words can achieve the same purpose, the word can be replaced by other expressions.
[0028] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of this application, "multiple" and "several" mean two or more, unless otherwise clearly and specifically defined.
[0029] It should be noted that the structures, proportions, sizes, etc. illustrated in the drawings of this specification are only used to match the contents disclosed in the specification for people familiar with this technology to understand and read, and are not used to limit the conditions under which this application can be implemented. Therefore, they have no substantive technical significance. Any structural modification, change in proportional relationship or adjustment of size should still fall within the scope of the technical content disclosed in this application without affecting the effects and purposes that can be achieved by this application.
[0030] If a flow chart is used in the present application, the flow chart is used to illustrate the operations performed by the system according to the embodiment of the present application. It should be understood that the preceding or following operations are not necessarily performed accurately in order. On the contrary, each step can be processed in reverse order or simultaneously. At the same time, other operations can also be added to these processes, or a certain step or several steps of operations can be removed from these processes.
[0031] It should also be noted that, in this article, terms such as "comprises", "includes" or any other variations thereof are intended to cover non-exclusive inclusion, so that an article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such articles or devices. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the article or device including the above elements.
[0032] The implementation methods of this application are written in a progressive manner.
[0033] like Figure 1 As shown, the embodiment of the present application provides a data transmission device based on RDMA, including: a sensor interface module 101, a transmission control module 102, a LRDMA (Light Remote Direct Memory Access) 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 (Reduced Instruction Set Computer) module 106 and a storage module 107 respectively connected to the bus interconnection module 105; wherein: The sensor interface module 101 is used to obtain sensor data and transmit the sensor data to the transmission control module 102; Specifically, the sensor interface module 101 mainly connects 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 .
[0034] 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 a scheduling mode of a weighted round-robin scheduling algorithm WRR (Weighted Round Robin).
[0035] 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 (Receive Queue Element, receiving request queue), and receive a start transmission signal from the opposite end, and control the transmission control module 102 to start data transmission according to the start transmission signal; Specifically, the RISC-V module 106 mainly completes the initialization and configuration of all modules, establishes a link with the other end through the high-speed Ethernet interface module 104, exchanges configuration information through the bus interconnection module 105, sends the relevant configuration information to the transmission control module 102 and the LRDMA module 103, notifies the other end to prepare the RQE queue, and controls the transmission control module 102 to start data transmission according to the start transmission signal.
[0036] In other embodiments of the present application, the RISC-V module 106 is also used to obtain the RQE queue depth after notifying the other end to prepare the RQE queue, and configure the RQE queue depth into the LRDMA module.
[0037] Preferably, in the embodiment of the present application, the high-speed Ethernet interface module 104 includes: a high-speed Ethernet interface with one or more rates of 1000 Mbps, 10 Gbps, 25 Gbps, 40 Gbps, 50 Gbps, 100 Gbps, and 400 Gbps.
[0038] In other embodiments of the present application, the RISC-V module 106, when executing the link establishment with the other end through the high-speed Ethernet interface, is specifically used to: establish a Socket link with the other end based on the LwIP protocol stack through the high-speed Ethernet interface module 104.
[0039] In the embodiment of the present application, RoCEv2 supports two link building methods based on CM and Socket. The link building based on CM requires additional software and hardware support, and the RISC-V module 106 needs to communicate with the other end to establish an Ethernet link. In order to save the LRDMA module, the RISC-V module 106 in this embodiment interacts with the other end to establish a Socket link based on the LwIP (Light Weight IP) protocol stack. The link building is based on TCP / IP, so the two-end link building process needs to go through TCP three-way handshake, two-end interactive link building data (opposite end LID, QPN, PSN, GID, VA, R_Key and other RDMA transmission parameter information), and TCP four times. After the RISC-V core completes the link building interaction configuration information, it sends the relevant RDMA transmission parameter information to the transmission control module 102 and the LRDMA module 103.
[0040] 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 data transmission and notify the peer end that it can receive relevant data. In this embodiment, the RDMA Write Immediate operation can be sent after each data transmission is completed, or the RDMA Write Immediate operation can be sent after multiple successful data transmissions. The amount of data represented by each RDMA Write Immediate operation can be set by the user according to actual conditions.
[0041] 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 a corresponding WQE and a first Doorbell signal to send to the LRDMA module 103; Specifically, the transmission control module 102 receives instructions from the RISC-V module 106, directly sends the acquired sensor data to the storage module 107 through DMA (Direct Memory Access), and generates a corresponding WQE (Write Queue Element) and the first Doorbell signal to the LRDMA module 103.
[0042] 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 opposite end through the high-speed Ethernet interface module 104; 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 .
[0043] In other embodiments of the present application, the LRDMA module 103, after receiving the first Doorbell signal, checks whether the RQE queue depth meets the preset requirement, and if so, receives the WQE from the transmission control module 102; 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 other end is temporarily unable to receive the data, and data sending is suspended until it is greater than the set threshold before data transmission is resumed.
[0044] In other embodiments of the present application, the LRDMA module 103 also supports ordinary message transmission; Specifically, the LRDMA module 103 receives ordinary messages from the high-speed Ethernet interface, stores the ordinary messages in the storage module 107 through direct memory access, and notifies the RISC-V module 106 through an interrupt; the LRDMA module 103 receives the descriptor from the RISC-V module 106, and according to the descriptor, takes out the ordinary messages stored in the storage module 107, and sends the ordinary messages through the high-speed Ethernet interface module 104.
[0045] In the embodiment of the present application, RDMA Write is a unilateral operation. During the communication process, the active party (client) pushes data directly from the local buffer to the continuous memory block of the virtual space of the remote QP (Queue Pair), and the passive party (server) does not need to perform any operation.
[0046] The LRDMA module 103 is further configured to generate a CQE (Completion Queue Element) and transmit it to the transmission control module 102 after receiving an ACK (Acknowledgement) 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 used 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 other end to prompt the other end that the data transmission has been completed; In an embodiment of the present application, the RDMA Write Immediate operation is used to indicate that the local device has completed data transmission and to notify the peer end that it can receive the transmitted data. After the peer end completes data reception, it needs to update the RQE depth to the local device to ensure that the RQE depth can maintain continuous data transmission.
[0047] 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.
[0048] In an embodiment of the present application, the local device supports multi-QP transmission, allowing different sensors to use different QP queues for transmission. The transmission process is independent. When the other end needs to stop transmission, all queues can stop transmission, or a specific QP queue can be specified to stop transmission. If a specific QP queue stops transmission, it will not interfere with the continued transmission of other QP queues.
[0049] The embodiment of the present application provides a data transmission device based on RDMA, which realizes link establishment and intercommunication with the opposite end through the RISC-V microprocessor core. LRDMA only retains the RDMA Write operation in RC mode, thereby greatly reducing the state information and unconfirmed message information that need 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 to realize lightweight high-bandwidth transmission for sensor access.
[0050] like Figure 2 As shown, the embodiment of the present application also provides an RDMA-based data transmission method, which is applied to the above RDMA-based data transmission system, the data transmission system includes 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, including: S1, using the sensor interface module 101 to obtain sensor data and transmit the data to the transmission control module 102; In S1, specifically, the RISC-V module 106 can initialize all modules first; then, the sensor interface module 101 is used to access the I / Os of multiple sensors, convert the sensor data into a unified format, aggregate the data and transmit it to the transmission control module 102. In the embodiment of the present application, when the sensor interface module 101 aggregates the data, the sensor interface module 101 supports the scheduling mode of the weighted round-robin scheduling algorithm WRR.
[0051] S2, RISC-V module 106 establishes a link with the other end, exchanges configuration information with each other, notifies the other end to prepare the RQE queue, and starts data transmission according to the transmission start signal of the other end; In S2, specifically, the RISC-V module 106 establishes a link with the other end through the high-speed Ethernet interface module 104, exchanges configuration information through the bus interconnection module 105, sends the relevant configuration information to the transmission control module 102 and the LRDMA module 103, notifies the other end to prepare the RQE queue, and controls the transmission control module 102 to start data transmission according to the start transmission signal.
[0052] In other embodiments of the present application, after the step of using the RISC-V module 106 to notify the other end to prepare the RQE queue, it also includes: using the RISC-V module 106 to obtain the RQE queue depth, and configuring the RQE queue depth to the LRDMA module 103.
[0053] In other embodiments of the present application, the high-speed Ethernet interface module 104 includes: a high-speed Ethernet interface with one or more rates of 1000 Mbps, 10 Gbps, 25 Gbps, 40 Gbps, 50 Gbps, 100 Gbps, and 400 Gbps.
[0054] In other embodiments of the present application, one implementation method of the step of establishing a link with the other end through the high-speed Ethernet interface module using the RISC-V module 106 specifically includes: establishing a Socket link with the other end based on the LwIP protocol stack through the high-speed Ethernet interface module 104.
[0055] S3, 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; In S3 , specifically, the transmission control module 102 receives instructions from the RISC-V module 106 , directly uploads the acquired sensor data to the storage module 107 via DMA, and generates corresponding WQE and Doorbell signals to the LRDMA module 103 .
[0056] S4, the LRDMA module 103 receives the first Doorbell signal and the corresponding WQE, and sends the stored data to the other end; 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.
[0057] In other embodiments of the present application, after the step of using the LRDMA module 103 to receive the first Doorbell signal, the method further includes: using the LRDMA module 103 to check whether the RQE queue depth meets the preset requirement, and if the preset requirement is met, performing the step of using the LRDMA module 103 to receive the WQE from the transmission control module 102; Specifically, if the RQE queue depth is less than a set threshold, it means that the peer end is temporarily unable to receive the data, and the sending of data is suspended until the RQE queue depth exceeds the set threshold, and then data transmission is resumed.
[0058] In other embodiments of the present application, the LRDMA module 103 also supports normal message transmission.
[0059] S5. After receiving the ACK response message from the other end, the LRDMA module 103 generates a CQE and transmits it to the transmission control module 102. S6, after receiving the CQE from the LRDMA module 103, the transmission control module 102 sends a second Doorbell signal to the LRDMA module 103; S7, receiving the second Doorbell signal, updating the corresponding QP pointer, and notifying the peer end that data transmission has been completed; In S7, specifically, the LRDMA module 103 receives the second Doorbell signal sent by the transmission control module 102, updates the corresponding QP pointer, and sends an RDMA Write Immediate operation to the opposite end, prompting the opposite end that data transmission has been completed.
[0060] S8. Receive the stop transmission signal from the other end, clear the configuration information of all modules, and stop the corresponding queue transmission.
[0061] In S8, specifically, the RISC-V module 106 receives a stop transmission signal from the other end, and according to the stop transmission signal, clears the information configured by all modules at the start of data transmission, and controls the transmission control module 102 to stop the corresponding queue transmission.
[0062] An RDMA-based data transmission method proposed in an embodiment of the present application adopts Socket link establishment and only uses RDMA Write / Write Immediate operations in RC mode, thereby greatly reducing the state information and unconfirmed message information that need to be cached, effectively alleviating the storage and logical resource pressure of sensor access I / O nodes, and realizing lightweight high-bandwidth transmission for sensor access.
[0063] 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 apparent to those skilled in the art, and the general principles defined herein may 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 conform to 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
Performance isolation method for send queue of RDMA network interface card and RDMA network interface card
EP4485196A1
Packet transmission method and device
WO2024221928A1
Cited By
Embedded RDMA (Remote Direct Memory Access) system and method for multi-source sensor access scene
CN120316042A
Embedded RDMA system and method for multi-source sensor access scenarios
CN120316042B
Interaction method for RDMA network card to send queue element information, RDMA network card, host, system, chip, storage medium and program product
CN121029681A
Rdma network card sends the interactive method of queue element information, rdma network card, host, system, chip, storage medium and program product
CN121029681B