STORAGE AND CPU MIGRATION FOR DATA CENTER COOLING

DE102025138640A1Undetermined Publication Date: 2026-08-13HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-09-24
Publication Date
2026-08-13

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

One aspect of the present disclosure relates to a system and method for energy management in a data center. During operation, the energy management system can monitor the power consumption of a multitude of servers running an application in the data center, identify one or more high-temperature servers among the multitude based on the monitored power consumption, and identify one or more replacement server candidates within the data center. In response to the finding that a trigger condition has been met by a high-temperature server, the energy management system can replace the high-temperature server with a selected replacement server by migrating virtualized resources from the high-temperature server to the selected replacement server during application execution and placing the high-temperature server into a low-power mode.
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND Area This disclosure concerns a system and a method for improving energy efficiency in data centers. State of the art The power density in data centers has increased dramatically over the past decade, as racks and rows accommodate a constantly growing number of high-performance servers in ever more compact configurations. This trend has led to an immense demand for power, with an estimated 3% of total energy consumption in the U.S. currently used to power data centers. The vast majority of the energy delivered to data center computing equipment is ultimately converted into heat. Improper management of this heat can have serious consequences, including reduced server performance, an increased risk of hardware and software failures, and accelerated equipment degradation. Servers operating at high temperatures are more susceptible to software and hardware failures, which can negatively impact the speed and accuracy of applications.Furthermore, elevated temperatures can lead to physical damage to system components, resulting in an increased frequency of hard errors and a higher probability of hardware failures. BRIEF DESCRIPTION OF THE FIGURES Figure 1 illustrates an example of an energy management scenario in a data center according to one aspect of the present disclosure. Figure 2 illustrates the effect of replacing a high-temperature server with a replacement server according to one aspect of the present disclosure. Figure 3 shows a flowchart illustrating an example process for detecting and replacing a high-temperature server according to one aspect of the present disclosure. Figure 4 shows an example of a computer system that facilitates energy management in a data center according to one aspect of the present disclosure. Figure 5 illustrates a computer-readable medium (CRM) that facilitates energy management in a data center according to one aspect of the present disclosure. In the figures, identical reference symbols refer to identical elements. DETAILED DESCRIPTION Effective thermal management in data centers is crucial for maintaining optimal server performance and reliability. It can also reduce environmental impact and operating costs. Modern data centers employ various cooling infrastructures to prevent overheating, ranging from traditional industrial air conditioning to state-of-the-art liquid cooling solutions. However, these approaches often only address the symptoms and not the root cause of the problem: energy efficiency. One possible approach to improving energy efficiency in a data center is to shift compute loads from hotter servers to cooler servers in a timely manner to ensure that no server overheats. For example, a server can be shut down or put into an energy-efficient mode (such as sleep mode) before it overheats. However, the inflexibility of modern computer architectures makes it difficult to strike a balance between managing high equipment temperatures and avoiding potential disruptions to running applications. This dilemma arises from the need to maintain application integrity, which often prevents system topology updates that are frequently required to mitigate temperature hotspots. According to certain aspects of the present disclosure, an energy management system can efficiently manage energy consumption within a data center by employing distributed hypervisor technology. Unlike traditional hypervisors, which virtualize resources on a single physical server, a distributed hypervisor can combine a cluster of servers into a single system image (i.e., form a virtual machine). Such virtual machines, referred to as Software Defined Servers (SDS), offer unprecedented scalability and adaptability. SDSs can be dynamically scaled up or down based on various factors such as price points, resource utilization, or workload requirements. Crucially, this scaling can be performed without interrupting running applications, thus ensuring continuous operation.The SDS system is designed so that the impact on performance remains within acceptable hardware latency limits and the overall efficiency of the system is maintained. An operating system running on the single-system image has access to all the resources of the server cluster. The power management system can monitor the temperature of servers in the data center to identify high-temperature servers and potential backup servers. A potential backup server could be an inactive server (e.g., a powered-off server or a server in sleep mode) that is physically located near the cooling infrastructure. Alternatively, a low-utilization server (e.g., a server whose CPU is running at 20% capacity or less) could also be considered as a backup. If multiple backup servers are available, they can be ranked based on a variety of factors (e.g., temperature or other relevant data, or distance from the cooling infrastructure). Depending on some aspects, the power management system can, when a predetermined trigger condition is met (e.g.,If a server's temperature exceeds a threshold, the system can automatically initiate a server swap, replacing the high-temperature server with the highest-ranked backup server. More specifically, the power management system can migrate data, I / O, and CPU resources from the high-temperature server to the highest-ranked backup server without interrupting applications running on the high-temperature server, and then shut down or put the high-temperature server into sleep mode. The power management system can be implemented on a separate server, such as an administration server, and each server in the data center can be equipped with a administration port through which server-related status information (such as temperature data) can be sent to the administration server. Figure 1 illustrates an example of an energy management scenario in a data center according to one aspect of the present disclosure. In the example shown in Figure 1, a data center 100 may include an administration server 102, a data center network 104, a plurality of server racks (e.g., server racks 110, 120, and 130), and a cooling infrastructure 140. Each server rack may contain a plurality of servers connected to the administration server 102 via the data center network 104. For example, server rack 110 contains servers 112-118, server rack 120 contains servers 122-128, and server rack 130 contains servers 132-138. The cooling infrastructure 140 can include a variety of cooling units, such as air conditioners that use fans to circulate air within the data center, and liquid cooling units that circulate coolant in contact with hot components. Depending on their physical location, the distance between individual servers and the cooling infrastructure 140 can vary. In the example shown in Fig. 1, server racks 110 and 120 are positioned closer to the cooling infrastructure 140 than server rack 130. Of all the servers in server racks 110 or 120, the lower servers (e.g., servers 118 or 128) are closer to the cooling infrastructure 140 than the upper servers. Since the heat dissipation rate depends on the temperature difference between a hot component and its surroundings, servers located closer to the cooling infrastructure 140 are often cooler or cool down faster than servers located farther away.Using server rack 110 as an example, the lower server 118 can cool down faster than the upper server 112. Similarly, servers on server rack 130 can be hotter than servers on server racks 110 and 120. Several servers from different server racks can be connected to form an SDS system through a distributed hypervisor controlled by the management server 102. In the example shown in Fig. 1, servers 112, 122, 124, and 126 form an SDS system 150, and a subset of servers in rack 110 (e.g., servers 116 and 118) can form an SDS system 160. Data center 100 can include additional SDS systems not shown in Fig. 1. A number of servers (e.g., servers 114, 128, and 132-138) in data center 100 are inactive (i.e., they may be in sleep mode or powered off). Due to uneven cooling within the data center and varying workloads on individual servers, hotspots can occur. In the example shown in Fig. 1, the temperature of server 122 can rise, making it susceptible to software or hardware failures. To prevent potential failures and improve energy efficiency, the management server 102 can select an inactive, low-temperature server to replace the high-temperature, or hot, server 122. In the example shown in Fig. 1, the data center 100 contains more than one inactive server. To effectively reduce overall energy consumption, the management server 102 can select server 128, which is closest to the cooling infrastructure 140, to replace the high-temperature server 122. Although replacing the high-temperature server 122 with another inactive server (e.g.,While server 114 can prevent server 122 from overheating, the same energy efficiency may not be achieved, as server 114 may be slightly warmer than server 128. Depending on certain aspects, replacing the high-temperature server 122 with the inactive low-temperature server 128 can involve starting server 128 and migrating virtualized resources (e.g., processors, I / O devices, etc.) from the high-temperature server 122 to the low-temperature server 128. Applications running on the SDS system 150 (which includes the high-temperature server 122) can continue to run without interruption during the migration of the virtualized resources. More specifically, a distributed hypervisor for the respective SDS can be responsible for virtualizing and migrating the resources. After the low-temperature server 128 has started and the virtualized resources have been migrated, the management server 102 can shut down the high-temperature server 122, thus reducing the overall or average temperature of the SDS system 150. Figure 2 illustrates the effect of replacing a high-temperature server with a replacement server according to one aspect of the present disclosure. Figure 2 shows that prior to a temperature spike (which may be caused by increased workload or fan failure), the baseline temperature of an SDS system is slightly below 40°C (e.g., 37°C). The SDS system may comprise multiple physical servers, and the temperature of the SDS system can be represented by the maximum CPU temperature of the multiple physical servers. Figure 2 also shows that during the temperature spike, the temperature of the SDS system may rise above 100°C, which may automatically trigger the replacement of the high-temperature server. After the server is replaced, the temperature of the SDS system may return to its baseline level. Hotter servers may require more power for cooling.Therefore, immediately replacing the server with a high temperature can improve the energy efficiency of the data center. Figure 3 shows a flowchart illustrating an example process for detecting and replacing a server with a high temperature according to one aspect of the present disclosure. All or some of the operations shown in Figure 3 can be performed, for example, by the management server 102 shown in Figure 1. Although the example process in Figure 3 shows a specific sequence for performing certain operations, the process is not restricted to this sequence. The operations shown sequentially in the flowchart can be performed in a different order and can be performed concurrently, partially concurrently, or in combinations thereof. During operation, a power management system can monitor the performance of multiple servers running an application in a data center (Operation 302). Depending on the model, the multiple servers can be connected through a distributed hypervisor to form an SDS system. The power management system can reside on a dedicated management server. Because the management server does not run customer applications, it is less likely to overheat and can continuously monitor the performance of the other servers. Each server in the data center can be equipped with a management port, and the power management system can collect telemetry data through this port. For example, the power management system can query the baseboard management controller (BMC) on each server to actively collect critical hardware parameters, including CPU temperatures, fan speeds, and power consumption.Additional performance data, including but not limited to memory and network errors, can also be collected by the power management system. In alternative examples, the power management system might run an agent to passively collect telemetry data related to server performance or run monitoring tools (such as a cloud-based monitoring tool like Amazon CloudWatch) to obtain server performance data through associated application programming interfaces (APIs). In some examples, a server's BMC might remain operational even after the server is shut down and continue to provide server performance data to the power management system. In other examples, a server's BMC might also shut down when the server is shut down, preventing it from providing live performance data.In such a situation, the energy management system can retrieve and store the server's performance data for a predetermined period before the server is switched off. The power management system can identify one or more high-temperature servers among a multitude of servers based on monitored power consumption (Operation 304). In some cases, the power management system can identify high-temperature servers based on each server's CPU temperature. For example, the power management system can rank all servers in a data center or SDS system based on their CPU temperatures. A number of the highest-ranked servers (e.g., the top 10% or 20%) can be identified as high-temperature servers. In alternative examples, servers with a CPU temperature exceeding a predetermined threshold can be identified as high-temperature servers. The predetermined threshold can be 10% or 20% above the baseline (or average) CPU temperature of all servers in the data center or SDS system.A server's CPU temperature can vary dynamically depending on CPU load, and the predefined temperature threshold can be configurable. Other environmental factors, such as defective components or blocked ventilation openings, can also affect a server's CPU temperature. In addition to CPU temperature, a server can be identified as a high-temperature server if the temperature of other hardware components (e.g., fans, network interface controllers (NICs), or power supplies) within the server exceeds a configurable threshold (e.g., a maximum hardware temperature or a maximum temperature difference between specific hardware components across all servers in an SDS system). For example, a server can be identified as a high-temperature server if the temperature of a specific piece of hardware rises above a predefined threshold. Alternatively, a server can be identified as a high-temperature server if the temperature difference between the hardware components within the server exceeds a predefined threshold. The power management system can identify one or more candidates for backup servers (Operation 306). An ideal candidate for a backup server might be an inactive server, such as a powered-off or idle server located in close physical proximity to a cooling unit. A lightly utilized server located close to the cooling unit could also be considered. This requires the power management system to have certain knowledge of the server topologies and the cooling infrastructure in the data center. Servers located near the cooling infrastructure with low workloads can also be considered as backup servers. Based on certain aspects, the power management system can also rank the identified backup servers according to a number of factors, such as distance to the cooling infrastructure, current, past, or future CPU temperatures, and so on. Servers located near the cooling infrastructure remain cooler and cool faster than other servers. Therefore, candidate servers located closer to the cooling infrastructure can be ranked higher than candidate servers located farther away. In the example shown in Fig. 1, servers 114 and 128 are identified as candidate replacement servers, with server 128 having a higher ranking than server 114 because it is closer to cooling infrastructure 140. In addition to distance to the cooling infrastructure, the power management system can collect temperature and other related data from potential replacement servers. When a server candidate is powered off, the power management system can collect historical temperature or other related data (such as average CPU temperature, fan speed, or memory / network errors) for a predetermined period prior to the server candidate being powered off and rank the server candidate based on this historical temperature and other related data. For example, a server candidate might be ranked based on the last recorded temperature before power-off. For instance, two potential replacement servers might be located in close proximity to each other (i.e., they have a similar distance to the cooling infrastructure) and both be powered off (i.e., both are running at full power).(No current temperature or other related data is available). To evaluate these two servers, the energy management system can retrieve historical temperature and other related data from these powered-off servers. More specifically, the server with the lower temperature at the time of shutdown will be rated higher. To avoid thrashing (e.g., replacing a failed server and unintentionally bringing it back into service at a later time without addressing the root causes of the failure), the power management system may favor replacement servers that have not been used recently (at least within the same SDS) and prohibit the use of a previously identified high-temperature server until one or more specific predefined conditions are met (e.g., when a diagnostic test has been performed on the server or the server has been cleared for use by the data center administrator). According to some aspects, the energy management system can employ a machine learning technique to predict future CPU temperatures of potential replacement servers and then evaluate them based on the predicted temperatures. In some examples, the energy management system can predict a server's future temperature based on the application running on the SDS. More specifically, the energy management system can use a machine learning model (e.g., a deep learning neural network) to predict the potential workload to be migrated to the server and predict the temperature accordingly. According to other aspects, a pre-trained machine learning model can be used to predict the overall or average temperatures of the SDS system after the high-temperature server has been replaced by various replacement servers.The energy management system can select a candidate server that can result in the lowest temperature of the SDS system. In another example, machine learning techniques can be used to learn healthy versus unhealthy statistical patterns in order to identify current low-temperature servers that are likely to run reliably in the near future without requiring replacement. The ranking of potential replacement servers can also include a weighted combination of temperature and distance to the cooling infrastructure information. Depending on the design, the power management system can apply different weighting factors to temperature and distance to the cooling infrastructure. In one example, temperature might be given greater weight, with the power management system ranking a server with a lower temperature but located farther from the cooling infrastructure higher than a server with a higher temperature but located closer to the cooling infrastructure. In another example, distance to the cooling infrastructure might be given greater weight, with the power management system ranking a hotter server located closer to the cooling infrastructure higher than a colder server located farther away. The energy management system then uses server performance monitoring in the data center to determine whether a trigger condition has been met by a high-temperature server (Operation 308). Depending on the circumstances, the trigger condition might be that the physical parameters of a hardware component (e.g., CPU, fan, network card, power supply, etc.) within the high-temperature server are outside a predefined threshold range. In one example, the trigger condition might be the maximum CPU temperature. Note that a high CPU temperature can indicate that the server is overheating and is likely to fail in the near future. In another example, the trigger condition might be that the fan speed exceeds a predefined range.A fan speed below the lower limit of the specified range may indicate a defective fan, especially if the CPU is running unusually hot. A fan speed above the upper limit of the specified range may also indicate a defective fan, particularly if the CPU temperature is unusually low. Alternatively, the trigger condition can be that the difference in certain physical parameters (e.g., CPU temperature or fan speed) between servers within an SDS system exceeds a predefined maximum permissible range. Such a range can be considered the "normal" parameter range for the SDS. Servers with abnormal parameters can trigger a replacement. Furthermore, a temperature difference between hardware components within a specific high-temperature server that exceeds a predefined threshold (which can be an absolute value or a percentage) can also trigger a replacement of that server. The trigger condition can be met, for example, if the temperature difference between the CPU and the fan exceeds the predefined threshold. Additional trigger conditions can be defined based on server performance, e.g.,A server will shut down if the memory or network error rate exceeds a predefined threshold. A high error rate can indicate poor server performance due to software or hardware problems, which can lead to wasted energy. In response to the detection that a trigger condition has been met by a high-temperature server, the power management system can replace the high-temperature server with a selected backup server while the application is running (Operation 310). In one example, the trigger condition is met when the monitored temperature of one or more high-temperature servers exceeds a predefined threshold. In another example, the trigger condition is met when the monitored fan speed of one or more high-temperature servers exceeds a predefined range. In yet another example, the trigger condition is met when the memory or network error rate of one or more high-temperature servers exceeds a predefined threshold. Depending on certain aspects, the power management system can select the highest-rated candidate replacement server to replace the high-temperature server that meets the trigger condition. For example, the power management system might select an inactive server (such as a powered-off server or a server in sleep mode) that is closest to the cooling infrastructure (such as an air conditioning vent or a liquid cooling unit duct) to replace the high-temperature server. Alternatively, the power management system might select an inactive server with the lowest temperature to replace the high-temperature server. If multiple servers meet the trigger condition, the power management system can replace the hottest server first. The replacement order can be determined based on the current and / or predicted future CPU temperature of the high-temperature servers. Replacing a high-temperature server can involve migrating virtualized resources from the high-temperature server to the selected replacement server. These virtualized resources can include processing resources, I / O resources, storage resources, and so on. Depending on the specific circumstances, the power management system may start the selected replacement server (which may be powered off or in sleep mode) and notify other servers in the same SDS system of the replacement server's presence. The outgoing high-temperature server can also send notifications to other servers in the same SDS system to indicate that it is being replaced. In one aspect, the outgoing server can send a message to all servers in the SDS system. In response, the other servers stop sending requests and resources to the outgoing server, allowing resources to leave the outgoing server without any return. As a result, resources are withdrawn from the outgoing server. The outgoing high-temperature server can then send the resources to the backup server. It can first send a map indicating the location of the resources, then devices (e.g., interrupt controllers, storage devices, universal asynchronous receiver-transmitters (UARTs), etc.), and finally memory pages. The number of pages migrated depends on the workload; jobs that pollute (i.e., modify) fewer pages require fewer page migrations. After startup, the backup server can function as part of the SDS system. While the outgoing server migrates devices and pages, the backup server can handle requests and query the resource map as needed. The backup server can also request resources or forward requests for resources not yet migrated from the outgoing server, thus facilitating the continuous operation of the application by the SDS system. After the migration of resources from the high-temperature server to the replacement server is complete, the power management system can place the high-temperature server into a low-power mode (step 312). In some examples, the high-temperature server can be powered off. Powering off the high-temperature server reduces the overall temperature of the SDS system and thus its power consumption. In some examples, the power management system can place the high-temperature server into sleep mode. In alternative examples, the power management system can decide to migrate some of the loads from the high-temperature server to the replacement server, allowing the high-temperature server to operate at a lower load. Reducing the load on the high-temperature server can effectively lower its temperature, provided there is no hardware failure on the server. In some examples, the highest-rated replacement server might be a low-utilization server located near the cooling infrastructure. In such cases, replacing the high-temperature server might initially involve migrating resources from the low-utilization server to an available idle server (which may be located far from the cooling infrastructure), thus freeing up the low-utilization server. The power management server can then migrate resources from the high-temperature server to the newly freed server. Figure 4 shows an example of a computer system that facilitates energy management in a data center according to one aspect of the present disclosure. The computer system 400 can comprise one or more processing resources (e.g., a processor resource 402) and one or more storage devices (e.g., storage device 404), as well as a memory 406. A processing resource can, for example, comprise one or more processors, contained within a single computer device or distributed across multiple computer devices. In some examples, concurrent processes can run on a single computer device or on multiple computer devices. As used here, a "processor" can be one or more of a central processing unit (CPU), a semiconductor-based microprocessor, a graphics processing unit (GPU), a field-programmable gate array (FPGA) configured to fetch and execute instructions, other electronic circuitry capable of fetching and executing instructions stored on a computer-readable storage medium, or a combination thereof.In the examples described herein, the processing resource can retrieve, decode, and execute instructions stored on a storage medium to perform the functions described with respect to the instructions stored on the computer-readable medium. In other examples, the functions described with respect to instructions described herein can be implemented in the form of electronic circuits, in the form of executable instructions encoded on a computer-readable medium, or a combination thereof. The computer-readable storage medium can be located either within the computer device executing the instructions or remotely from it but accessible to the computer device (for example, via a computer network) to enable execution. In the examples presented herein, the node can be implemented by one or more computer-readable storage media. The computer system 400 can be coupled with peripheral I / O user devices 410 (e.g., a display device 412, a keyboard 414, and a pointing device 416). The storage device 404 comprises a non-transitory, computer-readable storage medium and stores an operating system 418, power management instructions 420, and data 440. The computer system 400 can include fewer or more units than shown in Fig. 4. Depending on certain aspects, the computer system 400 can be implemented within a data center by means of a dedicated management server (e.g., the management server 102 shown in Fig. 1). The energy management instructions 420 may include instructions that, when executed by the computer system 400, can cause the computer system 400 to execute the procedures and / or processes described in this disclosure. The energy management instructions 420 may be executed at least on the processing resource 402. The power management instructions 420 can include instructions 422 for monitoring the performance of a plurality of servers running an application in a data center, as described above with reference to operation 302 shown in Fig. 3. The plurality of servers can be connected to an SDS system via a distributed hypervisor. The instructions 422 can include instructions for communicating with the BMC of each server to actively collect state data, such as the temperature of various hardware components, fan speed, supply voltage, memory errors, network errors, etc. The instructions 422 can also include instructions for executing an agent to passively collect state data (e.g., temperature or other related data) associated with the servers. The power management instructions 420 may include instructions 424 for identifying one or more high-temperature servers among the multitude of servers based on monitored power, as described above with reference to operation 304 shown in Fig. 3. Servers may be identified as high-temperature based on CPU temperatures or temperature variations between hardware components. The power management instructions 420 may include instructions 426 for identifying one or more potential replacement servers, as described above with respect to operation 306 shown in Fig. 3. Instructions 426 may identify a number of inactive servers, including powered-off or idle servers, as potential replacement servers. Instructions 426 may additionally identify one or more low-utilization servers as potential replacement servers. Instructions 426 may also include instructions for ranking the replacement server candidates based on their distance from the cooling infrastructure and / or their temperature and / or other related data (e.g., CPU or hardware temperatures). The power management instructions 420 may include instructions 428 for replacing a high-temperature server with a selected replacement server during application execution, in response to the detection that a trigger condition is met by the high-temperature server, as described above with reference to Operation 308 shown in Fig. 3. The trigger condition may be that the temperature of a hardware component within the high-temperature server exceeds a predetermined threshold, or that the temperature difference between components within the high-temperature server exceeds a predetermined threshold. The instructions 428 may include instructions for selecting the highest-ranking replacement server, such as a server closest to the cooling infrastructure or a server with the lowest temperature. The energy management instructions 420 may include instructions 430 to put the high-temperature server into a power-saving mode after resources have been migrated from the high-temperature server to the selected replacement server, as described above with reference to operation 310 shown in Fig. 3. Alternatively, the instructions 430 may include instructions to put the high-temperature server into sleep mode. The Energy Management Instructions 420 may contain more instructions than those shown in Fig. 4. For example, the Energy Management Instructions 420 may include instructions for looking up historical temperature and other related data of powered-off servers and instructions for applying a machine learning technique to predict future temperatures of backup servers. Figure 5 shows a computer-readable medium (CRM) that, according to one aspect of the present disclosure, facilitates energy management in a data center. The CRM 500 can be a non-transitory computer-readable medium or device that stores instructions which, when executed by a computer or processing resource, cause the computer or processing resource to execute a procedure. As used herein, a “computer-readable storage medium” can be any electronic, magnetic, optical, or other physical storage device that contains or stores information such as executable instructions, data, and the like. For example, any computer-readable storage medium described herein can be RAM, EEPROM, volatile memory, non-volatile memory, flash memory, a storage drive (e.g., an HDD, an SSD), any type of storage disk (e.g., a compact disc, a DVD, etc.).) or the like, or a combination thereof. Furthermore, any computer-readable storage medium described herein may be non-transient. CRM 500 can store instructions 510 to monitor the performance of a plurality of servers running an application in a data center, as described above with reference to operation 302 shown in Fig. 3; instructions 520 to identify one or more high-temperature servers among the plurality of servers based on the monitored performance, as described above with reference to operation 304 shown in Fig. 3; instructions 530 to identify one or more replacement server candidates, as described above with reference to operation 306 shown in Fig. 3; and instructions 540 to replace a high-temperature server with a selected replacement server candidate while the application is running, in response to the detection that a trigger condition is met by the high-temperature server, as described above with reference to operation 304 shown in Fig. 3.3 described in the process 308 shown; and instructions 550 for putting the high-temperature server into a power-saving mode, as described above in relation to the process 310 shown in Fig. 3. CRM 500 can contain more instructions than those shown in Fig. 5. For example, CRM 500 can contain instructions for looking up historical temperature and other related data from powered-off servers, and instructions for applying a machine learning technique to predict future temperatures of backup servers. In general, aspects of this disclosure offer a power management system in a data center that can reduce server energy consumption without interrupting running applications. A dedicated management server can implement a power management system that continuously monitors the performance of servers running an application in a data center to identify a number of high-temperature servers and a number of replacement server candidates. The power management system can also rank the replacement server candidates based on a variety of factors (e.g., distance to a cooling unit, temperature data, or other related data). If a high-temperature server meets a trigger condition, the power management system can automatically replace the high-temperature server with the highest-ranked replacement server candidate without interrupting the running application. The disclosure includes examples of the use of machine learning techniques for selecting and / or ranking replacement servers. In practice, other types of artificial intelligence (AI) techniques may also be implemented. As used here, the term "machine learning" can refer to any of many AI techniques where the control and automation software layers use machine learning, autonomous agents, or other AI techniques to optimize data center temperatures without direct human intervention. One aspect of the present disclosure relates to a system and method for energy management in a data center. During operation, the energy management system can monitor the power consumption of a multitude of servers running an application in the data center, identify one or more high-temperature servers among the multitude based on the monitored power consumption, and identify one or more replacement server candidates within the data center. In response to the determination that a trigger condition has been met by a high-temperature server, the energy management system can replace the high-temperature server with a selected replacement server by migrating virtualized resources from the high-temperature server to the selected replacement server during application execution and placing the high-temperature server into a low-power mode. In one variation of this aspect, the trigger condition can include one or more of the following elements: a temperature associated with a hardware component within the high-temperature server that exceeds a predetermined threshold; a temperature difference between components within the high-temperature server that exceeds a predetermined threshold; a difference between one or more physical parameters between servers within a virtual server system that includes the high-temperature server that exceeds a predetermined threshold; or an error rate associated with the high-temperature server that exceeds a predetermined threshold. In one variation of this aspect, performance monitoring may include one or more of the following: querying a Baseboard Management Controller (BMC) on each server to actively collect temperature and / or other related data; running an agent to passively collect temperature and / or other related data from each server; or implementing an observation tool. In one variation of this aspect, the potential replacement servers could include switched-off servers, servers in idle mode, or servers with lower utilization. In another variant, the identification of one or more candidates for replacement servers may involve looking up historical temperature and / or other related data associated with the switched-off servers. In one variation of this approach, the energy management system can rank the identified candidate replacement servers and select the highest-ranked candidate to replace the high-temperature server. The ranking of the identified candidate replacement servers can be based on one or more of the following factors: the distance between each candidate replacement server and a cooling infrastructure within the data center; and a current, historical, or projected temperature and / or other related data associated with that candidate replacement server. In another variant, the energy management system can apply a machine learning technique to predict the future temperature and / or other related data in connection with the respective replacement server candidate. One aspect of the present disclosure relates to a computer system that may include a processing resource and a non-transitory, machine-readable storage medium containing instructions that can be executed by the processing resource to: monitor the performance of a plurality of servers on which an application is running in a data center; identify one or more high-temperature servers among the plurality of servers based on the monitored performance; identify one or more replacement server candidates within the data center; and, in response to the finding that a trigger condition has been met by a high-temperature server, replace the high-temperature server with a selected replacement server by migrating virtualized resources from the high-temperature server to the selected replacement server during the execution of the application.and to put the server into energy-saving mode due to high temperature. One aspect of the present disclosure relates to a non-transitory, computer-readable storage medium that stores instructions to: monitor the performance of a plurality of servers on which an application is running in a data center; identify one or more high-temperature servers among the plurality of servers based on the monitored performance; identify one or more replacement server candidates within the data center; in response to the finding that a trigger condition is met by a high-temperature server, replace the high-temperature server with a selected replacement server by migrating virtualized resources from the high-temperature server to the selected replacement server during application execution; and place the high-temperature server into a power-saving mode. The procedures and processes described in the detailed description can be implemented as code and / or data, which can be stored on a computer-readable storage medium as described above. When a computer system reads and executes the code and / or data stored on the computer-readable storage medium, the computer system executes the procedures and processes that are implemented as data structures and code and stored on the computer-readable storage medium. The procedures and processes described above can be contained in hardware modules or devices. These hardware modules or devices can include, among other things, application-specific integrated circuits (ASIC chips), field-programmable gate arrays (FPGAs), dedicated or shared processors that execute a specific software module or code at a given time, and other programmable logic devices currently known or subsequently developed. When the hardware modules or devices are activated, they execute the procedures and processes they contain. The foregoing description is presented to enable a person skilled in the art to create and use the aspects and examples, and is provided in connection with a particular application and its requirements. Various modifications of the disclosed aspects will be readily apparent to the person skilled in the art, and the general principles defined herein can be applied to other aspects and applications without departing from the spirit and scope of the present disclosure. Thus, the aspects described herein are not limited to those shown, but should be allowed the broadest possible scope consistent with the principles and features disclosed herein. Furthermore, the foregoing descriptions of the aspects serve only for illustration and description. They do not claim to be exhaustive and do not limit the aspects described herein to the disclosed forms. Accordingly, many modifications and variations will be obvious to those skilled in the art in this field. Moreover, the foregoing disclosure is not intended to limit the aspects described herein. The scope of the aspects described herein is defined by the attached claims.

Claims

A computer-implemented procedure comprising: monitoring the performance of a multitude of servers running an application in a data center; identifying one or more high-temperature servers among the multitude based on the monitored performance; identifying one or more replacement server candidates within the data center; in response to the finding that a trigger condition has been met by a high-temperature server, replacing the high-temperature server with a selected replacement server candidate by migrating virtualized resources from the high-temperature server to the selected replacement server candidate while the application is running; and placing the high-temperature server into a low-power mode. The method of claim 1, wherein the triggering condition comprises one or more of the following conditions: a temperature associated with a hardware component within the high-temperature server that exceeds a predetermined threshold; a temperature difference between components within the high-temperature server that exceeds a predetermined threshold; a difference in one or more physical parameters between servers within a virtual server system that includes the high-temperature server that exceeds a predetermined threshold; or an error rate associated with the high-temperature server that exceeds a predetermined threshold. The method of claim 1, wherein the monitoring of the performance comprises: querying a Baseboard Management Controller (BMC) on each server to actively acquire temperature and / or other related data; executing an agent to passively acquire the temperature and / or other related data from each server; or executing a monitoring tool. The method of claim 1, wherein the suitable replacement servers comprise switched-off servers, servers in sleep mode or servers with lower utilization. The method of claim 4, wherein the identification of one or more replacement server candidates comprises looking up historical temperature and / or other related data associated with potential replacement server candidates. The method of claim 1, further comprising classifying the identified candidate replacement servers and selecting a candidate replacement server with the highest classification to replace the high-temperature server, wherein the classification of the identified candidate replacement servers is based on one or more of the following factors: a distance between a respective replacement server candidate and a cooling infrastructure within the data center; and a current, historical, or future temperature and / or other related data associated with the respective replacement server candidate. The method of claim 6, further comprising the application of a machine learning technique to predict the future temperature and / or other related data in connection with the respective replacement server candidate. A computer system comprising: a processing resource; and a non-transitory, machine-readable storage medium comprising instructions that can be executed by the processing resource to: monitor the performance of a plurality of servers on which an application is running in a data center; identify one or more high-temperature servers among the plurality of servers based on the monitored performance; identify one or more replacement server candidates within the data center; in response to the finding that a trigger condition has been met by a high-temperature server, replace the high-temperature server with a selected replacement server candidate by migrating virtualized resources from the high-temperature server to the selected replacement server candidate during application execution;and putting the server into a power-saving mode when it is experiencing high temperatures. Computer system according to claim 8, wherein the triggering condition comprises one or more of the following conditions: a temperature associated with a hardware component within the high-temperature server that exceeds a predetermined threshold; a temperature difference between components within the high-temperature server that exceeds a predetermined threshold; a difference in one or more physical parameters between servers within a virtual server system that includes the high-temperature server that exceeds a predetermined threshold; or an error rate associated with the high-temperature server that exceeds a predetermined threshold. Computer system according to claim 8, wherein the monitoring of the performance comprises one or more of the following steps: querying a Baseboard Management Controller (BMC) on each server to actively collect temperature and / or other related data; executing an agent to passively collect the temperature and / or other related data from each server; or executing a monitoring tool. Computer system according to claim 8, wherein the suitable replacement servers comprise switched-off servers, servers in sleep mode or servers with lower utilization. Computer system according to claim 11, wherein identifying one or more candidate replacement servers comprises looking up historical temperature and / or other related data associated with potential candidate replacement servers. Computer system according to claim 8, wherein the processing resource further serves to evaluate the identified replacement server candidates and to select a replacement server candidate with the highest rating to replace the high-temperature server, wherein the evaluation of the identified replacement server candidates is based on one or more of the following factors: a distance between a respective replacement server candidate and a cooling infrastructure within the data center; and a current, historical, or future temperature associated with the respective replacement server candidate. Computer system according to claim 13, wherein the processing resource further applies a machine learning technique to predict the future temperature in association with the respective replacement server candidate. A non-transitory, machine-readable storage medium that stores instructions to: monitor the performance associated with a multitude of servers running an application in a data center; identify one or more high-temperature servers among the multitude of servers based on the monitored performance; identify one or more replacement server candidates within the data center; in response to the detection that a trigger condition has been met by a high-temperature server, replace the high-temperature server with a selected replacement server by migrating virtualized resources from the high-temperature server to the selected replacement server while the application is running; and place the high-temperature server into a low-power mode. Non-transient, computer-readable storage medium according to claim 15, wherein the triggering condition comprises one or more of the following conditions: a temperature associated with a hardware component within the high-temperature server that exceeds a predetermined threshold; a temperature difference between components within the high-temperature server that exceeds a predetermined threshold; a difference in one or more physical parameters between servers within a virtual server system that includes the high-temperature server that exceeds a predetermined threshold; or an error rate associated with the high-temperature server that exceeds a predetermined threshold. Non-transient, computer-readable storage medium according to claim 15, wherein monitoring the performance comprises one or more of the following steps: querying a baseboard management controller (BMC) on each server to actively collect temperature and / or other related data; executing an agent to passively collect the temperature and / or other related data from each server; or executing a monitoring tool. Non-transitory, computer-readable storage medium according to claim 15, wherein the potential replacement servers comprise switched-off servers or servers in sleep mode, and wherein identifying one or more potential replacement servers comprises looking up historical temperature and / or other related data associated with potential potential replacement servers. Non-transitory computer-readable storage medium according to claim 15, wherein the instructions further serve to evaluate the identified candidate replacement servers and to select a candidate replacement server with the highest rating to replace the high-temperature server, wherein the evaluation of the identified candidate replacement servers is based on one or more of the following factors: a distance between a respective replacement server candidate and a cooling infrastructure within the data center; and a current, historical, or future temperature and / or other related data associated with the respective replacement server candidate. Non-transitory, computer-readable storage medium according to claim 19, wherein the instructions further consist of applying a machine learning technique to predict the future temperature and / or other related data in connection with the respective replacement server candidate.