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

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

CN120743718BActive Publication Date: 2026-01-23INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In existing technologies, when server load fluctuates significantly, the accuracy of load data prediction is low, resulting in low accuracy of server energy consumption adjustment.

Method used

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

Benefits of technology

It improves the accuracy of load forecasting and energy consumption optimization, enhances the synergy between components, and optimizes server energy consumption adjustment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120743718B_ABST
    Figure CN120743718B_ABST
Patent Text Reader

Abstract

The application discloses an energy consumption optimization method of a server, an electronic device, a storage medium and a program product, relates to the technical field of servers, and comprises the following steps: when it is necessary to optimize the energy consumption of a server, the energy consumption data of the server in a historical period, first load data of a current moment and environment data associated with the power consumption of the server are acquired; a plurality of second load data corresponding to a plurality of moments in the future is predicted; a control instruction of the server is determined; and the server is controlled according to the control instruction. Through the above method, the load data of the future moment can be predicted through multiple data, the control instruction of the first component related to the energy consumption of the server is determined based on the predicted load data, and then the server is controlled; and the first component related to the energy consumption of the server is adjusted, the coordination of the adjustment among components is improved, and therefore 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 technical field of servers, and particularly relates to a server energy consumption optimization method, an electronic device, a storage medium and a program product. BACKGROUND

[0002] With the rapid development of artificial intelligence and big data technology, the number and computing demand of servers have greatly increased, thereby causing the energy consumption of the servers to also significantly increase.

[0003] In the related art, a static optimization model can be used to predict load data of a future period according to load data of a historical period, so as to adjust the energy consumption of the server according to the predicted data. However, in the above method, when the load of the server fluctuates greatly, the accuracy of the predicted load data is low, thereby causing the accuracy of the server energy consumption adjustment to be low. SUMMARY

[0004] The present application provides a server energy consumption optimization method, an electronic device, a storage medium and a program product to at least solve the problem of low accuracy of server energy consumption adjustment.

[0005] The present application provides a server energy consumption optimization method, comprising:

[0006] obtaining energy consumption data of the server in a historical period, first load data of a current time, and environment data associated with the energy consumption of the server;

[0007] predicting, according to the energy consumption data, the first load data and the environment data, a plurality of second load data corresponding to a plurality of time points in the future of the server;

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

[0009] controlling the server according to the control instruction.

[0010] The present application also provides a server energy consumption optimization device, comprising an obtaining module, a predicting module, a determining module and a controlling module, wherein,

[0011] the obtaining module is used to obtain energy consumption data of the server in a historical period, first load data of a current time, and environment data associated with the energy consumption of the server;

[0012] the predicting module is used to predict, according to the energy consumption data, the first load data and the environment data, a plurality of second load data corresponding to a plurality of time points in the future of the server;

[0013] The determining module is configured to determine a control instruction of the server according to the plurality of second load data, the control instruction being used to adjust the first component related to the energy consumption of the server.

[0014] The control module is configured to control the server according to the control instruction.

[0015] The present application also provides an electronic device, comprising a memory configured to store a computer program, and a processor configured to execute the computer program to implement the steps of the energy consumption optimization method of the server.

[0016] The present application also provides a computer readable storage medium, wherein the computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement the steps of the energy consumption optimization method of the server.

[0017] The present application also provides a computer program product, comprising a computer program, and the computer program is executed by a processor to implement the steps of the energy consumption optimization method of the server.

[0018] Through the present application, when the energy consumption of the server needs to be optimized, the energy consumption data of the server in a historical period, the first load data of a current time, and the environment data associated with the energy consumption of the server can be obtained; according to the energy consumption data, the first load data, and the environment data, a plurality of second load data corresponding to a plurality of time points in the future can be predicted; according to the plurality of second load data, a control instruction of the server can be determined, the control instruction being used to adjust the first component related to the energy consumption of the server; and the server can be controlled according to the control instruction. Through the above method, the load data at the future time can be predicted through the historical energy consumption data, the current load data, and the environment data, and the control instruction of 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. As a result, the accuracy of load prediction is improved due to the combination of energy consumption data and environment data; and the adjustment of the first component related to the energy consumption of the server improves the coordination between components, thereby improving the accuracy of energy consumption optimization. BRIEF DESCRIPTION OF DRAWINGS

[0019] In order to more clearly illustrate the embodiments of the present application, the drawings needed in the embodiments will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.

[0020] Figure 1 The system architecture diagram provided for the embodiments of the present application;

[0021] Figure 2 A flowchart of a method for optimizing energy consumption of a server according to an embodiment of the present application is shown in FIG. 1.

[0022] Figure 3 A flowchart of a process for determining a control instruction of a server according to an embodiment of the present application is shown in FIG. 2.

[0023] Figure 4 A flowchart of a process for controlling a server according to a control instruction according to an embodiment of the present application is shown in FIG. 3.

[0024] Figure 5 A flowchart of a process for controlling a server according to a control instruction according to an embodiment of the present application is shown in FIG. 4.

[0025] Figure 6 A structural diagram of a device for optimizing energy consumption of a server according to an embodiment of the present application is shown in FIG. 5.

[0026] Figure 7 A structural diagram of another device for optimizing energy consumption of a server according to an embodiment of the present application is shown in FIG. 6.

[0027] Figure 8 A structural diagram of an electronic device according to an embodiment of the present application is shown in FIG. 7. DETAILED DESCRIPTION

[0028] The technical solutions in the embodiments of the present application will be clearly and completely described with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, any other embodiments obtained by a person of ordinary skill in the art without creative work fall within the protection scope of the present application.

[0029] It should be noted that, in the description of the present application, the terms “comprise”, “contain” or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or device. The terms “first”, “second” and the like in the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence.

[0030] In the related art, the load data of a future period can be predicted according to the load data of a historical period by using a static optimization model, so that the power consumption of a server can be adjusted according to the predicted data. However, in the above method, when the load of the server fluctuates greatly, the accuracy of the predicted load data is low, so that the accuracy of the server power consumption adjustment is low.

[0031] To solve the above problems, in the embodiment of the present application, when the energy consumption of the server needs to be optimized, the energy consumption data of the server in the historical period, the first load data of the current time, and the environment data associated with the server power consumption can be obtained. According to the energy consumption data, the first load data and the environment data, the second load data corresponding to the future time of the server is predicted. According to the second load data, the control instruction of the server is determined, and the control instruction is used to adjust the first component related to the energy consumption of the server. The server is controlled according to the control instruction. Through the above method, the load data at the future time can be predicted through the historical energy consumption data, the current load data and the environment 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, and then the server is controlled. In this way, since the load prediction of the server combines the energy consumption data and the environment data, the accuracy of the load prediction is improved. And the first component related to the energy consumption of the server is adjusted, which improves the coordination of the adjustment between components, and further improves the accuracy of energy consumption optimization.

[0032] In order for those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the drawings and specific embodiments.

[0033] In combination with the specific application environment architecture or specific hardware architecture on which the server energy consumption optimization method depends, the specific application environment architecture or specific hardware architecture is described here. For reference Figure 1 , Figure 1 The system architecture diagram provided by the embodiment of the present application is shown. Please refer to Figure 1 , including electronic device 101 and server cluster 102, electronic device 101 can be a device with on-end computing capability, for example, electronic device 101 can be a terminal device or a server, server cluster 102 can include multiple servers, electronic device 101 can obtain energy consumption data, load data, environment data and other data of server cluster 102, based on these data to predict the load data of server cluster 102 at future time, according to the predicted load data, the control instruction of the internal component of server cluster 102 can be determined, and the server cluster 102 is controlled according to the control instruction, so as to optimize the energy consumption of server cluster 102.

[0034] The technical scheme of the present application and how the technical scheme of the present application solves the above technical problems will be described in detail in the following specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes can not be described in detail in some embodiments. The embodiments of the present application will be described below with reference to the drawings.

[0035] Figure 2A flowchart of a method for optimizing energy consumption of a server according to an embodiment of the present application is shown in FIG. 1. The embodiment of the present application provides a method for optimizing energy consumption of a server, which is described in detail as follows. Figure 2

[0036] S201, obtaining energy consumption data of the server in a historical period, first load data of the server at a current time, and environment data associated with the energy consumption of the server.

[0037] The execution subject of the embodiment of the present application can be an electronic device, which can be a device with on-end computing capability, for example, the electronic device can be a server, a terminal device, etc. The execution subject can also be a server energy consumption optimization apparatus arranged in the electronic device. The server energy consumption optimization apparatus can be realized by software or by a combination of software and hardware.

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

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

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

[0041] The first load data can refer to load data obtained by a load sensor of the server, for example, the first load data can include utilization rate of a central processing unit of the server, bandwidth of a memory, throughput of a network, etc.

[0042] The environment data associated with the energy consumption of the server can include temperature, humidity, air pressure, etc. of an external environment of the server, and the environment data can be obtained by an external weather data sensor. It can be understood that the environment data can affect the energy consumption of the server, for example, in the case of excessively cold or hot external environment, the energy consumption of the server can be increased.

[0043] Optionally, the energy consumption data, the first load data and the environment data can be determined by the following method: obtaining first data in the historical period in a historical database, second data obtained by a load sensor, and third data obtained by an external weather data sensor; performing outlier filtering processing on the first data, the second data and the third data to obtain de-outlier data; performing standardization and feature extraction processing on the de-outlier data to obtain the energy consumption data, the first load data and the environment data.

[0044] ​The abnormal value can indicate a data point that deviates from the normal range, for example, assuming that the temperature data in the second data has 5, which are 60 degrees, 63 degrees, 65 degrees, 67 degrees and 20 degrees, it can be considered that the temperature data of 20 degrees deviates from the normal range, that is, the value is an abnormal value and needs to be removed. The abnormal value can be filtered by the Kalman filtering algorithm to obtain the de-abnormal value data. Optionally, the de-abnormal value 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 value of 0 and a standard deviation of 1. Feature extraction can refer to extracting data that can indicate data characteristics from de-abnormal value data, such as peak value, valley value, frequency mean value, temperature trend and the like, thereby reducing the data amount and improving the efficiency of data processing.

[0045] S202, predicting a plurality of second load data corresponding to a plurality of time points in the future according to the energy consumption data, the first load data and the environment data.

[0046] The plurality of time points in the future can refer to a plurality of time points contained in a certain period in the future, for example, the plurality of second load data corresponding to the plurality of time points in the future can refer to the second load data corresponding to the first minute, 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 in the future five minutes.

[0047] Exemplarily, the plurality of second load data can be determined by: determining a 128-dimensional feature vector according to the energy consumption data, the first load data and the environment data, wherein the 128-dimensional feature vector includes a 60-dimensional energy consumption vector of a historical time point, a 16-dimensional utilization rate vector of a central processing unit, a 16-dimensional bandwidth vector of a memory, a 16-dimensional throughput vector of a network, and a 20-dimensional environment data vector; inputting the feature vector into a long short-term memory neural network model to obtain the output of the plurality of second load data corresponding to the plurality of time points in the future.

[0048] S203, determining 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. The first component related to the energy consumption of the server can include a switch, a central processing unit, a memory, a heat dissipation system, a hard disk and the like of the server.

[0050] The control instruction of the server can be determined by: determining an optimization target of a plurality of first components in the server according to the plurality of second load data; and determining the control instruction of the server according to the optimization target of the plurality of first components.

[0051] The control instruction can be a five-dimensional optimization target vector, respectively indicating an adjustment to the first component.

[0052] For example, assuming that the first component is a switch of the server, the optimization target of the first component can indicate that the switch is closed or opened; assuming that the first component is a central processor, the optimization target of the first component can indicate a target frequency of the central processor.

[0053] S204, controlling the server according to the control instruction.

[0054] The server can be controlled by: determining, according to the control instruction, a first instruction for controlling a switch state of the server, a second instruction for controlling a central processor frequency of the server, a third instruction for controlling a memory voltage of the server, a fourth instruction for controlling a heat dissipation system of the server, and a fifth instruction for controlling a hard disk rotation speed of the server; and controlling, 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 processor frequency, the memory voltage of the server, the heat dissipation system and the hard disk rotation speed of the server.

[0055] After the server is controlled according to the control instruction, the method further includes: determining actual multiple third load data corresponding to multiple time points in the future of the server; determining a load deviation according to the multiple second load data and the multiple third load data; obtaining actual energy consumption data, service level agreement compliance and equipment aging index of the server to determine a reward function; and adjusting the long short-term memory neural network model according to the load deviation and the reward function.

[0056] wherein the actual energy consumption data is represented as the service level agreement compliance is represented as and the equipment aging index is represented as The reward function R can be represented as:

[0057]

[0058] It can be understood that the smaller the actual energy consumption data is, the higher the reward value of the reward function is; the greater the service level agreement compliance is, indicating that the server responds quickly and has high availability, the higher the reward value of the reward function is; the smaller the equipment aging index is, indicating that the device loss of the server is low, the higher the reward value of the reward function is.

[0059] In the embodiment of the present application, when the energy consumption of the server needs to be optimized, the energy consumption data of the server in the historical period, the first load data of the current moment, and the environment data associated with the server power consumption 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 central processor of the server, the bandwidth of the memory, the throughput of the network, etc., and the environment data can include the temperature, humidity, air pressure, etc. of the external environment of the server. According to the energy consumption data, the first load data and the environment data, a plurality of second load data corresponding to a plurality of time points in the future of the server is predicted. According to the plurality of second load data, the control instruction of the server is determined, which can be used to adjust the first component related to the energy consumption of the server, and the first component can include the switch, central processor, memory, heat dissipation system, hard disk, etc. of the server. The server is controlled according to the control instruction. Through the above method, the load data at the future time point can be predicted through multi-dimensional data (including historical energy consumption data, current load data and environment 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, and then the server is controlled. On the one hand, since the load prediction of the server combines energy consumption data and environment 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 between components is improved, and the accuracy of energy consumption optimization is further improved.

[0060] On the basis of any one of the above embodiments, in the following, combined with Figure 3 , the determination process of the server control instruction is described in detail.

[0061] Figure 3 The determination process of the server control instruction provided in the embodiment of the present application is shown in the following figure. Please refer to Figure 3 , the method can include:

[0062] S301, obtaining the total power, switch state frequency and aging index of the server.

[0063] The total power of the server can refer to the total power consumed by the server, which 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 switch state frequency of the server can refer to the frequency of turning on and off the server, which can be used to indicate the working stability of the server. The switch state frequency of the server can be obtained through the operating system log of the server. For example, the switch state frequency of the server can be 0.2.

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

[0066] S302, determining the load imbalance degree of the server according to the plurality of second load data.

[0067] The load imbalance degree of the server can be used to measure the degree of imbalance of load distribution in the plurality of servers in the server cluster. That is, if the load imbalance degree of the server is large, it indicates that there can be a server in the server cluster that is not fully utilized, which can cause performance bottleneck problems of the server.

[0068] The load imbalance degree of the server can be determined by assuming that n is the number of servers, is the average load of the n servers, is the current load of the i-th server, is the current load of the j-th server corresponding to the i-th server, and the load imbalance degree 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, so as to determine the load imbalance degree of the server.

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

[0072] The optimization target of the plurality of first components can be used to indicate the direction of the plurality of optimization targets of the server, for example, the energy consumption optimization target of the server can include: the consumption of the total power of the server is the smallest, the load imbalance degree of the server is the lowest, the switching state frequency of the server is the lowest, and the aging index of the server is the lowest.

[0073] For example, assuming that is the total power of the server, is the load imbalance degree of the server, is the switching state frequency of the server, is the aging index of the server, and the optimization target T of the plurality of first components can be expressed as:

[0074]

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

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

[0077] The objective optimization engine can use an improved alternating direction multiplier method to solve the optimization objective in a distributed manner, thereby obtaining pre-control instructions.

[0078] Pre-control commands can be used to adjust multiple primary components of the server. For example, a pre-control command could include adjusting the server's hard drive rotation speed to 5400 rpm.

[0079] S305. Obtain the constraints and determine whether the pre-control command meets the constraints.

[0080] Constraints can be used to constrain control instructions, thereby enabling a server that has been adjusted according to the control instructions to function properly.

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

[0082] For example, the first threshold can be 200ms, the second threshold can be 75°C, and the third threshold can be 3%. That is, after adjusting multiple first components according to the pre-control instructions, if the solution time of the target optimization engine is less than or equal to 200ms, the temperature of the server's central processing unit is less than or equal to 75°C, and the fluctuation of the server's memory voltage is less than or equal to 3%, then the pre-control instructions can be considered to meet the constraints.

[0083] If so, then execute S306.

[0084] If not, then execute S307.

[0085] S306. Determine the pre-control command as the server's control command.

[0086] S307. Update the target optimization engine.

[0087] The update process can be performed as follows: determine multiple actual third load data points corresponding to the server at multiple future time points; determine the load deviation based on multiple second and third load data points; obtain the server's actual energy consumption data, service level agreement compliance, and equipment aging index to determine the reward function; and adjust the first, second, third, and fourth weights of the optimization objective based on the load deviation and the reward function to minimize the value of the optimization objective.

[0088] The steps for determining the reward function are detailed in step S204 above and will not be repeated here.

[0089] exist Figure 3 In the illustrated embodiment, when server energy consumption needs to be optimized, server control commands can be determined. The electronic device can acquire the server's total power, switching frequency, and aging index. The total power refers to the total electricity consumed by the server, the switching frequency refers to the frequency of server power-on and power-off, and the aging index refers to the degree of aging of the server's hardware components. Based on multiple second load data, the server's load imbalance is determined, which measures the degree of load imbalance among multiple servers in a server cluster. Based on the total power, load imbalance, switching frequency, and aging index, optimization targets for multiple first components are determined. The optimization targets for the multiple first components are input into the target optimization engine to obtain pre-control commands. Constraints are acquired, and it is determined whether the pre-control commands meet the constraints. These constraints constrain the control commands, enabling the server, after adjustments to the multiple first components according to the control commands, to operate normally. If the pre-control commands meet the constraints, they are determined as the server's control commands. If the pre-control commands 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 frequency and aging index. The target optimization engine determines the control instructions for multiple first components. By setting constraints, the control instructions can be ensured to enable the server to operate normally. 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, the following, in conjunction with Figure 4 This section provides a detailed explanation of the process of controlling the server according to control commands.

[0091] Figure 4 The process of controlling the server according to the control instruction is provided for the embodiments of the present application. Please refer to Figure 4 The method can include:

[0092] S401, according to the control instruction, determining the first instruction, the second instruction, the third instruction, the fourth instruction and the fifth instruction.

[0093] The first instruction is used to control the switch state of the server, the second instruction is used to control the central processor 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 rotation speed of the server.

[0094] For example, the first instruction can be to control the server to start, or to control the server to stop; the second instruction can be to adjust the central processor frequency of the server to 2.5GHz; the third instruction can be to adjust the memory voltage of the server to 1.2V; the fourth instruction can be to adjust the rotation speed of the cooling system of the server to 3000RPM; and the fifth instruction can be to adjust the hard disk rotation speed of the server to 7200RPM.

[0095] S402, according to the first instruction, determining the switch state of the server, and according to the switch state, controlling the server to start or stop.

[0096] For example, assuming that the first instruction is to control the server to start, the server is started in a ring topology sequence; assuming that the first instruction is to control the server to stop, the server is stopped in a ring topology sequence.

[0097] S403, according to the second instruction, adjusting the central processor frequency of the server to a first preset value.

[0098] For example, the first preset value can be 1.8GHz.

[0099] S404, according to the third instruction, adjusting the memory voltage of the server to a second preset value.

[0100] For example, the second preset value can be 1.2V.

[0101] S405, according to the fourth instruction, adjusting the rotation speed of the cooling system of the server to a target rotation speed.

[0102] The target rotation speed can be determined as follows: according to the fourth instruction, determining the target temperature of the server; obtaining the current temperature of the server, and according to the target temperature and the current temperature, determining the temperature difference value of the server; obtaining a preset mapping table, and according to the preset mapping table, determining the target rotation speed corresponding to the temperature difference value, and adjusting the rotation speed of the cooling system of the server to the target rotation speed.

[0103] The current temperature of the server can be obtained by a temperature sensor arranged on the server; and the preset mapping table can be used to indicate the corresponding relationship between the temperature difference and the rotating speed of the heat dissipation system.

[0104] For example, assuming that the target temperature of the server indicated by the fourth instruction is 60 C°, and the current temperature of the server is 62 C°, the temperature difference of the server can be determined as 2 C°, and if the preset mapping table indicates that the target rotating speed corresponding to the temperature difference of 2 C° is 3000 RPM, the rotating speed of the heat dissipation system of the server is adjusted to 3000 RPM.

[0105] S406, adjusting the rotating speed of the hard disk of the server to a third preset value according to the fifth instruction.

[0106] For example, the third preset value can be 10000 RPM.

[0107] It should be noted that the execution order between the above steps S402, S403, S404, S405, S406, S407 can be determined by determining the priority of 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 between the first instruction, the second instruction, the third instruction, the fourth instruction, the fifth instruction and the power supply adjustment instruction according to the priority. The priority is a value pre-set by the user, and the priority can be determined according to 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, the process of controlling the server according to the control instruction will be described by a specific example. Figure 5

[0109] Figure 5 The schematic diagram of controlling the server according to the control instruction provided by the embodiments of the present application is shown in FIG. 1. Figure 5 The electronic device can prioritize the control execution according to the control instruction, determine the first instruction of controlling the switch state of the server, the second instruction of controlling the central processor frequency of the server, the third instruction of controlling the memory voltage of the server, the fourth instruction of controlling the heat dissipation system of the server, and the fifth instruction of controlling the rotating speed of the hard disk 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 further comprises: obtaining the switch state of the server, the first preset value and the second preset value; 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 of supporting 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] In Figure 4 In the embodiment shown, when the energy consumption of the server needs to be optimized, the server can be controlled according to the control instruction. According to the control instruction, 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 are determined; according to the first instruction, the switch state of the server is determined, and according to the switch state, the server is controlled to start or shut down; according to the second instruction, the central processing unit frequency of the server is adjusted to the first preset value; according to the third instruction, the memory voltage of the server is adjusted to the second preset value; according to the fourth instruction, the rotation speed of the cooling system of the server is adjusted to the target rotation speed; according to the fifth instruction, the hard disk rotation speed of the server is adjusted to the third preset value. Through the above method, the plurality of first components of the server can be controlled according to the control instruction, so that the plurality of components can be controlled cooperatively, thereby improving the effectiveness of energy consumption optimization.

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

[0113] Figure 6 The structure diagram of the energy consumption optimization device of the server provided by the embodiments of the present application is shown in the figure. Figure 6 As shown in the figure, the embodiments of the present application also provide an energy consumption optimization device 10 of a server, 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 of the current time, and the environment data associated with the server power consumption;

[0115] The prediction module 12 is used to predict a plurality of second load data corresponding to a plurality of time in the future according to the energy consumption data, the first load data and the environment data;

[0116] The determining module 13 is configured to determine, according to the plurality of second load data, a control instruction of the server, the control instruction being used to adjust the first components related to the energy consumption of the server.

[0117] The control module 14 is configured to control the server according to the control instruction.

[0118] The energy consumption optimization apparatus of the server provided by the embodiments of the present application can implement the technical solutions shown in the method embodiments, and the implementation principles and beneficial effects are similar, which will not be repeated here.

[0119] In a possible design, the determining module 13 is specifically configured to,

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

[0121] determine, according to the optimization targets of the plurality of first components, the control instruction of the server.

[0122] In a possible design, the determining module 13 is specifically configured to,

[0123] obtain a total power, a switching state frequency and an aging index of the server;

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

[0125] determine, according to the total power, the load imbalance degree, the switching state frequency and the aging index, the optimization targets of the plurality of first components.

[0126] In a possible design, the determining module 13 is specifically configured to,

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

[0128]

[0129] wherein, the T is the optimization target of the plurality of first components, the P is the total power, the L is the load imbalance degree, the S is the switching state frequency, the A is the aging index, the W1 is a first weight of the total power, the W2 is a second weight of the load imbalance degree, the W3 is a third weight of the switching state frequency, and the W4 is a fourth weight of the aging index.

[0130] ​​​​​​​​In a possible design, the determining module 13 is specifically configured to,

[0131] obtain a constraint condition, the constraint condition being used to constrain the control instruction to enable the server to operate normally;

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

[0133] determine, according to the constraint condition and the pre-control instruction, whether the pre-control instruction satisfies the constraint condition;

[0134] determine the pre-control instruction as the control instruction of the server when the pre-control instruction satisfies the constraint condition.

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

[0136] determine, according to the control instruction, a first instruction for controlling a switch 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 heat dissipation system of the server, and a fifth instruction for controlling a hard disk rotation speed of the server;

[0137] control, according to the first instruction, the second instruction, the third instruction, the fourth instruction and the fifth instruction, the switch, the central processing unit frequency, the memory voltage of the server, the heat dissipation system and the hard disk rotation speed of the server.

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

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

[0140] adjust, according to the second instruction, the central processing unit frequency of the server to a first preset value;

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

[0142] determine, according to the fourth instruction, a target temperature of the server, obtain a current temperature of the server, determine a temperature difference value of the server according to the target temperature and the current temperature, obtain a preset mapping table, determine, according to the preset mapping table, a target rotation speed corresponding to the temperature difference value, and adjust a rotation speed of the heat dissipation system of the server to the target rotation speed, the preset mapping table being used to indicate a corresponding relationship between the temperature difference value and the rotation speed of the heat dissipation system;

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

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

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

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

[0147] perform an outlier filtering process on the first data, the second data and the third data to obtain de-outlier data;

[0148] perform a feature extraction process on the de-outlier data to obtain the energy consumption data, the first load data and the environmental data.

[0149] The server energy consumption optimization device provided in the embodiments of the present application can execute the technical solutions shown in the method embodiments, and has similar implementation principles and beneficial effects, which will not be repeated here.

[0150] Figure 7 Another server energy consumption optimization device provided in the embodiments of the present application is shown in the structural schematic diagram. In Figure 6 the device 10 further includes an adjustment module 15, as shown in Figure 7 the adjustment module 15 is configured to,

[0151] determine actual third load data corresponding to the server at multiple time points in the future;

[0152] determine a load deviation according to the multiple second load data and the multiple third load data;

[0153] obtain actual energy consumption data of the server, and adjust the optimization target of the multiple first components according to the load deviation and the actual energy consumption data.

[0154] The server energy consumption optimization device provided in the embodiments of the present application can execute the technical solutions shown in the method embodiments, and has similar implementation principles and beneficial effects, which will not be repeated here.

[0155] Figure 8 The structural schematic diagram of the electronic device provided in the present application is shown in the structural schematic diagram. As shown in Figure 8 the electronic device 50 provided in the embodiments of the present application 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 through a bus.

[0156] In a specific implementation process, the at least one processor 501 executes computer execution instructions stored in the memory 502, so that the at least one processor 501 executes the energy consumption optimization method embodiments of the server described above.

[0157] The specific implementation process of the processor 501 can refer to the method embodiments described above, which have similar implementation principles and technical effects, and will not be described here in detail.

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

[0159] The memory can include a random access memory (RAM), and can also include a non-volatile memory (NVM), for example, at least one disk memory.

[0160] The bus can be an industry standard architecture (ISA) bus, a peripheral component (PCI) bus, or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the convenience of representation, the bus in the drawings of the present application does not limit to only one bus or one type of bus.

[0161] Embodiments of the present application also provide a computer readable storage medium, which stores a computer program, wherein the computer program is configured to execute the steps in any of the above energy consumption optimization method embodiments of the server when running.

[0162] In an example embodiment, the computer readable storage medium described above can include, but is not limited to, a U disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and various media that can store computer programs.

[0163] Embodiments of the present application also provide a computer program product, which comprises a computer program. The computer program is executed by a processor to implement the steps in any of the energy consumption optimization method embodiments of the server.

[0164] Embodiments of the present application also provide another computer program product, which comprises a non-volatile computer readable storage medium. The non-volatile computer readable storage medium stores a computer program. The computer program is executed by a processor to implement the steps in any of the energy consumption optimization method embodiments of the server.

[0165] The skilled in the art can further realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be realized by electronic hardware, computer software or a combination of both. In order to clearly illustrate the interchangeability of hardware and software, the components and steps of the examples have been described in the above description in general terms. Whether the functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. The skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0166] The above describes in detail the energy consumption optimization method of a server, an electronic device, a storage medium and a program product provided by the present application. The principles and implementation modes of the present application are described by applying specific examples in this paper. The above description of the examples is only applicable to help understand the method and its core idea of the present application. It should be noted that for those skilled in the art, without departing from the principles of the present application, some improvements and modifications can be made to the present application. These improvements and modifications also fall within the scope of protection of the claims of the present application.

Claims

1. A method for optimizing server energy consumption, characterized in that, include: Obtain the server's energy consumption data for historical periods, the first load data at the current moment, and environmental data related to the server's power consumption; 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 future times; Based on the plurality of second load data, control instructions for the server are determined, the control instructions being used to adjust a first component related to the server's energy consumption; Control the server according to the control instructions; The step of determining the server's control instructions based on the plurality of second load data includes: Obtain the server's total power, switching frequency, and aging index; The load imbalance of the server is determined based on the multiple second load data. Based on the total power, the load imbalance, the switching frequency, and the aging index, optimization targets for multiple first components are determined. The optimization objectives of the plurality of first components satisfy the following formula: Wherein, T is the optimization objective of the plurality of first components, and the For the total power, the For the load imbalance, the The switching state frequency, the The aging index is the index that is defined as follows: As the first weight of the total power, the The second weight of the load imbalance is the The third weight of the switching state frequency, the This is the fourth weight of the aging index; Based on the optimization objectives of the plurality of first components, the control instructions for the server are determined; The prediction of multiple second load data corresponding to the server at multiple future times also includes: Determine the actual third load data corresponding to the server at multiple future times; The load deviation is determined based on the plurality of second load data and the plurality of third load data; Obtain the actual energy consumption data of the server, obtain the service level agreement compliance of the server, and the equipment aging index of the server; The reward function for the server is determined based on the actual energy consumption data, the service level agreement compliance, and the equipment aging index. The server's reward function satisfies the following formula: Wherein, R is the reward function of the server, and the The actual energy consumption data, the For the compliance of the service level agreement, the The aging index of the equipment; Based on the reward function and the load deviation, the optimization objectives of the plurality of first components and the first model are adjusted, and the first model is used to predict the server's second load data at multiple future times.

2. The method according to claim 1, characterized in that, Based on the optimization objectives of the plurality of first components, the control instructions for the server are determined, including: Obtain constraints, which are used to ensure that the control commands enable the server to operate normally; The optimization targets of the plurality of first components are input into the target optimization engine to obtain pre-control instructions; Based on the constraints and the pre-control instructions, determine whether the pre-control instructions satisfy the constraints; When the pre-control instruction satisfies the constraints, the pre-control instruction is determined as the control instruction of the server.

3. The method according to claim 1 or 2, characterized in that, Controlling the server according to the control instructions includes: According to the control instructions, a first instruction to control the on / off state of the server, a second instruction to control the frequency of the central processing unit of the server, a third instruction to control the memory voltage of the server, a fourth instruction to control the heat dissipation system of the server, and a fifth instruction to control the hard disk speed of the server are determined. The server's power switch, CPU frequency, memory voltage, cooling system, and hard drive speed are controlled according to the first instruction, the second instruction, the third instruction, the fourth instruction, and the fifth instruction.

4. The method according to claim 3, characterized in that, Controlling the server's power on / off state, CPU frequency, memory voltage, cooling system, and hard drive speed according to the first, second, third, fourth, and fifth instructions includes: Based on the first instruction, determine the on / off state of the server, and control the server to be turned on or off based on the on / off state; According to the second instruction, the frequency of the server's central processing unit is adjusted to a first preset value; According to the third instruction, the memory voltage of the server is adjusted to the second preset value; According to the fourth instruction, the target temperature of the server is determined and the current temperature of the server is obtained. Based on the target temperature and the current temperature, the temperature difference of the server is determined. A preset mapping table is obtained. Based on the preset mapping table, the target rotation speed corresponding to the temperature difference is determined. The rotation speed of the server's heat dissipation system is adjusted to the target rotation speed. The preset mapping table is used to indicate the correspondence between the temperature difference and the rotation speed of the heat dissipation system. According to the fifth instruction, the hard drive speed of the server is adjusted to the third preset value; Based on the server's on / off status, the first preset value, and the second preset value, the power supply of the server is determined, and the server's power module is adjusted to the power supply.

5. The method according to any one of claims 1 or 2, characterized in that, Acquire server energy consumption data for historical periods, current load data, and environmental data related to server power consumption, including: The system determines the first data point for a historical period, the second data point from the load sensor, and the third data point related to server power consumption. The first data, the second data, and the third data are subjected to outlier filtering to obtain outlier-free data. The outlier-removed data is processed by feature extraction to obtain the energy consumption data, the first load data, and the environmental data.

6. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the power consumption optimization method for the server as described in any one of claims 1 to 5 when executing the computer program.

Citation Information

Patent Citations

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

    CN113867905A

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

    CN120560939A