Method for unloading remote direct data access retransmission timer and computing equipment
By offloading the remote direct data access retransmission timer within the DPU, the problem of RPE software timer occupying HOST resources is solved, achieving efficient resource utilization and privacy protection.
Patent Information
- Application Number
- CN202510860501.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-25
- Publication Date
- 2025-10-10
AI Technical Summary
In a GPU cluster, the RPE software timer occupies the host's computing resources, storage resources, and timer resources, and the DPU's internal implementation is exposed to the user side, resulting in resource occupation and privacy leakage.
By offloading the remote direct data access retransmission timer to the DPU, the timer offload service is used to create a software timer in the DPU memory and send a timeout notification to the remote direct data access engine when it times out, reducing the use of HOST resources.
This reduces the occupancy of computing resources, storage resources, and timer resources on the server side, reduces the exposure of the internal implementation of the data processing unit to the user side, and improves the flexibility of system resource configuration.
Smart Images

Figure CN120762891A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of network chip development, and in particular to a method and computing device for unloading a remote direct data access retransmission timer. Background Art
[0002] Current GPU (Graphics Processing Unit) clusters require a large number of RDMA (Remote Direct Memory Access) interconnect channels. The number of timers required by the RPE (RDMA Process Engine) often exceeds the threshold, and as the cluster scales, the communication timeout period also needs to be increased.
[0003] In this scenario, the Data Processing Unit (DPU) will request the creation of a large number of RPE software timers on the host (server). These RPE software timers reside in the host, occupying the host's computing, storage, and timer resources. The more RPE software timers a DPU creates, the more host resources it consumes. RPE software timers are a component of the RDMA retransmission algorithm. Currently, these RPE software timers reside in the host, exposing the DPU's internal implementation to the user.
[0004] Therefore, a technical solution is needed to reduce the occupancy of computing resources, storage resources and timer resources on the server side and reduce the exposure of the internal implementation of the data processing unit to the user side. Summary of the Invention
[0005] The present invention aims to provide a method and computing device for unloading a remote direct data access retransmission timer, which can reduce the occupancy of computing resources, storage resources and timer resources on the server side and reduce the exposure of the internal implementation of the data processing unit to the user side.
[0006] According to one aspect of the present invention, a method for uninstalling a remote direct data access retransmission timer is provided, the method comprising:
[0007] The timer offload service receives a first configuration message of an offload enable configuration switch sent by a remote direct data access driver, and turns on a software timer function on the data processing unit;
[0008] The timer offload service applies for a section of memory from the memory of the data processing unit as a timer application queue, wherein the timer application queue is used to store timer applications from the remote direct data access engine on the data processing unit;
[0009] The timer offloading service reads and parses the timer application from the timer application queue and creates a corresponding software timer in the data processing unit;
[0010] If the software timer times out, the timer offload service sends a timeout notification to the remote direct data access engine.
[0011] According to some embodiments, the timer request includes a queue pair number and a timeout period.
[0012] According to some embodiments, if it is determined that the message response timing time length exceeds a threshold, the remote direct data access engine applies to create the software timer; or
[0013] If it is determined that the number of timers applied for by the remote direct data access engine exceeds a threshold, the remote direct data access engine applies to create the software timer.
[0014] According to some embodiments, the timer offload service reads and parses a timer application from the timer application queue and creates a corresponding software timer in the data processing unit, including:
[0015] The timer offloading service sets the timeout period of the software timer according to the parameters of the timer application;
[0016] The timer offload service is configured to send a timeout notification to the remote direct data access engine in a timeout callback of the software timer.
[0017] According to some embodiments, when the software timer times out, the timeout notification is sent to the register of the remote direct data access engine in a timeout callback, and the timeout notification includes the queue pair number.
[0018] According to some embodiments, the remote direct data access engine receives the timeout notification;
[0019] The remote direct data access engine parses the timeout notification and triggers a queue pair with the same queue pair number as the one in the timer application to retransmit a message.
[0020] According to some embodiments, the timer offload service receives a second configuration message of an offload enable configuration switch sent by a remote direct data access driver, and prohibits enabling the software timer function on the data processing unit.
[0021] According to another aspect of the present application, there is provided a system on chip, comprising a processor and a memory, wherein the memory stores a computer program, and the processor executes the computer program stored in the memory to implement the method according to any one of the preceding claims.
[0022] According to another aspect of the present application, there is provided a DPU smart network card, comprising a system on chip according to any one of the preceding claims and a plurality of interfaces, wherein the system on chip communicates data through the plurality of interfaces.
[0023] According to another aspect of the present application, there is provided a computing device, comprising a DPU smart network card according to any one of the preceding claims and a central processing unit, wherein the DPU smart network card is configured to process data or communicate externally, and the central processing unit is configured to process data transferred from the DPU smart network card.
[0024] According to an embodiment of the present application, a timer offload service receives an offload enable configuration switch configuration message from a remote direct memory access driver, and configures the offload enable configuration switch to start a software timer function on a data processing unit. The timer offload service applies a memory segment from a memory of the data processing unit as a timer application queue to save a timer application from a remote direct memory access engine, and creates a software timer in the data processing unit after reading and analyzing the timer application. If the software timer expires, the timer offload service sends an expiration notification to the remote direct memory access engine. The present application starts the timer offload service of the data processing unit by using the offload enable configuration switch, and receives and stores the timer application in the memory of the data processing unit to create the software timer in the data processing unit. By using the processor and the memory of the data processing unit to create the software timer, the present application can effectively reduce the occupation of the server-side computing resources, storage resources and timer resources. The software timer is in the data processing unit, which reduces the exposure of the data processing unit to the user side.
[0025] It should be understood that the general description above and the detailed description below are only examples and are not limiting the present application. BRIEF DESCRIPTION OF DRAWINGS
[0026] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced as follows.
[0027] Figure 1 A schematic diagram of a software timer with a long expiration time implemented on a server side in the prior art.
[0028] Figure 2A flow chart illustrating a method of offloading an RDMA retransmission timer according to an example embodiment is shown.
[0029] Figure 3 A schematic diagram illustrating implementation of a software timer in a DPU according to an example embodiment is shown.
[0030] Figure 4 A flow chart of a method for managing a retransmission timer on a HOST according to an example embodiment is shown.
[0031] Figure 5 A block diagram of a computing device is shown according to an exemplary embodiment. DETAILED DESCRIPTION
[0032] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be embodied in many forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concepts of the example embodiments to those skilled in the art. Like reference numerals in the drawings represent like or similar parts, and thus repeated description thereof will be omitted.
[0033] In addition, the described features, structures or characteristics may be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present invention. However, it will be appreciated by those skilled in the art that the technical solutions of the present invention can be practiced without one or more of the specific details, or other methods, components, devices, steps, etc. may be adopted. In other cases, known methods, devices, implementations or operations are not shown or described in detail to avoid blurring various aspects of the present invention.
[0034] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically separate entities. That is, these functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0035] The flowcharts shown in the accompanying drawings are for illustrative purposes only and do not necessarily include all contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps may be decomposed, while others may be combined or partially combined. Therefore, the actual execution order may vary depending on the actual situation.
[0036] It should be understood that although the terms first, second, third, etc. can be used herein to describe various components, these components should not be limited by these terms. These terms are used only to distinguish one component from another. Thus, a first component discussed below could be termed a second component without departing from the teachings of the present inventive concept. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.
[0037] Those skilled in the art can understand that the drawings are only schematic views of the example embodiments, and the modules or flows in the drawings are not necessarily essential for implementing the present application, and thus cannot be used to limit the protection scope of the present application.
[0038] In the retransmission control process of RDMA, the DPU needs to use a timer to determine whether the packet needs to be retransmitted. The timer is implemented by combining software and hardware. For a timer with a short timeout, it is implemented by hardware inside the RPE, and for a timer with a long timeout, it is implemented in the software of the HOST. The timer implemented in the software of the HOST is called an RPE software timer.
[0039] In some cases in the retransmission control process, the DPU will apply to create a large number of RPE software timers on the HOST. For example, referring to Figure 1 In the existing implementation scheme, the flow of using the software timer implemented on the server side is as follows: a timer service is started in the RDMA driver (Remote Direct Memory Access driver) on the HOST, the timer service negotiates with the RPE, and a piece of memory TIMER_QUEUE (timer application queue) is applied for on the HOST-MEM (server memory) to save the timer application of the RPE. The register DB (Door Bell) on the RPE is used to receive the timeout notification sent by the RPE software timer. After sending a packet to the queue pair (QP) with the queue pair number (QPN), the timer needs to be set to determine whether the packet response is timed out. If the length of the timer exceeds the threshold or the number of timers exceeds the threshold, the RPE needs to apply to create a software timer.
[0040] The RPE generates a timer application and writes it to the TIMER_QUEUE through its internal DMA; the timer service on the HOST reads the timer application from the TIMER_QUEUE, parses the timer application, creates a timer, configures the timeout time of the timer according to the parameters in the timer application, and sets the timeout callback of the timer to issue a timeout notification to the RPE. In the timeout callback process of the RPE software timer, the timeout notification is issued to the register DB of the RPE, the RPE receives the timeout notification, parses the notification, and triggers the QP with the queue pair number (QPN) to retransmit the packet.
[0041] In existing technologies, RPE software timers reside in the host, occupying the host's computing, storage, and timer resources. The more RPE software timers a DPU creates, the more host resources are occupied. The RPE software timer is a component of the RDMA retransmission algorithm. Currently, the RPE software timer resides in the host, exposing the DPU's internal implementation to the user.
[0042] To this end, the present invention proposes a method for offloading the RDMA retransmission timer, which can reduce the occupation of computing resources, storage resources and timer resources on the server side and reduce the exposure of the internal implementation of the data processing unit to the user side.
[0043] Exemplary embodiments of the present invention are described below with reference to the accompanying drawings.
[0044] Figure 2 A flow chart illustrating a method of offloading an RDMA retransmission timer according to an example embodiment is shown.
[0045] See also Figure 2 In S201, the timer offload service receives a first configuration message of an offload enable configuration switch sent by a remote direct data access driver, and turns on a software timer function on a data processing unit.
[0046] According to some embodiments, the first configuration message is for configuring the offload enable configuration switch to be enabled. If the enable / disable flag in the configuration message of the offload enable configuration switch is 1, the offload enable configuration switch is enabled, and the software timer function is offloaded to the data processing unit; if the enable / disable flag in the configuration message of the offload enable configuration switch is 0, the offload enable configuration switch is disabled, and the software timer function is prohibited from being offloaded to the data processing unit.
[0047] According to some embodiments, if the remote direct data access driver (RDMA driver) reads that the enable / disable flag in the offload enable configuration switch configuration is 1, the offload enable configuration switch is enabled; if the enable / disable flag in the offload enable configuration switch configuration is 0, the offload enable configuration switch is disabled.
[0048] According to some embodiments, a new offload enable configuration switch (TIMER_OFFLOAD_EN) is added. Users can use TIMER_OFFLOAD_EN to control whether to offload the RPE software timer to the data processing unit (DPU). After the RDMA driver starts, it reads the TIMER_OFFLOAD_EN configuration set by the user. If TIMER_OFFLOAD_EN = 1, it means that the RPE software timer is offloaded to the DPU.
[0049] According to some embodiments, when the offload enable configuration switch is configured to be enabled, the RDMA driver does not start the timer service on the HOST, and the RDMA driver sends TIMER_OFFLOAD_EN to the timer offload service on the DPU. After the timer offload service on the DPU receives the TIMER_OFFLOAD_EN=1 notification, it starts the software timer function on the data processing unit (see Figure 3 ).
[0050] In S203 , the timer offload service applies for a memory segment from the memory of the data processing unit as a timer application queue, and the timer application queue is used to store timer applications from the remote direct data access engine on the data processing unit.
[0051] According to some embodiments, the timer request queue stores timer requests from the remote direct data access engine, where the timer request includes a queue pair number and a timeout period.
[0052] According to some embodiments, the timer offload service negotiates with the RPE to apply for a memory segment on the data processing unit memory (DPU-MEM) as a timer application queue (TIMER_QUEUE) for storing the RPE's timer application (see Figure 3 ).
[0053] In S205 , the timer offload service reads and parses the timer application from the timer application queue, and creates a corresponding software timer in the data processing unit.
[0054] According to some embodiments, if it is determined that the message response timing length exceeds a threshold, or if it is determined that the number of timers applied for by the remote direct data access engine exceeds a threshold, the remote direct data access engine applies to create the software timer.
[0055] According to some embodiments, after a DPU receives a message from a queue pair (QP), such as a message from a QP with a queue pair number (QPN), the DPU needs to set a timer to determine whether the message response has timed out. If the RPE determines that the timer duration exceeds a threshold or the number of timers exceeds a threshold, it requests the creation of a software timer.
[0056] According to some embodiments, upon receiving a timer timeout notification from a timer offload service, a register DB in an RPE triggers the RPE to retransmit data and write to the TIMER_QUEUE via its internal DMA (Direct Memory Access), thereby sending a timer request to the TIMER_QUEUE. The timer request includes information about the QPN and timeout period. The timer offload service reads and parses the timer request in the TIMER_QUEUE to obtain parameter information about the QPN and timeout period.
[0057] According to some embodiments, the timer offload service sets a timeout period for the software timer based on parameters of the timer application, and sets a timeout notification to be sent to the remote direct data access engine in a timeout callback of the software timer.
[0058] In S207 , if the software timer times out, the timer offload service sends a timeout notification to the remote direct data access engine.
[0059] According to some embodiments, when the software timer times out, the timeout notification is sent to the register of the remote direct data access engine in a timeout callback, and the timeout notification includes the queue pair number.
[0060] According to some embodiments, after receiving the timeout notification, the remote direct data access engine parses the timeout notification and triggers a queue pair numbered the same as the queue pair numbered in the timer application to retransmit a message.
[0061] According to some embodiments, the timer offload service on the DPU reads the timer request from the TIMER_QUEUE, parses the timer request, and creates an RPE software timer based on the timer request. The timer offload service sets the timer timeout period based on the parameters of the timer request, and sets the timer offload service to send a timeout notification to the RPE when the timer times out (see Figure 3 ).
[0062] According to some embodiments, when an RPE software timer on a DPU times out, a timeout notification containing a QPN is sent to the RPE's register DB in a timeout callback. The RPE receives and parses the timeout notification, triggering a QP retransmission of a message with the QPN sequence number. This enables the creation of an RPE software timer in the DPU to trigger message retransmission after a message response timeout.
[0063] According to some embodiments, the present invention leverages the high-performance CPU, timer, and memory of the DPU to offload the RPE software timer component to the DPU itself, reducing the use of host computing, storage, and timer resources. Furthermore, the entire RDMA retransmission algorithm is encapsulated within the DPU, reducing exposure to the user side.
[0064] According to some embodiments, the present invention adds a timer offload service running on the CPU of the DPU. The timer offload service can receive an offload enable notification, parse the RPE's timer creation application through the timer offload service to create a timer, and offload the RPE software timer component to the DPU internal implementation, thereby reducing the resource occupation of the HOST.
[0065] The present invention also provides a system-on-chip, including a processor and a memory, wherein a computer program is stored in the memory, and when the processor runs the computer program stored in the memory, the method described in any of the above embodiments is implemented.
[0066] The present invention also provides a DPU smart network card, which includes the above-mentioned system-level chip and multiple interfaces, and the system-level chip performs data communication through the multiple interfaces.
[0067] Figure 4 A flow chart of a method for managing a retransmission timer on a HOST according to an example embodiment is shown.
[0068] See also Figure 4 In S401, after the remote direct data access driver is started, it reads the configuration of the uninstallation enabling configuration switch set by the user.
[0069] According to some embodiments, the timer offload service receives a second configuration message of an offload enable configuration switch from a remote direct data access driver, disabling the software timer function on the data processing unit. The second configuration message is TIMER_OFFLOAD_EN=0, indicating that the data processing unit is prohibited from starting the software timer function.
[0070] According to some embodiments, after the remote direct data access driver is started, it reads the configuration of the offload enable configuration switch TIMER_OFFLOAD_EN set by the user. When it reads that the software timer function is prohibited from being offloaded to the data processing unit, the server timer service is started on the server side to provide the software timer function to the remote direct data access engine.
[0071] According to some embodiments, when the enable / disable flag in the offload enable configuration switch is read as 0, the remote direct data access driver sends an offload enable configuration switch disable notification to the timer offload service of the data processing unit, prohibiting the data processing unit from activating the software timer function. The remote direct data access driver activates the server timer service on the server, and the server provides the software timer function to the remote direct data access engine.
[0072] In S403, if the configuration of the offloading enabling configuration switch is 0, it indicates that the software timer function is prohibited from being offloaded to the data processing unit.
[0073] According to some embodiments, after the Remote Direct Data Access (RDMA) driver starts, it reads the user-set TIMER_OFFLOAD_EN configuration. If TIMER_OFFLOAD_EN = 0, it disables offloading the RPE software timer to the DPU. The RDMA driver sends TIMER_OFFLOAD_EN to the timer offload service on the DPU, which does not enable the software timer functionality. The RDMA driver then starts the timer service on the host, providing the software timer functionality to the RPE according to the existing solution.
[0074] In S405 , the remote direct data access driver sends a configuration message of an uninstallation enabling configuration switch to the timer uninstallation service on the data processing unit, and the timer uninstallation service does not enable the function of the software timer.
[0075] According to some embodiments, the RDMA driver sends a configuration message of TIMER_OFFLOAD_EN=0 to the timer offload service on the DPU, and the timer offload service does not enable the function of the software timer on the DPU.
[0076] In S407 , the remote direct data access driver starts the timer service on the server side, and provides the software timer function to the remote direct data access engine according to the original solution.
[0077] According to some embodiments, the RDMA driver starts a timer service on the HOST and provides software timer functionality to the RPE according to the original solution.
[0078] The present invention provides the user with an uninstall control switch, so that the user can configure whether to uninstall the RPE software timer to the DPU according to the actual usage scenario, thereby improving the flexibility of system resource configuration and use.
[0079] Figure 5 A block diagram of a computing device according to an example embodiment of the present invention is shown.
[0080] like Figure 5 As shown, computing device 30 includes processor 12 and memory 14. Computing device 30 may also include bus 22, DPU smart network card 16, and I / O interface 18. Processor 12, memory 14, network interface card 16, and I / O interface 18 may communicate with each other via bus 22.
[0081] The processor 12 may include one or more general-purpose CPUs (Central Processing Units), microprocessors, or application-specific integrated circuits, etc., for executing relevant program instructions. According to some embodiments, the computing device 30 may also include a high-performance graphics card (GPU) 20 for accelerating the processor 12.
[0082] The memory 14 may include machine-readable media in the form of volatile memory, such as random access memory (RAM), read-only memory (ROM), and / or cache memory. The memory 14 is used to store one or more programs including instructions and data. The processor 12 may read the instructions stored in the memory 14 to execute the method according to the embodiment of the present invention described above.
[0083] The computing device 30 can also communicate with one or more networks via the DPU smart network card 16. The DPU smart network card is used to process data or communicate externally, and the central processing unit is used to process data dispatched by the DPU smart network card. The DPU smart network card includes a root system-on-chip and multiple interfaces, and the system-on-chip performs data communication through the multiple interfaces. The system-on-chip includes a processor and a memory, and the memory stores a computer program. When the processor executes the computer program stored in the memory, it implements the method according to the embodiment of the present invention.
[0084] The bus 22 may include an address bus, a data bus, a control bus, etc. The bus 22 provides a path for exchanging information between various components.
[0085] It should be noted that, in the specific implementation process, the computing device 30 may also include other components necessary for normal operation. In addition, those skilled in the art will understand that the above-mentioned device may also only include components necessary to implement the embodiments of this specification, and does not necessarily include all components shown in the figure.
[0086] The present invention also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the above method. The computer-readable storage medium may include, but is not limited to, any type of disk, including a floppy disk, an optical disk, a DVD, a CD-ROM, a microdrive and a magneto-optical disk, a ROM, a RAM, an EPROM, an EEPROM, a DRAM, a VRAM, a flash memory device, a magnetic or optical card, a nanosystem (including a molecular memory IC), a network storage device, a cloud storage device, or any type of medium or device suitable for storing instructions and / or data.
[0087] An embodiment of the present invention further provides a computer program product, which includes a computer program. The computer program is operable to enable a computer to execute part or all of the steps of any one of the methods described in the above method embodiments.
[0088] Those skilled in the art will readily appreciate that the technical solutions of the present invention can be implemented using software and / or hardware. "Unit" and "module" in this specification refer to software and / or hardware that can independently perform specific functions or work in conjunction with other components. Examples of hardware include field programmable gate arrays and integrated circuits.
[0089] It should be noted that for the aforementioned method embodiments, for simplicity of description, they are all expressed as a series of action combinations. However, those skilled in the art should be aware that the present invention is not limited by the order of the actions described, because according to the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in this specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present invention.
[0090] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0091] In the several embodiments provided herein, it should be understood that the disclosed devices can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of units is merely a logical functional division. In actual implementation, other division methods may be used. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not implemented. In addition, the coupling or direct coupling or communication connection shown or discussed may be through some service interface. The indirect coupling or communication connection of devices or units may be electrical or other forms.
[0092] The units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, i.e. may be located in one place, or may be distributed on multiple network units. Part or all of the units may be selected according to actual needs to achieve the purpose of the embodiment.
[0093] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.
[0094] If the integrated unit is realized in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application or the part of the prior art that essentially contributes or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server or a network device, etc.) to execute all or part of the steps of the method of each embodiment of the present application.
[0095] In the above embodiments, the description of each embodiment has its own emphasis, and the parts not described in detail in a certain embodiment can be referred to the relevant description of other embodiments.
[0096] The exemplary embodiments of the present application are specifically shown and described above. It should be understood that the present application is not limited to the detailed structure, arrangement or implementation method described herein; on the contrary, the present application is intended to cover various modifications and equivalent arrangements included in the spirit and scope of the appended clauses.
Claims
1. A method for uninstalling a remote direct data access retransmission timer, the method comprising: The timer offload service receives a first configuration message of an offload enable configuration switch sent by a remote direct data access driver, and turns on a software timer function on the data processing unit; The timer offload service applies for a section of memory from the memory of the data processing unit as a timer application queue, wherein the timer application queue is used to store timer applications from the remote direct data access engine on the data processing unit; The timer offloading service reads and parses the timer application from the timer application queue and creates a corresponding software timer in the data processing unit; If the software timer times out, the timer offload service sends a timeout notification to the remote direct data access engine.
2. The method according to claim 1, characterized in that The timer request includes a queue pair number and a timeout period.
3. The method according to claim 1, characterized in that Also includes: If it is determined that the message response timing time length exceeds the threshold, the remote direct data access engine applies to create the software timer; or If it is determined that the number of timers applied for by the remote direct data access engine exceeds a threshold, the remote direct data access engine applies to create the software timer.
4. The method according to claim 2, characterized in that The timer offloading service reads and parses the timer application from the timer application queue and creates a corresponding software timer in the data processing unit, including: The timer offloading service sets the timeout period of the software timer according to the parameters of the timer application; The timer offload service is configured to send a timeout notification to the remote direct data access engine in a timeout callback of the software timer.
5. The method according to claim 4, characterized in that The timer offload service sends a timeout notification to the remote direct data access engine, including: When the software timer times out, the timer offload service sends the timeout notification to the register of the remote direct data access engine through the timeout callback, and the timeout notification includes the queue pair number.
6. The method according to claim 2, characterized in that Also includes: The remote direct data access engine receives the timeout notification; The remote direct data access engine parses the timeout notification and triggers a queue pair with the same queue pair number as the one in the timer application to retransmit a message.
7. The method according to claim 1, characterized in that Also includes: The timer offloading service receives a second configuration message of an offloading enabling configuration switch sent by a remote direct data access driver, and prohibits enabling the software timer function on the data processing unit.
8. A system-on-chip comprising a processor and a memory, characterized in that: A computer program is stored in the memory, and when the processor runs the computer program stored in the memory, the method according to any one of claims 1 to 7 is implemented.
9. A DPU smart network card, characterized in that: The DPU smart network card includes the system-on-chip according to claim 8 and multiple interfaces, and the system-on-chip performs data communication through the multiple interfaces.
10. A computing device, characterized in that include: The DPU smart network card and central processing unit according to claim 9, wherein the DPU smart network card is used to process data or communicate externally, and the central processing unit is used to process data dispatched by the DPU smart network card.