Energy consumption optimization method of server, electronic equipment, storage medium and program product

By combining historical energy consumption data, current load data and environmental data, and using a long short-term memory neural network model to predict future server load data and adjust energy consumption-related components, the accuracy problem of server energy consumption adjustment is solved, achieving more efficient energy consumption optimization.

CN120743718AActive Publication Date: 2025-10-03INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202511261340.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-04
Publication Date
2025-10-03
Estimated Expiration
2045-09-04

AI Technical Summary

Technical Problem

In the prior art, when server load fluctuates greatly, the accuracy of load data prediction is low, resulting in low accuracy in server energy consumption adjustment.

Method used

By obtaining the server's historical energy consumption data, current load data and environmental data, the long short-term memory neural network model is used to predict the load data at future moments, and the control instructions are determined based on the prediction results to adjust the components related to the server's energy consumption.

Benefits of technology

It improves the accuracy of load prediction and energy consumption optimization, enhances the adjustment coordination between components, and optimizes the energy consumption management of the server.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120743718A_ABST
    Figure CN120743718A_ABST
Patent Text Reader

Abstract

The invention discloses an energy consumption optimization method of a server, electronic equipment, a storage medium and a program product, and relates to the technical field of servers, and the method comprises the steps: when the energy consumption of the server needs to be optimized, obtaining the energy consumption data of the server in a historical period, the first load data at the current moment, and the environment data associated with the power consumption of the server; predicting a plurality of second load data corresponding to the server at a plurality of moments in the future; determining a control instruction of the server; and controlling the server according to the control instruction. Through the method, the load data at the future moment can be predicted through the multiple data, and the control instruction of the first component related to the energy consumption of the server is determined based on the predicted load data, so that the server is controlled; moreover, the first part related to the energy consumption of the server is adjusted, so that the coordination of adjustment among the parts is improved, and the accuracy of energy consumption optimization is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of server technology, and in particular to a method for optimizing server energy consumption, an electronic device, a storage medium, and a program product. Background Art

[0002] With the rapid development of artificial intelligence and big data technologies, the number of servers and computing demands have increased significantly, resulting in a significant increase in server energy consumption.

[0003] In related technologies, static optimization models can be used to predict future load data based on historical load data, thereby adjusting server energy consumption based on the predicted data. However, when server load fluctuates significantly, this method can lead to lower accuracy in the predicted load data, and consequently, lower accuracy in server energy consumption adjustments. Summary of the Invention

[0004] The present application provides a method for optimizing energy consumption of a server, an electronic device, a storage medium, and a program product, so as to at least solve the problem of low accuracy in adjusting energy consumption of the server.

[0005] This application provides a method for optimizing server energy consumption, including:

[0006] Obtaining energy consumption data of the server in a historical period, first load data at a current moment, and environmental data associated with the power consumption of the server;

[0007] Predicting a plurality of second load data corresponding to the server at a plurality of moments in the future based on the energy consumption data, the first load data, and the environmental data;

[0008] determining a control instruction of the server according to the plurality of second load data, where the control instruction is used to adjust a first component related to energy consumption of the server;

[0009] Control the server according to the control instructions.

[0010] The present application also provides a server energy consumption optimization device, comprising: an acquisition module, a prediction module, a determination module and a control module, wherein:

[0011] The acquisition module is used to obtain energy consumption data of the server in a historical period, first load data at a current moment, and environmental data associated with the power consumption of the server;

[0012] The prediction module is used to predict a plurality of second load data corresponding to the server at a plurality of moments in the future based on the energy consumption data, the first load data and the environmental data;

[0013] The determination module is used to determine a control instruction of the server based on the plurality of second load data, where the control instruction is used to adjust a first component related to energy consumption of the server;

[0014] The control module is used to control the server according to the control instructions.

[0015] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any of the above-mentioned server energy consumption optimization methods when executing the computer program.

[0016] The present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned methods for optimizing energy consumption of a server are implemented.

[0017] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above-mentioned server energy consumption optimization methods when executed by a processor.

[0018] Through this application, when it is necessary to optimize the energy consumption of the server, the energy consumption data of the server in the historical period, the first load data at the current moment, and the environmental data associated with the power consumption of the server can be obtained; based on the energy consumption data, the first load data and the environmental data, multiple second load data corresponding to the server at multiple moments in the future are predicted; based on the multiple second load data, the control instructions of the server are determined, and the control instructions are used to adjust the first component related to the energy consumption of the server; and the server is controlled according to the control instructions. Through the above method, the load data at a future moment can be predicted through historical energy consumption data, current load data and environmental data, and based on the predicted load data, the control instructions for the first component related to the energy consumption of the server can be determined, and then the server can be controlled. In this way, since the load prediction of the server combines the energy consumption data and the environmental data, the accuracy of the load prediction is improved; and the first component related to the energy consumption of the server is adjusted, the coordination of the adjustment between the components is improved, thereby improving the accuracy of energy consumption optimization. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0020] Figure 1 A schematic diagram of the system architecture provided in an embodiment of the present application;

[0021] Figure 2 A flow chart of a method for optimizing server energy consumption provided in an embodiment of the present application;

[0022] Figure 3 A schematic diagram of the process of determining a server control instruction provided in an embodiment of the present application;

[0023] Figure 4 A schematic diagram of a process for controlling a server according to control instructions provided in an embodiment of the present application;

[0024] Figure 5 A schematic diagram of controlling a server according to control instructions provided in an embodiment of the present application;

[0025] Figure 6 A schematic diagram of the structure of the energy consumption optimization device for a server provided in an embodiment of the present application;

[0026] Figure 7 A schematic structural diagram of another server energy consumption optimization device provided in an embodiment of the present application;

[0027] Figure 8 This is a schematic diagram of the structure of the electronic device provided in this application. DETAILED DESCRIPTION

[0028] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0029] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.

[0030] In related technologies, static optimization models can be used to predict future load data based on historical load data, thereby adjusting server power consumption based on the predicted data. However, when server load fluctuates significantly, this method can lead to lower accuracy in the predicted load data, and consequently, lower accuracy in server power consumption adjustments.

[0031] In response to the above problems, in an embodiment of the present application, when it is necessary to optimize the energy consumption of the server, the energy consumption data of the server in the historical period, the first load data at the current moment, and the environmental data associated with the power consumption of the server can be obtained; based on the energy consumption data, the first load data and the environmental data, multiple second load data corresponding to the server at multiple moments in the future are predicted; based on the multiple second load data, the control instructions of the server are determined, and the control instructions are used to adjust the first component related to the energy consumption of the server; and the server is controlled according to the control instructions. Through the above method, the load data at a future moment can be predicted through the historical energy consumption data, the current load data and the environmental data, and the control instructions for the first component related to the energy consumption of the server can be determined based on the predicted load data, and then the server can be controlled. In this way, since the load prediction of the server combines the energy consumption data and the environmental data, the accuracy of the load prediction is improved; and the first component related to the energy consumption of the server is adjusted, the coordination of the adjustment between the components is improved, thereby improving the accuracy of the energy consumption optimization.

[0032] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.

[0033] In conjunction with the specific application environment architecture or specific hardware architecture on which the execution of the server energy consumption optimization method depends, the specific application environment architecture or specific hardware architecture is described here. Figure 1 , Figure 1 This is a schematic diagram of the system architecture provided by the embodiment of this application. Figure 1 , including an electronic device 101 and a server cluster 102. The electronic device 101 can be a device with end-to-end computing capabilities. For example, the electronic device 101 can be a terminal device or a server. The server cluster 102 can include multiple servers. The electronic device 101 can obtain energy consumption data, load data, environmental data and other data of the server cluster 102, and predict the load data of the server cluster 102 at a future moment based on these data. According to the predicted load data, the control instructions for the components in the server cluster 102 can be determined, and the server cluster 102 can be controlled according to the control instructions, thereby optimizing the energy consumption of the server cluster 102.

[0034] The following specific embodiments describe in detail the technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.

[0035] Figure 2A flow chart of the energy consumption optimization method for a server provided in an embodiment of the present application is shown as follows: Figure 2 As shown, an embodiment of the present application provides a method for optimizing energy consumption of a server, and the method is described in detail as follows:

[0036] S201: Obtain energy consumption data of a server in a historical period, first load data at a current moment, and environmental data associated with the power consumption of the server.

[0037] The execution subject of the embodiments of the present application may be an electronic device, which may be a device with on-device computing capabilities, for example, a server, a terminal device, etc. The execution subject may also be an energy consumption optimization device for a server provided in the electronic device. The energy consumption optimization device for the server may be implemented by software or a combination of software and hardware.

[0038] The server can be a single server, a server cluster consisting of multiple servers, or multiple servers located in the same cabinet.

[0039] The energy consumption data may be power consumption data of the server.

[0040] The energy consumption data of the historical period can be obtained from the database of the server. The historical period can be a period predefined by the user, for example, the energy consumption data of the historical period can be the energy consumption data of the previous week or the energy consumption data of the previous month.

[0041] The first load data may refer to load data acquired by a load sensor of the server. For example, the first load data may include utilization of a central processing unit (CPU) of the server, memory bandwidth, network throughput, and the like.

[0042] Environmental data associated with server power consumption can include the temperature, humidity, and air pressure of the server's external environment. This environmental data can be acquired through external meteorological data sensors. It is understood that environmental data can affect server power consumption. For example, if the external environment is too cold or too hot, the server's power consumption may increase.

[0043] Optionally, the energy consumption data, the first load data and the environmental data can be determined in the following manner: obtaining the first data of the historical period in the historical database, the second data obtained by the load sensor, and the third data obtained by the external meteorological data sensor; performing outlier filtering processing on the first data, the second data and the third data to obtain outlier-free data; standardizing and feature extracting the outlier-free data to obtain energy consumption data, the first load data and the environmental data.

[0044] Among them, outliers can refer to data points that obviously deviate from the normal range. For example, assuming that there are 5 temperature data in the second data, namely 60 degrees, 63 degrees, 65 degrees, 67 degrees and 20 degrees, then the temperature data of 20 degrees can be considered as a data point that obviously deviates from the normal range, that is, the value is an outlier and needs to be eliminated. The outliers can also be filtered by the Kalman filter algorithm to obtain outlier-free data. Optionally, the outlier-free data can be standardized by the Z value standardization processing method, so that each data is converted into standard normal distribution data with a mean of 0 and a standard deviation of 1. Feature extraction can refer to extracting data that can indicate data characteristics from the outlier-free data, such as voltage peaks, valleys, frequency mean, temperature trends and other data, thereby reducing the amount of data and improving the efficiency of data processing.

[0045] S202: Predict multiple second load data corresponding to the server at multiple moments in the future based on the energy consumption data, the first load data, and the environmental data.

[0046] Multiple moments in the future may refer to multiple moments included in a certain period in the future. For example, multiple second load data corresponding to multiple moments in the future may refer to the second load data corresponding to the first minute of the next five minutes, the second load data corresponding to the second minute, the second load data corresponding to the third minute, the second load data corresponding to the fourth minute, and the second load data corresponding to the fifth minute.

[0047] Exemplarily, multiple second load data can be determined in the following manner: a 128-dimensional feature vector is determined based on energy consumption data, first load data and environmental data, wherein the 128-dimensional feature vector includes a 60-dimensional energy consumption vector of historical moments, a 16-dimensional central processing unit utilization vector, a 16-dimensional memory bandwidth vector, a 16-dimensional network throughput vector, and a 20-dimensional environmental data vector; the feature vector is input into a long short-term memory neural network model to obtain multiple second load data corresponding to multiple future moments of the output.

[0048] S203: Determine a control instruction of the server according to the plurality of second load data.

[0049] The control instruction of the server can be used to adjust the first component related to the energy consumption of the server, wherein the first component related to the energy consumption of the server may include a switch, a central processing unit, a memory, a cooling system, a hard disk, etc. of the server.

[0050] The control instructions of the server may be determined in the following manner: determining optimization targets of multiple first components in the server according to multiple second load data; and determining the control instructions of the server according to the optimization targets of the multiple first components.

[0051] The control instruction may be a five-dimensional optimization target vector, each used to indicate an adjustment to the first component.

[0052] For example, assuming that the first component is a switch of a server, the optimization target of the first component may refer to whether the switch is closed or open; assuming that the first component is a central processing unit, the optimization target of the first component may refer to the target frequency of the central processing unit.

[0053] S204: Control the server according to the control instruction.

[0054] The server can be controlled in the following manner: according to the control instruction, determine the first instruction for controlling the switch state of the server, the second instruction for controlling the central processing unit frequency of the server, the third instruction for controlling the memory voltage of the server, the fourth instruction for controlling the cooling system of the server, and the fifth instruction for controlling the hard disk rotation speed of the server; according to the first instruction, the second instruction, the third instruction, the fourth instruction and the fifth instruction, control the switch of the server, the central processing unit frequency, the memory voltage of the server, the cooling system and the hard disk rotation speed of the server.

[0055] After controlling the server according to the control instructions, it also includes: determining the actual multiple third load data corresponding to the server at multiple moments in the future; determining the load deviation based on the multiple second load data and the multiple third load data; obtaining the server's actual energy consumption data, service level agreement compliance and equipment aging index, and determining the reward function; adjusting the long short-term memory neural network model according to the load deviation and the reward function.

[0056] It is assumed that the actual energy consumption data is expressed as , service level agreement compliance is expressed as , the equipment aging index is expressed as , then the reward function R can be expressed as:

[0057]

[0058] It can be understood that the smaller the actual energy consumption data, the higher the reward value of the reward function; the greater the service level agreement compliance, the faster the server response and the higher the availability, and the higher the reward value of the reward function; the smaller the equipment aging index, the lower the equipment loss to the server, and the higher the reward value of the reward function.

[0059] In an embodiment of the present application, when it is necessary to optimize the energy consumption of the server, the energy consumption data of the server in the historical period, the first load data at the current moment, and the environmental data associated with the power consumption of the server can be obtained, wherein the server can be a single server or a server cluster composed of multiple servers, the energy consumption data can be the power consumption data of the server, the first load data can include the utilization rate of the server's central processing unit, the bandwidth of the memory, the throughput of the network, etc., and the environmental data can include the temperature, humidity, air pressure, etc. of the server's external environment; based on the energy consumption data, the first load data and the environmental data, predict multiple second load data corresponding to the server at multiple moments in the future; based on the multiple second load data, determine the control instructions of the server, and the control instructions of the server can be used to adjust the first component related to the energy consumption of the server, and the first component can include the server's switch, central processing unit, memory, cooling system, hard disk, etc.; control the server according to the control instructions. Through the above method, the load data at future moments can be predicted through multi-dimensional data (including historical energy consumption data, current load data and environmental data), and based on the predicted load data, the control instructions for the first component related to the energy consumption of the server can be determined, and then the server can be controlled. On the one hand, since the load prediction of the server combines the energy consumption data and the environmental data, the accuracy of energy consumption optimization is improved through multi-dimensional combination; on the other hand, the first component related to the energy consumption of the server is adjusted, the coordination of the adjustment between components is improved, and the accuracy of energy consumption optimization is further improved.

[0060] Based on any of the above embodiments, Figure 3 , the process of determining the server control instructions is described in detail.

[0061] Figure 3 Schematic diagram of the process of determining the server control instruction provided in the embodiment of this application. Figure 3 , the method may include:

[0062] S301: Obtain the total power, switching state frequency, and aging index of the server.

[0063] The total power of a server can refer to the total power consumed by the server and can be used to indicate the power consumption of the server. The total power of the server can be determined by a power sensor or obtained by a power monitoring device. For example, the total power of the server can be 1000W.

[0064] The server's power-on / off frequency refers to the frequency at which the server is powered on and off, and can be used to indicate the server's operating stability. The server's power-on / off frequency can be obtained from the server's operating system log. For example, the server's power-on / off frequency can be 0.2.

[0065] The server's aging index can refer to the aging degree of the server's hardware components and can be used to indicate the server's health status. The server's aging index can be obtained through the server's hardware monitoring interface. For example, the server's aging index can be 0.25.

[0066] S302: Determine a load imbalance degree of the server according to a plurality of second load data.

[0067] The server load imbalance can be used to measure the degree of load imbalance among multiple servers within a server cluster. In other words, a high server load imbalance indicates that some servers within the server cluster may be underutilized, potentially leading to performance bottlenecks.

[0068] The load imbalance of the server can be determined as follows: Assume that n is the number of servers, is the average load of n servers, is the current load of the i-th server, is the current load of the jth server corresponding to the i-th server, then the load imbalance It can be expressed as:

[0069]

[0070] It can be understood that the value range of i is 1 to n, and the value range of j is also 1 to n, that is, the load imbalance degree needs to traverse the load difference between each server in the server cluster to determine the load imbalance degree of the server.

[0071] S303 : Determine optimization targets of the plurality of first components according to the total power, load imbalance, switching state frequency, and aging index.

[0072] The optimization objectives of multiple first components can be used to indicate multiple optimization target directions of the server. For example, the energy consumption optimization objectives of the server may include: minimizing the total power consumption of the server, minimizing the load imbalance of the server, minimizing the switching state frequency of the server, minimizing the aging index of the server, etc.

[0073] For example, assuming is the total power of the server, is the server load imbalance, is the frequency of the server's on / off state, is the aging index of the server, then the optimization target T of the multiple first components can be expressed as:

[0074]

[0075] in, is the first weight of the total power of the server, is the second weight of the server load imbalance, is the third weight of the server's on / off state frequency, is the fourth weight of the server's aging index, The initial value of is 0.4, The initial value of is 0.3, The initial value of is 0.2, The initial value of is 0.1, and the values ​​of each weight can be dynamically adjusted according to reinforcement learning.

[0076] S304: Input the optimization targets of the multiple first components into a target optimization engine to obtain a pre-control instruction.

[0077] The target optimization engine can use the improved alternating direction multiplier method to perform distributed solution to the optimization target, thereby obtaining the pre-control instructions.

[0078] The pre-control instruction can be used to adjust multiple first components of the server. For example, the pre-control instruction can include adjusting the hard disk rotation speed of the server to 5400 rpm.

[0079] S305: Obtain constraint conditions and determine whether the pre-control instruction satisfies the constraint conditions.

[0080] The constraint condition can be used to constrain the control instruction, so that the server can operate normally after adjusting the multiple first components according to the control instruction.

[0081] The constraints may include server-level agreement constraints and hardware safety constraints, wherein the server-level agreement constraints may include the solution time of the target optimization engine being less than or equal to a first threshold; the hardware safety constraints may include the central processing unit temperature of the server being less than or equal to a second threshold, and the memory voltage fluctuation of the server being less than or equal to a third threshold.

[0082] Exemplarily, the first threshold value may be 200ms, the second threshold value may be 75°C, and the third threshold value may be 3%. That is, after adjusting the multiple first components according to the pre-control instruction, when the solution time of the target optimization engine is less than or equal to 200ms, the central processing unit temperature of the server is less than or equal to 75°C, and the memory voltage fluctuation of the server is less than or equal to 3%, then the pre-control instruction can be considered to meet the constraint conditions.

[0083] If so, execute S306.

[0084] If not, execute S307.

[0085] S306: Determine the pre-control instruction as a control instruction of the server.

[0086] S307: Update the target optimization engine.

[0087] The update process can be performed in the following manner: determining the actual multiple third load data corresponding to the server at multiple moments in the future; determining the load deviation based on the multiple second load data and the multiple third load data; obtaining the actual energy consumption data, service level agreement compliance and equipment aging index of the server, and determining the reward function; adjusting the first weight, second weight, third weight and fourth weight of the optimization target based on the load deviation and the reward function, so as to minimize the value of the optimization target.

[0088] The steps for determining the reward function can be found in step S204 above, which will not be described in detail here.

[0089] exist Figure 3 In the illustrated embodiment, when optimizing the energy consumption of a server, a control instruction for the server can be determined. The electronic device can obtain the total power, on / off state frequency, and aging index of the server, where the total power of the server can refer to the total power consumed by the server, the on / off state frequency of the server can refer to the frequency of the server's startup and shutdown, and the aging index of the server can refer to the degree of aging of the server's hardware components. Based on multiple pieces of second load data, the load imbalance of the server can be determined. The load imbalance can be used to measure the degree of imbalance in load distribution among multiple servers in a server cluster. Based on the total power, load imbalance, on / off state frequency, and aging index, optimization targets for multiple first components can be determined. The optimization targets for the multiple first components can be input into a target optimization engine to obtain pre-control instructions. Constraints can be obtained and determined whether the pre-control instructions meet the constraints. The constraints can be used to constrain the control instructions, thereby ensuring that the server can operate normally after adjusting the multiple first components according to the control instructions. If the pre-control instructions meet the constraints, the pre-control instructions are determined as the control instructions for the server. If the pre-control instructions do not meet the constraints, the target optimization engine is updated. In the above method, the optimization target can be determined based on the total power, load imbalance, switching state frequency and aging index, and the control instructions for multiple first components can be determined through the target optimization engine. In addition, by setting constraints, it is ensured that the control instructions can enable the normal operation of the server. When the constraints are not met, the weight of the optimization target is adjusted so that the control instructions can meet the constraints, thereby improving the accuracy of server energy consumption optimization.

[0090] Based on any of the above embodiments, Figure 4 , the process of controlling the server according to the control instructions is described in detail.

[0091] Figure 4 This is a schematic diagram of the process of controlling the server according to the control instructions provided in the embodiment of this application. Figure 4 , the method may include:

[0092] S401: Determine a first instruction, a second instruction, a third instruction, a fourth instruction, and a fifth instruction according to a control instruction.

[0093] The first instruction is used to control the switch status of the server, the second instruction is used to control the CPU frequency of the server, the third instruction is used to control the memory voltage of the server, the fourth instruction is used to control the cooling system of the server, and the fifth instruction is used to control the hard disk speed of the server.

[0094] For example, the first instruction may be to control the server to be turned on or off; the second instruction may be to control the server's central processing unit frequency to be adjusted to 2.5GHz; the third instruction may be to adjust the server's memory voltage to 1.2V; the fourth instruction may be to adjust the server's cooling system speed to 3000RPM; and the fifth instruction may be to adjust the server's hard disk speed to 7200RPM.

[0095] S402: Determine the switch status of the server according to the first instruction, and control the server to be turned on or off according to the switch status.

[0096] For example, assuming that the first instruction is to start the control server, the control server is started in a ring topology order; assuming that the first instruction is to shut down the control server, the control server is shut down in a ring topology order.

[0097] S403: According to the second instruction, adjust the CPU frequency of the server to a first preset value.

[0098] Exemplarily, the first preset value may be 1.8 GHz.

[0099] S404: According to the third instruction, adjust the memory voltage of the server to a second preset value.

[0100] Exemplarily, the second preset value may be 1.2V.

[0101] S405: According to the fourth instruction, adjust the rotation speed of the heat dissipation system of the server to the target rotation speed.

[0102] The target speed can be determined in the following manner: according to the fourth instruction, determine the target temperature of the server; obtain the current temperature of the server, and determine the temperature difference of the server based on the target temperature and the current temperature; obtain a preset mapping table, and determine the target speed corresponding to the temperature difference according to the preset mapping table, and adjust the speed of the server's cooling system to the target speed.

[0103] The current temperature of the server may be obtained through a temperature sensor provided on the server; and the preset mapping table may be used to indicate the corresponding relationship between the temperature difference and the rotation speed of the cooling system.

[0104] For example, assuming that the target temperature of the server indicated by the fourth instruction is 60C° and the current temperature of the server is 62C°, it can be determined that the temperature difference of the server is 2C°. If the preset mapping table indicates that the temperature difference is 2C°, the corresponding target speed is 3000RPM, then the speed of the server's cooling system is adjusted to 3000RPM.

[0105] S406: According to the fifth instruction, adjust the hard disk rotation speed of the server to a third preset value.

[0106] Exemplarily, the third preset value may be 10,000 RPM.

[0107] It should be noted that the execution order of the above steps S402, S403, S404, S405, S406, and S407 can be determined by: determining the priorities among the first instruction, the second instruction, the third instruction, the fourth instruction, the fifth instruction, and the power supply adjustment instruction; and determining the execution order among the first instruction, the second instruction, the third instruction, the fourth instruction, the fifth instruction, and the power supply adjustment instruction based on the priorities. The priority is a numerical value preset by the user, and the priority can be determined based on the risk level of the instruction and the benefit weight of the instruction. That is, if the risk level of the instruction is higher or the benefit weight is higher, the priority of the instruction is higher; if the risk level of the instruction is lower or the benefit weight is lower, the priority of the instruction is lower.

[0108] Next, combine Figure 5 , through specific examples, the process of controlling the server according to control instructions is explained.

[0109] Figure 5 For a schematic diagram of controlling the server according to the control instructions provided in the embodiment of this application, please refer to Figure 5 The electronic device can prioritize the control execution according to the control instructions, determine the first instruction for controlling the switch state of the server, the second instruction for controlling the central processing unit frequency of the server, the third instruction for controlling the memory voltage of the server, the fourth instruction for controlling the cooling system of the server, and the fifth instruction for controlling the hard disk speed of the server, and send the first instruction, the second instruction, the third instruction, the fourth instruction, and the fifth instruction to the server.

[0110] Optionally, the process of controlling the server according to the control instruction also includes: obtaining the switch state, the first preset value and the second preset value of the server; according to the first preset value and the second preset value, the first power supply power of the server can be determined, that is, the first power supply power is the power consumption of the central processing unit of the server; according to the switch state of the server, the second power supply power of the server can be determined, that is, the second power supply power is the energy consumption to support the server to start or shut down; the first power supply power and the second power supply power are summed to obtain the power supply power, and the power module of the server is adjusted to the power supply power.

[0111] exist Figure 4 In the embodiment shown, when it is necessary to optimize the energy consumption of the server, the server can be controlled according to the control instructions. According to the control instructions, a first instruction for controlling the switch state of the server, a second instruction for controlling the CPU frequency of the server, a third instruction for controlling the memory voltage of the server, a fourth instruction for controlling the cooling system of the server, and a fifth instruction for controlling the hard disk rotation speed of the server are determined; according to the first instruction, the switch state of the server is determined, and the server is controlled to be turned on or off according to the switch state; according to the second instruction, the CPU frequency of the server is adjusted to a first preset value; according to the third instruction, the memory voltage of the server is adjusted to a second preset value; according to the fourth instruction, the rotation speed of the cooling system of the server is adjusted to a target rotation speed; according to the fifth instruction, the rotation speed of the hard disk of the server is adjusted to a third preset value. Through the above method, multiple first components of the server can be controlled separately according to the control instructions, so that multiple components can be controlled in a coordinated manner, thereby improving the effectiveness of energy consumption optimization.

[0112] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.

[0113] Figure 6 This is a schematic diagram of the structure of the energy consumption optimization device of the server provided in the embodiment of the present application. Figure 6 As shown, the embodiment of the present application further provides a server energy consumption optimization device 10, comprising an acquisition module 11, a prediction module 12, a determination module 13 and a control module 14, wherein:

[0114] The acquisition module 11 is used to acquire the energy consumption data of the server in the historical period, the first load data at the current moment, and the environmental data associated with the power consumption of the server;

[0115] The prediction module 12 is used to predict a plurality of second load data corresponding to the server at a plurality of moments in the future based on the energy consumption data, the first load data and the environmental data;

[0116] The determining module 13 is configured to determine a control instruction of the server based on the plurality of second load data, where the control instruction is configured to adjust a first component related to energy consumption of the server;

[0117] The control module 14 is used to control the server according to the control instructions.

[0118] An energy consumption optimization device for a server provided in an embodiment of the present application can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar and will not be repeated here.

[0119] In one possible design, the determination module 13 is specifically configured to:

[0120] determining optimization targets of a plurality of first components in the server according to the plurality of second load data;

[0121] A control instruction of the server is determined according to the optimization targets of the plurality of first components.

[0122] In one possible design, the determination module 13 is specifically configured to:

[0123] Obtain the total power, on / off state frequency, and aging index of the server;

[0124] determining a load imbalance degree of the server according to the plurality of second load data;

[0125] Optimization targets of the plurality of first components are determined according to the total power, the load imbalance, the switching state frequency, and the aging index.

[0126] In one possible design, the determination module 13 is specifically configured to:

[0127] The optimization objectives of the plurality of first components satisfy the following formula:

[0128]

[0129] Wherein, T is the optimization target of the plurality of first components, is the total power, the is the load imbalance degree, is the switching state frequency, the is the aging index, the is the first weight of the total power, is the second weight of the load imbalance, is the third weight of the switching state frequency, is the fourth weight of the aging index.

[0130] In one possible design, the determination module 13 is specifically configured to:

[0131] Obtain constraints, which are used to constrain control instructions to ensure the normal operation of the server;

[0132] inputting optimization targets of the plurality of first components into a target optimization engine to obtain a pre-control instruction;

[0133] According to the constraint conditions and the pre-control instructions, determining whether the pre-control instructions meet the constraint conditions;

[0134] When the pre-control instruction meets the constraint condition, the pre-control instruction is determined as the control instruction of the server.

[0135] In one possible design, the control module 14 is specifically configured to:

[0136] Determining, based on the control instructions, a first instruction for controlling the on / off state of the server, a second instruction for controlling the frequency of the central processing unit of the server, a third instruction for controlling the memory voltage of the server, a fourth instruction for controlling the cooling system of the server, and a fifth instruction for controlling the rotation speed of the hard disk of the server;

[0137] According to the first instruction, the second instruction, the third instruction, the fourth instruction and the fifth instruction, the switch of the server, the frequency of the central processing unit, the memory voltage of the server, the cooling system and the hard disk rotation speed of the server are controlled.

[0138] In one possible design, the control module 14 is specifically configured to:

[0139] Determine the switch status of the server according to the first instruction, and control the server to be turned on or off according to the switch status;

[0140] adjusting the CPU frequency of the server to a first preset value according to the second instruction;

[0141] adjusting the memory voltage of the server to a second preset value according to the third instruction;

[0142] According to the fourth instruction, a target temperature of the server is determined, and a current temperature of the server is obtained. A temperature difference of the server is determined based on the target temperature and the current temperature. A preset mapping table is obtained. According to the preset mapping table, a target rotational speed corresponding to the temperature difference is determined. The rotational speed of the cooling system of the server is adjusted to the target rotational speed. The preset mapping table is used to indicate a correspondence between the temperature difference and the rotational speed of the cooling system.

[0143] According to the fifth instruction, adjusting the hard disk rotation speed of the server to a third preset value;

[0144] The power supply power of the server is determined according to the switch state of the server, the first preset value and the second preset value, and the power supply module of the server is adjusted to the power supply power.

[0145] In one possible design, the acquisition module 11 is specifically configured to:

[0146] determining third data associated with first data of a historical period, second data of a load sensor, and power consumption of a server;

[0147] Performing outlier filtering processing on the first data, the second data, and the third data to obtain outlier-free data;

[0148] The outlier-removed data is subjected to feature extraction processing to obtain energy consumption data, first load data, and environmental data.

[0149] An energy consumption optimization device for a server provided in an embodiment of the present application can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar and will not be repeated here.

[0150] Figure 7 This is a schematic diagram of the structure of another server energy consumption optimization device provided in an embodiment of the present application. Figure 6 As shown on the basis of Figure 7 As shown, the device 10 further includes an adjustment module 15, wherein:

[0151] The adjustment module 15 is used to determine actual third load data corresponding to the server at multiple moments in the future;

[0152] determining a load deviation based on the plurality of second load data and the plurality of third load data;

[0153] Actual energy consumption data of the server is obtained, and optimization targets of the plurality of first components are adjusted according to the load deviation and the actual energy consumption data.

[0154] An energy consumption optimization device for a server provided in an embodiment of the present application can execute the technical solution shown in the above method embodiment. Its implementation principle and beneficial effects are similar and will not be repeated here.

[0155] Figure 8 This is a schematic diagram of the structure of the electronic device provided in this application. Figure 8 As shown, the electronic device 50 provided in this embodiment includes: at least one processor 501 and a memory 502. Optionally, the electronic device 50 further includes a communication component 503. The processor 501, the memory 502 and the communication component 503 are connected via a bus.

[0156] During the specific implementation process, at least one processor 501 executes the computer-executable instructions stored in the memory 502, so that the at least one processor 501 executes the above-mentioned embodiment of the method for optimizing energy consumption of the server.

[0157] The specific implementation process of the processor 501 can be found in the above method embodiment. Its implementation principle and technical effects are similar and will not be repeated here in this embodiment.

[0158] In the above embodiments, it should be understood that the processor may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the application may be directly executed by a hardware processor or by a combination of hardware and software modules within the processor.

[0159] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage.

[0160] A bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. Buses can be categorized as address buses, data buses, and control buses. For ease of illustration, the buses in the drawings of this application are not limited to just one bus or just one type of bus.

[0161] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above-mentioned server energy consumption optimization method embodiments when running.

[0162] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.

[0163] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any of the above-mentioned server energy consumption optimization method embodiments are implemented.

[0164] An embodiment of the present application also provides another computer program product, including a non-volatile computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the steps in any of the above-mentioned server energy consumption optimization method embodiments.

[0165] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0166] The above is a detailed introduction to the energy consumption optimization method, electronic device, storage medium and program product of a server provided by this application. This article uses specific examples to illustrate the principles and implementation methods of this application. The description of the above embodiments is only applicable to help understand the method of this application and its core ideas. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of this application, several improvements and modifications can be made to this application, and these improvements and modifications also fall within the scope of protection of the claims of this application.

Claims

1. A method for optimizing energy consumption of a server, characterized in that: include: Obtaining energy consumption data of the server in a historical period, first load data at a current moment, and environmental data associated with the power consumption of the server; predicting a plurality of second load data corresponding to the server at a plurality of moments in the future based on the energy consumption data, the first load data, and the environmental data; determining a control instruction for the server according to the plurality of second load data, wherein the control instruction is used to adjust a first component related to energy consumption of the server; The server is controlled according to the control instruction.

2. The method according to claim 1, characterized in that Determining a control instruction of the server according to the plurality of second load data includes: determining optimization targets of a plurality of first components in the server according to the plurality of second load data; A control instruction for the server is determined according to the optimization targets of the plurality of first components.

3. The method according to claim 2, characterized in that Determining optimization targets of a plurality of first components according to the plurality of second load data includes: Obtaining the total power, switching state frequency, and aging index of the server; determining a load imbalance degree of the server according to the plurality of second load data; Optimization targets of the plurality of first components are determined according to the total power, the load imbalance, the switching state frequency, and the aging index.

4. The method according to claim 3, characterized in that Determining optimization targets of the plurality of first components according to the total power, the load imbalance, the switching state frequency, and the aging index includes: The optimization objectives of the plurality of first components satisfy the following formula: Wherein, T is the optimization target of the plurality of first components, is the total power, the is the load imbalance degree, is the switching state frequency, the is the aging index, the is the first weight of the total power, is the second weight of the load imbalance, is the third weight of the switching state frequency, is the fourth weight of the aging index.

5. The method according to claim 2, characterized in that Determining a control instruction of the server according to the optimization objectives of the plurality of first components includes: Obtaining a constraint condition, where the constraint condition is used to constrain the control instruction to enable the server to operate normally; inputting the optimization targets of the plurality of first components into a target optimization engine to obtain a pre-control instruction; determining, based on the constraint condition and the pre-control instruction, whether the pre-control instruction satisfies the constraint condition; When the pre-control instruction meets the constraint condition, the pre-control instruction is determined as the control instruction of the server.

6. The method according to any one of claims 1 to 5, characterized in that Controlling the server according to the control instruction includes: Determining, based on the control instructions, a first instruction for controlling a power state of the server, a second instruction for controlling a central processing unit frequency of the server, a third instruction for controlling a memory voltage of the server, a fourth instruction for controlling a cooling system of the server, and a fifth instruction for controlling a hard disk rotation speed of the server; According to the first instruction, the second instruction, the third instruction, the fourth instruction and the fifth instruction, the switch of the server, the central processing unit frequency, the memory voltage of the server, the cooling system and the hard disk rotation speed of the server are controlled.

7. The method according to claim 6, characterized in that Controlling the server's power, the CPU frequency, the server's memory voltage, the cooling system, and the server's hard disk speed according to the first instruction, the second instruction, the third instruction, the fourth instruction, and the fifth instruction includes: Determining a switch state of the server according to the first instruction, and controlling the server to be turned on or off according to the switch state; According to the second instruction, adjusting the central processing unit frequency of the server to a first preset value; According to the third instruction, adjusting the memory voltage of the server to a second preset value; Determining, according to the fourth instruction, a target temperature of the server and obtaining a current temperature of the server, determining a temperature difference of the server based on the target temperature and the current temperature, obtaining a preset mapping table, determining a target rotational speed corresponding to the temperature difference based on the preset mapping table, and adjusting the rotational speed of the cooling system of the server to the target rotational speed, wherein the preset mapping table indicates a correspondence between the temperature difference and the rotational speed of the cooling system; According to the fifth instruction, adjusting the hard disk rotation speed of the server to a third preset value; The power supply power of the server is determined according to the switch state of the server, the first preset value, and the second preset value, and the power module of the server is adjusted to the power supply power.

8. The method according to any one of claims 1 to 5, characterized in that Obtaining energy consumption data of a server in a historical period, first load data at a current moment, and environmental data associated with the power consumption of the server, including: determining third data associated with first data of a historical period, second data of a load sensor, and power consumption of a server; Performing outlier filtering processing on the first data, the second data, and the third data to obtain outlier-free data; The outlier-removed data is subjected to feature extraction processing to obtain the energy consumption data, the first load data, and the environmental data.

9. The method according to any one of claims 1 to 5, characterized in that After predicting a plurality of second load data corresponding to the server at a plurality of future moments based on the energy consumption data, the first load data, and the environmental data, the method further includes: Determining actual third load data corresponding to the server at multiple moments in the future; determining a load deviation based on the plurality of second load data and the plurality of third load data; Actual energy consumption data of the server is obtained, and optimization targets of the plurality of first components are adjusted according to the load deviation and the actual energy consumption data.

10. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to implement the steps of the method for optimizing energy consumption of a server as claimed in any one of claims 1 to 9 when executing the computer program.

Citation Information

Patent Citations

  • Real-time energy consumption optimization method for application server cluster

    CN113867905A

  • Data processing method and device and electronic equipment

    CN119126961A

  • Energy consumption optimization method and system for computing power server

    CN119847712A

  • Server power consumption management method and device, electronic equipment and storage medium

    CN120560939A