Master-slave optimization-based real-time energy consumption optimization method for large-scale application server cluster

By describing the cluster energy consumption optimization problem as a master-slave optimization problem, and by employing efficient enumeration algorithms and differential evolution algorithms, the real-time energy consumption optimization problem of large-scale application server clusters under load fluctuations is solved, achieving efficient energy saving and real-time optimization of servers.

CN115167652BActive Publication Date: 2025-11-21SHANTOU UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210643736.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-09
Publication Date
2025-11-21
Estimated Expiration
2042-06-09

AI Technical Summary

Technical Problem

Existing energy consumption optimization methods for large-scale application server clusters are difficult to achieve real-time optimization under load fluctuations, especially when the cluster size is large, the solution efficiency of existing methods is not ideal and the quality is poor.

Method used

The cluster energy consumption optimization problem is described as a master-slave optimization problem. Variables are defined for each server model, and a master-slave optimization problem solving algorithm is adopted, including master optimization problem and slave optimization problem. The master optimization problem is the optimization between models, and the slave optimization problem is the optimization within a model. The algorithm is solved by combining an efficient enumeration algorithm and a differential evolution algorithm with two mutation operations.

Benefits of technology

It achieves real-time energy consumption optimization for large-scale application server clusters under load fluctuations, ensuring that the servers always run at full load with minimal energy consumption. The optimization problem is reasonably described and has high solution efficiency, enabling online real-time solution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115167652B_ABST
    Figure CN115167652B_ABST
Patent Text Reader

Abstract

The application discloses a large-scale application server cluster real-time energy consumption optimization method based on master-slave optimization, which dynamically optimizes the deployment of each server in the cluster according to the load condition to minimize the energy consumption of the cluster, and the deployment of each server includes: switch state, CPU frequency and load bearing. The application switches the frequency of the server CPU between two adjacent discrete frequencies to achieve the effect of working at an arbitrary continuous frequency, so that the server always runs at full capacity. The application defines variables for each server model, describes the energy consumption optimization problem of the application server cluster as a master-slave optimization problem, uses an enumeration algorithm to solve the slave optimization problem, and uses a differential evolution algorithm with two mutation operations to solve the master optimization problem. Since the number of variables is small, the optimization problem is reasonably described, and the efficiency of the solving algorithm is very high, so that even if applied to a large-scale cluster, the cluster energy consumption optimization problem can still be solved in real time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of energy consumption management technology for application server clusters, and in particular to a real-time energy consumption optimization method for large-scale application server clusters based on master-slave optimization. Background Technology

[0002] Network application service providers typically deploy application server clusters (referred to as clusters) based on peak load. However, the load during normal operation is usually much lower than the peak load and fluctuates. Therefore, it is necessary to dynamically optimize the deployment of each server in the cluster (including switching on / off, CPU frequency, and load) according to the actual load conditions to save energy, thereby reducing operating costs and improving competitiveness.

[0003] Cluster energy consumption optimization based on planning problems is a common approach. It defines variables to describe the deployment of each server in the cluster, thus treating cluster energy consumption optimization as a planning problem, which is then solved. Existing methods can be broadly categorized into two modes: one defines variables for individual servers, describing cluster energy consumption optimization as a linear programming problem and using toolkits for precise solutions. However, when the cluster size is large, the number of variables becomes enormous, making real-time solutions impossible. The other mode defines variables for server models, describing cluster energy consumption optimization as a non-linear programming problem, and then uses greedy algorithms or intelligent optimization algorithms (such as flower pollination algorithms or genetic algorithms) for solving. Intelligent optimization algorithms do not have specific requirements for the form of the objective function and are general optimization methods. However, these intelligent optimization algorithms are not designed specifically for the characteristics of the problem, resulting in less than ideal solution efficiency when applied to large-scale clusters, failing to guarantee real-time optimization. Furthermore, the solution quality of greedy algorithms heavily depends on the application scenario (including server load and power data, and cluster load), typically resulting in poor solution quality. Summary of the Invention

[0004] The technical problem to be solved by the embodiments of the present invention is to provide a real-time energy consumption optimization method for large-scale application server clusters based on master-slave optimization. This method can dynamically optimize the deployment of each server in the cluster according to the load conditions to minimize the cluster's energy consumption, especially when the cluster is large, allowing optimization to continue online in real time.

[0005] To address the aforementioned technical problems, embodiments of the present invention provide a method for real-time energy consumption optimization of large-scale application server clusters based on master-slave optimization, comprising the following steps:

[0006] For each server model, variables are defined to describe the cluster energy consumption optimization problem as a master-slave optimization problem. Then, the predicted cluster load is substituted into this master-slave optimization problem to obtain the optimal cluster deployment. Finally, based on the obtained optimal cluster deployment, the on / off status, CPU frequency, and load of each server are adjusted.

[0007] The load refers to the average number of requests handled per second;

[0008] The relationship between the server's CPU frequency and load is as follows: when the first... i The load handled by this type of server is l i At that time, its CPU at frequency F i,j and F i,j+1 Switching between and working in F i,j and F i,j+1 The time spent on each accounted for ( L i,j+1 - l i ) / ( L i,j+1 - L i,j )and( l i - L i,j ) / ( L i,j+1 - L i,j ),in, F i,j Indicates the first i The server models from low to high j A discrete frequency, L i,j Indicates the first i This type of server operates at 100% CPU utilization. F i,j The load borne at that time L i,j ≤ l i ≤ L i,j+1 ;

[0009] The master-slave optimization problem includes a master optimization problem and a slave optimization problem for each server model;

[0010] The main optimization problem is the optimization between models, specifically targeting the... i Define a variable for each server model: the total load it handles. h i The constraints are h 1+ h 2+…+ h M = LThe goal is to minimize the total power consumption of all servers, where, M For the number of server models, L For the predicted cluster load;

[0011] The optimization problem is now defined as an optimization within a specific model, specifically targeting the [number] [model]. i The server model defines two variables: the number of servers running. n i and the load borne by each running server l i The constraints are n i l i =h i The goal is the first i This type of server has the lowest total power consumption;

[0012] The algorithm for solving the main optimization problem uses the following approach during the solution process: h i The algorithm for solving the optimization problem is invoked as a parameter, and the algorithm for solving the optimization problem will optimize the minimum objective function value and the corresponding... n i and l i The algorithm is then returned to solve the main optimization problem.

[0013] The algorithm for solving the optimization problem further includes:

[0014] The optimization problem is solved using an enumeration algorithm, wherein the algorithm enumerates the nth... i For each pair of adjacent discrete frequencies forming an interval for a given server model, calculate the corresponding objective function value, and finally return the minimum value among all corresponding objective function values ​​and their corresponding... n i and l i ;

[0015] When enumerating the first i The first type of server j When calculating the frequency range mentioned above, the corresponding objective function value is calculated as follows: First, calculate... T i,j =( L i,j+1 P i,j - L i,j P i,j+1 ) / ( L i,j+1 - Li,j )- P i standby ,if T i,j >0, then use n i =Ceil( h i / L i,j+1 Calculate the objective function value; otherwise, use... n i =Min{Floor( h i / L i,j ), N i Calculate the objective function value, where,

[0016] P i,j Indicates the first i This type of server operates at 100% CPU utilization. F i,j Power at that time

[0017] P i standby Indicates the first i The standby power consumption of this type of server.

[0018] N i Indicates the first i The number of different server models

[0019] Ceil() and Floor() represent rounding up and rounding down, respectively.

[0020] Min{} represents taking the minimum value.

[0021] The algorithm for solving the main optimization problem further includes: a differential evolution algorithm with two mutation operations to solve the main optimization problem. This algorithm eliminates the correction and crossover operations in the traditional differential evolution algorithm. The individuals in the population are ( h 1, h 2, ..., h M ),in, h i Indicates the first i The total load handled by this server model M This refers to the number of server models.

[0022] The first mutation operation of the differential evolution algorithm, which involves two mutation operations, includes the following steps:

[0023] Generate a mutant individual using the DE / rand / 1 / either-or mutation strategy. If none of the components of the generated mutant individual exceed the bounds, return the mutant individual.

[0024] Otherwise, use the DE / rand / 1 / either-or mutation strategy again to generate a mutant individual. If none of the components of the generated mutant individual are out of bounds, return the mutant individual.

[0025] Otherwise, a greedy individual is randomly generated based on heuristics and returned.

[0026] The second mutation operation of the differential evolution algorithm for the two mutation operations includes the following steps: the mutation operation is implemented with a certain probability; if implemented, a server model with low energy efficiency is randomly selected and its load is randomly redistributed to a server model with high energy efficiency.

[0027] Implementing the embodiments of this invention has the following beneficial effects: This invention dynamically optimizes the deployment of each server in the cluster according to the load condition to minimize the energy consumption of the cluster. The deployment of each server includes: on / off state, CPU frequency, and load. The CPU frequency of the server switches back and forth between two adjacent discrete frequencies to achieve the effect of working at any continuous frequency, thereby ensuring that the server always runs at full load. Variables are defined for each server model, and the energy consumption optimization problem of the application server cluster is described as a master-slave optimization problem. The master optimization problem is the optimization between models, and the slave optimization problem is the optimization within models. The two optimization problems are clear in meaning and easy to solve. An efficient enumeration algorithm is used to solve the slave optimization problem, and a differential evolution algorithm with two mutation operations is used to solve the master optimization problem, resulting in high solution efficiency. The predicted cluster load is substituted into the master-slave optimization problem to obtain the optimized deployment of the cluster, and the deployment of each server is adjusted based on the obtained optimized cluster deployment. Since the number of variables is small, the optimization problem is reasonably described, and the solution algorithm is highly efficient, the cluster energy consumption optimization problem can still be solved in real time even when applied to large-scale clusters. Attached Figure Description

[0028] Figure 1 This is a flowchart illustrating the method of the present invention. Detailed Implementation

[0029] To make the objectives, technical solutions, and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings.

[0030] like Figure 1As shown, this invention provides a real-time energy consumption optimization method for large-scale application server clusters based on master-slave optimization. For each server model, variables are defined to describe the cluster energy consumption optimization problem as a master-slave optimization problem. Then, the predicted cluster load is substituted into the master-slave optimization problem to obtain the optimized cluster deployment. Finally, based on the obtained optimized cluster deployment, the on / off status, CPU frequency, and load of each server are adjusted.

[0031] The load refers to the average number of requests handled per second;

[0032] The relationship between the server's CPU frequency and load is as follows: when the first... i The load handled by this type of server is l i At that time, its CPU at frequency F i,j and F i,j+1 Switching between and working in F i,j and F i,j+1 The time spent on each accounted for ( L i,j+1 - l i ) / ( L i,j+1 - L i,j )and( l i - L i,j ) / ( L i,j+1 - L i,j ),in, F i,j Indicates the first i The server models from low to high j A discrete frequency, L i,j Indicates the first i This type of server operates at 100% CPU utilization. F i,j The load borne at that time L i,j ≤ l i ≤ L i,j+1 ;

[0033] The master-slave optimization problem includes a master optimization problem and a slave optimization problem for each server model;

[0034] The main optimization problem is the optimization between models, specifically targeting the...i Define a variable for each server model: the total load it handles. h i The constraints are h 1+ h 2+…+ h M = L The goal is to minimize the total power consumption of all servers, where, M For the number of server models, L For the predicted cluster load;

[0035] The optimization problem is now defined as an optimization within a specific model, specifically targeting the [number] [model]. i The server model defines two variables: the number of servers running. n i and the load borne by each running server l i The constraints are n i l i =h i The goal is the first i This type of server has the lowest total power consumption;

[0036] The algorithm for solving the main optimization problem uses the following approach during the solution process: h i The algorithm for solving the optimization problem is invoked as a parameter, and the algorithm for solving the optimization problem will optimize the minimum objective function value and the corresponding... n i and l i The algorithm is then returned to solve the main optimization problem.

[0037] Furthermore, the algorithm for solving the optimization problem further includes: using an enumeration algorithm to solve the optimization problem, wherein the algorithm enumerates the nth... i For each pair of adjacent discrete frequencies forming an interval for a given server model, calculate the corresponding objective function value, and finally return the minimum value among all corresponding objective function values ​​and their corresponding... n i and l i ;

[0038] When enumerating the first i The first type of server j When calculating the frequency range mentioned above, the corresponding objective function value is calculated as follows: First, calculate... T i,j =( L i,j+1 Pi,j - L i,j P i,j+1 ) / ( L i,j+1 - L i,j )- P i standby ,if T i,j >0, then use n i =Ceil( h i / L i,j+1 Calculate the objective function value; otherwise, use... n i =Min{Floor( h i / L i,j ), N i Calculate the objective function value, where,

[0039] P i,j Indicates the first i This type of server operates at 100% CPU utilization. F i,j Power at that time

[0040] P i standby Indicates the first i The standby power consumption of this type of server.

[0041] N i Indicates the first i The number of different server models

[0042] Ceil() and Floor() represent rounding up and rounding down, respectively.

[0043] Min{} represents taking the minimum value.

[0044] Furthermore, the algorithm for solving the main optimization problem further includes: using a differential evolution algorithm with two mutation operations to solve the main optimization problem. This algorithm eliminates the correction and crossover operations in the traditional differential evolution algorithm, and the individuals in the population are ( h 1, h 2, ..., h M ),in, hi Indicates the first i The total load handled by this server model M This refers to the number of server models.

[0045] Furthermore, the first mutation operation in the two mutation operations further includes:

[0046] Generate a mutant individual using the DE / rand / 1 / either-or mutation strategy. If none of the components of the generated mutant individual exceed the bounds, return the mutant individual.

[0047] Otherwise, use the DE / rand / 1 / either-or mutation strategy again to generate a mutant individual. If none of the components of the generated mutant individual are out of bounds, return the mutant individual.

[0048] Otherwise, a greedy individual is randomly generated based on heuristics and returned.

[0049] Furthermore, the second mutation operation in the two mutation operations further includes: the mutation operation is implemented with a certain probability; if implemented, a server model with low energy efficiency is randomly selected, and its load is randomly reassigned to a server model with high energy efficiency.

[0050] The above-mentioned cluster energy consumption optimization is carried out periodically. At the end of each optimization cycle, the cluster load for the next cycle is predicted first, and then the on / off state, CPU frequency and load of each server are adjusted according to the predicted load to minimize the total power of the cluster.

[0051] The present invention has the following advantages:

[0052] 1) Server operating at full load. The server CPU frequency switches between two adjacent discrete frequencies to achieve the effect of operating at any continuous frequency, thus ensuring the server is always operating at full load. Existing methods typically operate the server CPU at discrete frequencies, resulting in excessive server capacity and waste in most cases. Therefore, the CPU operating mode in this invention is more efficient and energy-saving.

[0053] 2) The energy consumption and load models are more accurate. Load and power consumption models are established for each pair of adjacent discrete frequency intervals, while existing methods usually establish load and power consumption models in a coarse manner for the entire frequency interval. The model constructed in this invention is more accurate.

[0054] 3) The cluster energy consumption optimization problem can be solved online in real time. Existing cluster energy consumption optimization methods based on planning problems either struggle with real-time solutions when the cluster size is large and the number of planning variables is enormous, or they rely solely on greedy algorithms, which fail to yield high-quality solutions, or they employ intelligent optimization algorithms but are not designed to fully consider the characteristics of the problem, resulting in less than ideal solution efficiency when applied to large-scale clusters. The solution provided by this invention, however,

[0055] First, variables are defined for each server model, and the number of variables is very small.

[0056] Secondly, based on the characteristics of cluster energy consumption optimization, it is described as a master-slave optimization problem. The master optimization problem is the optimization between models, and the slave optimization problem is the optimization within models. The two optimization problems are clear in meaning and easy to solve.

[0057] Third, considering the characteristics of optimization problems, an efficient enumeration algorithm is used to solve them. Currently, the number of discrete frequencies of mainstream CPUs is no more than 15, so the overhead of enumeration is very small.

[0058] Fourth, considering the characteristics of the main optimization problem, a differential evolution algorithm with two mutation operations is adopted to solve it. Heuristic ideas are introduced in both mutation operations, thus accelerating the convergence speed of the evolutionary process. At the same time, both mutation operations can ensure that the mutated individuals satisfy the constraints. h 1+ h 2+…+ h M = L .

[0059] Because the number of variables is small, the optimization problem is reasonably described, and the solution algorithm is highly efficient, the method provided by this invention can still solve the cluster energy consumption optimization problem in real time, even when applied to large-scale clusters.

[0060] The above description is merely a preferred embodiment of the present invention and should not be construed as limiting the scope of the invention. Therefore, any equivalent variations made in accordance with the claims of the present invention are still within the scope of the present invention.

Claims

1. A method for real-time energy consumption optimization of large-scale application server clusters based on master-slave optimization, characterized in that, Including the following steps: For each server model, variables are defined to describe the cluster energy consumption optimization problem as a master-slave optimization problem. Then, the predicted cluster load is substituted into this master-slave optimization problem to obtain the optimal cluster deployment. Finally, based on the obtained optimal cluster deployment, the on / off status, CPU frequency, and load of each server are adjusted. The load refers to the average number of requests handled per second; The relationship between the server's CPU frequency and load is as follows: when the first... i The load handled by this type of server is l i At that time, its CPU at frequency F i,j and F i,j+1 Switching between and working in F i,j and F i,j+1 The time spent on each accounted for ( L i,j+1 - l i ) / ( L i,j+1 - L i,j )and( l i - L i,j ) / ( L i,j+1 - L i,j ),in, F i,j Indicates the first i The server models from low to high j A discrete frequency, L i,j Indicates the first i This type of server operates at 100% CPU utilization. F i,j The load borne at that time L i,j ≤ l i ≤ L i,j+1 ; The master-slave optimization problem includes a master optimization problem and a slave optimization problem for each server model; The main optimization problem is the optimization between models, specifically targeting the... i Define a variable for each server model: the total load it handles. h i The constraints are h 1+ h 2+…+ h M = L The goal is to minimize the total power consumption of all servers, where, M For the number of server models, L For the predicted cluster load; The optimization problem is now defined as an optimization within a specific model, specifically targeting the [number] [model]. i The server model defines two variables: the number of servers running. n i and the load borne by each running server l i The constraints are n i l i =h i The goal is the first i This type of server has the lowest total power consumption; The algorithm for solving the main optimization problem uses the following approach during the solution process: h i The algorithm for solving the optimization problem is invoked as a parameter, and the algorithm for solving the optimization problem will optimize the minimum objective function value and the corresponding... n i and l i The algorithm is then returned to solve the main optimization problem.

2. The real-time energy consumption optimization method for large-scale application server clusters based on master-slave optimization according to claim 1, characterized in that, The algorithm for solving the optimization problem also includes: The optimization problem is solved using an enumeration algorithm, wherein the algorithm enumerates the nth... i For each pair of adjacent discrete frequencies forming an interval for a given server model, calculate the corresponding objective function value, and finally return the minimum value among all corresponding objective function values ​​and their corresponding... n i and l i ; When enumerating the first i The first type of server j When calculating the frequency range mentioned above, the corresponding objective function value is calculated as follows: First, calculate... T i,j =( L i,j+1 P i,j - L i,j P i,j+1 ) / ( L i,j+1 - L i,j )- P i standby ,if T i,j >0, then use n i =Ceil( h i / L i,j+1 Calculate the objective function value; otherwise, use... n i =Min{Floor( h i / L i,j ), N i } Calculate the objective function value, where, P i,j Indicates the first i This type of server operates at 100% CPU utilization. F i,j Power at that time P i standby Indicates the first i The standby power consumption of this type of server. N i Indicates the first i The number of different server models Ceil() and Floor() represent rounding up and rounding down, respectively. Min{} represents taking the minimum value.

3. The real-time energy consumption optimization method for large-scale application server clusters based on master-slave optimization according to claim 1, characterized in that, The algorithm for solving the main optimization problem further includes: a differential evolution algorithm with two mutation operations to solve the main optimization problem. This algorithm eliminates the correction and crossover operations found in traditional differential evolution algorithms. The individuals in the population are... h 1, h 2, ..., h M ,in, h i Indicates the first i The total load handled by this server model M This refers to the number of server models.

4. The real-time energy consumption optimization method for large-scale application server clusters based on master-slave optimization according to claim 3, characterized in that, The first mutation operation of the differential evolution algorithm with the two mutation operations includes the following steps: Generate a mutant individual using the DE / rand / 1 / either-or mutation strategy. If none of the components of the generated mutant individual exceed the bounds, return the mutant individual. Otherwise, use the DE / rand / 1 / either-or mutation strategy again to generate a mutant individual. If none of the components of the generated mutant individual are out of bounds, return the mutant individual. Otherwise, a greedy individual is randomly generated based on heuristics and returned.

5. The real-time energy consumption optimization method for large-scale application server clusters based on master-slave optimization according to claim 3, characterized in that, The second mutation operation of the differential evolution algorithm with the two mutation operations includes the following steps: the mutation operation is implemented with a certain probability; if implemented, a server model with low energy efficiency is randomly selected and its load is randomly redistributed to a server model with high energy efficiency.

Citation Information

Patent Citations

  • Online energy consumption management method and apparatus of large-scale server cluster

    CN106452822A

  • Web service combination method based on IFPA algorithm

    CN111047040A