Power consumption management method, system and device
By optimizing power management in the supercomputing center through management nodes and selecting to reduce the power consumption of computing nodes with low concurrency and low priority, the problem of power consumption risk in the supercomputing center is solved, and the stability and security of computing efficiency are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHENGDU HUAWEI TECH CO LTD
- Filing Date
- 2023-11-09
- Publication Date
- 2026-06-26
AI Technical Summary
The total power consumption of a supercomputing center may exceed the power supply capacity of the power supply facilities, leading to power risks. Existing power capping technologies fail to effectively differentiate the priority and concurrency of computing tasks when reducing the power consumption of computing nodes, thus affecting computing efficiency.
By acquiring the power consumption and concurrency of computing nodes through the management node, the power consumption of computing nodes corresponding to low concurrency and low priority computing tasks is selected to be reduced. Combined with frequency adjustment and task performance loss value, the power consumption adjustment strategy is optimized to reduce the impact on overall computing efficiency.
While ensuring the power safety of the computing cluster, it reduces the impact on the execution efficiency of computing tasks, ensuring the normal execution of high-priority tasks and the stability of overall computing efficiency.
Smart Images

Figure CN119961082B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a power management method, system, and device. Background Technology
[0002] As the demand for computing power in supercomputing centers continues to grow, the number of computing nodes and the power consumption within these centers are also increasing. Since the power supply facilities used in supercomputing centers have limited capacity, if the total power consumption of a supercomputing center exceeds the capacity of these facilities, the supercomputing center may face power supply risks. Summary of the Invention
[0003] This application provides a power management method, system, and device that can manage the power consumption of computing clusters and avoid power consumption risks associated with computing clusters. The corresponding technical solutions are as follows:
[0004] Firstly, a power management method is provided, which is applied to a computing cluster, including a management node and multiple computing nodes. The method includes:
[0005] The management node acquires the first power consumption of multiple computing nodes. If it determines that the first power consumption exceeds a first power consumption threshold corresponding to the multiple computing nodes, the difference between the first power consumption and the first power consumption threshold is determined as the second power consumption that the multiple computing nodes need to reduce. Based on the second power consumption and the concurrency level corresponding to each computing task executed by the multiple computing nodes, the first computing node that needs to reduce power consumption is determined among the multiple computing nodes, where the concurrency level indicates the number of computing nodes executing computing tasks. Based on the second power consumption, a power adjustment value corresponding to the first computing node is determined, and the power adjustment value is sent to the first computing node.
[0006] The first computing node adjusts its current power consumption based on the received power adjustment value.
[0007] In the scheme presented in this application, on the one hand, when the management device determines that the total power consumption (first power consumption) of the computing nodes in the computing cluster exceeds a first power consumption threshold, it can select a portion of the computing nodes in the computing cluster to reduce their power consumption, so that the total power consumption of the computing nodes is lower than the first power consumption threshold. This ensures that the power supply facilities of the computing cluster can supply power to the computing cluster without exceeding the rated power, thus avoiding power consumption risks for the computing cluster. On the other hand, when selecting the first computing node to reduce power consumption, the concurrency of the computing tasks executed on the computing node is taken into consideration, and the first computing node corresponding to the computing tasks with low concurrency is selected to reduce power consumption. In this way, selecting the first computing node according to the computing tasks with low concurrency can avoid the impact of the power reduction of the first computing node on the computing tasks executed by other computing nodes, and can reduce the overall impact of the power reduction on the efficiency of the computing cluster in executing computing tasks.
[0008] In one feasible approach, the management node, based on a second power consumption and the concurrency levels corresponding to each computational task executed by multiple computing nodes, determines a first computing node among the multiple computing nodes whose power consumption needs to be reduced. This includes: for each computing node, obtaining the concurrency level corresponding to at least one computational task executed by the computing node, and determining the highest concurrency level among the concurrency levels corresponding to the at least one computational task as the concurrency level corresponding to the computing node. Among the multiple computing nodes, a first number of computing nodes with the lowest corresponding concurrency levels are determined as the first computing nodes whose power consumption needs to be reduced, wherein the sum of the power consumption reduction potential corresponding to the first number of computing nodes is greater than the second power consumption, and the power consumption reduction potential corresponding to the computing node is equal to the difference between the current power consumption of the computing node and the lower limit of the computing node's power consumption.
[0009] In one feasible approach, the management node determines the power adjustment value corresponding to the first computing node based on a second power consumption, including: setting the power adjustment value corresponding to each first computing node as a variable to be solved, wherein the sum of the variables to be solved for each first computing node is greater than or equal to the second power consumption, and the variables to be solved for each first computing node are greater than or equal to the lower limit of the power consumption for each first computing node. The management node determines the node performance loss value corresponding to each first computing node based on the variables to be solved. The management node determines the value of the variables to be solved when the node performance loss value is minimized, and sets the value of the variables to be solved as the power adjustment value corresponding to the first computing node.
[0010] In the scheme shown in this application, the node performance loss value of the first computing node executing the computing task is calculated based on the power consumption adjustment value, and then the power consumption adjustment value of each first computing node is calculated based on the overall node performance loss value. This can avoid the impact of the power consumption reduction of the first computing node on the computing tasks executed by other computing nodes, and can reduce the overall impact of the power consumption reduction on the efficiency of the computing cluster in executing computing tasks.
[0011] In one feasible approach, the management node determines the node performance loss value corresponding to each first computing node based on the variables to be solved, including: for each first computing node, determining the frequency reduction value of the processor in the first computing node based on the reducible power consumption corresponding to the first computing node; for each computing task executed on each first computing node, determining the task performance loss value corresponding to the computing task executed on the first computing node based on the frequency reduction value, the type of computing task, and the execution information of the computing task on the first computing node; and for each first computing node, determining the sum of the task performance loss values corresponding to all computing tasks executed on the first computing node as the node performance loss value corresponding to the first computing node.
[0012] In one feasible approach, the execution information includes at least the number of processing cores occupied by the computing task on the computing node, processor utilization, memory utilization, and network bandwidth utilization.
[0013] In one feasible approach, the management node, based on a second power consumption and the concurrency level corresponding to each computational task executed by multiple computing nodes, determines the first computing node whose power consumption needs to be reduced among the multiple computing nodes. This includes: grouping the multiple computing nodes according to the priorities of the computational tasks executed by the multiple computing nodes, obtaining computing node groups corresponding to each priority; determining the computing node groups corresponding to lower priorities within each priority computing node group; and finally, determining the first computing node whose power consumption needs to be reduced from the computing node groups corresponding to lower priorities, based on the second power consumption and the concurrency level corresponding to each computational task executed by the multiple computing nodes.
[0014] In the scheme shown in this application, when selecting computing nodes with reduced power consumption, the concurrency and priority of computing tasks executed in the computing nodes are taken into consideration. In this way, the execution of high-priority computing tasks can be guaranteed while reducing the power consumption of computing nodes, and the overall impact on the efficiency of computing cluster in executing computing tasks can be reduced.
[0015] In one possible implementation, the management node acquires the first power consumption of multiple computing nodes, including: if the management node determines that a second computing node among the multiple computing nodes has failed, acquiring the third power consumption corresponding to a third computing node other than the second computing node. If the management node determines that the third power consumption exceeds a second power consumption threshold corresponding to the third computing node, then the difference between the third power consumption and the second power consumption threshold is determined as the second power consumption that the multiple computing nodes need to reduce, wherein the second power consumption threshold is equal to the difference between the first power consumption threshold and the maximum power consumption of the second computing node.
[0016] In the scheme shown in this application, after the management node determines that a second computing node has failed among multiple computing nodes, it can isolate the second computing node based on its maximum power consumption. This ensures that the total power consumption of the remaining third computing nodes after isolating the second computing node does not exceed a second power consumption threshold. This guarantees the power safety of the computing cluster even when a faulty computing node exists.
[0017] In one possible implementation, the computing cluster also includes multiple management sub-nodes. The multiple computing nodes included in the computing cluster are divided into multiple computing sub-clusters, with each management sub-node corresponding to one computing sub-cluster. The method further includes: when the management sub-node determines that the management node has failed, the management sub-node performs power management on each computing node in the corresponding computing sub-cluster based on the default power consumption value of the corresponding computing sub-cluster.
[0018] In the scheme shown in this application, when the management node fails, each management sub-node can manage the power consumption of each computing node in the computing sub-cluster according to the default power consumption value of the corresponding computing sub-cluster. This ensures that the total power consumption of each computing node in the computing cluster does not exceed the first power consumption threshold, thus guaranteeing the power safety of the computing cluster in the event of a management node failure.
[0019] Secondly, a power management system is provided, configured in a computing cluster, which includes a management node and multiple computing nodes, wherein:
[0020] The management node is used to obtain the initial power consumption of multiple computing nodes.
[0021] The management node is used to determine the difference between the first power consumption and the first power consumption threshold as the second power consumption that the multiple computing nodes need to reduce if it is determined that the first power consumption exceeds the first power consumption threshold corresponding to the multiple computing nodes.
[0022] A management node is used to determine the first computing node whose power consumption needs to be reduced among multiple computing nodes, based on the second power consumption and the concurrency corresponding to each computing task executed by multiple computing nodes. The concurrency is used to indicate the number of computing nodes executing computing tasks.
[0023] The management node is used to determine the power adjustment value corresponding to the first computing node based on the second power consumption, and send the power adjustment value to the first computing node;
[0024] The first computing node is used to adjust the current power consumption based on the received power adjustment value.
[0025] In one feasible approach, the management node is used for:
[0026] For each computing node, obtain the concurrency degree corresponding to at least one computing task executed by the computing node, and determine the highest concurrency degree among the concurrency degrees corresponding to at least one computing task as the concurrency degree corresponding to the computing node;
[0027] Among multiple computing nodes, the first number of computing nodes with the lowest concurrency are identified as the first computing nodes whose power consumption needs to be reduced. The sum of the power consumption that can be reduced for the first number of computing nodes is greater than the second power consumption. The power consumption that can be reduced for a computing node is equal to the difference between the current power consumption of the computing node and the lower limit of the power consumption of the computing node.
[0028] In one feasible approach, the management node is used for:
[0029] Set the power consumption adjustment value corresponding to each first computing node as the variable to be solved, wherein the sum of the variables to be solved corresponding to each first computing node is greater than or equal to the second power consumption, and the variables to be solved corresponding to each first computing node are greater than or equal to the lower limit of the power consumption corresponding to each first computing node.
[0030] Based on the variables to be solved, determine the node performance loss value corresponding to each first computing node;
[0031] The value of the variable to be solved is determined when the node performance loss is minimized, and this value is then used as the power consumption adjustment value for the first computing node.
[0032] In one feasible approach, the management node is used for:
[0033] For each first computing node, the frequency reduction value of the processor in the first computing node is determined based on the power reduction value corresponding to the first computing node;
[0034] For each computing task executed on each first computing node, the corresponding task performance loss value is determined based on the frequency reduction value, the type of computing task, and the execution information of the computing task on the first computing node.
[0035] For each first computing node, the sum of the task performance loss values corresponding to each computing task executed on the first computing node is determined as the node performance loss value corresponding to the first computing node.
[0036] In one feasible approach, the execution information includes at least the number of processing cores occupied by the computing task on the computing node, processor utilization, memory utilization, and network bandwidth utilization.
[0037] In one feasible approach, the management node is used for:
[0038] Based on the priority of the computing tasks executed by multiple computing nodes, the multiple computing nodes are grouped to obtain the computing node group corresponding to each priority.
[0039] Within each priority-level computing node group, determine the computing node group corresponding to the lower priority.
[0040] Based on the second power consumption and the concurrency of each computing task executed by multiple computing nodes, the first computing node that needs to have its power consumption reduced is determined in the computing node group corresponding to the low priority.
[0041] In one feasible approach, the management node is used for:
[0042] If it is determined that a second computing node has failed among multiple computing nodes, obtain the third power consumption corresponding to the third computing node other than the second computing node among the multiple computing nodes;
[0043] If it is determined that the third power consumption exceeds the second power consumption threshold corresponding to the third computing node, then the difference between the third power consumption and the second power consumption threshold is determined as the second power consumption that multiple computing nodes need to reduce, where the second power consumption threshold is equal to the difference between the first power consumption threshold and the maximum power consumption of the second computing node.
[0044] In one possible implementation, the computing cluster also includes multiple management child nodes, and the multiple computing nodes in the computing cluster are divided into multiple computing sub-clusters, with each management child node corresponding to one computing sub-cluster. The method further includes:
[0045] The management sub-node is used to manage the power consumption of each computing node in the corresponding computing sub-cluster based on the default power consumption value of the corresponding computing sub-cluster when the management node is determined to be faulty.
[0046] Thirdly, a power management device is provided, which is used to execute the power management method of the first aspect or the power management system of the second aspect, and the power management method executed by the management node and / or the management sub-node.
[0047] Fourthly, a power management device is provided, which includes at least one module for executing the power management method of the first aspect or the power management system of the second aspect, wherein the power management method is executed by the management node and / or the management sub-node.
[0048] Fifthly, a computer program product containing instructions is provided, which, when executed by a power management device, causes the power management device of the third aspect to perform a power management method as described in the power management method of the first aspect or the power management system of the second aspect, executed by a management node and / or a management sub-node.
[0049] In a sixth aspect, a computer-readable storage medium is provided, including computer program instructions that, when executed by the power management device of the third aspect, perform a power management method as described in the power management method of the first aspect or the power management system of the second aspect, executed by a management node and / or a management sub-node. Attached Figure Description
[0050] Figure 1 This is a schematic diagram of the structure of a supercomputing center provided in an embodiment of this application;
[0051] Figure 2This is a schematic diagram of the structure of a cluster management device provided in an embodiment of this application;
[0052] Figure 3 This is a flowchart of a power management method provided in an embodiment of this application;
[0053] Figure 4 This is a flowchart of a power management method provided in an embodiment of this application;
[0054] Figure 5 This is a schematic diagram of a power management device provided in an embodiment of this application. Detailed Implementation
[0055] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0056] With the development of computer technology, the computing power of supercomputing centers is also increasing, and it is becoming more and more common to use the computing power of supercomputing centers to solve complex computational problems. For example, supercomputing centers are used to solve problems in high-performance computing (HPC) scenarios, including weather forecasting and simulation of aircraft flight processes, or to train or apply large-scale artificial intelligence (AI) models.
[0057] Figure 1 This is a schematic diagram of the structure of a supercomputing center provided in an embodiment of this application. Figure 1 As shown, a supercomputing center can consist of a cluster management device 100 and multiple racks 200. Each rack can include a rack management board 210 and multiple servers 220. In one example, each server 220 may also include a baseboard management controller (BMC) 221. The cluster management device 100 runs a cluster management system, which can be used to allocate computing tasks to the servers 220 in each rack 200 and manage the power consumption of the servers 220 in each rack 200.
[0058] Figure 2 This is a schematic diagram of the structure of a cluster management device 100 provided in an embodiment of this application. Figure 2 As shown, the cluster management device 100 includes at least a bus 102, a processor 104, a memory 106, and a communication interface 108. The processor 104, memory 106, and communication interface 108 communicate via the bus 102. Wherein:
[0059] Bus 102 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 2 The bus 102 may be represented by a single line, but this does not mean that there is only one bus or one type of bus. The bus 102 may include a path for transmitting information between various components of the computing device 100 (e.g., memory 106, processor 104, communication interface 108).
[0060] The processor 104 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0061] Memory 106 may include volatile memory, such as random access memory (RAM). Memory 106 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).
[0062] The memory 106 stores executable program code, and the processor 104 executes the executable program code to implement the power management method provided in the embodiments of this application, such as obtaining the first power consumption of multiple computing nodes (servers) in the supercomputing center, determining the second power consumption of multiple computing nodes that needs to be reduced, determining the first computing node that needs to reduce power consumption, and determining the power adjustment value corresponding to the first computing node, etc.
[0063] The communication interface 108 uses transceiver modules such as, but not limited to, network interface cards and transceivers to enable communication between the computing device 100 and other devices or communication networks.
[0064] The rack management board 210 and server 220 provided in this embodiment have a similar basic structure to the cluster management device 100, also including components such as a processor, memory, and communication interface. In one example, the rack management board 210 can perform the same functions as the cluster management device 100, so it will not be described in detail in this embodiment. The server 220 can adjust its power consumption according to the instructions of the cluster management device 100 or the rack management board 210, thereby capping its own power consumption.
[0065] The BMC 221 included in the server 220 of this application embodiment is an independent board installed on the motherboard of the server 220, which can work independently of the server's processor, BIOS, or operating system. The BMC 221 can collect the power consumption of the server 220 and reduce the power consumption of the server 220 by adjusting the operating frequency of the processor in the server 220.
[0066] As the demand for computing power in supercomputing centers continues to grow, the computing power and number of computing nodes within these centers are increasing, leading to a significant increase in overall power consumption. Since the power supply capacity of supercomputing centers is limited, current power capping technology is employed to limit the overall power consumption of these centers, ensuring that the power supply does not exceed the rated power capacity of the power supply facilities and preventing power-related risks.
[0067] Currently, power capping technologies generally reduce the power consumption of high-power computing nodes to limit the overall power consumption of the supercomputing center, ensuring that the overall power consumption does not exceed a set threshold. However, the priorities of computing tasks executed within computing nodes may differ, and tasks may be executed concurrently, meaning a single task can run on multiple computing nodes simultaneously. This is especially true in HPC or AI computing scenarios, where a large number of tasks are executed in parallel. Limiting the power consumption of one computing node among multiple nodes executing the same task would reduce its efficiency, but it would also affect the progress of other computing nodes, leading to a decrease in the overall efficiency of multiple computing nodes executing the same task.
[0068] Figure 3 This is a flowchart illustrating a power management method provided in an embodiment of this application. This power management method can be applied to computing clusters and can cap power consumption of the computing cluster by considering factors such as task priority and concurrency. This reduces the impact on task execution efficiency while lowering the overall power consumption of the computing cluster. The computing cluster included in this embodiment may include a management node and computing nodes. The management node can manage the power consumption of the computing nodes in the computing cluster. In one example, the computing cluster may be the one described above... Figure 1The supercomputing center shown can have management nodes that are management devices within the supercomputing center, and computing nodes that are servers within the supercomputing center. In another example, the computing cluster can be as described above. Figure 1 The rack shown can have management nodes that are rack management boards within it, and compute nodes that are servers within it. For example... Figure 3 As shown, the power consumption management method provided in this application includes:
[0069] Step 301: The management node obtains the first power consumption of multiple computing nodes.
[0070] In implementation, each compute node in the computing cluster can send its current power consumption to the management node according to a set reporting period. After receiving the power consumption data sent by each compute node, the management node can calculate the sum of the power consumption of all compute nodes in the computing cluster to obtain the total power consumption of the compute nodes in the computing cluster, which is also the first power consumption of multiple compute nodes in the computing cluster.
[0071] For example, in the case of a supercomputing center, the BMC (Browser Control Center) of each server in the supercomputing center can collect the current power consumption information of the server, and then send the power consumption information to the rack management board. The rack management board of each rack then sends the power consumption information of each server to the cluster management system of the supercomputing center. Alternatively, the BMC of each server can directly send the collected power consumption information to the cluster management system. The cluster management system can then calculate the total power consumption of the supercomputing center based on the power consumption information of each server.
[0072] Step 302: If the management node determines that the first power consumption exceeds the first power consumption threshold corresponding to multiple computing nodes, then the difference between the first power consumption and the first power consumption threshold is determined as the second power consumption that the multiple computing nodes need to reduce.
[0073] The computing cluster is configured with a first power consumption threshold, which can be set according to the power supply equipment of the computing cluster. As long as the total power consumption of all computing nodes in the computing cluster does not exceed the first power consumption threshold, the power supply facilities can supply power to the computing cluster normally.
[0074] After obtaining the initial power consumption of multiple compute nodes, the management node can determine whether this initial power consumption exceeds a first power consumption threshold. If the management node determines that the initial power consumption does not exceed the first power consumption threshold, it can continue to monitor the initial power consumption of the multiple compute nodes. If the management node determines that the initial power consumption exceeds the first power consumption threshold, it indicates that the total power consumption of the multiple compute nodes needs to be reduced, and the difference between the initial power consumption and the first power consumption threshold can be used to determine a second power consumption reduction that the multiple compute nodes need to achieve.
[0075] Step 303: Based on the second power consumption and the concurrency corresponding to each computing task executed by multiple computing nodes, the management node determines the first computing node whose power consumption needs to be reduced among the multiple computing nodes. The concurrency is used to indicate the number of computing nodes executing computing tasks.
[0076] The computing tasks can be HPC jobs in an HPC scenario, or AI training tasks, etc. After determining that the first power consumption exceeds the first power consumption threshold corresponding to multiple computing nodes, the management node can obtain the concurrency of the computing tasks executed on the computing nodes. This concurrency can be recorded by the management node when assigning computing tasks to the computing nodes; for example, if the management node assigns three HPC tasks included in an HPC job to three different computing nodes, the parallelism of that HPC job is 3. Alternatively, this concurrency can be sent by the computing nodes to the management node. Based on the concurrency of the computing tasks executed on each computing node and the second power consumption reduction required for multiple computing nodes, the management node can determine the first computing node whose power consumption needs to be reduced. For example, the computing node executing low-concurrency computing tasks can be determined as the first computing node whose power consumption needs to be reduced.
[0077] In one alternative approach, each compute node can be configured with a power consumption lower limit, requiring that the compute node's operating power consumption not fall below the corresponding lower limit to ensure that each compute node can execute computational tasks normally. In this case, determining the first compute node whose power consumption needs to be reduced may include:
[0078] For each compute node, the management node obtains the concurrency level of at least one compute task executed by the compute node, and determines the highest concurrency level among the concurrency levels of at least one compute task as the concurrency level of the compute node.
[0079] For example, if a computing node executes three computing tasks with concurrency levels of 2, 3, and 5 respectively, then the concurrency level of the computing node is 5.
[0080] Among multiple computing nodes, the management node determines the first number of computing nodes with the lowest concurrency as the first computing nodes whose power consumption needs to be reduced. The sum of the power consumption that can be reduced for the first number of computing nodes is greater than the second power consumption. The power consumption that can be reduced for a computing node is equal to the difference between the current power consumption of the computing node and the lower limit of the power consumption of the computing node.
[0081] In one example, the management node can sort the compute nodes according to their concurrency levels, and then select compute nodes sequentially in ascending order of concurrency, calculating the sum of power reductions that each selected compute node can achieve. When the management node determines that the sum of power reductions for the selected compute nodes is greater than a second power reduction threshold, it can designate the selected compute node as the first compute node requiring further power reduction. The number of these selected compute nodes is called the first number.
[0082] Step 304: The management node determines the power consumption adjustment value corresponding to the first computing node and sends the power consumption adjustment value to the first computing node.
[0083] In one example, the management node can determine the power adjustment value for each first computing node based on a first number of first computing nodes and a second power consumption reduction requirement for multiple computing nodes. For example, the quotient of the second power consumption and the first number can be used to determine the power adjustment value for each first computing node. Alternatively, if a power consumption lower limit is set for the first computing node, the management node can determine the power adjustment value for the first computing node as the difference between the current power consumption of the first computing node and the power consumption lower limit. Furthermore, this power adjustment value can be either the amount of power consumption the first computing node needs to reduce, or the power consumption of the first computing node after the current power consumption reduction.
[0084] After determining the power consumption adjustment value for each first computing node, the management node can send the power consumption adjustment value to the first computing node. For example, when the management node is a cluster management device in a supercomputing center, the cluster management device can directly send the power consumption adjustment value to the server in the rack that needs to reduce power consumption, or the cluster management device can first send the power consumption adjustment value to the rack management board in the corresponding rack, and then the rack management board can forward the power consumption adjustment value to the server in the rack that needs to reduce power consumption.
[0085] Step 305: The first computing node adjusts its current power consumption based on the received power consumption adjustment value.
[0086] After receiving the power adjustment value from the management node, each primary compute node can reduce its current power consumption based on the adjustment value. For example, when the primary compute node is a server in a supercomputing cluster, the server's BMC can reduce the CPU frequency, thereby reducing the server's power consumption.
[0087] In this embodiment, on the one hand, a power consumption threshold is set for the computing nodes in the computing cluster. When the management device of the computing cluster determines that the total power consumption of the computing nodes in the cluster exceeds the power consumption threshold, a portion of the computing nodes can be selected to reduce their power consumption, so that the total power consumption of the computing nodes is lower than the power consumption threshold. This ensures that the power supply facilities of the computing cluster can supply power to the computing cluster without exceeding the rated power, thus improving power safety. On the other hand, in selecting the computing nodes to reduce power consumption, this embodiment considers the concurrency of the computing tasks executed on the computing nodes and selects the first computing node corresponding to the computing tasks with low concurrency to reduce power consumption. Thus, selecting the first computing node according to the low-concurrency computing tasks avoids the impact of the power reduction of the first computing node on the computing tasks executed by other computing nodes, thereby reducing the overall impact of power reduction on the efficiency of the computing cluster in executing computing tasks.
[0088] In one feasible approach, for the process in step 303 where the management node determines the first computing node that needs power reduction, in addition to considering the parallelism of the computing tasks, the priority of the computing tasks can also be considered, and the corresponding processing is as follows:
[0089] Step 3031: The management node groups the multiple computing nodes based on the priority of the computing tasks executed by the multiple computing nodes, and obtains the computing node group corresponding to each priority.
[0090] In implementation, each computing task can be assigned a priority, which can be specified by the user submitting the computing task to the computing cluster. When the computing resources of a computing node are limited, the computing node can prioritize executing higher-priority computing tasks or allocate more computing resources to higher-priority computing tasks.
[0091] When the management node determines the first compute node that needs power reduction, it can first group multiple compute nodes according to the priority of the compute tasks, resulting in compute node groups for each priority level. In one example, the highest priority of each compute task executed on a compute node can be determined as the priority of that compute node, and then compute nodes with the same priority can be grouped together to obtain compute node groups for each priority level.
[0092] Step 3032: The management node determines the computing node group corresponding to the lower priority in each priority computing node group.
[0093] Among them, the computing node group corresponding to the low priority can be the computing node group with the lowest priority among multiple computing node groups.
[0094] Step 3033: Based on the second power consumption and the concurrency of each computing task executed by multiple computing nodes, the management node determines the first computing node whose power consumption needs to be reduced in the computing node group corresponding to the low priority.
[0095] When determining the lowest priority computing node group, the management node can use the computing nodes included in that group as the range for determining the first computing node. Then, within the low-priority computing node group, based on the second power consumption and the concurrency level of each computing task, the first computing node requiring power reduction is determined. The process of determining the first computing node is the same as in step 303 above, and will not be repeated here.
[0096] If determining each computing node in the lowest priority computing node group as the first computing node still cannot meet the second power reduction requirement for multiple computing nodes, then computing nodes in the next lowest priority computing node group can be added to the range of nodes to determine the first computing node, and so on, until each first computing node that can meet the second power reduction requirement is determined.
[0097] In this embodiment of the application, when selecting computing nodes with reduced power consumption, the concurrency and priority of computing tasks executed in the computing nodes are taken into consideration. In this way, while reducing the power consumption of computing nodes, the execution of high-priority computing tasks can be guaranteed, and the overall impact on the efficiency of computing cluster in executing computing tasks can be reduced.
[0098] In one possible implementation, this application embodiment also provides a method for determining the power consumption adjustment value corresponding to the first computing node, which can be applied in step 304 above, including:
[0099] Step 3041: The management node sets the power consumption adjustment value corresponding to each first computing node as the variable to be solved, wherein the sum of the variables to be solved corresponding to each first computing node is greater than or equal to the second power consumption, and the variables to be solved corresponding to each first computing node are greater than or equal to the lower limit of the power consumption corresponding to each first computing node.
[0100] The management node can set the power consumption adjustment value corresponding to each first compute node as the variable to be solved, for example, the variables to be solved for n first compute nodes are x1 to x2. n Then, constraints can be set for the unsolved variable x corresponding to each first computing node, namely, the unsolved variable x of each first computing node ≥ the lower limit of power consumption a, and the sum of the unsolved variables of the first computing node.
[0101] Step 3042: The management node determines the node performance loss value corresponding to each first computing node based on the variable to be solved.
[0102] In one example, an engineer can set up a function f(x) to solve for the node performance loss value by adjusting the power consumption value, and then substitute the variable x to be solved for each first computing node into f(x) to obtain the node performance loss value for each first computing node.
[0103] In one example, the management node determines the node performance loss value corresponding to each first computing node based on the variable to be solved. It may also include: for each first computing node, the management node determines the frequency reduction value of the processor in the first computing node based on the power reduction value corresponding to the first computing node.
[0104] For example, the management node may have a mapping between power reduction and frequency reduction, or a conversion algorithm between them. The management node can then determine the frequency reduction value of the processor in the first computing node based on this mapping or algorithm. Alternatively, for each computing task executed on each first computing node, the management node can determine the corresponding task performance loss value based on the frequency reduction value, the type of computing task, and the execution information of the computing task on the first computing node.
[0105] The types of computing tasks can be pre-categorized by the user, and may include HPC jobs, AI training, etc. Execution information for computing tasks on the first computing node may include the number of processing cores used by the task, processor utilization, memory utilization, and network bandwidth utilization.
[0106] In implementation, the management node stores weights corresponding to the frequency reduction value, the type of computing task, and the execution information of the computing task. After obtaining the type and execution information of each computing task on the first computing node, the management node can perform a weighted sum of the frequency reduction value, the type of computing task, and the execution information of the first computing node according to the stored weights to obtain the corresponding task performance loss value of each computing task executed on the first computing node.
[0107] For each first computing node, the management node can determine the sum of the task performance loss values corresponding to each computing task executed on the first computing node as the node performance loss value corresponding to the first computing node.
[0108] Step 3043: The management node determines the value of the variable to be solved when the node performance loss value is the lowest, and sets the value of the variable to be solved as the power consumption adjustment value of the first computing node.
[0109] The management node finds the value of the variable to be solved when the sum of the node performance loss values corresponding to each first computing node is minimized, and determines the value of the variable to be solved as the power consumption adjustment value corresponding to the first computing node. The specific solution method can be the algorithm for finding the current minimum value, which will not be described in detail in this application.
[0110] This application provides a method for calculating the performance loss value of a computing node. When adjusting the power consumption of a first computing node, this method can be used to determine the adjustment result that minimizes the overall performance loss in the computing cluster. This reduces the impact on the efficiency of the computing node in performing computing tasks while lowering its power consumption.
[0111] Figure 4 This is a flowchart of a power management method provided in an embodiment of this application. Figure 4 In the method shown, the management node can be a cluster management device in a supercomputing center, and the computing nodes are servers in each rack of the supercomputing center. Figure 4 The method shown can be executed by the cluster management equipment in the supercomputing center; see [link / reference]. Figure 4 The method includes:
[0112] Step 401: Collect server power consumption information.
[0113] The cluster management device can receive the power consumption reported by the servers in each rack, and sum the power consumption of each server in the supercomputing center to obtain the current power consumption P_now of each server in the supercomputing center.
[0114] Step 402, P_now > power consumption capping threshold.
[0115] If the cluster management device determines that P_now > the power consumption cap threshold, it proceeds to step 403. If it determines that P_now ≤ the power consumption cap threshold, it returns to step 401 to collect server power consumption information. This power consumption cap threshold is the power consumption threshold set by the supercomputing center.
[0116] Step 403: Determine that the server power consumption needs to be reduced by P_decreas.
[0117] P_decreas represents the total power consumption that the servers in the supercomputing center need to reduce. P_decreas = P_now - power consumption cap threshold.
[0118] Step 404: Obtain server job priority and topology.
[0119] Among them, server job priority refers to the priority of each job executed on the server, and the corresponding server job topology refers to the correspondence between each job and the server that executes each job.
[0120] Step 405: Assign the highest priority job in the server as the node priority of the server, group and sort each server, and select the server group according to the sorting result.
[0121] In this process, the server group with the lowest node priority is selected initially. When step 405 is executed again, the server group can be selected solely based on node priority, without having to perform the server grouping and sorting again.
[0122] Step 406: Sort each server according to the highest concurrency job in each server of the selected server group as the server's concurrency priority, and select a server according to the sorting result.
[0123] In this process, the server with the lowest concurrency priority is selected initially. When step 406 is executed again, servers can be selected solely based on concurrency priority, without having to re-sort the servers.
[0124] Step 407: Calculate the maximum power consumption reduction that can be achieved by selecting n servers.
[0125] Among them, the maximum power consumption P mini This represents the lower limit of power consumption for the i-th server.
[0126] Step 408, P>P_decrease.
[0127] If P ≤ P_decrease, proceed to step 409; if P > P_decrease, proceed to step 412.
[0128] Step 409: Reduce the selected server to the lower power limit and update P_decrease.
[0129] Step 410, Parallel Priority = max1.
[0130] If the currently selected parallel priority is the highest parallel priority (max1), then proceed to step 411. If the currently selected parallel priority is not the highest parallel priority, then increment the current parallel priority by 1 and proceed to step 406.
[0131] Step 411, Node priority = max2.
[0132] If the priority of the currently selected node is the highest node priority (max2), then proceed to step 412. If the priority of the currently selected node is not the highest node priority, then increment the current node priority by 1 and proceed to step 405.
[0133] Step 412: Power consumption capping failed, alarm issued.
[0134] Step 413: Calculate the minimum performance loss for nodes with the fewest impact nodes.
[0135] If P > P_decrease, the node performance loss value corresponding to the selected server can be calculated, and the capped quota of each server when the node performance loss value is minimized can be determined, which is the power consumption after power adjustment.
[0136] Step 414: Issue the capped quota.
[0137] In this embodiment, during the operation of the supercomputing center, the cluster management device can detect the power consumption information of each rack of servers. If the total power consumption of the servers exceeds the power consumption cap threshold, the system selects servers that need to reduce power consumption based on job concurrency and priority, and determines the corresponding cap quota. This ensures the power safety of the supercomputing center while, by selecting servers that need to reduce power consumption based on job concurrency and priority, ensuring the execution of high-priority jobs and reducing the impact on the efficiency of job execution at the supercomputing center.
[0138] This application also provides a power management method for handling abnormal situations in the management node or computing node of a computing cluster, including:
[0139] Scenario 1: The management node determines that a second computing node among multiple computing nodes has failed.
[0140] If the management node loses connection with a compute node in the compute cluster, or fails to receive messages from a compute node, the management node can identify the second compute node that has failed.
[0141] If the management node determines that a second compute node among multiple compute nodes has failed, it can default to operating the second compute node at its maximum power consumption. Therefore, to ensure that the total power consumption of the compute nodes in the compute cluster does not exceed a first power consumption threshold, a second power consumption threshold for the third compute node can be calculated based on the first power consumption threshold and the maximum power consumption of the second compute node. In other words, the difference between the first power consumption threshold and the maximum power consumption of the second compute node can be determined as the second power consumption threshold.
[0142] In step 301 above, only the third power consumption corresponding to the third computing node (excluding the second computing node) among the multiple computing nodes can be obtained. This third power consumption is the total power consumption corresponding to the third computing node.
[0143] In step 302 above, the management node can determine whether the third power consumption exceeds the second power consumption threshold. If it is determined that the third power consumption exceeds the second power consumption threshold, the difference between the third power consumption and the second power consumption threshold is determined as the second power consumption that the third computing node needs to reduce.
[0144] The selection of computing nodes for power reduction and the adjustment of power consumption values are similar to steps 303-305 above, and will not be repeated here. In this embodiment, after the management node determines that a second computing node has failed among multiple computing nodes, it can isolate the second computing node based on its maximum power consumption. This ensures that the total power consumption of the remaining third computing nodes after isolating the second computing node does not exceed a second power consumption threshold. This ensures the power safety of the computing cluster even when a faulty computing node exists.
[0145] Scenario 2: The management node malfunctions.
[0146] In one feasible approach, the computing cluster also includes multiple management sub-nodes. The multiple computing nodes in the computing cluster are divided into multiple computing sub-clusters, with each management sub-node corresponding to one computing sub-cluster. For example, the computing cluster is a supercomputing center, the management node is the cluster management device of the supercomputing center, the management sub-node is the rack management board of the rack in the supercomputing center, the computing sub-cluster is the individual servers in a rack, and the computing node is the server in the rack.
[0147] If the management sub-node determines that the management node has failed, the management sub-node will manage the power consumption of each computing node in the corresponding computing sub-cluster based on the default power consumption value of the corresponding computing sub-cluster.
[0148] If a management sub-node loses connection with the management node or stops receiving messages from the management node, the management sub-node can determine that the management node has malfunctioned.
[0149] After a management node fails, each management sub-node can manage the power consumption of each compute node in the corresponding compute sub-cluster according to the default power consumption value of that sub-cluster. This default power consumption value is a power threshold set for the total power consumption of the compute sub-cluster. The sum of the default power consumption values corresponding to each compute sub-cluster in the compute cluster is less than or equal to the first power consumption threshold corresponding to the compute cluster. The process of the management sub-node managing the power consumption of each compute node in the compute sub-cluster according to the default power consumption value is similar to the above. Figure 3 The processing of management nodes in the embodiment is similar and will not be repeated here.
[0150] In this embodiment of the application, when the management node fails, each management sub-node can manage the power consumption of each computing node in the computing sub-cluster according to the default power consumption value of the corresponding computing sub-cluster. This ensures that the total power consumption of each computing node in the computing cluster does not exceed the first power consumption threshold, thus guaranteeing the power safety of the computing cluster in the event of a management node failure.
[0151] Based on the same inventive concept, embodiments of this application also provide a power management system, wherein the system is configured in a computing cluster, the computing cluster including a management node and multiple computing nodes, and the system can be... Figure 1 The supercomputing center shown has a management node of cluster management device 100 and computing nodes of server 220.
[0152] The management node is used to obtain the first power consumption of the plurality of computing nodes;
[0153] The management node is configured to determine the difference between the first power consumption and the first power consumption threshold as the second power consumption that the plurality of computing nodes need to reduce if it is determined that the first power consumption exceeds the first power consumption threshold corresponding to the plurality of computing nodes.
[0154] The management node is configured to determine, based on the second power consumption and the concurrency level corresponding to each computing task executed by the plurality of computing nodes, a first computing node whose power consumption needs to be reduced among the plurality of computing nodes, wherein the concurrency level is used to indicate the number of computing nodes executing the computing task;
[0155] The management node is configured to determine the power adjustment value corresponding to the first computing node based on the second power consumption, and send the power adjustment value to the first computing node;
[0156] The first computing node is used to adjust the current power consumption based on the received power adjustment value.
[0157] In one possible implementation, the management node is used for:
[0158] For each computing node, obtain the concurrency degree corresponding to at least one computing task executed by the computing node, and determine the highest concurrency degree among the concurrency degrees corresponding to the at least one computing task as the concurrency degree corresponding to the computing node;
[0159] Among the plurality of computing nodes, the first number of computing nodes with the lowest corresponding concurrency are determined as the first computing nodes whose power consumption needs to be reduced. The sum of the power consumption that can be reduced for the first number of computing nodes is greater than the second power consumption. The power consumption that can be reduced for the computing node is equal to the difference between the current power consumption of the computing node and the lower limit of the power consumption of the computing node.
[0160] In one possible implementation, the management node is used for:
[0161] The power consumption adjustment value corresponding to each first computing node is set as the variable to be solved, wherein the sum of the variables to be solved corresponding to each first computing node is greater than or equal to the second power consumption, and the variables to be solved corresponding to each first computing node are greater than or equal to the lower limit of power consumption corresponding to each first computing node.
[0162] Based on the variables to be solved, determine the node performance loss value corresponding to each first computing node;
[0163] When the node performance loss value is minimized, the value corresponding to the variable to be solved is determined as the power consumption adjustment value corresponding to the first computing node.
[0164] In one possible implementation, the management node is used for:
[0165] For each first computing node, the frequency reduction value of the processor in the first computing node is determined based on the power reduction value corresponding to the first computing node;
[0166] For each computing task executed on each first computing node, based on the frequency reduction value, the type of the computing task, and the execution information of the computing task on the first computing node, a corresponding task performance loss value for the first computing node executing the computing task is determined.
[0167] For each first computing node, the sum of the task performance loss values corresponding to each computing task executed on the first computing node is determined as the node performance loss value corresponding to the first computing node.
[0168] In one possible implementation, the execution information includes at least the number of processing cores occupied by the computing task on the computing node, processor utilization, memory utilization, and network bandwidth utilization.
[0169] In one possible implementation, the management node is used for:
[0170] Based on the priority of the computing tasks executed by the multiple computing nodes, the multiple computing nodes are grouped to obtain computing node groups corresponding to each priority.
[0171] In each priority-related computing node group, determine the computing node group corresponding to the lower priority.
[0172] Based on the second power consumption and the concurrency of each computing task executed by the plurality of computing nodes, the first computing node that needs to have its power consumption reduced is determined in the computing node group corresponding to the low priority.
[0173] In one possible implementation, the management node is used for:
[0174] If it is determined that a second computing node among the plurality of computing nodes has failed, the third power consumption corresponding to the third computing node other than the second computing node among the plurality of computing nodes is obtained;
[0175] If it is determined that the third power consumption exceeds the second power consumption threshold corresponding to the third computing node, then the difference between the third power consumption and the second power consumption threshold is determined as the second power consumption that the plurality of computing nodes need to reduce, wherein the second power consumption threshold is equal to the difference between the first power consumption threshold and the maximum power consumption of the second computing node.
[0176] In one possible implementation, the computing cluster further includes multiple management sub-nodes, and the multiple computing nodes included in the computing cluster are divided into multiple computing sub-clusters, with each management sub-node corresponding to one computing sub-cluster. The method further includes:
[0177] The management sub-node is used to manage the power consumption of each computing node in the corresponding computing sub-cluster based on the default power consumption value of the corresponding computing sub-cluster when it is determined that the management node has failed.
[0178] It should be noted that the power management system provided in the above embodiments and the power management method provided in the above embodiments belong to the same concept. For details of its specific implementation process, please refer to the method embodiments, which will not be repeated here.
[0179] This application embodiment also provides a power management device, which can be as follows: Figure 2 The cluster management device shown is used to implement the power management method executed by the management device and / or management sub-devices in the above embodiments. The specific implementation process of the power management method executed by the power management device can be found in the above embodiments, and will not be repeated in this application.
[0180] This application also provides a power management device, such as... Figure 5 As shown, this device can be configured in the aforementioned power management device to implement the power management method executed by the power management device. See also Figure 5 The device includes:
[0181] The acquisition module 510 is used to acquire the first power consumption of multiple computing nodes in the computing cluster. Specifically, it can be used to implement the acquisition function of step 301 and execute the implicit steps included in step 301.
[0182] The determining module 520 is configured to, if it is determined that the first power consumption exceeds a first power consumption threshold corresponding to the plurality of computing nodes, determine the difference between the first power consumption and the first power consumption threshold as a second power consumption that the plurality of computing nodes need to reduce; based on the second power consumption and the concurrency level corresponding to each computing task executed by the plurality of computing nodes, determine a first computing node among the plurality of computing nodes that needs to reduce power consumption, wherein the concurrency level is used to indicate the number of computing nodes executing the computing task; and based on the second power consumption, determine a power consumption adjustment value corresponding to the first computing node. The determining module 520 can specifically be used to implement the determining function of steps 302 to 304 and to execute the implicit steps included in steps 302 to 304.
[0183] The sending module 530 is used to send the power consumption adjustment value to the first computing node, instructing the first computing node to adjust the power consumption of the first computing node based on the power consumption adjustment value. Specifically, it can be used to implement the sending function of step 34 and execute the implicit steps included in step 304.
[0184] In one possible implementation, the determining module 520 is configured to:
[0185] For each computing node, the management node obtains the concurrency level corresponding to at least one computing task executed by the computing node, and determines the highest concurrency level among the concurrency levels corresponding to the at least one computing task as the concurrency level corresponding to the computing node.
[0186] The management node identifies the first number of computing nodes with the lowest concurrency among the plurality of computing nodes as the first computing nodes whose power consumption needs to be reduced. The sum of the power consumption that can be reduced for the first number of computing nodes is greater than the second power consumption. The power consumption that can be reduced for the computing node is equal to the difference between the current power consumption of the computing node and the lower limit of the power consumption of the computing node.
[0187] In one possible implementation, the determining module 520 is configured to:
[0188] The management node sets the power consumption adjustment value corresponding to each first computing node as the variable to be solved, wherein the sum of the variables to be solved corresponding to each first computing node is greater than or equal to the second power consumption, and the variables to be solved corresponding to each first computing node are greater than or equal to the lower limit of power consumption corresponding to each first computing node.
[0189] The management node determines the node performance loss value corresponding to each first computing node based on the variable to be solved;
[0190] The management node determines the value of the variable to be solved when the node performance loss value is minimized, and sets the value of the variable to be solved as the power consumption adjustment value corresponding to the first computing node.
[0191] In one possible implementation, the determining module 520 is configured to:
[0192] For each first computing node, the management node determines the frequency reduction value of the processor in the first computing node based on the power reduction potential corresponding to the first computing node.
[0193] For each computing task executed on each first computing node, the management node determines the corresponding task performance loss value for the first computing node executing the computing task based on the frequency reduction value, the type of the computing task, and the execution information of the computing task on the first computing node.
[0194] For each first computing node, the management node determines the sum of the task performance loss values corresponding to each computing task executed on the first computing node as the node performance loss value corresponding to the first computing node.
[0195] In one possible implementation, the execution information includes at least the number of processing cores occupied by the computing task on the computing node, processor utilization, memory utilization, and network bandwidth utilization.
[0196] In one possible implementation, the determining module 520 is configured to:
[0197] The management node groups the multiple computing nodes based on the priority of the computing tasks executed by the multiple computing nodes, resulting in a computing node group corresponding to each priority.
[0198] The management node determines the computing node group corresponding to the lower priority from the computing node groups corresponding to each priority.
[0199] Based on the second power consumption and the concurrency of each computing task executed by the plurality of computing nodes, the management node determines the first computing node whose power consumption needs to be reduced from the computing node group corresponding to the low priority.
[0200] The module division in this embodiment is illustrative and represents only one logical functional division. In actual implementation, other division methods are possible. Furthermore, the functional modules in each embodiment of this application can be integrated into a single processor, exist as separate physical entities, or be integrated into a single module. The integrated modules can be implemented in hardware or as software functional modules. Additionally, the power management device and power management method embodiments provided above belong to the same concept; their specific implementation processes are detailed in the method embodiments and will not be repeated here.
[0201] If the integrated module is implemented as a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a terminal device (which may be a personal computer, mobile phone, or network device, etc.) or processor to execute all or part of the steps of the methods in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0202] This application also provides a computer program product containing instructions. The computer program product may be a software or program product containing instructions, capable of running on a power management device or stored on any available medium. When the computer program product runs on a power management device, it causes at least one computing device to execute the power management method executed by the power management device provided in this application embodiment.
[0203] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to execute the power management method performed by the power management device provided in this application.
[0204] In this application, the terms "first," "second," etc., are used to distinguish identical or similar items with substantially the same function and purpose. It should be understood that there is no logical or temporal dependency between "first" and "second," nor does it limit the quantity or execution order. It should also be understood that although the following description uses the terms "first," "second," etc., to describe various elements, these elements should not be limited by the terms. These terms are merely used to distinguish one element from another. For example, without departing from the scope of various examples, a first computing node can be referred to as a second computing node, and similarly, a second computing node can be referred to as a first computing node. Both first and second computing nodes can be collectively referred to as computing nodes, and in some cases, they can be separate and distinct computing nodes.
[0205] In this application, the term "at least one" means one or more, and the term "multiple" means two or more.
[0206] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A power consumption management method, characterized in that, The method is applied to a computing cluster, which includes a management node and multiple computing nodes. The method includes: The management node obtains the first power consumption of the plurality of computing nodes; If the management node determines that the first power consumption exceeds the first power consumption threshold corresponding to the plurality of computing nodes, then the difference between the first power consumption and the first power consumption threshold is determined as the second power consumption that the plurality of computing nodes need to reduce. The management node determines a first computing node whose power consumption needs to be reduced from the plurality of computing nodes based on the second power consumption and the concurrency degree corresponding to each computing task executed by the plurality of computing nodes. The concurrency degree is used to indicate the number of computing nodes executing the computing task, and the first computing node is a first number of computing nodes with the lowest concurrency degree. The management node determines the power adjustment value corresponding to the first computing node based on the second power consumption, and sends the power adjustment value to the first computing node; The first computing node adjusts its current power consumption based on the received power adjustment value.
2. The method according to claim 1, characterized in that, Based on the second power consumption and the concurrency level corresponding to each computing task executed by the plurality of computing nodes, the management node determines the first computing node among the plurality of computing nodes that needs to have its power consumption reduced, including: For each computing node, the management node obtains the concurrency level corresponding to at least one computing task executed by the computing node, and determines the highest concurrency level among the concurrency levels corresponding to the at least one computing task as the concurrency level corresponding to the computing node. The management node identifies the first number of computing nodes with the lowest concurrency among the plurality of computing nodes as the first computing nodes whose power consumption needs to be reduced. The sum of the power consumption that can be reduced for the first number of computing nodes is greater than the second power consumption. The power consumption that can be reduced for the computing node is equal to the difference between the current power consumption of the computing node and the lower limit of the power consumption of the computing node.
3. The method according to claim 1, characterized in that, The management node determines the power adjustment value corresponding to the first computing node based on the second power consumption, including: The management node sets the power consumption adjustment value corresponding to each first computing node as the variable to be solved, wherein the sum of the variables to be solved corresponding to each first computing node is greater than or equal to the second power consumption, and the variables to be solved corresponding to each first computing node are greater than or equal to the lower limit of power consumption corresponding to each first computing node. The management node determines the node performance loss value corresponding to each first computing node based on the variable to be solved; The management node determines the value of the variable to be solved when the node performance loss value is minimized, and sets the value of the variable to be solved as the power consumption adjustment value corresponding to the first computing node.
4. The method according to claim 3, characterized in that, The management node determines the node performance loss value corresponding to each first computing node based on the variable to be solved, including: For each first computing node, the management node determines the frequency reduction value of the processor in the first computing node based on the power reduction potential corresponding to the first computing node. For each computing task executed on each first computing node, the management node determines the corresponding task performance loss value for the first computing node executing the computing task based on the frequency reduction value, the type of the computing task, and the execution information of the computing task on the first computing node. For each first computing node, the management node determines the sum of the task performance loss values corresponding to each computing task executed on the first computing node as the node performance loss value corresponding to the first computing node.
5. The method according to claim 4, characterized in that, The execution information includes at least the number of processing cores occupied by the computing task on the computing node, processor utilization, memory utilization, and network bandwidth utilization.
6. The method according to any one of claims 1 to 5, characterized in that, Based on the second power consumption and the concurrency level corresponding to each computing task executed by the plurality of computing nodes, the management node determines the first computing node among the plurality of computing nodes that needs to have its power consumption reduced, including: The management node groups the multiple computing nodes based on the priority of the computing tasks executed by the multiple computing nodes, resulting in a computing node group corresponding to each priority. The management node determines the computing node group corresponding to the lower priority from the computing node groups corresponding to each priority. Based on the second power consumption and the concurrency of each computing task executed by the plurality of computing nodes, the management node determines the first computing node whose power consumption needs to be reduced from the computing node group corresponding to the low priority.
7. The method according to any one of claims 1 to 5, characterized in that, The management node obtains the first power consumption of the plurality of computing nodes, including: If the management node determines that there is a faulty second computing node among the plurality of computing nodes, it obtains the third power consumption corresponding to the third computing node other than the second computing node among the plurality of computing nodes. If the management node determines that the third power consumption exceeds the second power consumption threshold corresponding to the third computing node, then the difference between the third power consumption and the second power consumption threshold is determined as the second power consumption that the plurality of computing nodes need to reduce, wherein the second power consumption threshold is equal to the difference between the first power consumption threshold and the maximum power consumption of the second computing node.
8. The method according to any one of claims 1 to 5, characterized in that, The computing cluster also includes multiple management sub-nodes. The multiple computing nodes in the computing cluster are divided into multiple computing sub-clusters, with each management sub-node corresponding to one computing sub-cluster. The method further includes: If the management sub-node determines that the management node has failed, the management sub-node performs power management on each computing node in the corresponding computing sub-cluster based on the default power consumption value of the corresponding computing sub-cluster.
9. A power consumption management system, characterized in that, The system is configured on a computing cluster, which includes a management node and multiple computing nodes, wherein: The management node is used to obtain the first power consumption of the plurality of computing nodes; The management node is configured to determine the difference between the first power consumption and the first power consumption threshold as the second power consumption that the plurality of computing nodes need to reduce if it is determined that the first power consumption exceeds the first power consumption threshold corresponding to the plurality of computing nodes. The management node is used to determine, based on the second power consumption and the concurrency corresponding to each computing task executed by the plurality of computing nodes, a first computing node whose power consumption needs to be reduced among the plurality of computing nodes, wherein the concurrency is used to indicate the number of computing nodes executing the computing task, and the first computing node is a first number of computing nodes corresponding to the lowest concurrency. The management node is configured to determine the power adjustment value corresponding to the first computing node based on the second power consumption, and send the power adjustment value to the first computing node; The first computing node is used to adjust the current power consumption based on the received power adjustment value.
10. The system according to claim 9, characterized in that, The management node is used for: For each computing node, obtain the concurrency degree corresponding to at least one computing task executed by the computing node, and determine the highest concurrency degree among the concurrency degrees corresponding to the at least one computing task as the concurrency degree corresponding to the computing node; Among the plurality of computing nodes, the first number of computing nodes with the lowest corresponding concurrency are determined as the first computing nodes whose power consumption needs to be reduced. The sum of the power consumption that can be reduced for the first number of computing nodes is greater than the second power consumption. The power consumption that can be reduced for the computing node is equal to the difference between the current power consumption of the computing node and the lower limit of the power consumption of the computing node.
11. The system according to claim 9, characterized in that, The management node is used for: The power consumption adjustment value corresponding to each first computing node is set as the variable to be solved, wherein the sum of the variables to be solved corresponding to each first computing node is greater than or equal to the second power consumption, and the variables to be solved corresponding to each first computing node are greater than or equal to the lower limit of power consumption corresponding to each first computing node. Based on the variables to be solved, determine the node performance loss value corresponding to each first computing node; When the node performance loss value is minimized, the value corresponding to the variable to be solved is determined as the power consumption adjustment value corresponding to the first computing node.
12. The system according to claim 11, characterized in that, The management node is used for: For each first computing node, the frequency reduction value of the processor in the first computing node is determined based on the power reduction value corresponding to the first computing node; For each computing task executed on each first computing node, based on the frequency reduction value, the type of the computing task, and the execution information of the computing task on the first computing node, a corresponding task performance loss value for the first computing node executing the computing task is determined. For each first computing node, the sum of the task performance loss values corresponding to each computing task executed on the first computing node is determined as the node performance loss value corresponding to the first computing node.
13. The system according to claim 12, characterized in that, The execution information includes at least the number of processing cores occupied by the computing task on the computing node, processor utilization, memory utilization, and network bandwidth utilization.
14. The system according to any one of claims 9 to 13, characterized in that, The management node is used for: Based on the priority of the computing tasks executed by the multiple computing nodes, the multiple computing nodes are grouped to obtain computing node groups corresponding to each priority. In each priority-related computing node group, determine the computing node group corresponding to the lower priority. Based on the second power consumption and the concurrency of each computing task executed by the plurality of computing nodes, the first computing node that needs to have its power consumption reduced is determined in the computing node group corresponding to the low priority.
15. The system according to any one of claims 9 to 13, characterized in that, The management node is used for: If it is determined that a second computing node among the plurality of computing nodes has failed, the third power consumption corresponding to the third computing node other than the second computing node among the plurality of computing nodes is obtained; If it is determined that the third power consumption exceeds the second power consumption threshold corresponding to the third computing node, then the difference between the third power consumption and the second power consumption threshold is determined as the second power consumption that the plurality of computing nodes need to reduce, wherein the second power consumption threshold is equal to the difference between the first power consumption threshold and the maximum power consumption of the second computing node.
16. The system according to any one of claims 9 to 13, characterized in that, The computing cluster also includes multiple management sub-nodes. The multiple computing nodes included in the computing cluster are divided into multiple computing sub-clusters, with each management sub-node corresponding to one computing sub-cluster. The management sub-node is further configured to, in the event that the management node has failed, manage the power consumption of each computing node in the corresponding computing sub-cluster based on the default power consumption value of the corresponding computing sub-cluster.
17. A power management device, characterized in that, The power management device is used for: Obtain the first power consumption of multiple computing nodes in the computing cluster; If it is determined that the first power consumption exceeds the first power consumption threshold corresponding to the plurality of computing nodes, then the difference between the first power consumption and the first power consumption threshold is determined as the second power consumption that the plurality of computing nodes need to reduce. Based on the second power consumption and the concurrency corresponding to each computing task executed by the plurality of computing nodes, a first computing node that needs to reduce power consumption is determined among the plurality of computing nodes, wherein the concurrency is used to indicate the number of computing nodes executing the computing task, and the first computing node is a first number of computing nodes corresponding to the lowest concurrency. Based on the second power consumption, a power consumption adjustment value corresponding to the first computing node is determined, and the power consumption adjustment value is sent to the first computing node, instructing the first computing node to adjust the power consumption of the first computing node based on the power consumption adjustment value.