A method, system and device for RDMA transmission based on deterministic scheduling
By constructing a deterministic scheduling mechanism, dynamically planning RDMA data transmission paths, and scheduling and configuring nodes, the problems of transmission congestion and latency jitter in RDMA technology are solved, achieving low latency, low jitter, and high reliability data transmission.
Patent Information
- Application Number
- CN202511633996.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-10
- Publication Date
- 2026-02-13
- Estimated Expiration
- 2045-11-10
AI Technical Summary
The lack of deterministic scheduling mechanism in existing RDMA technology leads to congestion and significant fluctuations in latency and jitter in high-performance computing and big data analysis scenarios, which cannot meet the service quality requirements that are sensitive to latency and jitter.
By constructing a deterministic scheduling mechanism, dynamically adjusting flow control logic, planning RDMA data transmission paths, and performing deterministic scheduling configuration on all nodes on the transmission path, we can ensure stable transmission of critical traffic and improve overall bandwidth utilization.
It achieves low latency, low jitter, and high reliability data transmission service quality, meeting the stringent requirements of high-performance computing and big data analysis.
Smart Images

Figure CN121077997B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of network data transmission, in particular to a RDMA transmission method, system and device based on deterministic scheduling. BACKGROUND
[0002] RDMA technology breaks the traditional transmission mode, allowing the network adapter of a computer to bypass the excessive intervention of the operating system kernel and directly access the memory of another computer. When it operates, the sending end and the receiving end need to register the memory area with the respective RDMA network cards in advance, the network card allocates a memory key (MR Key) and a virtual address mapping relationship for the area, and establishes a queue pair (QP) containing a sending queue (SQ) and a receiving queue (RQ). When initiating data transmission, the application layer directly writes operation instructions to the SQ of the local RDMA network card, the instructions carry the receiving end memory key, the remote memory address and other information, the RDMA network card reads the instructions, encapsulates the data packet based on the Infiniband, RoCE and other hardware protocols and sends it, the receiving end network card checks the access authority based on the memory key and directly writes the data into the pre-registered receiving buffer, and after the transmission is completed, the receiving end network card writes a completion queue element (CQE) to the local RQ, and the application layer obtains the transmission result through polling or interruption. The whole process greatly reduces the participation of the kernel. This "bypass kernel" design, with the help of eliminating the processing overhead of the kernel protocol stack and reducing the number of data copying times, combined with the special hardware acceleration of modern RDMA network cards (such as built-in protocol processing engine, DMA controller, makes the end-to-end delay less than 1 microsecond, which is one order of magnitude lower than the traditional TCP / IP communication; at the same time, it significantly improves the throughput and greatly increases the bandwidth utilization, far exceeding the level of TCP / IP; and because the CPU dependence of data transmission is reduced, the CPU resource occupation is greatly reduced, and the released computing power can support more critical business logic operations, improving the overall system efficiency.
[0003] Although the existing RDMA technology has the characteristics of low delay and high bandwidth, it lacks a scheduling mechanism similar to deterministic networks, and the data transmission presents a competitive feature, which is difficult to meet the demand for transmission certainty in high-performance scenarios. In the scenario of multiple users accessing the storage system or large-scale data center internal communication, a large number of RDMA flows are transmitted simultaneously, and different types and priorities of data flows (such as real-time data interaction flows of computing tasks and large-flow transmission flows of storage backups) are intertwined and interfere with each other. In this unplanned transmission mode, when multiple high-bandwidth demand data flows simultaneously occupy link resources, burst congestion is easily caused. Critical business flows may be squeezed by non-critical flows, resulting in a sharp increase in transmission delay and an increase in jitter; and non-critical flows may also frequently retry due to competition failure, further worsening network congestion. This phenomenon causes the transmission delay of data packets to fluctuate greatly, and the quality of service of RDMA transmission is difficult to predict and guarantee, which cannot meet the stringent requirements of delay and jitter sensitive scenarios.
[0004] Therefore, it is an urgent problem for those skilled in the art to provide a deterministic scheduling-based RDMA transmission method, system and device for solving the above problems. SUMMARY
[0005] The present application aims to provide a deterministic scheduling-based RDMA transmission method, which precisely schedules RDMA data flow by constructing a congestion-free deterministic transmission scheduling mechanism. Dynamically adjusting flow control logic ensures stable transmission of critical traffic while improving overall bandwidth utilization, ultimately achieving low latency, low jitter and high reliability of service quality, meeting the stringent requirements of data transmission in high-performance computing, big data analysis and other fields.
[0006] To achieve the above purpose, the technical scheme provided by the present application is as follows:
[0007] A deterministic scheduling-based RDMA transmission method applied to a network data transmission scenario, comprising the following steps:
[0008] The sending end sends an RDMA data transmission request to the deterministic planner according to the preset demand parameters;
[0009] The deterministic planner responds to the RDMA data transmission request and determines whether the first idle bandwidth resource meets the traffic demand corresponding to the demand parameters according to the global network topology data and the current traffic data of each link;
[0010] If the first determination result is yes, the deterministic planner plans an RDMA data transmission path and performs deterministic scheduling configuration on all nodes on the transmission path;
[0011] The sending end transmits the RDMA data according to the deterministic scheduling configuration.
[0012] After the transmission is completed, the sending end feeds back the transmission completion to the deterministic planner, and the deterministic planner recycles the bandwidth and time slot resources of all nodes on the transmission path.
[0013] Preferably, after the RDMA data is transmitted, the following steps are further included:
[0014] The receiving end checks whether the characteristics of the RDMA data match the demand parameters after receiving the RDMA data;
[0015] If not, traffic monitoring and abnormal information reporting are performed.
[0016] Preferably, the first determination of whether the first idle bandwidth resource meets the traffic demand corresponding to the demand parameters includes the following steps:
[0017] According to the full-network topology data and current traffic data of each link, a dynamic network resource model is constructed;
[0018] Based on a traffic planning algorithm, a first idle bandwidth resource in the current network is calculated;
[0019] The first idle bandwidth resource is determined whether to meet the bandwidth, delay and jitter limit required by the demand parameter.
[0020] Preferably, if the first determination result is yes, the deterministic planner plans an RDMA data transmission path and performs deterministic scheduling configuration on all nodes on the transmission path, including the following steps:
[0021] If the first determination result is yes, the deterministic planner generates a scheduling configuration response and issues a switch;
[0022] After the switch receives the scheduling configuration response, it allocates bandwidth resources and forwarding time slots for all nodes on the transmission path in turn, and marks the RDMA data with a transmission priority.
[0023] Preferably, after determining whether the first idle bandwidth resource meets the traffic demand corresponding to the demand parameter, the following steps are further included:
[0024] If the first determination result is no, it is determined whether to allow using a non-deterministic transmission mode;
[0025] If the second determination result is yes, the RDMA data is transmitted in a traditional RDMA transmission mode.
[0026] Preferably, after determining whether to allow using a non-deterministic transmission mode, the following steps are further included:
[0027] If the second determination result is no, the RDMA data transmission request is stored in a waiting sequence according to the transmission priority;
[0028] Periodically obtain a second idle bandwidth resource, call the RDMA data transmission request from the waiting sequence, and re-execute the first determination process according to the second idle bandwidth resource;
[0029] Repeat the above steps until the first determination result is yes.
[0030] Preferably, the traffic planning algorithm includes the following steps:
[0031] Initialize the scheduling priority of each link to the lowest;
[0032] Obtain the actual upper limit of the delay of all links;
[0033] thirdly judging whether the actual upper limit of each link is greater than the delay requirement in the requirement parameter;
[0034] If the third judgment result is yes, the priority scheduling of the corresponding link is promoted, and the actual delay upper limit of the corresponding link is re-evaluated.
[0035] The third judgment and the promotion process are repeated until the actual delay upper limit of all links is not greater than the delay requirement, and then the planning is returned to success.
[0036] Preferably, after the priority scheduling of the corresponding link is promoted and the actual delay upper limit of the corresponding link is re-evaluated, the following steps are further included:
[0037] If the scheduling priority of any link has been promoted to the highest, but the actual machine delay upper limit of the link is still greater than the delay requirement, the planning is terminated and returned to failure.
[0038] An RDMA transmission device based on deterministic scheduling, applied to a network data transmission scene, comprising:
[0039] A transmission request module for initiating an RDMA data transmission request according to a preset requirement parameter;
[0040] A planning control module for responding to the request, judging whether idle resources meet the traffic requirement corresponding to the requirement parameter according to the whole network topology and real-time traffic data, and generating a deterministic scheduling configuration when the first judgment result is yes.
[0041] The planning control module is further configured to recycle the allocated resources or time slots after the RDMA data transmission is completed.
[0042] A deterministic scheduling module for performing deterministic scheduling configuration on all nodes on the transmission path according to the deterministic scheduling configuration.
[0043] An RDMA transmission system based on deterministic scheduling, applied to a network data transmission scene, comprising:
[0044] At least one RDMA transmission device based on deterministic scheduling as described above;
[0045] A sending end host for initiating an RDMA data request and performing data transmission;
[0046] A receiving end host for receiving RDMA data and feeding back the status under the constraint of a specified time slot or bandwidth;
[0047] The RDMA transmission device is connected with the sending end host and the receiving end host respectively, realizing end-to-end deterministic scheduling.
[0048] The RDMA transmission method based on deterministic scheduling provided by the application comprises the following steps: sending an RDMA data transmission request containing preset demand parameters; in response to the data transmission request, judging whether a first idle bandwidth resource meets a traffic demand corresponding to the demand parameters according to full-network topology data and current traffic data of each link; if yes, planning an RDMA data transmission path, performing deterministic scheduling configuration on all nodes on the transmission path, transmitting RDMA data according to the deterministic scheduling configuration after the deterministic scheduling configuration is completed, and recycling the allocated resources or time slots by a deterministic planner after the transmission is completed.
[0049] Compared with the prior art, the application constructs a technical system of "deterministic planning overall planning + transmission path collaborative scheduling", allocates transmission time slots, bandwidths, priority queues and the like for traffic, ensures that there is no inter-flow competition on an end-to-end path, and avoids the transmission congestion and delay jitter problem caused by the lack of deterministic scheduling in the prior art RDMA technology.
[0050] The application further provides an RDMA transmission device and system based on deterministic scheduling, which solve the same technical problem, belong to the same technical concept, and should have the same beneficial effects, which will not be described here. BRIEF DESCRIPTION OF DRAWINGS
[0051] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed to be used in the embodiments or the prior art description will be briefly introduced. Obviously, the drawings in the following description only illustrate some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor on the basis of these drawings.
[0052] Figure 1 A flowchart of an RDMA transmission method based on deterministic scheduling provided by the embodiment of the application is provided.
[0053] Figure 2 A flowchart after step S4 provided by the embodiment of the application is provided.
[0054] Figure 3 A flowchart of step S2 provided by the embodiment of the application is provided.
[0055] Figure 4 A flowchart after the second judgment provided by the embodiment of the application is provided.
[0056] Figure 5 A flowchart of a traffic planning algorithm provided by the embodiment of the application is provided.
[0057] Figure 6A structural schematic diagram of a RDMA transmission device based on deterministic scheduling provided by an embodiment of the present application. DETAILED DESCRIPTION
[0058] The technical solutions in the embodiments of the present application will be clearly and completely described with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all the other embodiments obtained by a person of ordinary skill in the art without creative work are within the protection scope of the present application.
[0059] The embodiments of the present application are written in a progressive manner.
[0060] In processing the packet loss problem, the existing RDMA usually adopts the Go-back-N retransmission mechanism. The RDMA protocol stack allocates a continuous sequence number (PSN) for each data packet. When the receiving end detects that the sequence numbers are not continuous, it directly determines that packet loss occurs, feeds back a negative acknowledgement (NACK) to the sending end, and requires retransmission of all messages after the specified starting sequence number. If the sending end does not receive the acknowledgement (ACK / NACK) in time, it starts a retransmission timer (RTO), and after the timeout, it retransmits all unconfirmed data packets. During the retransmission process, the original message needs to be stored in the source memory for a long time until the acknowledgement message is returned or the timeout occurs. Due to the uncertainty of the return time of the acknowledgement message, in order to ensure reliable data transmission, the source end needs to reserve a large cache space to store the unconfirmed message context and state information, which undoubtedly increases the hardware storage cost and system management overhead. At the same time, the retransmission operation further increases the message transmission delay, produces a long tail effect, seriously affects the real-time performance of data transmission, and the retransmission data also occupies the network bandwidth, so that the actual effective data transmission bandwidth is reduced, and the bandwidth utilization is difficult to improve.
[0061] Although PFC (Priority-based Flow Control) can alleviate network congestion and packet loss to some extent, the mechanism also has inherent defects. PFC is based on IEEE 802.1Qbb standard, which allocates independent queues for different priority flows and sets high and low waterline thresholds (Xoff and Xon) to achieve flow control. When the queue cache reaches the high waterline (Xoff), the switch sends a pause frame (PAUSE frame) to the downstream, forcing the upstream device to completely stop transmitting data of this priority; when the cache drops to the low waterline (Xon), the switch sends a resume frame, and the upstream device resumes data transmission. However, this "all or nothing" control method belongs to a coarse-grained strategy. Once PFC pause is triggered, it may cause the originally high-load link to become idle instantaneously, while the adjacent link is still running at full capacity, causing imbalance in network resource allocation and reducing overall link utilization. At the same time, PFC lacks fine-grained scheduling capability for traffic, and its control logic only relies on queue cache water level, and cannot dynamically adjust the flow control strategy according to different business needs (such as critical flow bandwidth guarantee and non-critical flow elastic adjustment) and data characteristics (small packet low delay, large packet high throughput). In a mixed business scenario, critical flow may be blocked due to PFC pause triggered by non-critical flow, making it difficult to guarantee the stability of critical flow transmission continuity. In addition, the pause mechanism of PFC may exacerbate the retransmission problem. When the upstream device stops sending data due to PFC pause, the receiver may misjudge the packet loss due to not receiving subsequent data packets in time, triggering unnecessary NACK feedback, further increasing the number of retransmissions and network burden.
[0062] The existing RDMA technology has problems such as inefficiency in handling packet loss and coarse granularity in flow control, which has become an application obstacle in high-performance computing, real-time data analysis of big data, and elastic resource scheduling of cloud computing.
[0063] As shown in Figure 1 To this end, the present application provides a deterministic scheduling-based RDMA transmission method, which is applied to a network data transmission scenario and includes the following steps:
[0064] S1. The sending end sends an RDMA data transmission request to the deterministic planner according to preset demand parameters;
[0065] S2. The deterministic planner responds to the RDMA data transmission request and determines whether the first idle bandwidth resource meets the traffic demand corresponding to the demand parameters according to the whole network topology data and the current traffic data of each link;
[0066] S3. If the first determination result is yes, the deterministic planner plans an RDMA data transmission path and performs deterministic scheduling configuration on all nodes on the transmission path;
[0067] S4. The sending end transmits RDMA data according to the deterministic scheduling configuration;
[0068] S5. After the transmission is completed, the sending end feeds back the transmission completion to the deterministic planner, and the deterministic planner recycles the bandwidth and time slot resources of all nodes on the transmission path.
[0069] In step S1, the requirement parameter refers to the destination address, required bandwidth, upper limit of delay and jitter, and other requirement information of the target end; and the RDMA data transmission request refers to an RDMA data transmission request message encapsulating preset requirement parameters and parameters such as bandwidth, delay, and traffic type of the sending end.
[0070] The deterministic planner in step S2 is a logically centralized control software, which can be deployed on an independent server or integrated in a core device of the network. It maintains a global network view and acts as a "network brain" to calculate and issue a congestion-free transmission path and scheduling time table for RDMA data streams according to business requirements and priorities of each data stream. The current traffic data of each link refers to the deterministic traffic for which the planner needs to reserve resources. Each new traffic request will apply for resources to the deterministic planner, and the amount of resources allocated by the planner can be used as the initial condition for the next planning. The network topology data refers to network topology data such as connection relationship of all devices, bandwidth capacity of each link, and inherent transmission delay.
[0071] The deterministic scheduling configuration in step S3 is generated by the deterministic planner and issued to a set of precise instructions and parameters for each node (sending end, switch, and receiving end) on the transmission path. The core purpose of this set of configurations is to reserve resources and specify the behavior of a specified data stream in the time, space, and priority dimensions, so as to ensure that the entire process from initiation to reception of the data stream does not compete with other streams, achieving deterministic transmission with no congestion, low delay, and low jitter.
[0072] The recycling of bandwidth and time slot resources in step S5 refers to the initiation of a resource recycling process by the deterministic planner, sending resource release instructions to all nodes on the RDMA data transmission path, marking the reserved bandwidth and transmission time slots for the data stream as available, and updating the global resource model.
[0073] Steps S1 to S5 are specific implementation details of the RDMA transmission method based on deterministic scheduling. Through the data transmission request containing preset requirement parameters, the global topology, and the current traffic data of each link (obtained by the deterministic planner from historical planning results), it is determined whether the first idle bandwidth resource meets the preset requirements. If yes, the RDMA data is transmitted according to the nodes after the planning of the RDMA data transmission path and the deterministic scheduling configuration.
[0074] In some preferred embodiments, the application is implemented as follows: first, when triggering RDMA data transmission, the sending end network card collects demand information such as destination address, required bandwidth, upper limit of delay and jitter, and parameters of the sending end itself such as bandwidth, delay, and traffic type, and sends a data transmission request message encapsulating the above information to the deterministic planner; then, the deterministic planner continuously listens to the building chain / dismantling chain request of the sending end host, and constructs a dynamic network resource model based on the whole network topology (covering device connection relationship, link bandwidth, delay characteristics) and real-time traffic data (link occupancy rate, data flow state). When receiving the building chain request, the planner runs the traffic planning algorithm to determine whether the network idle resources can meet the demand: if there are resources, generate a scheduling configuration response, plan a dedicated path for the transmission flow (especially critical traffic), allocate time slots, allocate bandwidth, mark priority, and generate a scheduling scheme; then, the switch receives the scheduling configuration response of the deterministic planner and executes local configuration. The deterministic scheduling module allocates forwarding strategies for different priority traffic according to the configuration rules: a dedicated queue is opened for critical flow, and a dedicated forwarding time slot is set to avoid competition with non-critical flow; a shared queue and an elastic forwarding time are planned for non-critical flow. When data forwarding, strictly execute the configuration to guarantee low-delay and congestion-free transmission of critical flow, and feedback the link state (bandwidth occupancy, queue load) to the planner to assist dynamic adjustment of scheduling. Finally, according to the time slot matching table (synchronized with the sending end) and the priority identification rule configured by the planner, RDMA data is transmitted to the destination end network card in the corresponding time slot.
[0075] As shown in Figure 2 , preferably, after transmitting the RDMA data, the following steps are further included:
[0076] A1. The receiving end checks whether the characteristics of the RDMA data match the demand parameters after receiving the RDMA data;
[0077] A2. If not matched, traffic monitoring is performed and abnormal information is reported.
[0078] Steps A1 to A2 are specific implementation details after step S4, that is, after the receiving end receives the RDMA data under the constraint of the corresponding time slot or bandwidth, it checks whether the characteristics of the RDMA data match the demand parameters, performs traffic monitoring and reports abnormal information when not matched, and feeds back transmission completion to the deterministic planner if matched. After receiving the transmission completion information, the deterministic planner recovers the bandwidth and time slot resources of all nodes on the transmission path.
[0079] As shown in Figure 3 , preferably, the first judgment of whether the first idle bandwidth resource meets the traffic demand corresponding to the demand parameters includes the following steps:
[0080] B1. Construct a dynamic network resource model according to the whole network topology data and the current traffic data of each link;
[0081] B2. Calculate the first idle bandwidth resource in the current network based on a traffic planning algorithm;
[0082] B3. First determine whether the first idle bandwidth resource meets the bandwidth, delay and jitter limit required by the demand parameter.
[0083] The first idle bandwidth resource in step B2 refers to inputting the whole network topology data and the current traffic data of each link in the dynamic network resource model, calculating the bandwidth of the link minus the bandwidth already allocated to each flow, and taking the difference as the first idle bandwidth resource. The traffic planning algorithm refers to planning the whole network traffic according to the current occupancy rate of each link, the device load state, the bandwidth capacity of each link, the connection relationship between devices and the inherent transmission delay, obtaining the current first idle bandwidth resource, further determining whether the flow can be allocated bandwidth, and obtaining the upper limit of the desired delay / jitter.
[0084] Steps B1 to B3 are specific implementation details of step S2. By constructing a dynamic network resource model according to the obtained current traffic data of each link and the pre-stored whole network topology, the first idle bandwidth resource is calculated and obtained after receiving the RDMA data transmission request, the traffic planning algorithm is run, and it is first determined whether the first idle bandwidth resource is greater than the traffic demand corresponding to the preset demand parameter.
[0085] In some preferred embodiments, the present application is implemented as follows. The deterministic planner calls the pre-stored whole network topology (covering the connection relationship of devices, link bandwidth, delay characteristics) and traffic data (occupancy rate of each link, data flow state) to construct a dynamic network resource model. After the model is constructed, the data transmission request of the sending end is continuously monitored. After receiving the request, the first idle bandwidth resource is calculated and obtained according to the traffic planning algorithm in the dynamic network resource model, it is determined whether the first idle bandwidth resource can meet the traffic demand (demand bandwidth) corresponding to the preset demand parameter in the RDMA data transmission request, and traffic planning is performed. According to the first determination result, subsequent actions are performed.
[0086] Preferably, if the first determination result is yes, the deterministic planner plans the RDMA data transmission path and performs deterministic scheduling configuration on all nodes on the transmission path, including the following steps:
[0087] If the first determination result is yes, the deterministic planner generates a scheduling configuration response and issues it to the switch;
[0088] After the switch receives the scheduling configuration response, bandwidth resources and forwarding time slots are allocated to all nodes on the transmission path in turn, and the RDMA data is marked with transmission priority.
[0089] The above steps are specific implementation details of step S3, that is, when the first determination result is yes, the deterministic planner generates a scheduling configuration response and issues it to all nodes on the transmission path through the switch; after receiving the scheduling configuration response, the switch allocates bandwidth resources and forwarding time slots to each node in turn, and marks the RDMA data with transmission priority.
[0090] In one embodiment, after the switch receives the scheduling configuration response, different forwarding strategies are allocated to different priority flows according to a preset configuration rule: a specific priority queue is used for critical flows, and an exclusive forwarding time slot is set to avoid competition with non-critical flows; a shared queue and an elastic forwarding time are planned for non-critical flows. When data is forwarded, the configuration is strictly executed to ensure that critical flows pass through with low latency and no congestion, and the planner is fed back with link status (bandwidth occupation, queue load) to assist dynamic adjustment of scheduling.
[0091] Preferably, after the first determination of whether the first idle bandwidth resource meets the traffic demand corresponding to the demand parameter, the following steps are further included:
[0092] If the first determination result is no, a second determination is made as to whether non-deterministic transmission is allowed.
[0093] If the second determination result is yes, the RDMA data is transmitted in a traditional RDMA transmission mode.
[0094] The traditional RDMA mode of the above steps refers to not scheduling the RMDA data deterministically, but directly transmitting the RMDA data;
[0095] The above steps are specific implementation details after the first determination, that is, when the first determination result is no, that is, there is not enough first idle bandwidth resource to meet the traffic demand, it is determined whether non-deterministic transmission is allowed in the current environment, and if non-deterministic transmission is allowed in the current environment, the RDMA data is transmitted in a traditional RDMA transmission mode;
[0096] In some preferred embodiments, the present application is implemented as follows: when the deterministic planner determines that there is not enough first idle bandwidth resource to meet the traffic demand, the network environment configuration table is queried through the planning controller to determine whether non-deterministic transmission is allowed in the current environment, and if non-deterministic transmission is allowed in the current environment, the RDMA data is transmitted in a traditional RDMA transmission mode, that is, the RMDA data is not scheduled deterministically, but directly transmitted.
[0097] As Figure 4As shown, preferably, after the second determination of whether to allow the use of the non-deterministic transmission mode, the following steps are further included:
[0098] C1. If the second determination result is no, the RDMA data transmission request is stored in the waiting sequence according to the transmission priority;
[0099] C2. Periodically obtain the second idle bandwidth resource, call the RDMA data transmission request from the waiting sequence, and re-execute the first determination process according to the second idle bandwidth resource;
[0100] C3. Repeat the above steps until the first determination result is yes.
[0101] Steps C1 to C3 are specific implementation details after the second determination. When the second determination result is no, the RDMA data transmission request is stored in the waiting sequence according to the priority set in advance. The real-time resource state in the network environment is checked periodically to obtain the second idle bandwidth resource. When there is an idle time, the RDMA data transmission request is called from the waiting sequence, and the first determination process is re-executed according to the current second idle bandwidth resource, i.e. the second idle bandwidth resource is determined again whether it is greater than the traffic demand corresponding to the preset demand parameter. When the first determination result is no, the real-time resource state in the network environment is checked in the next time period to obtain the second idle bandwidth resource in the time period. The second idle bandwidth resource is determined again whether it is greater than the traffic demand corresponding to the preset demand parameter in the next time period. Until the first determination result is yes, the first determination process is terminated.
[0102] In some preferred embodiments, the network environment configuration table is queried by the planning controller to determine whether the current environment allows transmission in a non-deterministic manner. When the current environment does not allow transmission in a non-deterministic manner, the received RDMA data transmission request is stored in the waiting sequence according to the preset priority (the same as the way of marking the transmission priority). A resource query time period is set. The real-time resource state in the network environment is checked according to the time period to obtain the second idle bandwidth resource (the same as the way of determining the first idle bandwidth resource). The RDMA data transmission request is called from the waiting sequence. It is determined whether the second idle bandwidth resource meets the traffic demand corresponding to the preset demand parameter. If it does not meet, the next period is waited for and the first determination process is performed again. If it meets, the process of generating a scheduling configuration response by the deterministic planner and the process of allocating resources and time slots are jumped to.
[0103] As shown in Figure 5 , preferably, the traffic planning algorithm includes the following steps:
[0104] D1. Initialize the scheduling priority of each link to the lowest;
[0105] D2. Obtain the actual upper limit of delay of all links;
[0106] D3. Determine whether the actual upper limit of delay of each link is greater than the delay requirement in the requirement parameter;
[0107] D4. If the result of the third determination is yes, the priority scheduling of the corresponding link is raised, and the corresponding actual upper limit of delay is re-evaluated;
[0108] D5. Repeat the third determination and the raising process until the actual upper limit of delay of all links is not greater than the delay requirement, and then return success of the planning.
[0109] Steps D1 to D5 are specific implementation details of the traffic planning algorithm in step B2. After initialization of each link, all links are assigned the lowest determined down-scheduling priority, the actual upper limit of delay of all links is obtained, it is determined whether the actual upper limit of delay of all links is greater than the preset upper limit of delay requirement, when the actual upper limit of delay of any one link C is greater than the preset upper limit of delay requirement, the determined down-scheduling priority of the link C is raised by one level, the actual upper limit of delay of the link D with the highest priority and the link E with the second highest priority is calculated and obtained again, steps D3 to D4 are repeated, until the actual upper limit of delay of all links is not greater than the preset upper limit of delay requirement, at this time, the planning algorithm terminates and returns success of the planning.
[0110] In some preferred embodiments, the present application is implemented as follows, taking the asynchronous traffic shaping (ATS) algorithm as an example of the deterministic scheduling algorithm, the data flow is denoted as , the upper limit of delay of the flow is denoted as , the bandwidth is denoted as , the burst is denoted as , the maximum packet length is denoted as , and the number of deterministic scheduling priorities is denoted as (for traffic that does not require deterministic scheduling, a separate priority queue is used, and the priority is lower than that of the deterministic scheduling priority).
[0111] The planning calculation process is as follows:
[0112] 1) Initialization, all flows are assigned the lowest deterministic scheduling priority;
[0113] 2) The upper limit of delay of all flows is calculated according to the IEEE 802.1Q ATS algorithm ;
[0114] 3) For any , i.e., the flow that does not meet the upper limit of delay condition, the priority of the flow is raised by one level;
[0115] 4) Calculate the upper limit of the delay of the highest priority and the second highest priority flow allocated according to the IEEE 802.1Q ATS algorithm;
[0116] 5) Repeat steps 3 and 4 until all flows meet the condition When the planning algorithm terminates, return planning success;
[0117] For incremental planning of flows, in order to reduce the calculation amount of the planner, the planning result before the incremental flow is added can be allocated as an initialization priority.
[0118] Preferably, after the priority scheduling of the corresponding link is promoted and the corresponding actual upper limit of the delay is re-evaluated, the following steps are further included:
[0119] If the scheduling priority of any link has been promoted to the highest, but the actual upper limit of the delay corresponding to the link is still greater than the delay requirement, terminate the planning and return planning failure.
[0120] The above steps are specific implementation details after step D4, and when any flow has been allocated the highest priority but still does not meet the delay condition, the planning algorithm terminates and returns planning failure and the failed flow parameters.
[0121] As shown in Figure 6 A RDMA transmission device based on deterministic scheduling applied to a network data transmission scene, comprising:
[0122] A transmission request module configured to initiate an RDMA data transmission request according to a preset requirement parameter;
[0123] A planning control module configured to respond to the request, determine whether idle resources meet the traffic requirement corresponding to the requirement parameter according to a full-network topology and real-time traffic data, and generate a deterministic scheduling configuration when the first determination result is yes;
[0124] The planning control module is further configured to recycle the allocated resources or time slots after the RDMA data transmission is completed.
[0125] A deterministic scheduling module configured to perform deterministic scheduling configuration on all nodes on a transmission path according to the deterministic scheduling configuration.
[0126] In actual use, the present application further discloses an RDMA transmission device based on deterministic scheduling, which is realized by embodying each logical step in the RDMA transmission method based on deterministic scheduling into an independent system module, so that the abstract monitoring logic can run in the actual environment.
[0127] A RDMA transmission system based on deterministic scheduling applied to a network data transmission scene, comprising:
[0128] At least one RDMA transmission device based on the deterministic scheduling as described above;
[0129] A sending host for initiating RDMA data request and performing data transmission;
[0130] A receiving host for receiving RDMA data and feeding back status under the specified time slot or bandwidth constraint;
[0131] The RDMA transmission device is connected with the sending host and the receiving host respectively, and realizes end-to-end deterministic scheduling.
[0132] In actual application, the application further discloses an RDMA transmission system based on deterministic scheduling, which comprises at least one RDMA transmission device, a sending host and a receiving host, the sending host starts the RDMA transmission process, initiates the RDMA data request and performs data transmission, at this time, the plurality of RDMA transmission devices realizes the end-to-end transmission between the sending host and the receiving host according to the logical steps in the RDMA transmission method, and the receiving host receives the RDMA data in the allocated time slot and feeds back the corresponding status. After the transmission cycle ends, the time slot or bandwidth resource is marked as available, and the deterministic scheduling device in the RDMA transmission device can re-allocate it to the new request in the future. The deterministic scheduling device in the RDMA transmission device continuously monitors the network state and the transmission situation of each data flow. If the host failure or network topology change is detected, it can dynamically recalculate the scheduling table and issue it to the related components to ensure the robustness of the system.
[0133] In the embodiments provided by the present application, it should be understood that the disclosed method, device and system can be implemented in other ways. The device and system embodiments described above are only schematic. For example, the division of modules is only a logical function division, and there can be another division manner in actual implementation. For example, a plurality of modules or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the various components shown or discussed can be indirect coupling or communication connection through some interfaces, devices or modules, and can be electrical, mechanical or other forms.
[0134] In addition, each functional module in each embodiment of the application can be integrated in one processor, or each module can be a separate device, or two or more modules can be integrated in one device; each functional module in each embodiment of the application can be realized in the form of hardware or in the form of hardware plus software functional unit.
[0135] Those skilled in the art can understand that all or part of the steps of the above-mentioned 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 above-mentioned method embodiments are executed. The aforementioned storage medium includes mobile storage equipment, read-only memory (ROM), magnetic disc or optical disc and various media that can store program codes.
[0136] It should be understood that if "system", "device", "unit" and / or "module" are used in the present application, it is only a method for distinguishing different components, elements, parts, portions or assemblies of different levels. However, if other words can achieve the same purpose, the words can be replaced by other expressions.
[0137] As shown in the present application and claims, unless the context clearly indicates otherwise, "one", "a", "an" and / or "the" do not refer to the singular, but can also include the plural. Generally, the terms "comprise" and "include" only indicate the inclusion of the steps and elements explicitly identified, and these steps and elements do not constitute an exclusive list, and the method or device can also include other steps or elements. The element defined by the statement "comprising a" does not exclude the presence of another identical element in the process, method, product or device comprising the element.
[0138] Hereinafter, the terms "first", "second" are only used for description purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Therefore, the features defined with "first", "second" can explicitly or implicitly include one or more of the features.
[0139] If flowcharts are used in the present application, the flowcharts are used to illustrate the operations performed by the system according to the embodiments of the present application. It should be understood that the preceding or subsequent operations are not necessarily executed in sequence. On the contrary, each step can be processed in reverse order or simultaneously. At the same time, other operations can be added to these processes, or one or more steps of the operation can be removed from these processes.
[0140] The foregoing describes in detail the RDMA transmission method, system and device based on deterministic scheduling provided by the present application. The foregoing description of the disclosed embodiments enables one skilled in the art to implement or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein can be applied to other embodiments without departing from the spirit or scope of the present application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for RDMA transmission based on deterministic scheduling, applied to a network data transmission scenario, the method comprising: determining a data transmission path for a data packet; determining a data transmission time for the data packet; and transmitting the data packet via the data transmission path at the data transmission time. The method comprises the following steps: The sending end sends an RDMA data transmission request to the deterministic planner according to a preset demand parameter; The deterministic planner judges whether the first idle bandwidth resource meets the traffic demand corresponding to the demand parameter according to the whole network topology data and the current traffic data of each link in response to the RDMA data transmission request; If the first judgment result is yes, the deterministic planner plans an RDMA data transmission path and performs deterministic scheduling configuration on all nodes on the transmission path; The sending end transmits the RDMA data according to the deterministic scheduling configuration; After the transmission is completed, the sending end feeds back the transmission completion to the deterministic planner, and the deterministic planner recycles the bandwidth and time slot resources of all nodes on the transmission path; If the first judgment result is yes, the deterministic planner generates a scheduling configuration response and delivers the switch; After the switch receives the scheduling configuration response, it allocates bandwidth resources and forwarding time slots for all nodes on the transmission path in turn, and marks the transmission priority of the RDMA data. After the RDMA data is transmitted, the following steps are further included:
2. The deterministic schedule based RDMA transfer method of claim 1, wherein, The receiving end checks whether the characteristics of the RDMA data match the demand parameter after receiving the RDMA data; If not, traffic monitoring is performed and abnormal information is reported. The first judgment of whether the first idle bandwidth resource meets the traffic demand corresponding to the demand parameter comprises the following steps:
3. The deterministic schedule based RDMA transfer method of claim 1, wherein, A dynamic network resource model is constructed according to the whole network topology data and the current traffic data of each link; The first idle bandwidth resource in the current network is calculated based on a traffic planning algorithm; The first idle bandwidth resource is first judged whether it meets the bandwidth, delay and jitter limit required by the demand parameter. After the first judgment of whether the first idle bandwidth resource meets the traffic demand corresponding to the demand parameter, the following steps are further included:
4. The deterministic schedule based RDMA transfer method of claim 3, wherein, If the first judgment result is no, it is secondly judged whether a non-deterministic transmission mode is allowed to be adopted; If the second judgment result is yes, the RDMA data is transmitted in a traditional RDMA transmission mode. After the second judgment of whether a non-deterministic transmission mode is allowed to be adopted, the following steps are further included:
5. The deterministic schedule based RDMA transfer method of claim 4, wherein, If the second judgment result is no, the RDMA data transmission request is stored in a waiting sequence according to the transmission priority; The second idle bandwidth resource is obtained regularly, the RDMA data transmission request is called from the waiting sequence, and the first judgment process is re-executed according to the second idle bandwidth resource; The above steps are repeated until the first judgment result is yes. The traffic planning algorithm comprises the following steps:
6. The deterministic schedule based RDMA transfer method of claim 3, wherein, The scheduling priority of each link is initialized to the lowest; The actual upper limit of the delay of all links is obtained; It is thirdly judged whether the actual upper limit of each link is greater than the delay demand in the demand parameter; If the third determination result is yes, the priority scheduling of the corresponding link is promoted, and the actual delay upper limit of the corresponding link is re-evaluated. The third determination and promotion process are repeated until the actual delay upper limits of all links are not greater than the delay requirement, and then the planning is returned as successful.
7. The deterministic schedule based RDMA transfer method of claim 6, wherein, After the priority scheduling of the corresponding link is promoted and the actual delay upper limit of the corresponding link is re-evaluated, the following steps are further included: If the scheduling priority of any link has been promoted to the highest, but the actual machine delay upper limit of the link is still greater than the delay requirement, the planning is terminated and returned as failed.
8. A deterministic-schedule-based RDMA transmission device applied to a network data transmission scene, characterized in that, The device is applied to the RDMA transmission method based on deterministic scheduling in claim 1, and the device includes: A transmission request module configured to initiate an RDMA data transmission request according to preset requirement parameters; A planning control module configured to, in response to the request, determine whether idle resources meet a traffic requirement corresponding to the requirement parameters according to a full-network topology and real-time traffic data, and generate a deterministic scheduling configuration when the first determination result is yes; The planning control module is further configured to recycle the allocated resources or time slots after the RDMA data transmission is completed; A deterministic scheduling module configured to perform deterministic scheduling configuration on all nodes on a transmission path according to the deterministic scheduling configuration.
9. A deterministic-schedule-based RDMA transmission system applied to a network data transmission scene, characterized in that, The device includes: At least one RDMA transmission device based on deterministic scheduling as claimed in claim 8; A sender host configured to initiate an RDMA data request and perform data transmission; A receiver host configured to receive RDMA data under a specified time slot or bandwidth constraint and feed back a status; The RDMA transmission device is connected with the sender host and the receiver host respectively to realize end-to-end deterministic scheduling.
Citation Information
Patent Citations
End-to-end data transmission method and system
CN116112438A
Data transmission method, apparatus, and system
WO2022247416A1