DCQCN parameter tuning method and device of RDMA network, RDMA network and storage medium
By automatically searching and adjusting the DCQCN parameters of the RDMA network, the problem of manual intervention and reliance on expert knowledge in the prior art is solved, and a more efficient tuning process is achieved.
Patent Information
- Application Number
- CN202411720415.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-27
- Publication Date
- 2025-02-25
AI Technical Summary
In the prior art, DCQCN parameter tuning requires manual intervention and highly relies on expert knowledge and experience. As the traffic mode changes, operators need to manually adjust the parameters frequently, resulting in a long tuning time.
By obtaining the current flow size distribution of the RDMA network, in response to satisfying the preset trigger conditions, searching for the target DCQCN parameters, making the network performance function value the maximum, and sending the target parameters to each node.
It reduces manual intervention, reduces the time required for tuning, improves tuning efficiency, and realizes automatic search and adjustment of DCQCN parameters according to the current flow size distribution.
Smart Images

Figure CN119520404A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of Internet technology, and in particular to a DCQCN parameter tuning method and device for an RDMA network, an RDMA network, and a storage medium. Background Art
[0002] Data Center Quantized Congestion Notification (DCQCN) is an additive-increase / multiplicative-decrease congestion control algorithm that consists of the following three parts:
[0003] (1) Congestion Point (CP): When the switch queue length exceeds the preset ECN threshold (Explicit Congestion Notification Threshold), the switch will mark the passing data packets with ECN with a certain probability;
[0004] (2) Notification Point (NP): When the receiving RDMA network card receives a data packet with an ECN mark, it will send a CNP message to the sending end to notify the sending end that congestion has occurred;
[0005] (3) Reaction Point (RP): After receiving the CNP message, the RDMA network card at the sending end will reduce the sending rate in a multiplicative manner, otherwise it will increase the sending rate in an additive manner.
[0006] In the related art, multiple DCQCN parameters are included on the network card and the switch, and different DCQCN parameter settings will have a very large impact on network performance.
[0007] However, DCQCN parameter tuning in related technologies usually requires manual intervention and is highly dependent on expert knowledge and experience. Moreover, as traffic patterns continue to change, operators also need to frequently manually adjust these parameters, resulting in a long time for each complete DCQCN tuning. Summary of the invention
[0008] The present disclosure provides a DCQCN parameter tuning method and device for an RDMA network, an RDMA network, and a storage medium to solve the above technical problems.
[0009] According to a first aspect of the present disclosure, a DCQCN parameter tuning method for an RDMA network is provided, the method comprising:
[0010] Get the current flow size distribution of the RDMA network;
[0011] In response to the current flow size distribution satisfying a preset trigger condition, searching for a DCQCN parameter according to the current flow size distribution to obtain a target DCQCN parameter of the RDMA network; the target DCQCN parameter is used to maximize a network efficiency function value of the RDMA network;
[0012] The target DCQCN parameters are sent to each node of the RDMA network.
[0013] Optionally, get the current flow size distribution of the RDMA network, including:
[0014] Insert each data packet into the sketch data structure and mark it with TOS;
[0015] The control state of each flow is obtained to obtain the flow size distribution of the RDMA network; the control state is used to represent the flow size state of the flow in each detection cycle.
[0016] Optionally, get the control status of each flow, including:
[0017] In the current detection period, the flow size of the current flow in the sliding window in the current detection period is obtained;
[0018] Get the total flow size of the current detection cycle and the previous detection cycle;
[0019] When it is detected that the sum of the flow sizes is greater than or equal to a preset threshold, determining that the distribution type of the current flow is an elephant flow state;
[0020] When it is detected that the sum of the flow sizes is less than the preset threshold and the sliding window is not filled with data in the current detection cycle, determining that the distribution type of the current flow is a mouse flow state;
[0021] When it is detected that the total of the flow sizes is less than the preset threshold and the sliding window is filled with data within the current detection period, determining that the distribution type of the current flow is a transition flow state;
[0022] When it is detected that there is a preset data packet in the sliding window within the current detection period, the current flow is removed from the flow size distribution.
[0023] Optionally, searching for a DCQCN parameter according to the current flow size distribution to obtain a target DCQCN parameter of the RDMA network includes:
[0024] Determine the proportion of each control state according to the current flow size distribution, and obtain the target control state with the highest proportion;
[0025] Adjusting the DCQCN parameters of the RDMA network according to the target control state to obtain candidate DCQCN parameters; the candidate DCQCN parameters are used to instruct the RDMA network to adjust the flow size distribution in a throughput-friendly or delay-friendly direction according to the proportion;
[0026] When the current temperature after this round of adjustment is greater than the preset temperature threshold, the current flow size distribution is updated and the DCQCN parameters are searched again;
[0027] When the current temperature after this round of adjustment is less than or equal to the preset temperature threshold, stop searching for DCQCN parameters; obtain the network performance function values corresponding to each group of candidate DCQCN parameters, and determine the candidate DCQCN parameters corresponding to the maximum value of the grid performance function as the target DCQCN parameters.
[0028] Optionally, adjusting the DCQCN parameters of the RDMA network according to the target control state to obtain candidate DCQCN parameters includes:
[0029] When the target control state is the elephant flow state, the DCQCN parameters of the RDMA network are adjusted toward a throughput-friendly direction with a probability of a first proportion, and the DCQCN parameters of the RDMA network are adjusted toward a delay-friendly direction with a probability of a second proportion; the first proportion refers to the proportion of the elephant flow state, and the sum of the second proportion and the first proportion is 1;
[0030] When the target control state is a rat flow state, the DCQCN parameters of the RDMA network are adjusted toward a delay-friendly direction with a probability of a third proportion, and the DCQCN parameters of the RDMA network are adjusted toward a throughput-friendly direction with a probability of a fourth proportion; the third proportion refers to the proportion of the rat flow state, and the sum of the fourth proportion and the third proportion is 1.
[0031] Optionally, obtaining the network performance function value corresponding to each group of candidate DCQCN parameters includes:
[0032] When the RDMA network operates in each group of candidate DCQCN parameters, the throughput, round-trip delay, and priority-based flow control amount of the RDMA network are obtained;
[0033] A weighted sum of the throughput, the round-trip delay, and the flow control amount is obtained as the network performance function value.
[0034] According to a second aspect of the present disclosure, a DCQCN parameter tuning device for an RDMA network is provided, the device comprising:
[0035] The flow distribution acquisition module is used to obtain the current flow size distribution of the RDMA network;
[0036] A target parameter acquisition module, configured to, in response to the current flow size distribution satisfying a preset trigger condition, search for a DCQCN parameter according to the current flow size distribution to obtain a target DCQCN parameter of the RDMA network; the target DCQCN parameter is used to maximize the network efficiency function value of the RDMA network;
[0037] The target parameter sending module is used to send the target DCQCN parameters to each node of the RDMA network.
[0038] Optionally, the flow distribution acquisition module includes:
[0039] The packet marking submodule is used to insert each packet into the sketch data structure and mark it with TOS;
[0040] The flow state acquisition submodule is used to acquire the control state of each flow and obtain the flow size distribution of the RDMA network; the control state is used to represent the flow size state of the flow in each detection cycle.
[0041] Optionally, the flow state acquisition submodule includes:
[0042] A flow size acquisition unit, used to acquire, in a current detection period, a flow size of a current flow within a sliding window in the current detection period;
[0043] A sum acquisition unit, used to acquire the sum of flow sizes of the current detection cycle and the previous detection cycle;
[0044] An elephant flow state acquisition unit, configured to determine that the distribution type of the current flow is an elephant flow state when it is detected that the sum of the flow sizes is greater than or equal to a preset threshold;
[0045] A mouse flow state acquisition unit, configured to determine that the distribution type of the current flow is a mouse flow state when it is detected that the total flow size is less than the preset threshold and the sliding window is not filled with data in the current detection cycle;
[0046] A transition flow state acquisition unit, configured to determine that the distribution type of the current flow is a transition flow state when it is detected that the total flow size is less than the preset threshold and the sliding window is filled with data in the current detection cycle;
[0047] The current flow removal unit is used to remove the current flow from the flow size distribution when it is detected that there is a preset data packet in the sliding window within the current detection period.
[0048] Optionally, the target parameter acquisition module includes:
[0049] A target state acquisition submodule is used to determine the proportion of each control state according to the current flow size distribution, and obtain the target control state with the highest proportion;
[0050] A candidate parameter acquisition submodule, configured to adjust the DCQCN parameters of the RDMA network according to the target control state to obtain candidate DCQCN parameters; the candidate DCQCN parameters are used to instruct the RDMA network to adjust the flow size distribution in a throughput-friendly or delay-friendly direction according to the proportion;
[0051] The parameter update submodule is used to update the current flow size distribution and re-search the DCQCN parameters when the current temperature after this round of adjustment is greater than the preset temperature threshold;
[0052] The target parameter acquisition submodule is used to stop searching for DCQCN parameters when the current temperature after this round of adjustment is less than or equal to the preset temperature threshold; obtain the network performance function value corresponding to each group of candidate DCQCN parameters, and determine the candidate DCQCN parameter corresponding to the maximum value of the grid performance function as the target DCQCN parameter.
[0053] Optionally, the candidate parameter acquisition submodule includes:
[0054] A first parameter adjustment unit is used for adjusting the DCQCN parameters of the RDMA network toward a throughput-friendly direction with a probability of a first proportion when the target control state is an elephant flow state, and adjusting the DCQCN parameters of the RDMA network toward a delay-friendly direction with a probability of a second proportion; the first proportion refers to the proportion of the elephant flow state, and the sum of the second proportion and the first proportion is 1;
[0055] The second parameter adjustment unit is used to adjust the DCQCN parameters of the RDMA network toward a delay-friendly direction with a probability of a third proportion when the target control state is a rat flow state, and to adjust the DCQCN parameters of the RDMA network toward a throughput-friendly direction with a probability of a fourth proportion; the third proportion refers to the proportion of the rat flow state, and the sum of the fourth proportion and the third proportion is 1.
[0056] Optionally, the target parameter acquisition submodule includes:
[0057] A network parameter acquisition unit, configured to acquire the throughput, round-trip delay, and priority-based flow control amount of the RDMA network when the RDMA network operates in each group of candidate DCQCN parameters;
[0058] The network performance function value acquisition unit is used to acquire a weighted sum of the throughput, the round-trip delay and the flow control amount as the network performance function value.
[0059] According to a third aspect of the present disclosure, there is provided an RDMA network, comprising a plurality of nodes and a central controller; the central controller comprises a processor and a memory;
[0060] The memory is used to store a computer program executable by the processor;
[0061] The processor is used to execute the computer program in the memory to implement the method as described in any one of the first aspects to control the data flow of multiple nodes.
[0062] According to a fourth aspect of the present disclosure, a non-transitory computer-readable storage medium is provided, and when an executable computer program in the storage medium is executed by a processor, the method described in any one of the first aspects can be implemented.
[0063] The technical solution provided by the embodiments of the present disclosure may have the following beneficial effects:
[0064] The present embodiment provides a DCQCN parameter tuning method for an RDMA network, comprising: obtaining the current flow size distribution of the RDMA network; then, in response to the current flow size distribution satisfying a preset trigger condition, searching for DCQCN parameters according to the current flow size distribution to obtain target DCQCN parameters of the RDMA network; the target DCQCN parameters are used to maximize the network efficiency function value of the RDMA network; and then, sending the target DCQCN parameters to each node of the RDMA network. In this way, the present embodiment searches for target DCQCN parameters according to the current flow size distribution, which can reduce the degree of manual intervention, is conducive to reducing the time required for tuning, and improves the tuning efficiency.
[0065] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0066] Figure 1 The present invention is a block diagram of an RDMA network according to an embodiment of the present invention.
[0067] Figure 2 The present invention is an RDMA network workflow diagram according to an embodiment of the present invention.
[0068] Figure 3 The present invention is a flowchart of a method for optimizing DCQCN parameters of an RDMA network according to an embodiment of the present invention.
[0069] Figure 4 The present invention is a flowchart of obtaining the control status of each flow according to an embodiment of the present invention.
[0070] Figure 5The present invention is a schematic diagram of updating a flow size state by using a sliding window according to an embodiment of the present invention.
[0071] Figure 6 The present invention is a flowchart of determining target DCQCN parameters according to an embodiment of the present invention.
[0072] Figure 7 A schematic diagram of a curve showing adjustment directions of some DCQCN parameters and throughput and RTT of an RDMA network according to an embodiment of the present disclosure.
[0073] Figure 8 A block diagram of a DCQCN parameter tuning device for an RDMA network according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0074] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices consistent with some aspects of the present disclosure as detailed in the appended claims.
[0075] Embodiments of the present disclosure provide a DCQCN parameter tuning method and device for an RDMA network, an RDMA network, and a storage medium.
[0076] See also Figure 1 , an RDMA network includes multiple nodes and a central controller. The multiple nodes may include network cards RNICs and switches. The central controller includes a processor and a memory, wherein the memory is used to store a computer program executable by the processor; the processor is used to execute the computer program in the memory to implement a DCQCN parameter tuning method for an RDMA network as provided in an embodiment of the present disclosure to control the data flow of multiple nodes.
[0077] In one example, some functions of the central controller can be delegated to the switch, such as counting and marking data packets and setting the control status of each flow within the switch. The processing capabilities of the network card, switch and central controller can be deployed according to the specific scenario. If the solution can be implemented, the corresponding solution falls within the protection scope of this disclosure.
[0078] Figure 1 The workflow of the RDMA network is as follows: Figure 2 As shown:
[0079] The switches and network cards collect network indicators regularly, and the central controller calculates the size distribution of the entire RDMA network flow to determine whether the cluster traffic model has changed significantly and whether to trigger DCQCN parameter adjustment. When the trigger conditions are met, the central controller runs the search algorithm, considering the impact of single parameters and multi-parameter combinations on network performance, optimizing the search process and maximizing the objective function.
[0080] In this way, in this example, a central controller is deployed in the RDMA network. The central controller can establish an RPC channel with each switch control plane and end host in the RDMA network to realize data interaction between the central controller and each distributed node, ensuring the normal and stable operation of the parameter adjustment system.
[0081] Based on the above RDMA network, the present disclosure provides a DCQCN parameter tuning method for an RDMA network. Figure 3 , including steps 31 to 33.
[0082] In step 31, the current flow size distribution of the RDMA network is obtained.
[0083] In this step, the current flow size distribution of the RDMA network can be obtained.
[0084] Considering that a data packet may pass through several measurement points, the central controller may encounter the problem of repeated calculation when obtaining the network-wide flow size distribution of the RDMA network. In one example, the measurement of the current flow size distribution can be set on the switch. By using the sketch data structure on the data plane, all data packets flowing through the switch can be covered and the size information of each flow can be recorded.
[0085] In this example, each data packet can be inserted into the sketch data structure and marked with TOS.
[0086] The TOS (Type of Service) tag is a field in the IP protocol header that specifies how the network handles a specific data packet. The TOS tag contains 8 bits, which are:
[0087] Bits 1-3: The priority subfield (IP Precedence), which defines 8 priorities, from 000 (normal) to 111 (network control);
[0088] Bits 4-7: Type of Service (TOS) subfield, used to specify the service category of the packet, including:
[0089] 1000 - minimize delay, suitable for delay-sensitive applications;
[0090] 0100-maximize throughput, suitable for applications with high throughput requirements;
[0091] 0010-maximize reliability, suitable for applications with high reliability requirements such as network management (SNMP) and routing protocols;
[0092] 0001-minimize monetary cost, suitable for applications that require the lowest cost, such as user network news;
[0093] 0000-normal service, if not specified, it is normal service;
[0094] The last bit is an unused bit (Must Be Zero) and must be set to 0.
[0095] In this step, the data packet can be marked with TOS, and the marking method is not limited, for example, marking at the 1st to 3rd bit. By marking each data packet with TOS, each data packet can be counted to ensure that the data of each node or measurement point will not be counted repeatedly, thereby improving the accuracy of data statistics.
[0096] In this step, the control state of each flow can be obtained to obtain the flow size distribution of the RDMA network; the above control state is used to represent the flow size state of the flow in each detection cycle. In one example, a millisecond detection cycle is set, such as 1 to 100ms, to obtain the flow size state of each flow, including the elephant flow state E and the mouse flow state M; in this example, a transition state PE is also set, and then a sliding window is used to update the size state of each flow.
[0097] In one example, you can get the control status of each flow, see Figure 4 , including steps 41 to 46.
[0098] In step 41, the flow size of the current flow in the sliding window in the current detection period is obtained.
[0099] In this step, the sliding window may be slid for one detection cycle, and the flow size of the current flow in the sliding window in the current detection cycle may be obtained.
[0100] In step 42, the sum of the flow sizes of the current detection cycle and the previous detection cycle is obtained.
[0101] In this step, in at least one detection cycle before the current detection cycle, the flow size of the current flow in the at least one detection cycle is obtained. At this time, the sum of the flow sizes of the current detection cycle and the detection cycles before it can be obtained.
[0102] In step 43, when it is detected that the sum of the flow sizes is greater than or equal to a preset threshold, it is determined that the distribution type of the current flow is an elephant flow state.
[0103] In this step, a preset threshold can be obtained, and the preset threshold can be set according to a specific scenario, such as 1MB. Then, the size relationship between the flow size summation and the above-mentioned preset threshold can be compared. When it is detected that the flow size summation is greater than or equal to the preset threshold, it is determined that the distribution type of the current flow is an elephant flow state, and the current flow is counted in the elephant flow set. Wherein, elephant flow (Elephant Flow) refers to a flow with a large total number of bytes transmitted, and in this example, the current flow with a flow size summation greater than or equal to the preset threshold is used as an elephant flow.
[0104] In step 44, when it is detected that the total flow size is less than the preset threshold and the sliding window is not filled with data in the current detection cycle, it is determined that the distribution type of the current flow is a mouse flow state.
[0105] In this step, when it is detected that the sum of the flow sizes is less than the preset threshold, it can be determined whether the sliding window is filled with data in the current detection cycle. When it is determined that the sliding window is not filled with data in the current detection cycle, it can be determined that the distribution type of the current flow is a mouse flow state. Among them, a mouse flow refers to a flow with a relatively small total number of bytes transmitted. In this example, the current flow when the sum of the flow sizes is less than and the sliding window is not filled with data in the current detection cycle is regarded as a mouse flow.
[0106] In step 45, when it is detected that the total flow size is less than the preset threshold and the sliding window is filled with data in the current detection cycle, it is determined that the distribution type of the current flow is a transition flow state.
[0107] In step 46, when it is detected that there is a preset data packet in the sliding window within the current detection period, the current flow is removed from the flow size distribution.
[0108] In one example, it is assumed that the preset threshold τ is 1MB, the sliding window size ∈ is 3, the input data is the historical data of each flow size; and the output data is the flow size distribution F = {E: a, PE: c, M: b}.
[0109] See also Figure 5 , Figure 5 The flow size of each flow in each historical detection period is shown.
[0110] For flow f1, the flow sizes in the first three detection cycles MI1-MI3 are all greater than the preset threshold τ, and the corresponding total flow sizes are also greater than the preset threshold τ. The flow size state of each detection cycle is set to the elephant flow state E, and flow f1 is included in the elephant flow set.
[0111] For flow f2, in the first two detection cycles MI1-MI2, the total flow size of flow f2 is detected to be less than the preset threshold value τ; and there is no data at the second and third positions of the sliding window in the detection cycle MI1, at which time the flow is marked as mouse flow state M, and there is no data at the third position of the sliding window in the detection cycle MI2, at which time the flow is marked as mouse flow state M, that is, flow f2 is counted into the mouse flow set in the first two detection cycles MI1-MI2. In the third detection cycle MI3, the total flow size of flow f2 is 33KB, which is still less than the preset threshold value τ, and the sliding window is filled with data, that is, flow f2 remains active in a window ∈, so flow f2 is regarded as a transition state PE, indicating that it may become an elephant flow in the future. As the number of detections increases, the sliding window continues to slide to the right, and flow f2 still maintains the transition state PE until the seventh detection cycle, when the total flow size of flow f2 is greater than the preset threshold value τ, at which time the flow size state is updated to the elephant flow state E, and flow f2 is counted into the elephant flow set.
[0112] For flow f3, in the first two detection cycles MI1-MI2 are set to the mouse flow state M, and in the third detection cycle MI3 to the seventh detection cycle MI7 are set to the transition state PE. When reaching the eighth detection cycle, the sketch data structure does not record the flow size information of flow f3. It can be determined that flow f3 has been transmitted and the flow is removed from the flow size distribution.
[0113] In step 32, in response to the current flow size distribution satisfying a preset trigger condition, a DCQCN parameter is searched according to the current flow size distribution to obtain a target DCQCN parameter of the RDMA network; the target DCQCN parameter is used to maximize the network performance function value of the RDMA network.
[0114] In this step, after obtaining the current flow size distribution, the divergence value between the current flow size distribution and the flow size distribution of the previous detection cycle can be obtained, wherein the calculation formula of the divergence value is shown in formula (1).
[0115]
[0116] In formula (1), P represents the current flow size distribution, Q represents the flow size distribution of the previous detection cycle, D represents the Kullback-Leibler divergence value, and i represents the i-th element in the flow size distribution.
[0117] In this step, the above divergence value can be compared with the preset divergence value threshold. When the above divergence value is less than or equal to the preset divergence value threshold, it is determined that the preset trigger condition is not met. When the above divergence value is greater than the divergence value threshold, it is determined that the preset trigger condition is met. At this time, the DCQCN parameters are searched according to the above current flow size distribution to obtain the target DCQCN parameters of the RDMA network, see Figure 6 , including steps 61 to 64.
[0118] In step 61, the proportion of each control state is determined according to the current flow size distribution, and the target control state with the highest proportion is obtained.
[0119] In this step, the proportion of each control state in the current flow size distribution can be obtained. Then, the maximum proportion can be selected from the proportion of each control state, and the control signal corresponding to the maximum proportion is obtained as the target control state. For example, there are 100 control states in the current flow size distribution, of which there are 50 elephant flow states E, 30 transition states PE, and 20 mouse flow states M. The proportion of elephant flow state E is 50 / 100*100%=50%, the proportion of transition state PE is 30 / 100*100%=30%, and the proportion of mouse flow state M is 20 / 100*100%=20%, then the maximum proportion is 50%, and the elephant flow state E is determined as the target control state.
[0120] In step 62, the DCQCN parameters of the RDMA network are adjusted according to the target control state to obtain candidate DCQCN parameters; the candidate DCQCN parameters are used to instruct the RDMA network to adjust the flow size distribution in a throughput-friendly or delay-friendly direction according to the proportion.
[0121] Considering that there are multiple DCQCN parameters for RDMA networks and the value range of each parameter is large, in this step, the DCQCN parameters can be adjusted to throughput-friendly direction and delay-friendly direction according to the impact of the DCQCN parameter values on network performance. The throughput-friendly direction is suitable for traffic distribution scenarios with a large number of elephant flows, and the delay-friendly direction is suitable for traffic distribution scenarios with a large number of mouse flows.
[0122] See also Figure 7 ,(a) Figure illustrates the influence of the adjustment direction of the rate increase step hai_rate parameter on the network throughput and RTT performance. When the value of the hai_rate parameter is increased, the throughput Throughput and RTT of the RDMA network both show an upward trend, indicating that the increasing direction is a throughput-friendly direction for the hai_rate parameter; while reducing the hai_rate parameter will reduce the RDMA network throughput and RTT, indicating that the decreasing direction is a delay-friendly direction for the hai_rate parameter.
[0123] (b) Figure illustrates the impact of the adjustment direction of the rate reduction period rate_reduce_monitor_period parameter on the network throughput and RTT performance. When the rate_reduce_monitor_period parameter is increased, the throughput and RTT of the RDMA network both show an upward trend, indicating that the increasing direction is a throughput-friendly direction for the rate_reduce_monitor_period parameter; and when the rate_reduce_monitor_period parameter is reduced, the RDMA network throughput and RTT both decrease, indicating that the decreasing direction is a delay-friendly direction for the rate_reduce_monitor_period parameter.
[0124] (c) Figure 2 illustrates the impact of the adjustment direction of the rate increase period rpg_time_reset parameter on the network throughput and RTT performance. When the rpg_time_reset parameter is increased, the throughput and RTT of the RDMA network both show a downward trend, indicating that the increasing direction is a delay-friendly direction for the rpg_time_reset parameter; and when the rpg_time_reset parameter is reduced, the RDMA network throughput and RTT both increase, indicating that the decreasing direction is a throughput-friendly direction for the rpg_time_reset parameter.
[0125] (d) Figure illustrates the impact of the adjustment direction of the switch's explicit congestion notification threshold parameter Kmax on the network throughput and RTT performance. When the Kmax parameter is increased, the throughput and RTT of the RDMA network both show an upward trend, indicating that the increasing direction is a throughput-friendly direction for the Kmax parameter; and when the rpg_time_reset parameter is reduced, the RDMA network throughput and RTT both decrease, indicating that the decreasing direction is a delay-friendly direction for the Kmax parameter.
[0126] Based on the above analysis, an adjustment model can be established. In one example, the above adjustment model can be implemented using a simulated annealing search algorithm, which can adjust each parameter in the direction of high-proportion flow priority with a greater probability in each round of search according to the current flow size distribution and parameter characteristics of the input, cut off a large number of useless search attempts, and maintain a balance between exploration and exploitation.
[0127] In this step, the current flow size distribution and the target control state can be input into the above adjustment model to search for the DCQCN parameters of the RDMA network. When the target control state is the elephant flow state, the DCQCN parameters of the RDMA network are adjusted in a throughput-friendly direction with a probability of a first proportion, and the DCQCN parameters of the RDMA network are adjusted in a delay-friendly direction with a probability of a second proportion; the first proportion refers to the proportion of the elephant flow state, and the sum of the second proportion and the first proportion is 1;
[0128] When the target control state is a rat flow state, the DCQCN parameters of the RDMA network are adjusted toward a delay-friendly direction with a probability of a third proportion, and the DCQCN parameters of the RDMA network are adjusted toward a throughput-friendly direction with a probability of a fourth proportion; the third proportion refers to the proportion of the rat flow state, and the sum of the fourth proportion and the third proportion is 1.
[0129] In step 63, when the current temperature after this round of adjustment is greater than the preset temperature threshold, the current flow size distribution is updated and the DCQCN parameters are searched again.
[0130] In this step, after adjusting the DCQCN parameters in this round, the current temperature of the RDMA network can be obtained. When it is determined that the current temperature is greater than the preset temperature threshold, the candidate DCQCN parameters are sent to each node, the current flow size distribution is re-obtained, and the candidate DCQCN parameters are searched again.
[0131] In step 64, when the current temperature after this round of adjustment is less than or equal to the preset temperature threshold, stop searching for DCQCN parameters; obtain the network performance function values corresponding to each group of candidate DCQCN parameters, and determine the candidate DCQCN parameters corresponding to the maximum value of the grid performance function as the target DCQCN parameters.
[0132] In this step, when the current temperature after this round of adjustment is less than or equal to the preset temperature threshold, the search for DCQCN parameters is stopped. It is understandable that multiple groups of candidate DCQCN parameters can be obtained after multiple rounds of adjustment.
[0133] In this step, the network performance function value of the RDMA network when the RDMA network works under each set of candidate DCQCN parameters can be obtained, as shown in formula (2).
[0134] U=ω1·O TP +ω2·O RTT +ω3·O PFC (2)
[0135] In formula (2), O TP , O RTT and O PFCThey represent the normalized throughput, round-trip delay RTT and priority-based flow control PFC respectively, ω1+ω2+ω3=1.
[0136] Then, the maximum value of the network effectiveness function value is obtained, and the candidate DCQCN parameter corresponding to the maximum value is obtained as the target DCQCN parameter.
[0137] In one example, taking the simulated annealing search algorithm as an example, the basic parameters are first set including the number of simulated annealing rounds, initial temperature, end temperature and cooling rate; the input parameters are set including real-time network indicators and current flow size distribution; the output parameters are set including: DCQCN parameter set, including the switch side and the network card side, i.e., the node side;
[0138] The simulated annealing search algorithm search process includes:
[0139] a) When the current flow size distribution meets the preset trigger condition, the current flow size distribution is used as an input parameter, and the proportion of control states can be calculated to determine whether the RDMA network has more elephant flows or more mouse flows, and the maximum proportion can be obtained;
[0140] b) When mutating parameters in each round of simulated annealing, if the majority of flows are elephants, the simulated annealing search algorithm adjusts all DCQCN parameters in the throughput-friendly direction with probability η and in the delay-friendly direction with probability (1η); if the majority of flows are rats, the simulated annealing search algorithm adjusts all DCQCN parameters in the delay-friendly direction with probability η and in the throughput-friendly direction with probability (1-η);
[0141] c) The candidate DCQCN parameters obtained in each iteration will be sent to the nodes (i.e., network cards and switches), and wait for the flow size distribution of the next measurement cycle to conduct a new round of parameter search; the current temperature will drop after each round of search; if the current temperature is lower than the preset temperature threshold, the simulated annealing algorithm will exit and output a set of DCQCN parameters corresponding to the maximum network efficiency value of the RDMA network as the target DCQCN parameters, which will eventually be delegated to each node.
[0142] In step 33, the target DCQCN parameters are sent to each node of the RDMA network.
[0143] In this step, the target DCQCN parameters can be sent to each node of the RDMA network, thereby ensuring the maximum network performance of the RDMA network. When it is detected that the current flow size distribution meets the preset trigger condition again, the target DCQCN parameters are searched again.
[0144] Thus, this embodiment searches for target DCQCN parameters according to the current flow size distribution, which can reduce the degree of manual intervention, help reduce the time required for tuning, and improve tuning efficiency.
[0145] In this embodiment, based on the millisecond-level monitoring mechanism of the sketch data structure, the flow size distribution and real-time network indicators (such as throughput, RTT, and PFC, etc.) in the RDMA network can be accurately measured; when the flow size distribution meets the preset trigger conditions, the simulated annealing search algorithm can be started to search and tune the DCQCN parameters, and finally the target DCQCN parameters are searched to optimize the network transmission performance of the RDMA network.
[0146] Based on the DCQCN parameter tuning method of an RDMA network provided in an embodiment of the present disclosure, the present disclosure also provides a DCQCN parameter tuning device for an RDMA network, see Figure 8 , the device comprises:
[0147] The flow distribution acquisition module 81 is used to obtain the current flow size distribution of the RDMA network;
[0148] A target parameter acquisition module 82 is used for searching DCQCN parameters according to the current flow size distribution in response to the current flow size distribution satisfying a preset trigger condition, and obtaining target DCQCN parameters of the RDMA network; the target DCQCN parameters are used to maximize the network efficiency function value of the RDMA network;
[0149] The target parameter sending module 83 is used to send the target DCQCN parameters to each node of the RDMA network.
[0150] In one embodiment, the flow distribution acquisition module includes:
[0151] The packet marking submodule is used to insert each packet into the sketch data structure and mark it with TOS;
[0152] The flow state acquisition submodule is used to acquire the control state of each flow and obtain the flow size distribution of the RDMA network; the control state is used to represent the flow size state of the flow in each detection cycle.
[0153] In one embodiment, the flow state acquisition submodule includes:
[0154] A flow size acquisition unit, used to acquire, in a current detection period, a flow size of a current flow within a sliding window in the current detection period;
[0155] A sum acquisition unit, used to acquire the sum of flow sizes of the current detection cycle and the previous detection cycle;
[0156] An elephant flow state acquisition unit, configured to determine that the distribution type of the current flow is an elephant flow state when it is detected that the sum of the flow sizes is greater than or equal to a preset threshold;
[0157] A mouse flow state acquisition unit, configured to determine that the distribution type of the current flow is a mouse flow state when it is detected that the total flow size is less than the preset threshold and the sliding window is not filled with data in the current detection cycle;
[0158] A transition flow state acquisition unit, configured to determine that the distribution type of the current flow is a transition flow state when it is detected that the total flow size is less than the preset threshold and the sliding window is filled with data in the current detection cycle;
[0159] The current flow removal flow unit is used to remove the current flow from the flow size distribution when it is detected that there is a preset data packet in the sliding window within the current detection period.
[0160] In one embodiment, the target parameter acquisition module includes:
[0161] A target state acquisition submodule is used to determine the proportion of each control state according to the current flow size distribution, and obtain the target control state with the highest proportion;
[0162] A candidate parameter acquisition submodule, used to adjust the DCQCN parameters of the RDMA network according to the target control state to obtain candidate DCQCN parameters; the candidate DCQCN parameters are used to instruct the RDMA network to adjust the flow size distribution in a throughput-friendly or delay-friendly direction according to the proportion;
[0163] The parameter update submodule is used to update the current flow size distribution and re-search the DCQCN parameters when the current temperature after this round of adjustment is greater than the preset temperature threshold;
[0164] The target parameter acquisition submodule is used to stop searching for DCQCN parameters when the current temperature after this round of adjustment is less than or equal to the preset temperature threshold; obtain the network performance function value corresponding to each group of candidate DCQCN parameters, and determine the candidate DCQCN parameter corresponding to the maximum value of the grid performance function as the target DCQCN parameter.
[0165] In one embodiment, the candidate parameter acquisition submodule includes:
[0166] A first parameter adjustment unit is used for adjusting the DCQCN parameters of the RDMA network toward a throughput-friendly direction with a probability of a first proportion when the target control state is an elephant flow state, and adjusting the DCQCN parameters of the RDMA network toward a delay-friendly direction with a probability of a second proportion; the first proportion refers to the proportion of the elephant flow state, and the sum of the second proportion and the first proportion is 1;
[0167] The second parameter adjustment unit is used to adjust the DCQCN parameters of the RDMA network toward a delay-friendly direction with a probability of a third proportion when the target control state is a rat flow state, and to adjust the DCQCN parameters of the RDMA network toward a throughput-friendly direction with a probability of a fourth proportion; the third proportion refers to the proportion of the rat flow state, and the sum of the fourth proportion and the third proportion is 1.
[0168] In one embodiment, the target parameter acquisition submodule includes:
[0169] A network parameter acquisition unit, configured to acquire the throughput, round-trip delay, and priority-based flow control amount of the RDMA network when the RDMA network operates in each group of candidate DCQCN parameters;
[0170] The network performance function value acquisition unit is used to acquire a weighted sum of the throughput, the round-trip delay and the flow control amount as the network performance function value.
[0171] It should be noted that the device shown in this embodiment matches the contents of the method embodiment, and reference may be made to the contents of the above method embodiment, which will not be repeated here.
[0172] In some possible embodiments, a non-transitory computer-readable storage medium is provided. When an executable computer program in the storage medium is executed by a processor, the DCQCN parameter tuning method for the RDMA network as described above can be implemented.
[0173] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the disclosure disclosed herein. The present disclosure is intended to cover any variations, uses, or adaptations that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The description and examples are to be considered exemplary only, and the true scope and spirit of the present disclosure are indicated by the following claims.
[0174] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims
1. A DCQCN parameter tuning method for an RDMA network, characterized in that: The method comprises: Get the current flow size distribution of the RDMA network; In response to the current flow size distribution satisfying a preset trigger condition, searching for a DCQCN parameter according to the current flow size distribution to obtain a target DCQCN parameter of the RDMA network; the target DCQCN parameter is used to maximize a network efficiency function value of the RDMA network; The target DCQCN parameters are sent to each node of the RDMA network.
2. The method according to claim 1, characterized in that Get the current flow size distribution of the RDMA network, including: Insert each data packet into the sketch data structure and mark it with TOS; The control state of each flow is obtained to obtain the flow size distribution of the RDMA network; the control state is used to represent the flow size state of the flow in each detection cycle.
3. The method according to claim 2, characterized in that Get the control status of each flow, including: In the current detection period, the flow size of the current flow in the sliding window in the current detection period is obtained; Get the total flow size of the current detection cycle and the previous detection cycle; When it is detected that the sum of the flow sizes is greater than or equal to a preset threshold, determining that the distribution type of the current flow is an elephant flow state; When it is detected that the sum of the flow sizes is less than the preset threshold and the sliding window is not filled with data in the current detection cycle, determining that the distribution type of the current flow is a mouse flow state; When it is detected that the total of the flow sizes is less than the preset threshold and the sliding window is filled with data within the current detection period, determining that the distribution type of the current flow is a transition flow state; When it is detected that there is a preset data packet in the sliding window within the current detection period, the current flow is removed from the flow size distribution.
4. The method according to claim 1, characterized in that: Searching for DCQCN parameters according to the current flow size distribution to obtain target DCQCN parameters of the RDMA network includes: Determine the proportion of each control state according to the current flow size distribution, and obtain the target control state with the highest proportion; Adjusting the DCQCN parameters of the RDMA network according to the target control state to obtain candidate DCQCN parameters; the candidate DCQCN parameters are used to instruct the RDMA network to adjust the flow size distribution in a throughput-friendly or delay-friendly direction according to the proportion; When the current temperature after this round of adjustment is greater than the preset temperature threshold, the current flow size distribution is updated and the DCQCN parameters are searched again; When the current temperature after this round of adjustment is less than or equal to the preset temperature threshold, stop searching for DCQCN parameters; obtain the network performance function values corresponding to each group of candidate DCQCN parameters, and determine the candidate DCQCN parameters corresponding to the maximum value of the grid performance function as the target DCQCN parameters.
5. The method according to claim 4, characterized in that Adjusting the DCQCN parameters of the RDMA network according to the target control state to obtain candidate DCQCN parameters includes: When the target control state is the elephant flow state, the DCQCN parameters of the RDMA network are adjusted toward a throughput-friendly direction with a probability of a first proportion, and the DCQCN parameters of the RDMA network are adjusted toward a delay-friendly direction with a probability of a second proportion; the first proportion refers to the proportion of the elephant flow state, and the sum of the second proportion and the first proportion is 1; When the target control state is a rat flow state, the DCQCN parameters of the RDMA network are adjusted toward a delay-friendly direction with a probability of a third proportion, and the DCQCN parameters of the RDMA network are adjusted toward a throughput-friendly direction with a probability of a fourth proportion; the third proportion refers to the proportion of the rat flow state, and the sum of the fourth proportion and the third proportion is 1.
6. The method according to claim 4, characterized in that Obtain the network performance function values corresponding to each set of candidate DCQCN parameters, including: When the RDMA network operates in each group of candidate DCQCN parameters, the throughput, round-trip delay, and priority-based flow control amount of the RDMA network are obtained; A weighted sum of the throughput, the round-trip delay, and the flow control amount is obtained as the network performance function value.
7. A DCQCN parameter tuning device for an RDMA network, characterized in that: The device comprises: The flow distribution acquisition module is used to obtain the current flow size distribution of the RDMA network; A target parameter acquisition module, configured to, in response to the current flow size distribution satisfying a preset trigger condition, search for a DCQCN parameter according to the current flow size distribution to obtain a target DCQCN parameter of the RDMA network; the target DCQCN parameter is used to maximize the network efficiency function value of the RDMA network; The target parameter sending module is used to send the target DCQCN parameters to each node of the RDMA network.
8. The device according to claim 7, characterized in that The flow distribution acquisition module includes: The packet marking submodule is used to insert each packet into the sketch data structure and mark it with TOS; The flow state acquisition submodule is used to acquire the control state of each flow and obtain the flow size distribution of the RDMA network; the control state is used to represent the flow size state of the flow in each detection cycle.
9. An RDMA network, characterized in that: It includes multiple nodes and a central controller; the central controller includes a processor and a memory; The memory is used to store a computer program executable by the processor; The processor is used to execute the computer program in the memory to implement the method according to any one of claims 1 to 6 to control the data flow of multiple nodes.
10. A non-transitory computer-readable storage medium, characterized in that: When the executable computer program in the storage medium is executed by a processor, the method according to any one of claims 1 to 6 can be implemented.