Cluster power consumption adjustment method and electronic device
Patent Information
- Application Number
- CN202611142944.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-30
- Publication Date
- 2026-10-16
- Estimated Expiration
- 2046-07-30
AI Technical Summary
[0003]本申请提供了一种集群功耗调节方法及电子设备,以至少解决相关技术中供电支路的支路功耗在短时间内快速变化,导致供电的安全性和稳定性较低的问题
[0009] This application improves the stability and security of the power supply branch by acquiring power adjustment data from multiple nodes, generating power adjustment requests based on the power adjustment data, historical action response records, preset constraints, and preset adjustment actions, and determining the pending power adjustment requests and remaining power adjustment requests for each adjustment batch based on the predicted power change of each power adjustment request in the same power supply branch and the preset power change carrying capacity of the power supply branch. After responding to the pending power adjustment requests, the actual power change is obtained, and the remaining power adjustment requests are redistributed to the adjustment batches in conjunction with the preset power change carrying capacity until all power adjustment requests are responded to. By predicting the power change and the preset power change carrying capacity, the power adjustment requests are reasonably allocated to each adjustment batch, and subsequent adjustment batches are dynamically adjusted based on the actual power change.
Smart Images

Figure CN122672646B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer technology, and more specifically to a cluster power consumption adjustment method and electronic device. Background Technology
[0002] In real-world data center deployments, server clusters consist of multiple electronic nodes, such as compute nodes, switching nodes, and storage nodes. These electronic nodes typically share the same power supply branch, each with a power consumption limit. The power consumption of a server node is determined by the electrical energy consumed by components such as the CPU, memory, disk, and network interfaces during operation. The sum of the power consumption of all server nodes on the power supply branch is the real-time power consumption of that branch. In related technologies, server cluster power consumption adjustment typically employs methods such as fixed delays, random peak shifting, or grouping by node number. This can lead to server nodes with significant power consumption fluctuations existing in the same group, causing rapid changes in the power supply branch's power consumption within a short period, exceeding the branch's power consumption limit and reducing power supply stability and security. Summary of the Invention
[0003] This application provides a cluster power consumption regulation method and electronic device to at least solve the problem in the related art where the power consumption of the power supply branch changes rapidly in a short period of time, resulting in low power supply security and stability.
[0004] This application provides a method for regulating cluster power consumption, including: Acquire power consumption adjustment data from multiple nodes; For any given node, a power adjustment request is generated based on power adjustment data, historical action response records, preset constraints, and preset adjustment actions. Based on the predicted power change represented by multiple power adjustment requests generated by multiple nodes connected to the power supply branch, and the preset power change carrying capacity of the power supply branch, determine the power adjustment requests to be responded to and the remaining power adjustment requests in the current adjustment batch. Responding to pending power consumption adjustment requests, obtain the actual power consumption change of the node corresponding to each pending power consumption adjustment request; Based on the actual power consumption change of each node, the preset power consumption change capacity of the power supply branch, and the predicted power consumption change represented by the remaining power consumption adjustment request, the remaining power consumption adjustment request is filtered to obtain the actual power consumption change of the node corresponding to each power consumption adjustment request. This process continues until all power consumption adjustment requests are responded to.
[0005] This application also provides a cluster power consumption adjustment device, including: The acquisition module is used to acquire power consumption adjustment data from multiple nodes; The request generation module is used to generate a power consumption adjustment request for any node based on power consumption adjustment data, historical action response records, preset constraints, and preset adjustment actions. The determination module is used to determine the pending power adjustment requests and remaining power adjustment requests in the current adjustment batch based on the predicted power change represented by multiple power adjustment requests generated by multiple nodes connected to the power supply branch, and the preset power change carrying capacity of the power supply branch. The response module is used to respond to the power consumption adjustment requests to be responded to and to obtain the actual power consumption change of the node corresponding to each power consumption adjustment request to be responded to. The filtering module is used to filter the remaining power adjustment requests based on the actual power consumption change of each node, the preset power consumption change capacity of the power supply branch, and the predicted power consumption change represented by the remaining power consumption adjustment request. The process then returns to responding to the remaining power consumption adjustment requests and obtains the actual power consumption change of the node corresponding to each remaining power consumption adjustment request, until all power consumption adjustment requests are responded to.
[0006] This application also provides an electronic device, including: a memory for storing a computer program; and a processor for implementing the steps of any of the above-described cluster power consumption regulation methods when executing the computer program.
[0007] This application also provides a computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, it implements the steps of any of the above-described cluster power consumption adjustment methods.
[0008] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of any of the above-described cluster power consumption adjustment methods.
[0009] This application improves the stability and security of the power supply branch by acquiring power adjustment data from multiple nodes, generating power adjustment requests based on the power adjustment data, historical action response records, preset constraints, and preset adjustment actions, and determining the pending power adjustment requests and remaining power adjustment requests for each adjustment batch based on the predicted power change of each power adjustment request in the same power supply branch and the preset power change carrying capacity of the power supply branch. After responding to the pending power adjustment requests, the actual power change is obtained, and the remaining power adjustment requests are redistributed to the adjustment batches in conjunction with the preset power change carrying capacity until all power adjustment requests are responded to. By predicting the power change and the preset power change carrying capacity, the power adjustment requests are reasonably allocated to each adjustment batch, and subsequent adjustment batches are dynamically adjusted based on the actual power change. Attached Figure Description
[0010] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0011] Figure 1 This is a schematic diagram of the cluster power consumption regulation system on which the embodiments of this application are based; Figure 2 A schematic flowchart illustrating the cluster power consumption adjustment method provided in this application embodiment; Figure 3 A schematic diagram of an exemplary cluster power consumption regulation system provided in this application embodiment; Figure 4 A flowchart illustrating an exemplary cluster power consumption adjustment method provided in this application embodiment; Figure 5 This is a schematic diagram of the cluster power consumption adjustment device provided in the embodiments of this application; Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0012] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.
[0013] It should be noted that, in the description of this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. The terms "first," "second," etc., in this application are used to distinguish similar objects and are not used to describe a specific order or sequence.
[0014] With the rapid development of cloud computing and big data technologies, the scale of data centers is growing exponentially. The high energy consumption associated with them has become a key bottleneck restricting the green and sustainable development of the industry. In order to reduce operating costs and meet carbon emission standards, energy efficiency optimization technology for server clusters has become a research hotspot.
[0015] Current server cluster power consumption adjustment typically involves directly implementing operations such as frequency reduction and core hibernation based on CPU utilization, node power consumption, or fixed thresholds. This fails to reflect the actual impact of the same adjustment action on request tail latency under different business loads, easily leading to insufficient energy saving or excessive service latency. On the other hand, when multiple server nodes within the same power supply branch simultaneously enter a low-power state at similar times, the branch power may change rapidly within a short period. Related technologies usually employ fixed delays, random peak shifting, or grouping by the number of nodes, but these methods do not consider the actual power changes of each adjustment action, nor can they dynamically adjust subsequent batches based on the measured results of the previous batch. Therefore, the adjustment accuracy and power supply stability still need improvement.
[0016] To address the aforementioned technical problems, this application provides a cluster power consumption regulation method and electronic device. The method includes: acquiring power consumption regulation data from multiple nodes; for any given node, generating a power consumption regulation request based on the power consumption regulation data, historical action response records, preset constraints, and preset regulation actions; determining the pending power consumption regulation requests and remaining power consumption regulation requests in the current regulation batch based on the predicted power consumption change represented by multiple power consumption regulation requests generated by multiple nodes connected to the power supply branch, and the preset power consumption change carrying capacity of the power supply branch; responding to the pending power consumption regulation requests to obtain the actual power consumption change of the node corresponding to each pending power consumption regulation request; filtering the pending power consumption regulation requests from the remaining power consumption regulation requests based on the actual power consumption change of each node, the preset power consumption change carrying capacity of the power supply branch, and the predicted power consumption change represented by the remaining power consumption regulation requests, returning to the step of responding to the pending power consumption regulation requests to obtain the actual power consumption change of the node corresponding to each pending power consumption regulation request, until all power consumption regulation requests have been responded to. The method provided by the above scheme improves the stability and security of the power supply branch by acquiring power consumption adjustment data from multiple nodes, generating power consumption adjustment requests based on the power consumption adjustment data, historical action response records, preset constraints, and preset adjustment actions, determining the pending power consumption adjustment requests and remaining power consumption adjustment requests for each adjustment batch based on the predicted power consumption change of each power consumption adjustment request for the same power supply branch and the preset power consumption change capacity of the power supply branch, responding to the pending power consumption adjustment requests, obtaining the actual power consumption change, and redistributing the remaining power consumption adjustment requests to the adjustment batches in conjunction with the preset power consumption change capacity until all power consumption adjustment requests are responded to. By predicting the power consumption change and the preset power consumption change capacity, the power consumption adjustment requests are reasonably allocated to each adjustment batch, and subsequent adjustment batches are dynamically adjusted based on the actual power consumption change.
[0017] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0018] The specific application environment architecture or specific hardware architecture on which the cluster power consumption adjustment method depends is described here.
[0019] First, the structure of the cluster power consumption regulation system based on this application will be described: The cluster power consumption adjustment method, apparatus, electronic device, and storage medium provided in this application are applicable to dynamically adjusting the power consumption of nodes in a server cluster. Figure 1 The diagram shows the structure of the cluster power consumption adjustment system based on the embodiments of this application. It mainly includes the node to be adjusted, a data acquisition device, and a cluster power consumption adjustment device. The data acquisition device is used to acquire power consumption adjustment data from multiple nodes, and the cluster power consumption adjustment device is used to dynamically adjust the power consumption of nodes in the server cluster based on the cluster power consumption adjustment method provided in the embodiments of this application.
[0020] This application provides a cluster power consumption adjustment method for dynamically adjusting the power consumption of nodes in a server cluster. The execution subject of this application embodiment is an electronic device, such as a server, desktop computer, laptop computer, tablet computer, or other electronic devices that can be used for cluster power consumption adjustment.
[0021] like Figure 2 The diagram shown is a flowchart illustrating a cluster power consumption adjustment method provided in an embodiment of this application. The method includes: Step 201: Obtain power consumption adjustment data for multiple nodes.
[0022] Specifically, a server cluster consists of multiple electronic nodes, such as compute nodes, switching nodes, and storage nodes. Compute nodes include servers, switching nodes include switches, and storage nodes include storage servers.
[0023] In one implementation, taking a computing node in an electronic node as an example, the power consumption adjustment data includes CPU utilization, CPU frequency, node power consumption, request queue length, and request tail latency. The request tail latency characterizes the response latency value of the last request within the sampling period, typically represented by the P99 request latency. The computing node periodically reads CPU utilization, current CPU frequency, and request queue length from the operating system performance interface, reads the request tail latency from the service monitoring interface, and reads the actual power consumption of the node through the BMC power consumption interface. The power consumption adjustment data is then matched according to timestamps, and data collected within the same statistical period are grouped into a set of power consumption adjustment data.
[0024] In one embodiment, CPU utilization, CPU frequency, and request queue length are collected every 200ms, while request tail latency and node power consumption are collected every 1s. The collection period for different data can be adjusted according to the refresh rate of the operating system monitoring interface, business monitoring interface, and BMC power consumption interface, and different collection frequencies can be used.
[0025] Correspondingly, by periodically collecting power consumption adjustment data, the current operating status of computing nodes can be perceived in real time, providing a reference for determining historical action response records.
[0026] Step 202: For any node, generate a power consumption adjustment request based on power consumption adjustment data, historical action response records, preset constraints, and preset adjustment actions.
[0027] Specifically, for any preset power consumption adjustment action, the compute node searches for historical sample records in the historical action response records based on the node operating status represented by the power consumption adjustment data. Based on the power consumption change represented by the historical sample records and the predicted request delay change, the target adjustment action is determined among multiple preset adjustment actions. Then, based on the target adjustment action, a power consumption adjustment request is generated, and the compute node sends the power consumption adjustment request to the cluster controller.
[0028] Correspondingly, by recording historical action responses, computing nodes can predict the execution results of preset adjustment actions based on action response records of similar operating states.
[0029] Step 203: Based on the predicted power change represented by multiple power adjustment requests generated by multiple nodes connected to the power supply branch, and the preset power change carrying capacity of the power supply branch, determine the pending power adjustment requests and remaining power adjustment requests of the current adjustment batch.
[0030] Specifically, the cluster controller receives power adjustment requests sent by the computing nodes. Based on the preset power change capacity of the power supply branch and the predicted power change represented by each power adjustment request, the power adjustment requests are arranged into one or more adjustment batches. The power adjustment requests executed in the adjustment batch are the pending power adjustment requests, and the power adjustment requests not executed in the adjustment batch are the remaining power adjustment requests.
[0031] Accordingly, based on the predicted power change represented by the power adjustment request and the preset power change carrying capacity of the power supply branch, each power adjustment request can be reasonably arranged into different adjustment batches to avoid all power adjustment requests responding at the same time, which would cause the power of the power supply branch to suddenly increase or decrease significantly, thus reducing the stability of the power supply branch.
[0032] Step 204: Respond to the pending power consumption adjustment requests and obtain the actual power consumption change of the node corresponding to each pending power consumption adjustment request.
[0033] Specifically, after receiving the batch of adjustment actions, the compute node executes the corresponding target adjustment action through the CPU frequency control interface provided by the operating system. When the target adjustment action only reduces the CPU frequency by one level, the compute node sets an observation time after the frequency reduction is completed to obtain the corresponding actual power consumption change.
[0034] Step 205: Based on the actual power consumption change of each node, the preset power consumption change capacity of the power supply branch, and the predicted power consumption change represented by the remaining power consumption adjustment request, filter the remaining power consumption adjustment requests to be responded to, return to the step of responding to the remaining power consumption adjustment requests, and obtain the actual power consumption change of the node corresponding to each remaining power consumption adjustment request, until all power consumption adjustment requests are responded to.
[0035] Specifically, for any given adjustment batch, the cluster controller obtains the actual power consumption change of each node in the current adjustment batch of the power supply branch, thus obtaining the total actual power consumption change. Based on the difference between the total actual power consumption change and the preset power consumption change capacity of the power supply branch, the controller reschedules the remaining power consumption adjustment requests that have not yet been executed into a new adjustment batch. That is, it filters out pending power consumption adjustment requests and remaining power consumption adjustment requests from other adjustment batches from the remaining power consumption adjustment requests. When the total actual power consumption change is greater than the predicted power consumption change of the current adjustment batch, the number of power consumption adjustment requests scheduled in the next adjustment batch is reduced. When the total actual power consumption change is less than or equal to the predicted power consumption change, some power consumption adjustment requests that were executed in later adjustment batches are brought forward to the next adjustment batch. The cluster controller can obtain the actual power consumption change from the Power Distribution Unit (PDU), the rack power distribution unit, or the computing node power consumption monitoring interface.
[0036] Accordingly, after the current adjustment batch is completed, the cluster controller adjusts according to the actual total power consumption change of the power supply branch, realizing the dynamic adjustment of power consumption adjustment requests. This makes the power consumption adjustment requests in each adjustment batch more consistent with the actual state of the power supply branch, thereby improving the stability and security of the power supply branch.
[0037] Based on the above embodiments, as one implementable approach, in one embodiment, for any node, a power consumption adjustment request is generated according to power consumption adjustment data, historical action response records, preset constraints, and preset adjustment actions, including: Step 2021: For any node, determine the performance status data and service status data based on the power consumption adjustment data; Step 2022: Based on performance status data, business status data, historical action response records, and preset constraints, determine the target adjustment action from the preset adjustment actions; Step 2023: Determine the predicted power consumption change based on the target adjustment action; Step 2024: Generate a power consumption adjustment request based on the target adjustment action, the predicted power consumption change, and the power supply information of the power supply branch to which the node belongs.
[0038] Specifically, performance status data includes CPU utilization, CPU frequency, and node power consumption, while service status data includes request queue length and request tail latency. Compute nodes store historical action response records corresponding to power adjustment actions, generating historical action response records. These records include runtime status data before the preset adjustment action was executed, the service type, the executed adjustment action, the adjustment magnitude, and the power consumption change and predicted request latency change after the action. Preset power adjustment actions include reducing CPU frequency, reducing the number of active cores, or putting idle cores into a deeper idle state.
[0039] The correspondence between computing nodes and power supply branches is determined based on at least one of the following: the rack where the computing node is located, the rack's power distribution unit, and the PDU output port. Multiple computing nodes typically share the same power supply branch. The allowable power variation of a power supply branch within a control cycle is preset based on the branch's rated capacity, current power load, and historical power fluctuation range. In other words, the power supply branch has a power consumption capacity limit, which serves as the preset power variation capacity. When the current power load of a power supply branch approaches its rated capacity, the allowable power increase is reduced. When the power supply branch is under low load, the power decrease caused by multiple computing nodes simultaneously entering a low-power state within the same control cycle is still limited.
[0040] For any computing node, a preset adjustment action is determined based on the frequency adjustment level supported by the hardware, serving as a candidate adjustment action. The predicted request latency is determined based on the predicted request latency change after the preset adjustment action is executed, as represented by historical sample records, and the request tail latency represented by the current node's business status data. If the predicted request latency is less than or equal to the upper limit of the business latency, the preset adjustment action is determined to satisfy the preset constraint condition. The target adjustment action is determined from multiple preset adjustment actions based on the predicted request latency.
[0041] Based on historical action response records, the power consumption change of the target adjustment action is determined as the predicted power consumption change after executing the target adjustment action. Based on the target adjustment action, the predicted power consumption change, and the power supply information of the power supply branch to which the node belongs, a power consumption adjustment request is generated, and the compute node sends the power consumption adjustment request to the cluster controller. The power consumption adjustment request also includes the compute node identifier and the PDU output branch identifier to which the compute node belongs. After sending the power consumption adjustment request, the compute node waits for the cluster controller to return the execution batch of adjustment. When executing the corresponding adjustment batch, the compute node responds to the power consumption adjustment request.
[0042] In some alternative implementations, step 2022 above includes: Step a1: Based on the performance status data and business status data, determine at least one historical sample record corresponding to a preset adjustment action in the historical action response record; Step a2: For any preset adjustment action, determine the predicted change in request delay based on historical sample records; Step a3: Determine the predicted request latency based on the predicted change in request latency and the request latency represented by the business status data; Step a4: Based on preset constraints and at least one predicted request delay, determine the target adjustment action among at least one preset adjustment action.
[0043] Specifically, the request latency is determined by the request tail latency represented by business status data. For any preset adjustment action, based on the current performance status data and business status data of the computing node, at least one record similar to the current state is searched in the historical action response records and used as a historical sample record.
[0044] When searching for historical records similar to the current state, first filter historical records carrying the same service type, then compare CPU utilization, request queue length, and request tail latency. Records with CPU utilization less than a preset utilization threshold, request queue length less than a preset queue length threshold, and request tail latency less than or equal to a preset latency threshold can be considered similar. When multiple similar records exist, determine the predicted power consumption change and predicted request latency change represented by each similar record. Action response records marked with abnormal actions are not used as the basis for implementing larger-scale similar adjustment actions by the computing node. The preset utilization threshold, preset queue length threshold, and preset latency threshold can be adjusted according to the fluctuations of the services carried by the computing node.
[0045] Determine the predicted request latency change in the historical sample records, average at least one predicted request latency change in the historical sample records, and determine the predicted request latency after performing the preset adjustment action based on the request latency represented by the computing node business status data and the averaged predicted request latency change.
[0046] The preset constraint is to determine whether the predicted request latency after executing the preset adjustment action is less than or equal to the service latency limit of the corresponding computing node. If the predicted request latency is greater than the service latency limit, the corresponding preset adjustment action does not meet the preset constraint. If the predicted request latency is less than or equal to the service latency limit, the corresponding preset adjustment action meets the preset constraint, and thus the corresponding preset adjustment action is determined to be the target adjustment action.
[0047] Correspondingly, by determining the target adjustment action through historical sample records, the repeated changes in the node's operating status caused by the node performing tentative adjustments are avoided, thus improving the efficiency and accuracy of determining the adjustment action.
[0048] Specifically, in one embodiment, a computing node running a Web request processing service is used as an example. The processor used by the computing node supports five CPU frequency levels: 1.2GHz, 1.5GHz, 1.8GHz, 2.1GHz, and 2.4GHz. The Web service being run specifies that the P99 request latency must not exceed 120ms.
[0049] At a certain moment, the node monitoring program detected that the current CPU frequency of this compute node was 2.4GHz, the CPU utilization was 46%, the request queue length was 21, the P99 request latency was 74ms, and the actual power consumption of the node was 292W. Based on the current service type, CPU utilization, request queue length, and P99 request latency, the node monitoring program searched for records similar to the current operating state in the historical action response records saved on this node.
[0050] Historical action response records with the same business type, CPU utilization difference not exceeding 8 percentage points, request queue length difference not exceeding 10, and request tail latency difference not exceeding 15ms are considered similar records. The above matching range can be adjusted based on fluctuations in the business carried by the computing node.
[0051] Suppose that in the historical action response records, the node monitoring program obtains four historical sample records that are similar to the current running state. All four records are preset adjustment actions, namely, reducing the CPU frequency from 2.4GHz to 2.1GHz. The node power consumption reduction after the action is executed is 20W, 24W, 22W and 22W respectively, and the P99 request latency change is 4ms, 6ms, 5ms and 5ms respectively.
[0052] The node monitoring program determined that after reducing the CPU frequency from 2.4GHz to 2.1GHz, the node power consumption is expected to decrease by about 22W, and the average change in P99 request latency is expected to be about 5ms. The current P99 request latency is 74ms, and the predicted request latency is 79ms, which is lower than the upper limit of 120ms for service latency. Therefore, reducing the CPU frequency from 2.4GHz to 2.1GHz is determined as the target adjustment action.
[0053] Based on the above embodiments, as an implementable approach, in one embodiment, the power adjustment requests to be responded to and the remaining power adjustment requests in the current adjustment batch are determined according to the predicted power change represented by multiple power adjustment requests generated by multiple nodes connected to the power supply branch, and the preset power change carrying capacity of the power supply branch, including: Step 2301: For any power consumption adjustment request, determine a new total predicted power consumption change based on the predicted power consumption change represented by the power consumption adjustment request and the total predicted power consumption change of the current adjustment batch. Step 2302: If the new predicted total power consumption change is less than or equal to the preset power consumption change capacity of the power supply branch, determine the power consumption adjustment request as the power consumption adjustment request to be responded to in the current adjustment batch. Step 2303: If the new predicted total power consumption change is greater than the preset power consumption change capacity of the power supply branch, determine the power consumption adjustment request as the remaining power consumption adjustment request of the current adjustment batch.
[0054] Specifically, the cluster controller receives power adjustment requests from compute nodes, categorizes these requests according to power supply branch identifiers, and assigns them to one or more adjustment batches based on the preset power change capacity of each power supply branch. For any given power supply branch, the cluster controller can sequentially add the predicted power change represented by the current power adjustment request to the total predicted power change of the current adjustment batch, following the order in which the requests were received. If the new predicted power change is less than or equal to the preset power change capacity of the power supply branch, the power adjustment request is added to the current adjustment batch; that is, the request becomes the pending power adjustment request for the current batch. If the new predicted power change is greater than the preset power change capacity of the power supply branch, a new adjustment batch is created, and the power adjustment request and subsequent requests are sequentially assigned to this new batch. This process is repeated until all power adjustment requests are assigned to their respective batches, resulting in multiple adjustment batches, each containing the corresponding power adjustment request. Power adjustment requests assigned to the current adjustment batch are considered pending power adjustment requests, while those not assigned to the current adjustment batch are considered remaining power adjustment requests. For power adjustment requests with a waiting time exceeding a set time, their execution order is increased without exceeding the preset power change capacity of the power supply branch. Furthermore, the preset power change capacity of the power supply branch includes an upper limit and a lower limit.
[0055] Accordingly, by setting the upper and lower limits of the preset power consumption change capacity, when the power supply branch is in a high load state or a low load state, it is prevented that multiple computing nodes simultaneously enter a high power consumption state or a low power consumption state, which would cause the power supply branch power to change significantly in a short period of time.
[0056] Based on the above embodiments, as one implementable approach, in one embodiment, responding to a power consumption adjustment request and obtaining the actual power consumption change of the node corresponding to each power consumption adjustment request includes: Step 2041: Determine the first adjustment frequency based on the target adjustment action of the node corresponding to the power consumption adjustment request to be responded to; Step 2042: Adjust the node according to the first adjustment frequency to obtain the actual change in request latency and the length of the request queue within the preset period after adjustment. Step 2043: Determine the second adjustment frequency if the actual change in request latency and the length of the request queue meet the preset frequency reduction conditions; Step 2044: Adjust the node according to the second adjustment frequency to obtain the actual power consumption change.
[0057] Specifically, based on performance status data, the current CPU frequency of the computing node is determined. According to the target adjustment frequency represented by the target adjustment action, the adjustment range is divided into multiple adjustment frequency levels according to the frequency adjustment levels supported by the hardware. Among these multiple adjustment frequencies, the adjustment frequency level closest to the current CPU frequency is selected and used as the first adjustment frequency. The node is adjusted according to the first adjustment frequency to obtain the actual change in request latency and the request queue length within a preset period after adjustment. Based on the actual change in request latency and the request latency represented by the service status data, the actual request latency is determined. If the actual request latency is less than or equal to the node's preset backoff threshold and the request queue length is stable, the preset frequency reduction condition is met. The node continues to be adjusted according to the adjustment frequency represented by the next adjustment frequency level, i.e., the node is adjusted according to the second adjustment frequency, until the target adjustment frequency represented by the target adjustment action is reached, obtaining the actual power consumption change after the adjustment. If the actual request latency exceeds the node's preset backoff threshold, or the request queue length continuously increases, the adjustment stops, and the system returns to the previous stable control state.
[0058] Specifically, in one embodiment, after receiving the execution batch, the computing node performs the corresponding adjustment action through the CPU frequency control interface provided by the operating system. When the target adjustment action only reduces the CPU frequency by one level, the computing node sets an observation time after the frequency reduction is completed, and continues to collect the request tail delay and request queue length during the observation time.
[0059] Taking a CPU frequency reduction from 2.4GHz to 2.1GHz as an example, a 1-second observation period is set. If the P99 request latency is less than or equal to a preset backoff threshold within the observation period, and the request queue length does not increase continuously, the preset frequency reduction condition is met, and 2.1GHz is set as the new stable control state. If the P99 request latency reaches 108ms, or the request queue length increases for three consecutive sampling periods, the node monitoring program restores the CPU frequency to 2.4GHz. The preset backoff threshold is less than the service latency limit. For example, if the service latency limit is 120ms, 108ms is set as the backoff value, allowing the compute node to return to its original control state before the P99 request latency reaches the service latency limit.
[0060] When the target adjustment action requires a continuous reduction of more than two CPU frequency levels, the compute node adopts a step-by-step adjustment method. For example, if the target frequency of the compute node is 1.8GHz, the CPU frequency is first reduced from 2.4GHz to 2.1GHz. After the observation time, when the actual request latency and request queue length meet the preset frequency reduction conditions, the CPU frequency is then reduced from 2.1GHz to 1.8GHz.
[0061] If the request queue length increases continuously after the second frequency reduction, and the computing node recovers to 2.1GHz, since 2.1GHz has been confirmed in the previous observation phase to be able to maintain normal service operation, 2.1GHz will be taken as the previous stable control state.
[0062] After the adjustment action is completed, the node monitoring program writes the actual change in power consumption and the actual change in request latency into the corresponding action response record. For example, if the CPU frequency is reduced from 2.4GHz to 2.1GHz, the actual node power consumption decreases by 24W, and the P99 request latency increases by 6ms, then this execution result is saved along with the running state before the action was executed.
[0063] When similar operating conditions occur subsequently, the node monitoring program can use the newly generated action response record along with the existing record to determine the target adjustment action. If the power consumption change or request latency change corresponding to the action response record deviates significantly from similar records, an anomaly flag can be set for that record, and it will not be used for subsequent action judgment.
[0064] Correspondingly, by adjusting in stages, the problem of sudden increases or decreases in actual power consumption and request latency due to large adjustment ranges is avoided, thus improving the stability and security of the power supply branch.
[0065] Specifically, in one embodiment, if the actual change in request latency and the length of the request queue do not meet the preset frequency reduction condition, the target adjustment action is determined to be an abnormal adjustment action, and the target adjustment action is marked as an abnormal adjustment action in the historical action response record.
[0066] Specifically, if the actual request latency after adjustment is greater than the node's preset fallback threshold, or if the request queue length continues to grow, the preset frequency reduction condition is not met, the target adjustment action is determined to be an abnormal adjustment action, and the target adjustment action is marked as an abnormal adjustment action in the historical action response record.
[0067] Correspondingly, if the preset frequency reduction conditions are not met at any frequency level, the power consumption adjustment action can be stopped in time and the system can be restored to a stable state, thus improving the stability of the adjustment process.
[0068] Specifically, in one embodiment, if no target adjustment action is matched in the historical action response record, the target adjustment action of the node is determined to be a preset trial adjustment action; responding to the pending power consumption adjustment request, the actual request delay change and request queue length of the preset trial adjustment action are obtained; if the actual request delay change and request queue length meet the preset frequency reduction condition, the action execution result is stored in the historical action response record; if the actual request delay change and request queue length do not meet the preset frequency reduction condition, the preset trial adjustment action is stopped.
[0069] Specifically, for newly launched computing nodes, or computing nodes that have switched to a new service type, if records similar to the current state cannot be found in the historical action response log, a preset trial adjustment action is executed on the computing node. This involves determining the frequency adjustment level with the smallest adjustment range based on the hardware's supported frequency adjustment levels, using the frequency corresponding to this adjustment level as the target adjustment frequency, and determining the node's preset trial adjustment action based on the target adjustment frequency. A power consumption adjustment request is then generated based on the preset trial adjustment action.
[0070] In response to a power consumption adjustment request, the system obtains the actual change in request latency after executing a preset trial adjustment action. Based on the actual change in request latency and the request latency represented by service status data, the system determines the actual request latency. If the actual request latency is less than or equal to the node's preset backoff threshold and the request queue length is stable, the preset frequency reduction condition is met, and the action execution result is stored in the historical action response record. If the actual change in request latency and the request queue length do not meet the preset frequency reduction condition, the preset trial adjustment action is stopped and revoked, restricting the computing node from executing adjustment actions with larger adjustment magnitudes again in the current operating state.
[0071] For example, if the current CPU frequency of a computing node is 2.4GHz, it first requests to reduce the CPU frequency to 2.1GHz. After the preset trial adjustment action is executed, an observation time of 1 to 2 seconds is set. If the node power consumption decreases and the requested latency change is less than or equal to the preset rollback threshold, the execution result of the preset trial adjustment action is saved. If the requested latency change is greater than the preset rollback threshold, the CPU frequency is restored to 2.4GHz, and similar frequency reduction actions with larger magnitudes are restricted under the current service type and current operating state.
[0072] Accordingly, by pre-setting trial adjustment actions, sudden increases or decreases in actual power consumption and request latency caused by blind adjustments are avoided, which could potentially exceed the preset power consumption change capacity of the power supply branch, thus improving the safety and stability of the power supply branch. Simultaneously, the execution results of the pre-set trial adjustment actions are stored in the historical action response record, providing a reference for subsequent similar adjustment actions.
[0073] Based on the above embodiments, as an implementable approach, in one embodiment, the remaining power adjustment requests are filtered for response based on the actual power consumption change of each node, the preset power consumption change capacity of the power supply branch, and the predicted power consumption change represented by the remaining power consumption adjustment request, including: Step 2051: Determine the total actual power consumption change of the current adjustment batch based on the actual power consumption change of each node. Step 2052: Determine the execution deviation value based on the actual total change in power consumption and the predicted total change in power consumption of the current adjustment batch; Step 2053: Determine the direction verification result of the current adjustment batch based on the actual change direction represented by the execution deviation value and the preset change direction represented by the total predicted power consumption change. Step 2054: If the direction verification result is consistent with the direction, then based on the execution deviation value, the preset power consumption change capacity of the power supply branch, and the predicted power consumption change represented by the remaining power consumption adjustment request, select new power consumption adjustment requests to be responded to in the current adjustment batch from the remaining power consumption adjustment requests.
[0074] Specifically, based on historical sample records, the predicted power consumption change corresponding to the target adjustment action is determined. For any adjustment batch, the total predicted power consumption change of the current adjustment batch is determined based on the predicted power consumption change of the target adjustment action at each node.
[0075] The adjustment batches are executed sequentially. For the current adjustment batch, after all the corresponding power consumption adjustment requests for the current adjustment batch have been executed, the actual power consumption change corresponding to each power consumption adjustment request is obtained. Based on the actual power consumption change, the total actual power consumption change of the current adjustment batch is determined.
[0076] Based on the actual total power consumption change and the predicted total power consumption change of the current adjustment batch, the execution deviation value is determined. Based on the actual change direction represented by the execution deviation value and the preset change direction represented by the predicted total power consumption change, the direction verification result of the current adjustment batch is determined. If the direction verification result is consistent, the pending power consumption adjustment requests and remaining power consumption adjustment requests in the next adjustment batch (the new current adjustment batch) are adjusted based on the execution deviation value, the preset power consumption change capacity of the power supply branch, and the predicted power consumption change represented by the remaining power consumption adjustment request. That is, in the remaining power consumption adjustment requests of the current adjustment batch, the pending power consumption adjustment requests and remaining power consumption adjustment requests of the next adjustment batch are re-selected.
[0077] Correspondingly, compared with methods based on fixed delay, random peak shifting, or grouping by the number of nodes, this method adjusts the pending power adjustment requests and remaining power adjustment requests in subsequent adjustment batches in real time based on the actual total power consumption change of the current adjustment batch and the preset power consumption change capacity of the power supply branch. This achieves dynamic allocation of power adjustment requests to corresponding adjustment batches, improving adjustment accuracy and power supply stability.
[0078] Specifically, in one embodiment, the control cycle of the PDU output branch is 500ms, and the preset power consumption change capacity allowed within one control cycle is 90W.
[0079] Assume that the other ten compute nodes on the same PDU output branch also send power adjustment requests to reduce frequency or decrease the number of active cores. The total predicted power change corresponding to the adjustment requests submitted by the eleven compute nodes is 236W. The cluster controller arranges execution batches according to the predicted power change corresponding to each adjustment request. Specifically, four compute nodes with a total predicted power change of 83W are assigned to the first execution batch, four compute nodes with a total predicted power change of 87W are assigned to the second execution batch, and the remaining three compute nodes are assigned to the third execution batch.
[0080] After the first batch of executions arrives, the corresponding four computing nodes execute the requested target adjustment actions respectively. After the actions are completed, the cluster controller obtains the total actual power consumption change of the power supply branch before and after the action execution, and finds that the total actual power consumption change of the power supply branch is a decrease of 98W.
[0081] The predicted total power consumption change for the first execution batch was 83W, while the actual total power consumption change was 98W. Since the actual total power consumption change was greater than the predicted total power consumption change, the cluster controller moved one of the compute nodes originally scheduled for the second execution batch to the third execution batch, reducing the predicted total power consumption change for the second execution batch from 87W to 64W.
[0082] After the second batch is completed, the cluster controller reads the total actual power consumption change of the power supply branch before and after the action is executed. If the difference between the total actual power consumption change and the total predicted power consumption change in the second batch is within the allowable range, the third batch is executed according to the adjusted batch schedule; if the total actual power consumption change is still significantly greater than the total predicted power consumption change, the number of computing nodes simultaneously executing the adjustment action in the third batch is further reduced.
[0083] Specifically, in one embodiment, if the direction verification result is that the directions are inconsistent, the power adjustment request that has not been executed in the power supply branch is suspended, and the process returns to the step of obtaining power adjustment data of multiple nodes.
[0084] Specifically, when the actual direction of change represented by the execution deviation value of the power supply branch is inconsistent with the preset direction of change represented by the total predicted power consumption change, for example, when a compute node requests to execute a frequency reduction action, but the actual power of the power supply branch increases after execution, the cluster controller suspends the adjustment requests that have not yet been executed in that power supply branch and requires the relevant compute nodes to re-report their current operating status. The reverse change in power supply branch power may be caused by a sudden increase in service requests, some compute nodes failing to complete adjustment actions, or abnormal power supply monitoring data. Before the cause is determined, the cluster controller stops executing subsequent adjustment requests in that power supply branch.
[0085] Specifically, in one embodiment, when the preset adjustment action targets the number of active cores, the node monitoring program first migrates the tasks carried by the hibernating cores to other active cores through the operating system scheduling interface, then reduces the number of active cores or increases the idle state depth of the corresponding cores. If the request queue continues to increase after the number of cores is reduced, some processor cores are reactivated. If the request queue still has not recovered, the number of active cores is restored to the level before the action was executed. The computing node records the historical wake-up time of processor cores in different idle states. When the growth rate of the current request queue number meets the wake-up condition within a predetermined time, the node monitoring program sends a wake-up command to the idle cores in advance, so that the idle cores recover to the executable state before the request queue reaches the wake-up condition.
[0086] Specifically, in one embodiment, when different computing nodes belong to different PDU output branches, each power supply branch can independently schedule the execution batch. For example, while the first PDU output branch is executing the first batch of frequency reduction actions, the second PDU output branch can simultaneously execute its own power consumption adjustment actions. The cluster controller separately calculates the total predicted power consumption change and the total actual power consumption change for each power supply branch.
[0087] For example, such as Figure 3The diagram shows an exemplary cluster power consumption regulation system provided in this application embodiment. The system includes a cluster controller, multiple computing nodes, and power monitoring devices for power supply branches. The cluster controller is communicatively connected to each computing node and the power monitoring devices for power supply branches. The power monitoring devices for power supply branches can be intelligent PDUs with power detection and communication functions, cabinet power distribution units, or power meters installed on power supply lines. The power monitoring devices for power supply branches are used to collect the actual power of the corresponding power supply branch and send the power data to the cluster controller. Each computing node is equipped with a node monitoring program, a historical action response record storage area, and a power consumption control interface. The node monitoring program can be a background service running in the operating system, or it can be implemented by the BMC in conjunction with the monitoring program in the operating system. The historical action response record storage area is used to store the running data of the computing node's historical power consumption regulation actions. The action response record storage area can be located in the non-volatile memory local to the computing node, or it can be located in a database that communicates with the node monitoring program.
[0088] The node monitoring program searches for similar action response records in the action response record storage area based on the current operating status of the compute nodes, and determines the predicted power consumption change and predicted request latency change of the target adjustment action based on the search results. When the predicted request latency change is less than or equal to the latency limit of the corresponding service, the node monitoring program generates a power consumption adjustment request and sends it to the cluster controller.
[0089] The power control interface is used to implement power adjustment actions of computing nodes. The power control interface may include the CPU frequency adjustment interface, processor core online status control interface, processor idle status control interface or BMC power control interface provided by the operating system.
[0090] The cluster controller maintains the mapping between compute nodes and power supply branches. This mapping can be composed of compute node identifiers, rack identifiers, PDU identifiers, and PDU output port identifiers. When the installation location of a compute node or the power supply connection changes, the mapping can be updated by maintenance personnel or synchronized to the cluster controller by the data center asset management system. Upon receiving an adjustment request, the cluster controller reads the compute node identifier, power supply branch identifier, target adjustment action, and predicted power consumption change from the request, and identifies power consumption adjustment requests belonging to the same power supply branch as a single set. The cluster controller sets a control period and a preset power consumption change allowance within each control period for each power supply branch. The cluster controller schedules multiple adjustment requests within the same power supply branch into one or more execution batches. The cumulative predicted power consumption change value corresponding to each adjustment request within the same execution batch does not exceed the preset power consumption change allowance for that power supply branch within a control period.
[0091] After an execution batch is formed, the cluster controller sends the execution time or execution batch identifier to the corresponding compute node. Once the corresponding execution batch arrives, the compute node performs the target adjustment action through the power consumption control interface.
[0092] During the execution of the target adjustment action, the node monitoring program continues to collect the actual change in request latency and the request queue length. If the actual change in request latency or the request queue length does not meet the preset frequency reduction condition, the node monitoring program controls the power consumption control interface to return to the control state before the adjustment action was executed, or to the previous stable control state.
[0093] After the batch execution is completed, the cluster controller reads the actual total power consumption change of the corresponding power supply branch from the power monitoring equipment of the power supply branch and compares the actual total power consumption change with the predicted total power consumption change of the batch execution. When the actual total power consumption change is greater than the predicted total power consumption change, the cluster controller reduces the number of adjustment requests scheduled in the next batch execution. When the actual total power consumption change is less than or equal to the predicted total power consumption change, the cluster controller can execute subsequent adjustment requests ahead of schedule, provided that the power consumption change does not exceed the allowable power change of the power supply branch.
[0094] When the actual power change direction is inconsistent with the expected power change direction, the cluster controller suspends the adjustment requests that have not yet been executed in the power supply branch, and queries the actual control status and node power consumption of the computing nodes that have executed the adjustment actions. After the changes in service load, the results of action execution, and the power monitoring status are confirmed, the subsequent execution batches will be rescheduled.
[0095] After a compute node completes its adjustment action, the node monitoring program writes the runtime data before and after the action to the historical action response record storage area. Each compute node's action response record can be stored locally or uploaded to the cluster controller. For compute nodes with the same processor model, memory configuration, and service type, the cluster controller can send the action response record generated by one compute node to other compute nodes as an initial reference. When other compute nodes use the received action response record, they first execute a trial action with the smallest adjustment range. When the actual execution result of the trial action is close to the execution result in the received action response record, that action response record is then used as a reference for subsequent adjustments by this node.
[0096] The cluster controller can be located on a standalone management server or run as part of a data center resource management platform. Node monitoring programs, batch scheduling programs, and historical action response record management programs can be implemented in software and stored in the computer-readable storage media of the corresponding devices. When the processor executes the program, it completes the acquisition of compute node operating status, matching of historical action response records, generation of power consumption adjustment requests, batching of adjustment requests, execution of adjustment actions, and subsequent batch adjustments.
[0097] For example, such as Figure 4 The diagram illustrates an exemplary cluster power consumption adjustment method provided in this application. It involves collecting the current operating status of computing nodes, searching for similar action response records in the action response record storage area, determining the predicted power consumption change of the target adjustment action based on the search results, and judging whether the predicted request latency change is less than or equal to the latency limit of the corresponding service. If not, a power consumption adjustment request is generated based on the target adjustment action, the predicted power consumption change, and the power supply information of the node's power supply branch. The cluster controller aggregates all power consumption adjustment requests from the same power supply branch and arranges multiple power consumption adjustment requests into one or more adjustment batches. Computing nodes adjust according to the target adjustment action within the current adjustment batch, obtaining the actual request latency change and the request queue length. If the actual request latency change and the request queue length meet a preset frequency reduction condition, the power consumption adjustment requests in subsequent adjustment batches are adjusted based on the total actual power consumption change corresponding to the current adjustment batch, and the execution result is written to the historical action response record. If the actual request latency change and the request queue length do not meet the preset frequency reduction condition, the control state is restored to that before the target adjustment action was executed.
[0098] Specifically, in one embodiment, since the operating states of computing nodes are similar in adjacent time periods and the states do not change drastically in a short period of time, the action response records within a preset time period in the historical action response records are stored in a cache. This allows the computing node to prioritize searching for records in the cache that are similar to the current state when querying. If the search in the cache fails, all historical action response records are searched. By pre-storing action response records within adjacent time periods in the cache, the search efficiency of the computing node is improved.
[0099] The cluster power consumption regulation method provided in this application includes: acquiring power consumption regulation data of multiple nodes; generating a power consumption regulation request for any node based on the power consumption regulation data, historical action response records, preset constraints, and preset regulation actions; determining the pending power consumption regulation requests and remaining power consumption regulation requests in the current regulation batch based on the predicted power consumption change represented by multiple power consumption regulation requests generated by multiple nodes connected to the power supply branch, and the preset power consumption change carrying capacity of the power supply branch; responding to the pending power consumption regulation requests to obtain the actual power consumption change of the node corresponding to each pending power consumption regulation request; filtering the pending power consumption regulation requests from the remaining power consumption regulation requests based on the actual power consumption change of each node, the preset power consumption change carrying capacity of the power supply branch, and the predicted power consumption change represented by the remaining power consumption regulation requests, and returning to the step of responding to the pending power consumption regulation requests to obtain the actual power consumption change of the node corresponding to each pending power consumption regulation request, until all power consumption regulation requests have been responded to. The method provided by the above scheme improves the stability and security of the power supply branch by acquiring power consumption adjustment data from multiple nodes, generating power consumption adjustment requests based on the power consumption adjustment data, historical action response records, preset constraints, and preset adjustment actions. It then determines the pending power consumption adjustment requests and remaining power consumption adjustment requests for each adjustment batch based on the predicted power consumption change of each power consumption adjustment request in the same power supply branch and the preset power consumption change capacity of the power supply branch. After responding to the pending power consumption adjustment requests, it obtains the actual power consumption change and, combined with the preset power consumption change capacity, redistributes the remaining power consumption adjustment requests to the adjustment batches until all power consumption adjustment requests are responded to. By predicting the power consumption change and the preset power consumption change capacity, power consumption adjustment requests are rationally allocated to each adjustment batch, and subsequent adjustment batches are dynamically adjusted based on the actual power consumption change. Furthermore, by periodically collecting power consumption adjustment data, the current operating status of computing nodes is monitored in real time, providing a reference for determining historical action response records. These historical action response records allow computing nodes to predict the execution results of preset adjustment actions based on action response records of similar operating states. Based on the predicted power consumption change represented by the power consumption adjustment request and the preset power consumption change capacity of the power supply branch, each power consumption adjustment request can be rationally arranged into different adjustment batches. This avoids simultaneous responses from all power consumption adjustment requests, which could lead to sudden and significant increases or decreases in the power supply branch's power, reducing its stability. After the current adjustment batch is completed, the cluster controller adjusts according to the actual total power consumption change of the power supply branch, achieving dynamic adjustment of power consumption adjustment requests. This makes the power consumption adjustment requests within each adjustment batch more consistent with the actual state of the power supply branch, improving its stability and security. Determining the target adjustment action through historical sample records avoids nodes performing tentative adjustments, which could lead to repeated changes in node operating states, improving the efficiency and accuracy of determining the adjustment action.By setting preset upper and lower limits for power consumption variation capacity, the system prevents multiple computing nodes from simultaneously entering high or low power consumption states when the power supply branch is under high or low load, thus avoiding large fluctuations in power supply branch power within a short period. The step-by-step adjustment method avoids sudden increases or decreases in actual power consumption and request latency due to large adjustment ranges, improving the stability and security of the power supply branch. If the preset frequency reduction condition is not met at any frequency level, the power consumption adjustment action can be stopped promptly, restoring the system to a stable state, improving the stability of the adjustment process. Preset trial adjustment actions prevent sudden increases or decreases in actual power consumption and request latency due to blind adjustments, which could potentially exceed the preset power consumption variation capacity of the power supply branch, further enhancing the security and stability of the power supply branch. Simultaneously, the execution results of the preset trial adjustment actions are stored in the historical action response record, providing a reference for subsequent similar adjustment actions. Compared to methods based on fixed delay, random peak shifting, or grouping by the number of nodes, this method dynamically allocates power adjustment requests to be responded to and remaining power adjustment requests in subsequent adjustment batches by adjusting the actual total power consumption change of the current adjustment batch and the preset power consumption change capacity of the power supply branch in real time. This improves the adjustment accuracy and power supply stability.
[0100] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method.
[0101] The embodiments of this application also provide a cluster power consumption adjustment device for performing the cluster power consumption adjustment method provided in the above embodiments.
[0102] like Figure 5 The diagram shown is a schematic representation of the cluster power consumption adjustment device provided in an embodiment of this application. The cluster power consumption adjustment device 50 includes: an acquisition module 501, a request generation module 502, a determination module 503, a response module 504, and a filtering module 505.
[0103] The system comprises the following modules: an acquisition module for acquiring power consumption adjustment data from multiple nodes; a request generation module for generating a power consumption adjustment request for any given node based on the power consumption adjustment data, historical action response records, preset constraints, and preset adjustment actions; a determination module for determining the pending power consumption adjustment requests and remaining power consumption adjustment requests in the current adjustment batch based on the predicted power consumption change represented by multiple power consumption adjustment requests generated by multiple nodes connected to the power supply branch, and the preset power consumption change capacity of the power supply branch; a response module for responding to pending power consumption adjustment requests and obtaining the actual power consumption change of the node corresponding to each pending power consumption adjustment request; and a filtering module for filtering pending power consumption adjustment requests from the remaining power consumption adjustment requests based on the actual power consumption change of each node, the preset power consumption change capacity of the power supply branch, and the predicted power consumption change represented by the remaining power consumption adjustment requests, returning to the step of responding to pending power consumption adjustment requests and obtaining the actual power consumption change of the node corresponding to each pending power consumption adjustment request, until all power consumption adjustment requests have been responded to.
[0104] Specifically, in one embodiment, the request generation module includes: The data determination submodule is used to determine performance status data and service status data for any node based on power consumption adjustment data. The action determination submodule is used to determine the target adjustment action from the preset adjustment actions based on performance status data, business status data, historical action response records and preset constraints. The predicted power consumption determination submodule is used to determine the predicted power consumption change based on the target adjustment action. The request generation submodule is used to generate a power adjustment request based on the target adjustment action, the predicted power consumption change, and the power supply information of the power supply branch to which the node belongs.
[0105] Specifically, in one embodiment, the action determination submodule is specifically used for: For any preset adjustment action, determine the change in request latency based on historical sample records; determine the predicted request latency based on the change in request latency and the request latency represented by business status data; and determine the target adjustment action among at least one preset adjustment action based on preset constraints and at least one predicted request latency.
[0106] Specifically, in one embodiment, the determining module is specifically used for: For any power consumption adjustment request, a new total predicted power consumption change is determined based on the predicted power consumption change represented by the power consumption adjustment request and the total predicted power consumption change of the current adjustment batch. If the new total predicted power consumption change is less than or equal to the preset power consumption change capacity of the power supply branch, the power consumption adjustment request is determined as a pending power consumption adjustment request of the current adjustment batch. If the new total predicted power consumption change is greater than the preset power consumption change capacity of the power supply branch, the power consumption adjustment request is determined as the remaining power consumption adjustment request of the current adjustment batch.
[0107] Specifically, in one embodiment, the filtering module is specifically used for: Based on the actual power consumption change of each node, determine the total actual power consumption change of the current adjustment batch; based on the total actual power consumption change and the total predicted power consumption change of the current adjustment batch, determine the execution deviation value; based on the actual change direction represented by the execution deviation value and the preset change direction represented by the total predicted power consumption change, determine the direction verification result of the current adjustment batch; if the direction verification result is consistent, based on the execution deviation value, the preset power consumption change capacity of the power supply branch, and the predicted power consumption change represented by the remaining power consumption adjustment request, select new power consumption adjustment requests to be responded to in the current adjustment batch from the remaining power consumption adjustment requests.
[0108] Specifically, in one embodiment, the filtering module is further configured to: If the direction verification result is inconsistent, pause the power adjustment requests that have not been executed in the power supply branch and return to the step of obtaining power adjustment data of multiple nodes.
[0109] Specifically, in one embodiment, the response module is specifically used for: Based on the target adjustment action of the node corresponding to the power consumption adjustment request to be responded to, a first adjustment frequency is determined; the node is adjusted according to the first adjustment frequency to obtain the change in request delay and the length of the request queue within a preset period after adjustment; if the change in request delay and the length of the request queue meet the preset frequency reduction condition, a second adjustment frequency is determined; the node is adjusted according to the second adjustment frequency to obtain the actual power consumption change.
[0110] Specifically, in one embodiment, the response module is further configured to: If the change in request latency and the length of the request queue do not meet the preset frequency reduction conditions, the target adjustment action is determined to be an abnormal adjustment action, and the target adjustment action is marked as an abnormal adjustment action in the historical action response record.
[0111] Specifically, in one embodiment, the request generation module is further configured to: If no target adjustment action is matched in the historical action response record, the target adjustment action of the node is determined to be the preset trial adjustment action; respond to the pending power consumption adjustment request and obtain the request delay change and request queue length of the preset trial adjustment action; if the request delay change and request queue length meet the preset frequency reduction condition, the action execution result is stored in the historical action response record; if the request delay change and request queue length do not meet the preset frequency reduction condition, the preset trial adjustment action is stopped.
[0112] For a description of the features in the embodiment corresponding to the cluster power consumption adjustment device, please refer to the relevant description of the embodiment corresponding to the cluster power consumption adjustment method, which will not be repeated here.
[0113] Embodiments of this application also provide an electronic device, such as... Figure 6 The diagram shown is a schematic diagram of the structure of an electronic device provided in an embodiment of this application, including a processor 10 and a memory 20. The memory 20 stores a computer program, and the processor 10 is configured to run the computer program to execute the steps in any of the above-described cluster power consumption regulation method embodiments.
[0114] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above-described embodiments of the cluster power consumption regulation method when running.
[0115] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.
[0116] Embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the above-described cluster power consumption regulation method embodiments.
[0117] Embodiments of this application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps in any of the above-described cluster power consumption regulation method embodiments.
[0118] Any of the components, modules, units, parts, methods, and operations described herein can be implemented using software, firmware, hardware (e.g., fixed logic circuitry), manual processing, or any combination thereof. Alternatively or additionally, any functionality described herein can be executed at least in part by one or more hardware logic components, such as, but not limited to, a central processing unit (CPU), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), an application-specific standard product (ASSP), a system-on-a-chip (SoC), a complex programmable logic device (CPLD), a microprocessor (MCU), etc. The terms "system," "computing device," or "apparatus" as used herein encompass various means, devices, and machines for processing data, including, for example, one or more programmable processors, computers, SoCs, or combinations thereof. The apparatus may also include code that creates an execution environment for the computer program in question, such as code constituting processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or one or more combinations thereof. The aforementioned computer program (also known as a program, software, software application, app, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and can be deployed in any form, including as a standalone program or as a module, component, subroutine, object, or other unit suitable for a computing environment.
[0119] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0120] The above provides a detailed description of a cluster power consumption adjustment method and electronic device provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only intended to help understand the method and core ideas of this application. It should be noted that those skilled in the art can make various improvements and modifications to this application without departing from its principles, and these improvements and modifications also fall within the protection scope of the claims of this application.
Claims
1. A method for adjusting cluster power consumption, characterized in that, The method includes: Acquire power consumption adjustment data from multiple nodes; For any node, a power consumption adjustment request is generated based on the power consumption adjustment data, historical action response records, preset constraints, and preset adjustment actions. Based on the predicted power change represented by multiple power adjustment requests generated by multiple nodes connected to the power supply branch, and the preset power change carrying capacity of the power supply branch, determine the power adjustment requests to be responded to and the remaining power adjustment requests in the current adjustment batch. In response to the pending power consumption adjustment requests, the actual power consumption change of the node corresponding to each pending power consumption adjustment request is obtained; Based on the actual power consumption change of each node, the preset power consumption change capacity of the power supply branch, and the predicted power consumption change represented by the remaining power consumption adjustment request, the remaining power consumption adjustment request is used to filter the power consumption adjustment requests to be responded to, and the process is repeated to obtain the actual power consumption change of the node corresponding to each power consumption adjustment request until all power consumption adjustment requests are responded to.
2. The cluster power consumption adjustment method according to claim 1, characterized in that, For any given node, generating a power consumption adjustment request based on the power consumption adjustment data, historical action response records, preset constraints, and preset adjustment actions includes: For any node, performance status data and service status data are determined based on the power consumption adjustment data; Based on the performance status data, business status data, historical action response records, and preset constraints, the target adjustment action is determined from the preset adjustment actions. Based on the target adjustment action, determine the predicted power consumption change; A power adjustment request is generated based on the target adjustment action, the predicted power consumption change, and the power supply information of the power supply branch to which the node belongs.
3. The cluster power consumption adjustment method according to claim 2, characterized in that, The step of determining the target adjustment action from the preset adjustment actions based on the performance status data, business status data, historical action response records, and preset constraints includes: Based on the performance status data and business status data, at least one historical sample record corresponding to a preset adjustment action is determined from the historical action response record. For any preset adjustment action, the predicted request delay change is determined based on the historical sample records; The predicted request latency is determined based on the predicted change in request latency and the request latency represented by the service status data. Based on preset constraints and at least one predicted request delay, a target adjustment action is determined among at least one preset adjustment action.
4. The cluster power consumption adjustment method according to claim 2, characterized in that, The step of responding to the power consumption adjustment requests to be responded to, and obtaining the actual power consumption change of the node corresponding to each power consumption adjustment request to be responded to, includes: The first adjustment frequency is determined based on the target adjustment action of the node corresponding to the power consumption adjustment request to be responded to; The node is adjusted according to the first adjustment frequency to obtain the actual change in request latency and the request queue length of the node within a preset period after adjustment. If the actual request delay change and the request queue length meet the preset frequency reduction conditions, a second adjustment frequency is determined; The node is adjusted according to the second adjustment frequency to obtain the actual power consumption change.
5. The cluster power consumption adjustment method according to claim 4, characterized in that, The method further includes: If the actual request latency change and the request queue length do not meet the preset frequency reduction conditions, the target adjustment action is determined to be an abnormal adjustment action, and the target adjustment action is marked as an abnormal adjustment action in the historical action response record.
6. The cluster power consumption adjustment method according to claim 2, characterized in that, The method further includes: If no target adjustment action is matched in the historical action response record, the target adjustment action of the node is determined to be a preset trial adjustment action; Responding to pending power consumption adjustment requests, we obtain the actual request delay change and request queue length of the preset trial adjustment action; If the actual request latency variation and the request queue length meet the preset frequency reduction condition, the action execution result is stored in the historical action response record; If the actual change in request latency and the request queue length do not meet the preset frequency reduction conditions, the preset trial adjustment action is stopped.
7. The cluster power consumption adjustment method according to claim 1, characterized in that, The step of determining the pending power adjustment requests and remaining power adjustment requests in the current adjustment batch based on the predicted power change represented by multiple power adjustment requests generated by multiple nodes connected to the power supply branch, and the preset power change carrying capacity of the power supply branch, includes: For any power consumption adjustment request, a new total predicted power consumption change is determined based on the predicted power consumption change represented by the power consumption adjustment request and the total predicted power consumption change of the current adjustment batch. If the total new predicted power consumption change is less than or equal to the preset power consumption change capacity of the power supply branch, the power consumption adjustment request is determined to be the power consumption adjustment request to be responded to in the current adjustment batch. If the total predicted power consumption change is greater than the preset power consumption change capacity of the power supply branch, the power consumption adjustment request is determined to be the remaining power consumption adjustment request of the current adjustment batch.
8. The cluster power consumption adjustment method according to claim 1, characterized in that, The step of filtering power adjustment requests to be responded to in the remaining power adjustment requests based on the actual power consumption change of each node, the preset power consumption change capacity of the power supply branch, and the predicted power consumption change represented by the remaining power consumption adjustment request includes: Based on the actual power consumption change of each node, determine the total actual power consumption change of the current adjustment batch; The execution deviation value is determined based on the total actual power consumption change and the total predicted power consumption change of the current adjustment batch. Based on the actual change direction represented by the execution deviation value and the preset change direction represented by the total predicted power consumption change, the direction verification result of the current adjustment batch is determined; If the direction verification result is consistent, based on the execution deviation value, the preset power consumption change capacity of the power supply branch, and the predicted power consumption change represented by the remaining power consumption adjustment request, a new power consumption adjustment request to be responded to in the current adjustment batch is selected from the remaining power consumption adjustment requests.
9. The cluster power consumption adjustment method according to claim 8, characterized in that, The method further includes: If the direction verification result is inconsistent, the power adjustment request that has not been executed in the power supply branch is suspended, and the process returns to the step of obtaining power adjustment data of multiple nodes.
10. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the cluster power consumption regulation method as described in any one of claims 1 to 9 when executing the computer program.
Citation Information
Patent Citations
Case power consumption management method and system, electronic equipment and storage medium
CN111414070A
Power consumption management in a radio access network
US20140094186A1