Patent Description:
Power management is an important function for an electronic device (e.g., a personal computer, a notebook computer, or a server) provided with a processor (e.g., a central processing unit (CPU), or a graphics processing unit). Especially, for a data center provided with multiple servers, power management can save considerable expenses. Each processor is designed and defined with a thermal design power (TDP) and an upper limit threshold for working frequency. With the CPU taken as an example, in order to perform an automatic power management for lowering power consumption, the CPU can adjust working frequency and working voltage of the CPU by using a dynamic voltage scaling (DVS) according to its own workload during operation of the electronic device.

In the existing power management, power consumption can usually be lowered by reducing working frequency and/or power only when workload of the CPU is relatively low. When workload of the CPU is relatively high, because of a power upper limit and a working frequency upper limit of the CPU, the CPU can only operate at full speed according to these upper limits without having other paths to solve the problem of high workload. In other words, in certain cases, it may be necessary to have the server increase its workload within a short period of time. However, in the unusual cases, the current solution can only purchase additional servers to balance the workload instead of improving efficiency by temporarily increase the upper limits of the existing servers.

<CIT> discloses a method of managing system resources managing resource utilization for a system board that includes a plurality of processors, memory associated with each of the processors, a plurality of voltage regulators configured to regulate voltages applied to the processors and memories, and a board manager configured to manage resources of the system board includes communicating operating condition information from the board manager to controllers of the voltage regulators independent of the processors also communicating with the controllers, the operating condition information received by each controller indicating a computing load for the processor regulated by the voltage regulator controlled by that controller. The method further includes controlling the voltage regulators based on the operating condition information, so as to set the power limit of the voltage regulators in accordance with the processing load indicated by the operating condition information communicated by the board manager to the controllers for each processor.

It is an object of the present invention to provide a power management system and a power management method enabling to increase or limit overall power consumption for servers in real time.

This problem is solved by a power management system as claimed by claim <NUM> and by a power management method as claimed by claim <NUM>. Further advantageous embodiments are the subject-matter of the dependent claims.

The power management system and power management method according to the present invention are capable of simultaneously setting and adjusting actual powers of the processors in multiple running servers, so as to increase or limit overall power consumption for the servers in real time.

Based on the above, according to the embodiments of the disclosure, the host manager in the power management system uses the voltage regulator controller in each server to adjust the actual power of each processor so as to manage the power of the processor. Accordingly, the power of the processor may moderately go over the thermal design power or the power of the processor may be reduced to lower overall power consumption. For example, the actual power of the processor may be reduced by the voltage regulator controller using a power-over reporting, or the actual power of the processor may be increased by the voltage regulator controller using a power-under reporting. In this way, the host manager in the power management system can simultaneously set and adjust the actual powers of the processors in multiple running servers, so as to increase or limit overall power consumption for the servers in real time. In addition, the servers that are configured and already running may achieve the power management of this embodiment without going through a power cycle (e.g., restarting), so as to save processing time.

To make the above features and advantages of the disclosure more comprehensible, several embodiments accompanied with drawings are described in detail as follows.

Reference will now be made in detail to the preferred embodiments of the disclosure, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the description to refer to the same or like parts.

<FIG> is a block diagram of a power management system <NUM> according to an embodiment of the disclosure. The power management system <NUM> includes a host manager <NUM> and at least one server (here, the servers <NUM>-<NUM> and <NUM>-<NUM> are taken as an example). The power management system <NUM> of the embodiment is adapted for a data center provided with a large number of servers. The host manager <NUM> may be a particular host manager for managing the servers, or may be one of the servers.

An internal structure of the server <NUM>-<NUM> is described as follows. The server <NUM>-<NUM> mainly includes at least one processor (e.g., processors <NUM>-<NUM> and <NUM>-<NUM>), a voltage regulator (e.g., a voltage regulator (<NUM>-<NUM>, <NUM>-<NUM>)) corresponding to each processor, and a voltage regulator controller <NUM>-<NUM>. The processor in this embodiment takes a central processing unit (CPU) as an example. Those who apply the embodiment may adjust the type of the processor based on actual requirements. For example, a graphics processing unit (GPU) or other type of microprocessor may be used as the processor described in the embodiment of the disclosure. The voltage regulators <NUM>-<NUM> and <NUM>-<NUM> are coupled to the corresponding one of the processors <NUM>-<NUM> and <NUM>-<NUM>, respectively. Each of the voltage regulators <NUM>-<NUM> and <NUM>-<NUM> provides an actual power to the corresponding one of the processors <NUM>-<NUM> and <NUM>-<NUM>. The voltage regulator controller <NUM>-<NUM> is coupled to each of the voltage regulators (e.g., the voltage regulators <NUM>-<NUM> and <NUM>-<NUM> located in the server <NUM>-<NUM>), and configured to adjust the actual power provided to the processor (<NUM>-<NUM>, <NUM>-<NUM>) by the voltage regulator (<NUM>-<NUM>, <NUM>-<NUM>).

The server <NUM>-<NUM> further includes a baseboard management controller <NUM>-<NUM>. The baseboard management controller <NUM>-<NUM> in the server <NUM>-<NUM> can communicate with the host manager <NUM> through a network or other methods. The server <NUM>-<NUM> also includes a sensor <NUM>-<NUM> (in various types), which is coupled to the baseboard management controller <NUM>-<NUM>. The sensor <NUM>-<NUM> is configured to measure a plurality of parameters in the server <NUM>-<NUM> (e.g., temperature, power consumption, working voltage and working current of each processor). The baseboard management controller <NUM>-<NUM> transmits the parameters measured by the sensor <NUM>-<NUM> to the host manager <NUM> for allowing the host manager <NUM> to monitor the server <NUM>-<NUM>.

The server <NUM>-<NUM> has an internal structure similar to that of the server <NUM>-<NUM>. That is to say, the server <NUM>-<NUM> includes a processor (<NUM>-<NUM>, <NUM>-<NUM>), a voltage regulator (<NUM>-<NUM>, <NUM>-<NUM>), a voltage regulator controller <NUM>-<NUM>, a baseboard management controller <NUM>-<NUM> and a sensor <NUM>-<NUM>.

In the embodiments of the disclosure, the number of the processors, the number of the corresponding voltage regulators and the number of the voltage regulator controller in one single server are not particular limited. For example, those who apply the embodiment may dispose only one processor and one corresponding voltage regulator in the server based on actual requirements, and may also dispose two, four or even sixteen processors with the corresponding number of the voltage regulators in the server. The number of the voltage regulator controllers may also be correspondingly adjusted according to the number of the voltage regulators that can be controlled at the same time.

In general, the voltage regulator controller <NUM>-<NUM> located in the server <NUM>-<NUM> aims to allow each processor (<NUM>-<NUM>, <NUM>-<NUM>) to obtain a suitable power. Preferably, the value of the suitable power does not go over a rated power upper limit (i.e., the thermal design power (TDP)) of each processor (<NUM>-<NUM>, <NUM>-<NUM>) which is set as the factory setting. Here, it is assumed that the rated power upper limit of each processor (<NUM>-<NUM>, <NUM>-<NUM>) is 100W. However, due to different circumstances (materials, power supply loads, etc.) of the voltage regulator (<NUM>-<NUM>, <NUM>-<NUM>), the voltage regulator (<NUM>-<NUM>, <NUM>-<NUM>) may output a power higher than 100W (e.g., 105W) to the processor (<NUM>-<NUM>, <NUM>-<NUM>). In that case, the voltage regulator controller <NUM>-<NUM> needs to adjust and reduce the output of the voltage regulator (<NUM>-<NUM>, <NUM>-<NUM>) to be 100W in order to meet the need of the processor (<NUM>-<NUM>, <NUM>-<NUM>). The processor (<NUM>-<NUM>, <NUM>-<NUM>) performs its own power management by self adjusting working frequency and power consumption according to its own workload. However, the processor (<NUM>-<NUM>, <NUM>-<NUM>) cannot increase its own power consumption limit.

In view of the above, the voltage regulator controller <NUM>-<NUM> can actually increase or decrease an output power of the voltage regulator (<NUM>-<NUM>, <NUM>-<NUM>), moderately. In other words, the actual power obtained by each processor may not be equal to a rated power consumption of the processor set as the factory setting. Therefore, in the embodiments of disclosure, "the voltage regulator controller <NUM>-<NUM> capable of adjusting the output power of the voltage regulator (<NUM>-<NUM>, <NUM>-<NUM>)" is used as a power management performed by the power management system <NUM> for each of the processors (e.g., the processors <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM> and <NUM>-<NUM>). In this way, although each processor has its own rated power upper limit, the embodiment can moderately increase the actual power of each processor to be higher than the rated power upper limit. Accordingly, higher work efficiency may be temporarily obtained by the processor to cope with temporary need of the server for higher workload so the possibility of server overload can be reduced by high power consumption (e.g., when the game maker has expected that a lot of people would log on to a new online game or a large number of users would log on to participate an event in a specific period; when it is expected that workload of the server would be increased when an online ordering for popular tickets is made open to the public).

In this embodiment, a maximum value of the actual power may be <NUM>% of the rated power upper limit of each processor. In other words, this embodiment can further increase the rated power upper limit by <NUM>% for moderately adjusting the actual power of each processor and can set a recovery time in a control condition for adjusting the actual power of the processor back to the original rated power upper limit, so as to prevent the processor from being damaged due to the actual power being overly high and an operating time being overly long. In contrast, the embodiment is not intended to limit a range in which the actual power of each processor is reduced because the processor is less likely damaged when the actual power of the processor is lower than the upper rated power upper limit.

On the other hand, the embodiment can also reduce the actual power of each processor to be lower than the rated power upper limit, so as to lower power consumption (e.g., power consumption of the server may be limited during high electricity fee hours; power consumption of the server may be temporarily limited to extend a usage time of a backup power when the backup power is used as a power source in response to temporary power outage or short-term power shortage on a main power source).

Therefore, the host manager <NUM> of the embodiment can determine whether it is required to set the server to a performance mode (i.e., for increasing the actual power of the processor to be higher than the rated power upper limit) or a power limited mode (i.e., for reducing the actual power of the processor to be lower than the rated power upper limit) according to a plurality of control conditions set by the user. The control conditions and changes on the server corresponding to the control conditions may be set by the user or a manager based on actual requirements. Accordingly, when a special circumstance has occurred (e.g., when it is determined that a control condition has occurred or triggered), the manager can directly use server change control information corresponding to the occurred or triggered control condition predefined by the manager to adjust the servers (<NUM>-<NUM>, <NUM>-<NUM>). In detail, the manager may set the control conditions (e.g., a condition <NUM>, a condition <NUM> and a condition <NUM>) for the host manager <NUM> and the predefined server change control information to be performed when the control conditions have occurred (a change <NUM>, a change <NUM> and a change <NUM>). When one of the condition <NUM> to the condition <NUM> (e.g., the condition <NUM>) has occurred, the host manager <NUM> may notify the manager so the manager can have the ability and the right to select one of the changes in the predefined server change control information (e.g., the change <NUM>, the change <NUM>, and the change <NUM>) to make the servers (<NUM>-<NUM>, <NUM>-<NUM>) conduct the corresponding change. The host manager <NUM> may also directly and immediately select the corresponding one of the change <NUM>, the change <NUM> and the change <NUM> to control the server (<NUM>-<NUM>, <NUM>-<NUM>) when one of the condition <NUM>, the condition <NUM> and the condition <NUM> has occurred. On the other hand, the host manager <NUM> may also obtain the status (e.g., workload, power supply status) of each server (<NUM>-<NUM>, <NUM>-<NUM>) according to the parameters corresponding to the server (<NUM>-<NUM>, <NUM>-<NUM>) as transmitted by the baseboard management controller (<NUM>-<NUM>, <NUM>-<NUM>). In this way, whether the server is set to be in the performance mode or the power limited mode may be determined so the host manager <NUM> can perform the automatic power management on the server (<NUM>-<NUM>, <NUM>-<NUM>).

For example, the user can preset a plurality of first control conditions in the host manager <NUM> so the host manager <NUM> can set the server (<NUM>-<NUM>, <NUM>-<NUM>) to be in the performance mode when determining that one of the first control conditions has occurred or triggered. The user may also preset a plurality of second control conditions in the host manager <NUM> so the host manager <NUM> can set the server (<NUM>-<NUM>, <NUM>-<NUM>) to be in the power limited mode when determining that one of the second control conditions has occurred or triggered. Moreover, when the host manager <NUM> determines that the triggered first control condition or the triggered second control condition is completed or canceled, the host manager <NUM> can also control the voltage regulator controller (<NUM>-<NUM>, <NUM>-<NUM>) to make each voltage regulator (<NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>) provide the rated power to each processor (<NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>). In addition, the configured and running server (<NUM>-<NUM>, <NUM>-<NUM>) can achieve the power management of the embodiment without going through the power cycle (e.g., restarting), so as to save the processing time.

<FIG> is a flowchart of a power management method according to an embodiment of the disclosure. The power management method is adapted for the host manager <NUM> of <FIG>, and the host manager <NUM> is located in the power management system <NUM> that includes the server (<NUM>-<NUM>, <NUM>-<NUM>). Referring to <FIG> and <FIG> together, in step S210, the host manager <NUM> uses a sensor (<NUM>-<NUM>, <NUM>-<NUM>) on each server (<NUM>-<NUM>, <NUM>-<NUM>) to measure a plurality of parameters in the server (<NUM>-<NUM>, <NUM>-<NUM>) for monitoring the server (<NUM>-<NUM>, <NUM>-<NUM>).

In step S220, the host manager <NUM> determines whether a plurality of first control conditions and a plurality of second control conditions are occurred or triggered. In view of the description above, it can be known that, the user or a maintenance staff can preset the first control conditions and the second control conditions in the host manager <NUM>.

When one of the first control conditions and the second control conditions has occurred or triggered, the process moves from step S220 to step S230, in which the host manager <NUM> controls the corresponding voltage regulator controller (<NUM>-<NUM>, <NUM>-<NUM>) in the server (<NUM>-<NUM>, <NUM>-<NUM>), and uses the voltage regulator controller (<NUM>-<NUM>, <NUM>-<NUM>) to adjust the actual power provided by the voltage regulator (<NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>) for managing a power of the processor (<NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>). In detail, the host manager <NUM> can know that the server is in the performance mode or the power limited mode according to a type of the control condition (the first control condition or the second control condition), and may transmit a control command of the corresponding mode to the baseboard management controller (<NUM>-<NUM>, <NUM>-<NUM>). The baseboard management controller (<NUM>-<NUM>, <NUM>-<NUM>) adjusts the actual power provided by the voltage regulator respectively (<NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>) according to the control command.

Step S230 may be divided into detailed steps S232, S234 and S236, which are described one by one as follows. In step S232, the host manager <NUM> uses a plurality of preset first control conditions and a plurality of second control conditions to determine whether the server (<NUM>-<NUM>, <NUM>-<NUM>) is in the performance mode or the power limited mode. Here, it is assumed that, the server <NUM>-<NUM> is determined to be in the performance mode, and the server <NUM>-<NUM> is determined to be in the power limited mode.

When the host manager <NUM> determines that the server <NUM>-<NUM> is in the performance mode, the process moves from step S232 to step S234, in which the host manager <NUM> controls the voltage regulator controller <NUM>-<NUM> to make the voltage regulator (<NUM>-<NUM>, <NUM>-<NUM>) provide the actual power (e.g., 135W) higher than a rated power upper limit (e.g., 120W) of the corresponding processor (<NUM>-<NUM>, <NUM>-<NUM>) to the processor (<NUM>-<NUM>, <NUM>-<NUM>) by using a power-under reporting. Accordingly, working frequency of the processor (<NUM>-<NUM>, <NUM>-<NUM>) may be higher than the original preset performance. Although providing the actual power higher than the rated power upper limit to the processors (<NUM>-<NUM>, <NUM>-<NUM>) would increase power consumption, at the same time the processors (<NUM>-<NUM>, <NUM>-<NUM>) can have higher performance without adding additional backup servers in certain cases.

On the other hand, when the host manager <NUM> determines that the server <NUM>-<NUM> is in the power limited mode, the process moves from step S232 to step S236, in which the host manager <NUM> controls the voltage regulator controller <NUM>-<NUM> to make the voltage regulator (<NUM>-<NUM>, <NUM>-<NUM>) provide the actual power (e.g., <NUM>10W) lower than the rated power upper limit (e.g., 120W) of the corresponding processor (<NUM>-<NUM>, <NUM>-<NUM>) to the processor (<NUM>-<NUM>, <NUM>-<NUM>) by using a power-over reporting. In this way, the effect of reducing power consumption can be achieved. In other words, the host manager <NUM> can directly lower overall power consumption by directly reducing the actual power of the processor (<NUM>-<NUM>, <NUM>-<NUM>) of the server <NUM>-<NUM> through the voltage regulator controller <NUM>-<NUM> such that overall power consumption of the server <NUM>-<NUM> may be directly lowered.

In step S240, when the server (<NUM>-<NUM>, <NUM>-<NUM>) is in the performance mode or the power limited mode, the host manager <NUM> determines whether the triggered first control condition or the triggered second control condition is completed or canceled. When the triggered first control condition or the triggered second control condition is not completed or canceled, the host manager <NUM> continuously maintains the server (<NUM>-<NUM>, <NUM>-<NUM>) in the performance mode or the power limited mode, and continuously conducts the determination by step S240. In contrast, when the triggered first control condition or the triggered second control condition is completed or canceled, the process moves from step S240 to step S250, in which the host manager <NUM> controls the voltage regulator controller (<NUM>-<NUM>, <NUM>-<NUM>) to make the corresponding voltage regulator (<NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>) provide the rated power upper limit (i.e., 120W) to the processor (<NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>).

<FIG> are schematic diagrams showing total power and working frequency when the server <NUM>-<NUM> is in the performance mode and when the server <NUM>-<NUM> is in the power limited mode, respectively. A horizontal axis of <FIG> represents time, and a vertical axis of <FIG> represents power. As shown by <FIG>, a line <NUM> represents power consumption self measured by the processor <NUM>-<NUM> in the server <NUM>-<NUM> and the line <NUM> also represents power consumption self measured by the processor <NUM>-<NUM> in the server <NUM>-<NUM>. In view of <FIG>, it can be known that the line <NUM> is at 125W. Here, by measuring the total power from outside the server <NUM>-<NUM> and the server <NUM>-<NUM>, it can be known that, a line <NUM> is a total power consumption of the server <NUM>-<NUM> in the performance mode and a line <NUM> is a total power consumption of the server <NUM>-<NUM> in the power limited mode. As can be easily seen from <FIG>, the total power consumption of the server <NUM>-<NUM> in the performance mode is constantly greater than the total power consumption of the server <NUM>-<NUM> in the power limited mode.

A horizontal axis of <FIG> represents time, and a vertical axis of <FIG> represents working frequency of the processor. As shown by <FIG>, a line <NUM> represents working frequency of the processor <NUM>-<NUM> of the server <NUM>-<NUM> in the performance mode; a line <NUM> represents working frequency of the processor <NUM>-<NUM> of the server <NUM>-<NUM> in the performance mode; a line <NUM> represents working frequency of the processor <NUM>-<NUM> of the server <NUM>-<NUM> in the power limited mode; and a line <NUM> represents working frequency of the processor <NUM>-<NUM> of the server <NUM>-<NUM> in the power limited mode. In view of both <FIG>, it can be known that, while having higher power consumption, the processors <NUM>-<NUM> and <NUM>-<NUM> of the server <NUM>-<NUM> can provide higher working frequency for handling higher workload; and while having lower power consumption, the processors <NUM>-<NUM> and <NUM>-<NUM> of the server <NUM>-<NUM> can provide lower working frequency for saving power.

Claim 1:
A power management system (<NUM>), comprising:
a host manager (<NUM>); and
a server (<NUM>-<NUM>, <NUM>-<NUM>), communicating with the host manager (<NUM>),
wherein the server (<NUM>-<NUM>, <NUM>-<NUM>) comprises:
a processor (<NUM>-<NUM>) having a rated power upper limit, which is the actual power consumption that the processor in a normal mode is allowed to maximally attain to avoid overheating and thereby being damaged, said processor being configured such that it can be adjusted for a time period equal or shorter than a certain time period from said normal mode into a performance mode, in which the actual power consumption the processor is allowed to attain is higher than the rated power upper limit such that, when maintained longer than the certain time period, overheating due to being operated in the performance mode would lead to damage of the processor;
a voltage regulator (<NUM>-<NUM>, <NUM>-<NUM>), coupled to the processor (<NUM>-<NUM>) to provide an actual power to the corresponding processor (<NUM>-<NUM>); and
a voltage regulator controller (<NUM>-<NUM>, <NUM>-<NUM>), coupled to the voltage regulator (<NUM>-<NUM>, <NUM>-<NUM>), and configured to adjust the actual power provided by the voltage regulator (<NUM>-<NUM>, <NUM>-<NUM>), wherein
the host manager (<NUM>) is configured to control the voltage regulator controller (<NUM>-<NUM>, <NUM>-<NUM>) in the server (<NUM>-<NUM>, <NUM>-<NUM>) and is configured to use the voltage regulator controller (<NUM>-<NUM>, <NUM>-<NUM>) to adjust the actual power provided by the voltage regulator (<NUM>-<NUM>, <NUM>-<NUM>) for managing a power of the processor (<NUM>-<NUM>);
the host manager (<NUM>) is configured to preset a plurality of first control conditions for determining whether the server (<NUM>-<NUM>, <NUM>-<NUM>) is about to enter said performance mode, and
in response to determining, by the host manager (<NUM>), that the server (<NUM>-<NUM>, <NUM>-<NUM>) is about to enter the performance mode, the host manager (<NUM>) controls the voltage regulator controller (<NUM>-<NUM>, <NUM>-<NUM>) to set the actual power of said processor (<NUM>-<NUM>) temporarily higher than the rated power upper limit of the corresponding processor by using a power under-reporting, for coping with a temporary increase in workload that necessitates an increased power, in order for the temporary workload to be executed efficiently.