Event-driven data center energy efficiency optimization method and device
Through an event-driven energy efficiency optimization method, using deep reinforcement learning to adjust the IT and cooling subsystems of the data center, the problem of poor energy efficiency optimization in the existing technology in the high dynamic environment is solved, and more efficient energy management is achieved and stable operation.
Patent Information
- Application Number
- CN202411294048.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-14
- Publication Date
- 2024-12-31
AI Technical Summary
In the prior art, the energy efficiency optimization of data centers mainly adopts a time-driven method, and it is difficult to achieve better energy efficiency optimization when dealing with high dynamics and complex operating spaces.
Using an event-driven energy efficiency optimization method, by obtaining the status information of the data center, determining specific status events based on preset event recognition rules, generating optimal control actions, adjusting IT subsystems and cooling subsystems, and using deep reinforcement learning to capture Dynamic nonlinear features reduce the frequency of control operations and improve energy efficiency.
Significantly improve energy efficiency in a highly dynamic environment, reduce energy waste, reduce system operation complexity and control costs, and ensure the system operates stably and efficiently under different loads and environmental conditions.
Smart Images

Figure CN119225930A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the fields of computer technology and data center technology, and in particular to an event-driven data center energy efficiency optimization method and device. Background Art
[0002] Data centers are an important part of modern information technology infrastructure. With the rapid development of new technologies such as cloud computing, big data, and big models, the scale and complexity of data centers are constantly increasing. The energy consumption problem of data centers is becoming increasingly prominent. Even a small energy-saving improvement can save a lot of costs. Therefore, energy efficiency optimization of data centers has become crucial.
[0003] In the prior art, energy efficiency optimization of data centers generally adopts a time-driven energy efficiency optimization method. This method will face huge challenges when dealing with highly dynamic and / or complex operation spaces and cannot achieve energy efficiency optimization well.
[0004] Based on this, the embodiments of this specification provide a method and device for optimizing energy efficiency of a data center based on event-driven. Summary of the invention
[0005] The embodiments of this specification provide an event-driven data center energy efficiency optimization method and device for solving the following technical problems: In the prior art, the energy efficiency optimization of a data center generally adopts a time-driven energy efficiency optimization method. This method faces huge challenges when dealing with highly dynamic and / or complex operating spaces, and cannot achieve energy efficiency optimization well.
[0006] To solve the above technical problems, the embodiments of this specification are implemented as follows:
[0007] The embodiment of this specification provides an event-driven data center energy efficiency optimization method, including:
[0008] Get the status information of the data center to be processed;
[0009] Based on the status information of the data center to be processed, determining whether the status information of the data center to be processed belongs to a preset specific status event through a preset event identification rule, wherein the types of the preset specific status event include: a job scheduling event, a state transition event, a change ratio event, and a boundary event;
[0010] If so, the preset EDC-EOA agent generates an optimal control action based on the type of preset specific status event to which the status information of the data center to be processed belongs, so as to optimize the energy efficiency of the data center to be processed, and the optimal control action is used to adjust the IT subsystem and cooling subsystem of the data center to be processed.
[0011] The embodiment of this specification also provides an energy efficiency optimization device for a data center based on event-driven, including:
[0012] An acquisition module obtains status information of a data center to be processed;
[0013] A judgment module, based on the state information of the data center to be processed, determines whether the state information of the data center to be processed belongs to a preset specific state event through a preset event recognition rule, wherein the types of the preset specific state events include: job scheduling events, state transition events, change ratio events, and boundary events;
[0014] Energy efficiency optimization module, if so, the preset EDC-EOA agent generates the optimal control action according to the type of preset specific status event to which the status information of the data center to be processed belongs, so as to optimize the energy efficiency of the data center to be processed, and the optimal control action is used to adjust the IT subsystem and cooling subsystem of the data center to be processed.
[0015] The embodiment of the present specification provides an event-driven data center energy efficiency optimization method, which obtains the status information of the data center to be processed; based on the status information of the data center to be processed, determines whether the status information of the data center to be processed belongs to a preset specific status event through a preset event recognition rule, and the types of the preset specific status events include: job scheduling events, state transition events, change ratio events and boundary events; if so, the preset EDC-EOA agent generates an optimal control action according to the type of the preset specific status event to which the status information of the data center to be processed belongs, so as to optimize the energy efficiency of the data center to be processed, and the optimal control action is generated. The action is used to adjust the IT subsystem and cooling subsystem of the data center to be processed, and can perform control operations only when key events occur, reducing the frequency of control operations, thereby reducing the operating complexity and control cost of the system; through deep reinforcement learning, it can capture and learn the dynamic nonlinear characteristics of IT workloads and thermal processes, thereby achieving more accurate control strategies, reducing the risks of system overheating and over-allocation of resources, significantly improving energy efficiency, and reducing energy waste; it can dynamically adjust the control frequency according to actual operating conditions and load changes, ensuring that the system can maintain stable and efficient operation under different workloads and environmental conditions, thereby having obvious advantages in dealing with the highly dynamic environment of the data center. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the embodiments of this specification or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0017] Figure 1 A schematic diagram of the system architecture of an event-driven data center energy efficiency optimization method provided in an embodiment of this specification;
[0018] Figure 2 A schematic diagram of a flow chart of an event-driven data center energy efficiency optimization method provided in an embodiment of this specification;
[0019] Figure 3 A schematic diagram of an event-driven data center energy efficiency optimization device provided in an embodiment of this specification. DETAILED DESCRIPTION
[0020] In order to enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below in conjunction with the drawings in the embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this application, not all of them. Based on the embodiments of this specification, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of this application.
[0021] Figure 1 A schematic diagram of the system architecture of an event-driven data center energy efficiency optimization method provided in an embodiment of this specification. Figure 1 As shown, the system architecture 100 may include terminal devices 101, 102, 103, a network 104 and a server 105. The network 104 is used to provide a medium for communication links between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.
[0022] The terminal devices 101, 102, 103 interact with the server 105 through the network 104 to receive or send messages, etc. Various client applications may be installed on the terminal devices 101, 102, 103, such as dedicated programs such as energy efficiency optimization methods for data centers based on event-driven.
[0023] The terminal devices 101, 102, 103 may be hardware or software. When the terminal devices 101, 102, 103 are hardware, they may be various dedicated or general electronic devices, including but not limited to smart phones, tablet computers, laptop computers, desktop computers, etc. When the terminal devices 101, 102, 103 are software, they may be installed in the electronic devices listed above. They may be implemented as multiple software or software modules (e.g., multiple software or software modules for providing distributed services), or they may be implemented as a single software or software module.
[0024] The server 105 may be a server that provides various services, such as a backend server that provides services for client applications installed on the terminal devices 101, 102, and 103. For example, the server may perform energy efficiency optimization of a data center based on event-driven, so as to display the energy efficiency optimization result of the data center based on event-driven on the terminal device servers 101, 102, and 103, and the server may also perform energy efficiency optimization of a data center based on event-driven, so as to display the energy efficiency optimization result of the data center based on event-driven on the terminal devices 101, 102, and 103.
[0025] The server 105 may be hardware or software. When the server 105 is hardware, it may be implemented as a distributed server cluster consisting of multiple servers, or as a single server. When the server 105 is software, it may be implemented as multiple software or software modules (e.g., multiple software or software modules for providing distributed services), or as a single software or software module.
[0026] Figure 2 A flow chart of an event-driven data center energy efficiency optimization method provided in an embodiment of this specification. From a program perspective, the execution subject of the process can be a program installed on an application server or an application terminal. It can be understood that the method can be executed by any device, equipment, platform, or device cluster with computing and processing capabilities.
[0027] like Figure 2 As shown, the energy efficiency optimization method includes:
[0028] Step S201: Obtain status information of a data center to be processed.
[0029] In the embodiments of this specification, the data center to be processed is a data center that needs to be optimized for energy efficiency, and the data center to be processed includes an IT subsystem and a cooling subsystem. Specifically, the IT subsystem is composed of a number of racks, each of which contains a group of servers. The CPU of the server can be single-core or multi-core. In particular, it is assumed that the hardware environment is homogeneous, that is, each rack contains the same number of homogeneous servers, and all servers have the same computing power and power consumption characteristics. Assume that the target data center contains N racks, each rack n has W servers, and each server has c total CPU cores.
[0030] In a specific embodiment, the IT subsystem is responsible for executing jobs. Therefore, in order to process jobs in an orderly manner, the IT subsystem also includes a job scheduler. The job scheduler follows the task queue and allocation mode. Specifically, when a new job arrives at the IT subsystem, the job scheduler pushes it to the job queue. Then, according to the preset rules, the jobs in the job queue are allocated and executed, thereby ensuring the orderly processing of tasks.
[0031] In a specific embodiment, the preset rule refers to a strategy for allocating and executing jobs in a predefined job queue, and the preset rule may be a first-in-first-out rule. In a specific embodiment, the job scheduler follows a task queuing and allocation mode. When a new task arrives, the new task is put into the task queue, allocated according to the preset rules, and allocated to appropriate servers one by one. Then, the corresponding service station executes the task, thereby ensuring orderly processing of the task.
[0032] In an embodiment of the present specification, the target data center of the cooling subsystem adopts an air cooling system, including air cooling units (ACUs), an elevated floor air supply system, and a ceiling return air structure. In order to prevent the airflow recirculation effect, cold aisle closure technology is adopted. The purpose of the cooling process is to dissipate the heat generated by the activated servers. The cold air flow provided by the ACUs enters the closed cold aisle through the elevated floor plenum and perforated tiles (the floor below the cold aisle). The rack fans then pump the cold air into the racks to remove the heat generated by the rack servers. Finally, the hot air is extracted from the data center room to the outdoor environment through the ACUs.
[0033] In the embodiment of this specification, the execution subject of the energy efficiency optimization method is an EDC-EOA (Event-Driven Data Center Energy Optimization Algorithm) agent. When optimizing the energy efficiency of the processing data center, the system includes an event identifier and an action executor in addition to the EDC-EOA agent.
[0034] Specifically, the event identifier is used to detect and identify specific status events. The EDC-EOA agent is used to calculate the optimal control strategy based on the current event and system status. The action executor is used to execute specific control actions according to the decision of the EDC-EOA agent to adjust the operation of the IT subsystem and the cooling subsystem.
[0035] Step S203: Based on the status information of the data center to be processed, determine whether the status information of the data center to be processed belongs to a preset specific status event through a preset event identification rule. The types of the preset specific status events include: job scheduling events, state transition events, change ratio events and boundary events.
[0036] In the embodiment of the present specification, whether the status information of the data center to be processed belongs to a preset specific status event is implemented by the event identifier.
[0037] The preset event identification rules specifically include:
[0038] If the length of the job queue in the status information of the data center to be processed is greater than zero, then the status information of the data center to be processed belongs to the job scheduling event;
[0039] If the change of the state information of the data center to be processed is from the first predefined interval to the second predefined interval, then the state information of the data center to be processed belongs to the state transition event;
[0040] If the server utilization rate in the status information of the data center to be processed exceeds a first threshold and / or the change ratio of the rack outlet temperature exceeds a second threshold, the status information of the data center to be processed belongs to the change ratio event;
[0041] If there is a hotspot event and / or an over-configuration event in the status information of the data center to be processed, the status information of the data center to be processed belongs to the boundary event.
[0042] Specifically, the status information of the data center to be processed includes: the number of CPU cores, server utilization, server power consumption, rack outlet temperature, and rack inlet temperature.
[0043] In an embodiment of the present specification, the predefined intervals include a low utilization interval, a medium utilization interval, and a high utilization interval. Specifically, the low utilization interval is 0% to 30%, the medium utilization interval is 30% to 70%, and the high utilization interval is 70% to 100%. In an embodiment of the present specification, the value of the first predefined interval is less than the value of the second predefined interval, and the first predefined interval is different from the second predefined interval. The first predefined interval is an interval in the predefined interval, and the second predefined interval is an interval in the predefined interval. Specifically, when the first predefined interval is a low utilization interval, the second predefined interval is a medium utilization interval, and when the first predefined interval is a medium utilization interval, the second predefined interval is a high utilization interval.
[0044] In the embodiments of this specification, the setting of the first threshold can be set according to the actual load fluctuation. In a specific embodiment, the first threshold can be 10% / minute or 20% / minute. This means that when the CPU utilization of the server changes by more than 10% or 20% within a unit of time (such as 1 minute), the system will trigger an event. If the load often fluctuates greatly, a higher threshold can be selected to avoid too frequent event triggering.
[0045] The second threshold is set to prevent overheating. Therefore, in a specific embodiment, the second threshold is generally set conservatively. Specifically, the second threshold can be set to 2°C / minute or 3°C / minute. This means that if the rack outlet temperature rises by more than 2°C or 3°C within one minute, the system will trigger an event to prevent potential overheating problems.
[0046] Again, the thresholds are set based on the data center's cooling capacity and the temperature range in which it operates. Excessive temperature variations may mean that the cooling system needs to be adjusted to prevent high-temperature failures.
[0047] In the embodiments of this specification, the system refers to a system for energy efficiency optimization composed of an EDC-EOA agent, an event identifier, and an action executor.
[0048] In the embodiment of the present specification, the hot event is an event in which the utilization rate of a rack in the status information of the data center to be processed exceeds a third threshold and / or the rack outlet temperature exceeds a fourth threshold;
[0049] The over-configuration event refers to an event in which the utilization rate of a rack in the status information of the to-be-processed data center is lower than a fifth threshold and / or the outlet temperature of the rack is lower than a sixth threshold.
[0050] In an embodiment of the present specification, the third threshold is set to 80%. When the average server utilization of the rack exceeds 80%, an event is triggered. This means that the load of the rack is already very high, and the system may need to take measures, such as reallocating tasks, to avoid overload operation. The fourth threshold is set to 40°C. When the outlet temperature of the rack exceeds 40°C, the system will trigger an overheating event, prompting the need for increased cooling to avoid hardware damage to the rack or server. These thresholds are set to ensure that the data center can adjust the control strategy in time under high load and high temperature conditions, thereby ensuring the stability and performance of the system. The fifth threshold can be set to 90%, and the sixth threshold can be set to 45°C.
[0051] Step S205: If so, the preset EDC-EOA agent generates an optimal control action according to the type of preset specific status event to which the status information of the data center to be processed belongs, so as to optimize the energy efficiency of the data center to be processed, and the optimal control action is used to adjust the IT subsystem and cooling subsystem of the data center to be processed.
[0052] In the embodiment of this specification, the preset EDC-EOA agent is an agent based on the PADQN network, the preset EDC-EOA includes a Q network and a policy network, and the training process of the preset EDC-EOA agent includes:
[0053] Initializing the current Q network and the current policy network to obtain an initialized network, wherein the initialized network includes: an initialized Q network and an initialized policy network;
[0054] Based on the initialized network, event detection is performed to determine the preset specific state event;
[0055] Based on the type of the preset specific state event, selecting and executing the preset specific state event as a corresponding action, and observing the corresponding immediate reward;
[0056] The corresponding event of the determined preset specific state event, the preset specific state event being the corresponding action and the corresponding immediate reward are stored in a playback buffer, and the initialized Q network and the initialized policy network are updated by a random sampling method to obtain an updated initialized Q network and an updated initialized policy network;
[0057] Based on the updated initialized Q network and the updated initialized strategy network, the parameters of the Q network are updated until a preset number of iterations is reached to obtain the Q network.
[0058] In the embodiments of this specification, the PADQN network (:40PADQN (Parallel Asynchronous Deep Q-Network) is a parameterized action space deep Q network, which is a deep reinforcement learning algorithm extended from DQN (Deep Q-Network). It accelerates the training process and improves learning efficiency by introducing parallel and asynchronous mechanisms. The main feature of PADQN is to use multiple agents to interact with the environment in parallel and asynchronously update the global neural network model.
[0059] In the embodiments of this specification, the current Q network refers to the core network used for decision making and training, which is updated in each iteration. The target Q network refers to the network that periodically copies parameters from the current Q network in order to provide a more stable training target, but is not updated in each iteration. Specifically, the current Q network is used to estimate each event-action pair (e, k, x in real time. k ) represents the expected return in the future under a given state and action. By sampling the state and action in the environment, the weights of the current Q network gradually approach the optimal value, so that the long-term return of each state and action can be more accurately evaluated. The target Q network is an auxiliary network used to stabilize the training process. The parameters of the target Q network θ - It is obtained by periodically updating the parameters θ of the current Q network, but it is not updated in every iteration like the current Q network.
[0060] In the embodiment of this specification, the initialization of the current Q network and the current policy network to obtain the initialized network specifically includes:
[0061] Randomly initialize the current Q network Q(e,k,x k ;θ) and the weight θ of the current policy network x k The weight ω of (e;ω);
[0062] Initialize the target network Q(e,k,x k θ - )’s weight θ - ←θ;
[0063] Initialize the exploration parameters ∈, mini-batch samples B and experience replay buffer R, as well as the total number of iterations Z to obtain the initialized network.
[0064] In a specific embodiment, the selection of small batch samples B can be determined according to the specific training, and the selection of small batch samples for partial training data can be 100, 200 or 500. The experience replay buffer is used to temporarily store the corresponding actions and the corresponding immediate rewards of specific state events. The data in the experience replay buffer can be used as random sampling in the training process to initialize the update of the network.
[0065] In the embodiment of the present specification, the corresponding event of the determined preset specific state event, the preset specific state event is a corresponding action and the corresponding immediate reward are stored in the playback buffer, and the initialized Q network and the initialized policy network are updated by a random sampling method to obtain an updated initialized Q network and an updated initialized policy network, specifically including:
[0066] storing the determined corresponding event of the preset specific state event, the preset specific state event being the corresponding action and the corresponding immediate reward in an experience playback buffer;
[0067] A small batch of samples is randomly selected from the experience replay buffer, and the target value and the gradient of the loss function are calculated to update the initialized Q network and the initialized policy network to obtain an updated initialized Q network and an updated initialized policy network.
[0068] In the embodiment of this specification, the calculation formula of the target value is:
[0069] The target value is calculated as follows:
[0070]
[0071] in,
[0072] y z represents the target value;
[0073] r(e z ,a z ) indicates that in event e z Take action a z Immediate rewards after
[0074] γ represents the discount factor;
[0075] Q(e z+1 ,k,x k (e z+1 ;ω z );θ - ) is the Q value function, which indicates that in the future event e z+1 After it happens, when taking action k, the expected reward of the system;
[0076] e z+1 represents the event at the next time step;
[0077] ω z Representing parameters of the policy network;
[0078] z represents the current time step;
[0079] represents a discrete action space;
[0080] Task scheduling action k∈{0,1,…,NW}, where k represents the index of the server selected to perform the task;
[0081] NW represents the total number of servers in the data center;
[0082] Airflow rate adjustment action x = (x 1 ,x 2 ,…,x J ), where J represents the number of air conditioning units in the cooling system of the data center;
[0083] x k represents the airflow rate adjustment action corresponding to the task scheduling action k;
[0084] θ - Represents the parameters of the target network;
[0085] The gradient of the loss function includes the gradient of updating θ and the gradient of updating the network parameter ω;
[0086] The gradient of the updated θ is:
[0087]
[0088] in:
[0089] represents the gradient of updating θ;
[0090] y z represents the target value;
[0091] represents the expected return value output by the Q network, representing the event e at the current time z z Discrete action k z and continuous action The Q value of the joint state of
[0092] Represents the gradient relative to the parameter θ, which is used to adjust the weights of the network;
[0093] The gradient of the updated network parameter ω is:
[0094]
[0095] ▽ ω J represents the gradient of the loss function J of the policy network relative to the policy network parameter ω;
[0096] ▽ ω x k(e;ω) represents the gradient of the policy network parameter ω;
[0097] ▽ x Q(e,k,x k (e; ω); θ) represents the gradient of the airflow rate adjustment action x with respect to the parameter θ.
[0098] Specifically, ω z Represents the parameters of the policy network, which is used to generate action y at the zth iteration k (e z+1 ;ω z ) network parameters.
[0099] z represents the current time step. Each time step z corresponds to an event e z The algorithm will learn and update the model through continuous time steps z.
[0100] Represents the discrete action space, which contains the set of all possible discrete actions.
[0101] is the expected return value output by the Q network, representing the event e at the current time z z Discrete action k z and continuous action The Q value of the joint state of , where θ is the weight of the neural network. The Q value reflects the z When it happens, take action k z and The expected return value that can be brought.
[0102] The gradient with respect to the parameters θ is used to adjust the weights of the network.
[0103] ▽ ω J represents the gradient of the policy network’s loss function J with respect to the policy network parameters ω. This gradient is used to update the policy network’s parameters ω to optimize the generated action x k (e; ω), maximizing the overall return.
[0104] In DRL, the gradient of the loss function is used to update the parameters of the model (such as the weights in the Q network). By calculating the gradient of the loss function with respect to the model parameters, we can use gradient descent or other optimization algorithms to adjust the weights of the model to minimize the loss function. This optimization makes the Q value predicted by the model consistent with the actual target value (i.e., y in the formula z The gap between them is constantly narrowing, allowing the model to learn the optimal control strategy. Specifically, the gradient reflects the direction and magnitude of the change in the loss function, and using gradient updates can gradually approach the solution that minimizes the loss.
[0105] When the gradient of the loss function approaches zero or a very small threshold, the iteration can usually be stopped. This phenomenon indicates that the model is close to the optimal solution and further updates will have little effect on the improvement of the loss function. In practical applications, a small gradient threshold can be set. When the norm of the gradient (that is, the size of all parameter gradients) is less than this threshold, the iteration is stopped. This situation is generally called convergence.
[0106] However, the fact that the gradient approaches zero does not always mean that the global optimal solution has been found. It may just be a local optimal solution or fall into a flat area. Therefore, the choice of learning rate and optimization algorithm is crucial to avoid falling into the local optimal point.
[0107] The choice of the preset number of iterations depends on several factors:
[0108] Complexity of the problem: More complex problems (e.g., large datasets, complex state-action spaces) require more iterations to train adequately.
[0109] Model capacity: If the model is large (such as a deep neural network with many hidden layers), it will generally require more iterations.
[0110] Changes in the loss function: This can be determined by observing how the loss function changes in each iteration. If the loss function tends to be stable, it indicates that the model has reached a certain convergence state and the number of iterations can be reduced.
[0111] In reinforcement learning, the number of iterations is usually measured by "episode" or "step" instead of the traditional number of iterations. For example, a Q network can be set to train a number of episodes (such as 5,000 to 10,000) or time steps (such as 1 million to 5 million steps). The number of iterations depends on the convergence of the algorithm.
[0112] In addition to a fixed number of iterations, you can also set some dynamic stopping conditions. For example, when the change in the loss function or target value is less than a certain threshold, stop training. Or, you can combine the early stopping strategy to stop iterations early when the performance on the validation set no longer improves.
[0113] Generally speaking, the number of iterations in reinforcement learning is large because the system needs to interact with the environment repeatedly and gradually learn the optimal strategy. For example, the DQN algorithm usually runs millions of steps of training.
[0114] In this illustrated embodiment, the preset number of iterations is one million steps.
[0115] In the embodiments of this specification, the selection of discrete actions and continuous actions adopts the following method:
[0116] Randomly select an action a from the distribution μ with probability ∈ z ;
[0117] Otherwise, choose a combined action:
[0118] Continuous action: x k ←x k (e z ;ω)
[0119] Discrete Actions:
[0120] Where μ represents the policy distribution, which is used to sample actions from the policy. Sampling actions according to this distribution represents the decision made by the agent according to the policy network in a given state.
[0121] In the embodiment of this specification, the control action includes task scheduling and cooling system adjustment decision, and the control action is implemented based on the following optimization problem:
[0122]
[0123] in,
[0124] Γ represents the objective function of comprehensive PUE, overheating penalty and overload penalty;
[0125] PUE stands for power usage efficiency;
[0126] O h,n Indicates overheating penalty;
[0127] O l,n Indicates overload penalty;
[0128] β1 represents the weight factor of the overheating penalty;
[0129] β2 represents the weight factor of the overload penalty;
[0130] N represents the number of racks;
[0131] In the embodiment of this specification, the expression of the power usage efficiency is:
[0132]
[0133] in,
[0134] PUE stands for power usage efficiency;
[0135] P it Indicates the power of IT equipment;
[0136] P cool Indicates the power of the cooling equipment;
[0137] The expression of the overheat penalty is:
[0138]
[0139] in,
[0140] O h,n Indicates overheating penalty;
[0141] represents the outlet temperature of the nth rack;
[0142] ψ T Indicates the threshold value of rack outlet temperature;
[0143] The expression of the overload penalty is:
[0144]
[0145] in,
[0146] W represents the number of servers in each rack;
[0147] u k Indicates the utilization of the server;
[0148] Y represents the threshold of server utilization.
[0149] Specifically, the Γ target is to prevent overheating and load imbalance while maintaining energy efficiency by minimizing Γ.
[0150] The weight factors β1 and β2 are the weight coefficients of overheating penalty and overload penalty, corresponding to the importance of overheating and overload problems in the system, respectively.
[0151] The value of the weight factor depends on the data center's tolerance to overheating and overload and its optimization goals. Specifically:
[0152] β1 (weight factor for overheating): determines how seriously the system takes overheating (such as overheating of the server or insufficient cooling). If the system is more concerned about avoiding overheating, the value of β1 will be larger to ensure that the temperature remains within a safe range.
[0153] β2 (overload weight factor): determines the importance the system places on overload (e.g. server resources being overloaded). If the system places more emphasis on resource load balancing and preventing overload, the value of β2 will be larger.
[0154] The relationship between β1 and β2 depends on the trade-offs that the data center places on different penalties. For example, if the system places more emphasis on temperature control than load balancing, β1 will be greater than β2. On the other hand, if the overload problem is considered more urgent, β2 will be greater than β1.
[0155] In the embodiments of this specification, task scheduling means that the task at the top of the task queue should be assigned to the appropriate server k, where k is the index of the server, k∈{0,1,...,NW]. When k=0, it means that this task is not assigned to any server in the current event, and the decision variable is discrete. Specifically, the earliest arriving or highest priority task in the current task queue. In task scheduling, tasks will be arranged in the queue according to certain rules (such as arrival time, priority, etc.), and the task at the top of the queue is the task that needs to be processed first. When performing task scheduling, load balancing strategies, priority strategies, energy efficiency optimization strategies, server capacity matching strategies, etc. can be adopted.
[0156] Load balancing strategy: Assign tasks to servers with lower loads to ensure that computing resources of all servers are used evenly and prevent overloading of a single server.
[0157] Priority policy: Some tasks may be more important than others. The system will assign high-priority tasks to more powerful or less busy computing resources based on the priority of the tasks.
[0158] Energy efficiency optimization strategy: Under the premise of considering energy saving, the system may give priority to assigning tasks to servers with lower current power consumption, or minimize the number of times the server is turned on and off to save energy.
[0159] Server Capacity Matching Strategy: Different servers have different computing capabilities (such as the number of CPU cores, memory size, etc.), and the system will assign them to the most suitable server based on the task requirements. For example, large tasks may need to be assigned to high-performance servers, while small tasks can be assigned to servers with average performance.
[0160] The optimization module needs to determine whether the airflow rate should be increased or decreased to adjust the cooling capacity of the ACU (air conditioning unit). Therefore, the decision variable for controlling the ACU is the "cooling system adjustment decision", which is denoted as the vector x = (x 1 ,x 2 ,...,x J ), represents the decision variables of J ACUs.
[0161] The event-driven data center energy efficiency optimization method provided in the embodiments of this specification can accurately adjust the IT and cooling subsystems of the data center by performing control operations when key events occur, thereby significantly improving energy efficiency, reducing energy waste, and reducing the risk of system overheating and over-configuration of resources; since the frequency of control operations is reduced, the operational complexity and control cost of the system are reduced; at the same time, the control frequency can be dynamically adjusted according to actual operating conditions and load changes to ensure that the system can maintain stable and efficient operation under different workloads and environmental conditions, so it has obvious advantages in dealing with the highly dynamic environment of the data center. Ultimately, it provides an efficient and intelligent solution for the energy management of the data center, greatly improving the operational efficiency and stability of the data center.
[0162] The above content describes in detail a method for optimizing energy efficiency of a data center based on event-driven. Correspondingly, this specification also provides a device for optimizing energy efficiency of a data center based on event-driven. Figure 3 shown. Figure 3 A schematic diagram of an event-driven data center energy efficiency optimization device provided in an embodiment of this specification, the energy efficiency optimization device includes:
[0163] An acquisition module 301 is used to acquire status information of a data center to be processed;
[0164] The judgment module 303 determines, based on the status information of the data center to be processed, whether the status information of the data center to be processed belongs to a preset specific status event through a preset event identification rule, where the types of the preset specific status events include: job scheduling events, state transition events, change ratio events, and boundary events;
[0165] Energy efficiency optimization module 305, if so, the preset EDC-EOA agent generates an optimal control action according to the type of preset specific status event to which the status information of the data center to be processed belongs, so as to optimize the energy efficiency of the data center to be processed, and the optimal control action is used to adjust the IT subsystem and cooling subsystem of the data center to be processed.
[0166] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0167] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device, electronic device, and non-volatile computer storage medium embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiments.
[0168] The apparatus, electronic device, non-volatile computer storage medium and method provided in the embodiments of this specification correspond to each other, and therefore, the apparatus, electronic device and non-volatile computer storage medium also have similar beneficial technical effects as the corresponding method. Since the beneficial technical effects of the method have been described in detail above, the beneficial technical effects of the corresponding apparatus, electronic device and non-volatile computer storage medium will not be repeated here.
[0169] In the 1990s, improvements to a technology could be clearly distinguished as hardware improvements (for example, improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the method flow). However, with the development of technology, many improvements to the method flow today can be regarded as direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that an improvement in a method flow cannot be implemented using a hardware entity module. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to ask a chip manufacturer to design and produce a dedicated integrated circuit chip. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.
[0170] The controller can be implemented in any appropriate manner, for example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (such as software or firmware) that can be executed by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that in addition to implementing the controller in a purely computer-readable program code manner, the controller can be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, this controller can be considered as a hardware component, and the devices included therein for implementing various functions can also be regarded as structures within the hardware component. Or even, the devices for implementing various functions can be regarded as both software modules for implementing the method and structures within the hardware component.
[0171] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0172] For the convenience of description, the above devices are described in terms of functions and are divided into various units. Of course, when implementing one or more embodiments of this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0173] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems, or computer program products. Therefore, the embodiments of this specification may be in the form of complete hardware embodiments, complete software embodiments, or embodiments in combination with software and hardware. Moreover, the embodiments of this specification may be in the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0174] This specification is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of this specification. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0175] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0176] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0177] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0178] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0179] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0180] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0181] The specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media including storage devices.
[0182] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0183] The above is only an embodiment of this specification and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.
Claims
1. An event-driven data center energy efficiency optimization method, characterized in that: The energy efficiency optimization method comprises: Get the status information of the data center to be processed; Based on the status information of the data center to be processed, determining whether the status information of the data center to be processed belongs to a preset specific status event through a preset event identification rule, wherein the types of the preset specific status event include: a job scheduling event, a state transition event, a change ratio event, and a boundary event; If so, the preset EDC-EOA agent generates an optimal control action based on the type of preset specific status event to which the status information of the data center to be processed belongs, so as to optimize the energy efficiency of the data center to be processed, and the optimal control action is used to adjust the IT subsystem and cooling subsystem of the data center to be processed.
2. The energy efficiency optimization method according to claim 1, characterized in that: The preset event identification rules specifically include: If the length of the job queue in the status information of the data center to be processed is greater than zero, then the status information of the data center to be processed belongs to the job scheduling event; If the change of the state information of the data center to be processed is from the first predefined interval to the second predefined interval, then the state information of the data center to be processed belongs to the state transition event; If the server utilization rate in the status information of the data center to be processed exceeds a first threshold and / or the change ratio of the rack outlet temperature exceeds a second threshold, the status information of the data center to be processed belongs to the change ratio event; If there is a hotspot event and / or an over-configuration event in the status information of the data center to be processed, the status information of the data center to be processed belongs to the boundary event.
3. The energy efficiency optimization method according to claim 2, characterized in that: The hotspot event is an event in which the utilization rate of a rack in the status information of the data center to be processed exceeds a third threshold and / or the rack outlet temperature exceeds a fourth threshold; The over-configuration event refers to an event in which the utilization rate of a rack in the status information of the to-be-processed data center is lower than a fifth threshold and / or the outlet temperature of the rack is lower than a sixth threshold.
4. The energy efficiency optimization method according to claim 1, characterized in that: The preset EDC-EOA agent is an agent based on the PADQN network. The preset EDC-EOA includes a Q network and a policy network. The training process of the preset EDC-EOA agent includes: Initializing the current Q network and the current policy network to obtain an initialized network, wherein the initialized network includes: an initialized Q network and an initialized policy network; Based on the initialized network, event detection is performed to determine the preset specific state event; Based on the type of the preset specific state event, selecting and executing the preset specific state event as a corresponding action, and observing the corresponding immediate reward; The corresponding event of the determined preset specific state event, the preset specific state event being the corresponding action and the corresponding immediate reward are stored in a playback buffer, and the initialized Q network and the initialized policy network are updated by a random sampling method to obtain an updated initialized Q network and an updated initialized policy network; Based on the updated initialized Q network and the updated initialized strategy network, the parameters of the Q network are updated until a preset number of iterations is reached to obtain the Q network.
5. The energy efficiency optimization method according to claim 4, characterized in that: Initializing the current Q network and the current policy network to obtain the initialized network specifically includes: Randomly initialize the current Q network Q(e,k,x k ;θ) and the weight θ of the current policy network x k The weight ω of (e;ω); Initialize the target network Q(e,k,x k θ - )’s weight θ - ←θ; Initialize the exploration parameters ∈, mini-batch samples B and experience replay buffer R, as well as the total number of iterations Z to obtain the initialized network.
6. The energy efficiency optimization method according to claim 4, characterized in that: The storing of the corresponding event of the determined preset specific state event, the preset specific state event being the corresponding action and the corresponding immediate reward in the playback buffer, and updating the initialized Q network and the initialized policy network by a random sampling method to obtain an updated initialized Q network and an updated initialized policy network specifically includes: storing the determined corresponding event of the preset specific state event, the preset specific state event being the corresponding action and the corresponding immediate reward in an experience playback buffer; A small batch of samples is randomly selected from the experience replay buffer, and the target value and the gradient of the loss function are calculated to update the initialized Q network and the initialized policy network to obtain an updated initialized Q network and an updated initialized policy network.
7. The energy efficiency optimization method according to claim 6, characterized in that: The target value is calculated as follows: in, y z represents the target value; r(e z ,a z ) indicates that in event e z Take action a z Immediate rewards after γ represents the discount factor; Q(e z+1 ,k,x k (e z+1 ;ω z );θ - ) is the Q value function, which indicates that in the future event e z+1 After it happens, when taking action k, the expected reward of the system; e z+1 represents the event at the next time step; ω z Representing parameters of the policy network; z represents the current time step; represents a discrete action space; Task scheduling action k∈{0,1,…,NW}, where k represents the index of the server selected to perform the task; NW represents the total number of servers in the data center; Airflow rate adjustment action x = (x 1 ,x 2 ,…,x J ), where J represents the number of air conditioning units in the cooling system of the data center; x k represents the airflow rate adjustment action corresponding to the task scheduling action k; θ - Represents the parameters of the target network; The gradient of the loss function includes the gradient of updating θ and the gradient of updating the network parameter ω; The gradient of the updated θ is: in: represents the gradient of updating θ; y z represents the target value; represents the expected return value output by the Q network, representing the event e at the current time z z Discrete action k z and continuous action The Q value of the joint state of Represents the gradient relative to the parameter θ, which is used to adjust the weights of the network; The gradient of the updated network parameter ω is: Represents the gradient of the loss function J of the policy network with respect to the policy network parameter ω; represents the gradient of the policy network parameter ω; represents the gradient of the airflow rate adjustment action x with respect to the parameter θ.
8. The energy efficiency optimization method according to claim 1, characterized in that: The control actions include task scheduling and cooling system adjustment decisions, and the control actions are implemented based on the following optimization problem: in, Γ represents the objective function of comprehensive PUE, overheating penalty and overload penalty; PUE stands for power usage efficiency; O h,n Indicates overheating penalty; O l,n Indicates overload penalty; β1 represents the weight factor of the overheating penalty; β2 represents the weight factor of the overload penalty; N represents the number of racks.
9. The energy efficiency optimization method according to claim 8, characterized in that: The expression of the power utilization efficiency is: in, PUE stands for power usage efficiency; P it Indicates the power of IT equipment; P cool Indicates the power of the cooling equipment; The expression of the overheat penalty is: in, O h,n Indicates overheating penalty; represents the outlet temperature of the nth rack; ψ T Indicates the threshold value of rack outlet temperature; The expression of the overload penalty is: in, W represents the number of servers in each rack; u k Indicates the utilization of the server; ψ u Indicates the threshold value of server utilization.
10. An event-driven data center energy efficiency optimization device, characterized in that: The energy efficiency optimization device comprises: An acquisition module obtains status information of a data center to be processed; A judgment module, based on the state information of the data center to be processed, determines whether the state information of the data center to be processed belongs to a preset specific state event through a preset event recognition rule, wherein the types of the preset specific state events include: job scheduling events, state transition events, change ratio events, and boundary events; Energy efficiency optimization module, if so, the preset EDC-EOA agent generates the optimal control action according to the type of preset specific status event to which the status information of the data center to be processed belongs, so as to optimize the energy efficiency of the data center to be processed, and the optimal control action is used to adjust the IT subsystem and cooling subsystem of the data center to be processed.