Power saving control device, power saving control method, and power saving control program

The power-saving control device optimizes server settings by evaluating power and performance metrics to automatically select efficient power-saving configurations, addressing the need for manual expertise and ensuring consistent performance.

WO2025248596A1PCT designated stage Publication Date: 2025-12-04NT T INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/019420
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-27
Publication Date
2025-12-04

AI Technical Summary

Technical Problem

Existing server power-saving technologies require high computer skills and manual trial and error to achieve optimal power-saving settings that balance performance and consumption, lacking a universally optimal solution due to hardware and software dependency.

Method used

A power-saving control device that automatically selects optimal power-saving settings by measuring power consumption and performance metrics, evaluating combinations, and calculating an overall evaluation value to ensure required performance is met with minimal impact on service quality.

Benefits of technology

Automatically determines the best power-saving settings for servers without requiring advanced technical knowledge, ensuring efficient power usage while maintaining performance, and adaptively adjusting to changing conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024019420_04122025_PF_FP_ABST
    Figure JP2024019420_04122025_PF_FP_ABST
Patent Text Reader

Abstract

A power saving control device (1) is provided with: a storage unit (12) in which power saving setting information (100) indicating a combination of power saving settings and performance requirement information (200) indicating the required performance of a server and an application are stored; a setting change unit which sets each combination of power saving settings to a server (5); a metrics collection unit (120) which collects the power consumption and metrics of the server (5); and a power saving performance evaluation unit (130) which selects a combination of power saving settings to be set to the server (5) by performing comprehensive evaluation using power consumption and performance risks for each combination of the power saving settings.
Need to check novelty before this filing date? Find Prior Art

Description

Power saving control device, power saving control method, and power saving control program

[0001] The present invention relates to a power saving control device, a power saving control method, and a power saving control program that perform power saving settings on a server for the purpose of operating a server infrastructure such as a cloud server with low power consumption.

[0002] With the recent rise in environmental awareness among corporations and the impact of rising energy costs on business, reducing server power consumption has become an important issue for server operators, particularly those providing cloud computing services. In response to this trend, servers with typical configurations currently on the market are equipped with numerous power-saving features.

[0003] For example, many central processing units (CPUs), which are key components of servers, are equipped with a power-saving feature that adjusts power consumption based on usage, allowing users to enable or disable the feature at their discretion. For example, one CPU power-saving feature, CPU sleep, can take multiple stages known as C-states. The deeper the sleep, the less power consumed but the longer it takes to wake up. Furthermore, the CPU's operating frequency can take multiple stages known as P-states. The CPU hardware or the operating system (OS) has a control function that automatically selects the appropriate frequency depending on the load.

[0004] As an example of a control function, the CPUFreq subsystem included in the Linux kernel ("Linux" is a registered trademark) implements multiple P-state control functions called governors, each of which has tunable parameters (see Non-Patent Document 1). There are also functions that affect power consumption even though they are not primarily intended to reduce power consumption. For example, a function called Turbo Boost, which temporarily operates a specific CPU core under heavy load at a frequency higher than the rated operating frequency, is a means of increasing CPU processing efficiency, but also has the side effect of increasing power consumption.

[0005] Other power-saving features available on servers include ASPM (Active State Power Management), a power-saving feature for PCI Express connected devices, and LPM (Link Power Management), a power-saving feature for storage; these can also be enabled or disabled by the user.

[0006] Some operating systems and server products abstract power-saving settings and provide them to users. For example, Windows 11 ("Windows" is a registered trademark) defines several (e.g., three) sets of power-saving settings called power modes, allowing users to intuitively select a power-saving setting. Furthermore, some server firmware, such as the Basic Input Output System (BIOS) and Unified Extensible Firmware Interface (UEFI), provide abstracted power-saving modes similar to those in Windows 11.

[0007] RJ Wysocki, “CPU Performance Scaling,” The Linux Kernel documentation 6.2.0-rc8, Intel Corporation, 2017, [online], [Retrieved May 15, 2024], Internet <URL: https: / / www.kernel.org / doc / html / latest / admin-guide / pm / cpufreq.html>

[0008] The above-mentioned prior art is designed solely to facilitate user operation and is not optimized in terms of power saving and performance impact. For example, if three modes, namely, power saving mode, balanced mode, and performance-priority mode, are specified, it is expected that the three modes will be used in very rough ways, such as selecting the power saving mode in situations where power saving is of paramount importance, such as with a laptop computer, selecting the performance-priority mode when playing games that require high performance, and selecting the balanced mode in other cases. Server operators are required to comply with the service level objectives (SLOs) and service level agreements (SLAs) of their services. To achieve both power saving and performance, more detailed power saving settings tailored to the service application are required, rather than using such a rough setting menu.

[0009] Furthermore, server operators who are concerned about power saving are required to configure these numerous power saving functions appropriately, taking into account the performance impacts that can result as a side effect of the vast number of combinations available.However, since the effectiveness and side effects of each setting depend on the server hardware and the software being executed, there is no universally optimal solution, and arriving at the appropriate settings requires a high level of computer skill and manual trial and error.

[0010] The present invention was made in consideration of these points, and its objective is to automatically select optimal power saving settings for a server without requiring high levels of computer skill or manual trial and error.

[0011] The power saving control device of the present invention is a power saving control device that selects the optimal power saving setting for a server, and is characterized by comprising: a memory unit that stores power saving setting information indicating combinations of power saving settings that can be set for the server, and performance requirement information that indicates the required performance of the server and applications running on the server; a setting change unit that sets each combination of power saving settings for the server by referring to the power saving setting information; a metrics collection unit that collects, for each combination of power saving settings, the power consumption of the server and metrics that indicate the operating status of the server; and a power saving / performance evaluation unit that selects a combination of power saving settings to set for the server from among the combinations of power saving settings by performing a comprehensive evaluation for each combination of power saving settings using the collected power consumption, the performance indicated by the metrics, and the required performance indicated by the performance requirement information.

[0012] According to the present invention, it is possible to automatically select the optimum power saving settings for a server without requiring high levels of computer skill or manual trial and error.

[0013] FIG. 1 is a diagram showing the overall configuration of a power saving control system including a power saving control device according to the present embodiment. FIG. 2 is a diagram showing an example of the data configuration of power saving setting information according to the present embodiment. FIG. 3 is a diagram showing an example of the data configuration of performance requirement information according to the present embodiment. FIG. 4 is a diagram showing an example of the data configuration of evaluation information according to the present embodiment. FIG. 5 is a diagram showing an example of the data configuration of evaluation information according to the present embodiment. FIG. 6 is a flowchart showing the flow of processing executed by a power saving control device according to the present embodiment. FIG. 7 is a diagram showing an example in which priority information is added to power saving setting information according to the present embodiment. FIG. 8 is a diagram showing the overall configuration of a power saving control system including a power saving control device according to a modified example 2 of the present embodiment. FIG. 9 is a diagram showing the overall configuration of a power saving control system including a power saving control device according to a modified example 3 of the present embodiment. FIG. 10 is a flowchart showing the flow of processing executed by a power saving control device according to a modified example 3 of the present embodiment. FIG. 11 is a hardware configuration diagram showing an example of a computer that realizes the functions of the power saving control device according to the present embodiment.

[0014] Next, an embodiment of the present invention (hereinafter referred to as "the present embodiment") will be described.

[0015] The power-saving control device 1 (see FIG. 1 , described later) according to this embodiment sets a combination of power-saving settings for a server 5 ( FIG. 1 ) that is the target of power saving and that has a certain application installed, and measures power consumption and performance information. The power-saving control device 1 then calculates the power-saving effect and performance risk from the actual measurement values ​​and the required performance for that service, and calculates an evaluation value (overall evaluation value) for that combination of power-saving settings. The power-saving control device 1 calculates evaluation values ​​for all combinations of power-saving settings and selects the combination of power-saving settings with the highest overall evaluation (details will be described later).

[0016] 1 is a diagram showing the overall configuration of a power-saving control system 1000 including a power-saving control device 1 according to this embodiment. As shown in Fig. 1, the power-saving control system 1000 includes the power-saving control device 1 and a server 5 that is communicatively connected to the power-saving control device 1 and that is a target for power saving.

[0017] Server: A server 5 to be subjected to power saving has an application (App) 50 implemented on hardware (HW). The application 50 may be implemented in a virtual machine (VM) or a container. The server 5 also includes a metrics acquisition unit 51 and a power saving setting unit 52.

[0018] The metrics acquisition unit 51 acquires information (metrics) indicating power consumption and the operating status of the server 5 while the application 50 is running on the server 5. Information indicating the operating status of the server includes OS operation information and application operation information. The OS operation information is information that changes depending on the load state, such as the power consumption of the CPU and server, CPU usage rate, the number of interrupt processing occurrences, and the cache miss rate. The application operation information is, for example, the number of HTTP requests and response time in the web server, and the time required for specific processing. The metrics acquisition unit 51 acquires power consumption information, for example, from a power meter provided in the server 5 or an IPMI (Intelligent Platform Management Interface) (a standard interface for monitoring and managing the status of hardware) that has a power consumption measurement means. The metrics acquisition unit 51 transmits the information (metrics) indicating power consumption and the operating status of the server acquired while the application 50 is running to the power saving control device 1.

[0019] The power saving setting unit 52 sets the combination of power saving settings selected by a setting change unit 110 (described later) of the power saving control device 1 to its own server 5. The power saving setting unit 52 also acquires information on the setting that the power saving control device 1 has determined as the combination with the highest evaluation (overall evaluation) (satisfies the required performance and has the highest power saving effect) among the combinations of power saving settings. The power saving setting unit 52 then sets the combination of power saving settings to its own server 5.

[0020] <<Power-saving control device>> As will be described in detail later, the power-saving control device 1 is a device that causes the server 5 to try out various combinations of power-saving settings, calculates evaluation results consisting of power-saving effect (power-saving evaluation) and performance risk, selects the optimal combination of power-saving settings that has a high power-saving effect while satisfying the required performance, and sets the settings to the server 5.

[0021] As shown in FIG. 1, the power saving control device 1 according to this embodiment includes a control unit 10, an input / output unit 11, and a storage unit 12.

[0022] The input / output unit 11 inputs and outputs information to and from the server 5, etc. This input / output unit 11 is composed of a communication interface that transmits and receives information via a communication line, and an input / output interface that inputs and outputs information to and from an input device such as a keyboard and an output device such as a monitor, both of which are not shown.

[0023] The storage unit 12 is configured by a hard disk, a flash memory, a RAM (Random Access Memory), or the like.

[0024] The storage unit 12 stores power saving setting information 100 (see FIG. 2), performance requirement information 200 (see FIG. 3), and evaluation information 300 (see FIG. 4). The storage unit 12 also temporarily stores information necessary for processing by the control unit 10.

[0025] FIG. 2 is a diagram illustrating an example of the data structure of power-saving setting information 100 according to this embodiment. The power-saving setting information 100 is information that lists combinations of power-saving settings for the server 5. The power-saving setting information 100 arbitrarily specifies items that can be set for the server 5. For example, the first level stores information indicating whether each of the C-state, P-state, and ASPM functions is "enable" or "disable." Furthermore, the second level, which is a level below the first level, specifies a governor to be set for the P-state if, for example, the P-state is enabled. Furthermore, the third level, which is even lower, specifies parameters (parameters 1 and 2) to be used for the selected governor. Thus, the power-saving setting information 100 describes information on combinations that can be set as power-saving settings for the server 5. The power-saving setting information 100 is not limited to the table format shown in FIG. 2 and may be managed using a data structure such as JSON or YAML.

[0026] FIG. 3 is a diagram showing an example of the data structure of performance requirement information 200 according to this embodiment. The performance requirement information 200 is information describing performance requirements defined by application developers and system operators. For example, performance indicators include a required upper limit for CPU utilization, and for a web server, the required values ​​for the average HTTP response time (application average latency) and application 99th percentile latency. In FIG. 3, the performance requirements are CPU utilization of less than 80%, application average latency of less than 200 ms, application 99th percentile latency of less than 300 ms, and throughput of 200 rps (requests per second) or greater. Details of the evaluation information 300 (see FIG. 4) will be described later.

[0027] Returning to FIG. 1, the control unit 10 is responsible for all the processing executed by the power saving control device 1, and is configured to include a setting change unit 110, a metrics collection unit 120, a power saving / performance evaluation unit 130, and a power saving setting determination unit 140.

[0028] The setting change unit 110 refers to the power saving setting information ( FIG. 2 ), selects one of the untried (unevaluated) power saving setting combinations, and transmits the information on that power saving setting to the server 5. The setting change unit 110 tries the power saving setting combinations in ascending order of the descriptions in the power saving setting information in a table format as shown in FIG. 2 , or randomly. Note that, as will be described later, priorities may be set and the combinations may be tried in order of priority.

[0029] The metrics collection unit 120 collects information (metrics) indicating the operating status of the server 5, such as power consumption and CPU utilization rate, from the server 5 that is the target of power saving. The information (metrics) indicating the operating status includes OS operation information and application operation information, and the CPU utilization rate, average application latency, etc. are set as metrics to be collected in advance.

[0030] The power-saving / performance evaluation unit 130 acquires information (metrics) indicating power consumption and operating status for each combination of power-saving settings collected by the metrics collection unit 120. The power-saving / performance evaluation unit 130 then calculates the power-saving effect (power-saving evaluation) and performance risk for each combination of power-saving settings, and updates the evaluation information ( FIG. 4 ).

[0031] 4 is a diagram showing an example of the data configuration of evaluation information 300 according to this embodiment. As shown in FIG. 4, the evaluation information 300 stores information on "required performance fulfillment," "power saving performance evaluation," "performance risk," and "overall evaluation" in association with "settings" indicating a combination of power saving settings, "power" indicating power consumption obtained from the server 5, and "performance" indicated by metrics obtained from the server 5.

[0032] "Required performance satisfaction" indicates whether the metrics acquired from the server satisfy the performance requirements indicated in the performance requirement information 200 in FIG. 3. Here, "○" (satisfied) is registered if all of the collected metrics satisfy the performance requirements, and "×" (not satisfied) is registered if any of the metrics does not satisfy the performance requirements. When the power-saving setting combination in the first row of FIG. 4 is "C-state: enable, P-state: disable," the collected metrics information is "average latency: 100" and "99%ile latency: 200." This satisfies the performance requirements "application average latency less than 200 ms" and "application 99%ile latency less than 300 ms" indicated in the performance requirement information 200 in FIG. 3, and therefore "required performance satisfaction" is "○" (satisfied).

[0033] The "power saving performance rating" is a value for evaluating the power saving effect, and is calculated by normalizing the power consumption value. As an example, a value obtained by dividing the power consumption by the maximum power of the server 5 is used. In the example of FIG. 4, if the power saving setting combination is "C-state: enable, P-state: disable," and the power consumption is "110 W," the power saving performance rating will be "0.11" when the maximum power is "1000 W."

[0034] "Performance risk" is calculated based on the performance requirement information (Figure 3) and collected metrics, as the degree of discrepancy (Y) between the required performance and the actual collected performance values. For example, if the required upper limit for CPU utilization is 50% and the actual CPU utilization is 40%, the difference of 10% is the available capacity. Similarly, if the required 99th percentile latency for a web server is less than 100 ms and the actual latency is 60 ms, then 40 ms is the available capacity. The normalized value of these available capacities is safety, and its opposite is performance risk. A high risk value indicates low available capacity, which increases the likelihood of not meeting the required performance when the processing load fluctuates. As an example of calculating performance risk, let Y1 and Y2 be the values ​​obtained by dividing the available capacity by the maximum value for any server and normalizing them to a range of 0 to 1. Then, the following formula (1) is used to calculate performance risk. Performance risk = 1 - Y1 x Y2 Formula (1) In other words, the performance risk is calculated by calculating the normalized degree of dissociation (reserve capacity) for each required performance index, multiplying them together, and subtracting the resulting value from 1. In the performance risk according to this embodiment, the larger the reserve capacity, the smaller the performance risk value, indicating a high performance advantage.

[0035] In the example on the first line of Figure 4, if the deviation of the average latency is Y1 and the deviation of the 99th percentile latency is Y2, the results are as follows. Note that the maximum latency value is 1000 ms. Y1 = headroom (requested 200 ms - actual measurement 100 ms) / 1000 ms = 0.1 Y2 = headroom (requested 300 ms - actual measurement 200 ms) / 1000 ms = 0.1 This results in a performance risk of 1 - 0.1 x 0.1 = 0.99.

[0036] Furthermore, to further increase accuracy, the performance risk may be corrected based on the load on the server 5 at the time of the power-saving setting trial. The metrics collector 120 may acquire information on the load on the server 5 from the server 5, or the load information on the server 5 may be acquired from an external device. When application load, such as the number of HTTP requests on a web server, can be quantitatively observed, the reliability of the performance risk is lower when the value measured under lighter load conditions is considered. This is because even if the results satisfy the required performance when the power-saving setting is implemented and data measurement is performed, this does not necessarily mean that the required performance will be satisfied if the load increases due to changes in the usage of the application 50. In other words, performance evaluation results observed under low load conditions have uncertainty regarding subsequent load increases, while performance evaluation results observed under high load conditions have certainty for lower load conditions. Therefore, a normalized value obtained by dividing the load at the time of measurement by an arbitrarily determined maximum load is used as the load correction value. The performance risk in this case is expressed by the following formula (2): Performance risk = 1 - Y1 x Y2 x load correction value ... formula (2)

[0037] For example, if the degree of deviation in 99%ile latency is Y1 and the degree of deviation in CPU utilization is Y2, then the results are as follows: Y1 = headroom (request 300 ms - actual measurement 200 ms) / 1000 ms = 0.05 Y2 = headroom (request 50% - actual measurement 40%) / 100% = 0.1 Load correction value = load at measurement 100 rps / maximum load 1000 rps = 0.1 As a result, performance risk = 1 - 0.05 x 0.1 x 0.1 = 0.9995

[0038] By introducing a correction value to improve the accuracy of the performance risk in this way, it is possible to correct the performance risk so that the smaller the load during measurement, the higher the performance risk. Note that when the performance margins Y1 and Y2 are the same, the greater the load during the power saving setting trial, the lower the risk is determined to be.

[0039] The power saving / performance evaluation unit 130 performs an overall evaluation using the calculated power saving evaluation and performance risk, that is, calculates an overall evaluation value. For example, the power saving / performance evaluation unit 130 assumes that the power saving evaluation and performance risk are normalized to a range of 0 to 1, and calculates the sum of these as the overall evaluation value. The higher the power saving effect and the lower the performance risk, the smaller the overall evaluation value.

[0040] When the power saving / performance evaluation unit 130 updates the evaluation information 300 ( FIG. 4 ) for one combination of power saving settings, the setting change unit 110 performs evaluation processing for similar combinations of power saving settings by selecting other combinations of power saving settings for which trial (evaluation) of the power saving settings has not yet been completed and setting these combinations in the server 5. Then, the power saving / performance evaluation unit 130 updates the evaluation information 300 for all combinations indicated in the power saving setting information 100 ( FIG. 2 ).

[0041] When the power-saving setting determination unit 140 has finished updating the evaluation information 300 ( FIG. 4 ) for all combinations of power-saving settings, it determines the combination of power-saving settings that satisfies the required performance and has the highest overall evaluation, i.e., the smallest overall evaluation value, as the power-saving setting to be set for the server 5. Then, the power-saving setting determination unit 140 transmits information about the determined power-saving setting to the server 5. This allows the server 5 to execute the application 50 with the power-saving setting that provides the highest power-saving effect while satisfying the required performance.

[0042] If the required performance is no longer met after the optimal power-saving settings have been set due to a change in the network environment or the like, the power-saving setting determination unit 140 has a function of referring to the evaluation information 300 and changing the combination of power-saving settings to another combination that satisfies the required performance. At this time, the power-saving setting determination unit 140 may change the current combination of power-saving settings to a combination of power-saving settings that satisfies the required performance and has the highest overall evaluation. In this way, by immediately changing to a power-saving setting that satisfies the required performance, the power-saving control device 1 can minimize the impact on the quality of the service currently being operated.

[0043] For example, if a service is being operated with the power-saving setting combination shown on the third line of the evaluation information 300 shown in Fig. 5 and the average latency collected by the metrics collection unit 120 is 210 ms, which no longer satisfies the performance requirement of less than 200 ms (Fig. 3), the power-saving setting combination on the second line, which satisfies the required performance and has the highest overall evaluation (lowest overall evaluation value), is then changed. After that, the system waits for an arbitrary period of time to stabilize the service, and then resumes trying to change the settings to save power.

[0044] In this way, the power saving control device 1 can realize online optimization that executes a combination of power saving settings that has the highest power saving effect while satisfying the required performance while the service is being provided by the server 5.

[0045] <Processing of Power-Saving Control Device> Next, a description will be given of processing executed by the power-saving control device 1. Fig. 6 is a flowchart showing the flow of processing executed by the power-saving control device 1 according to this embodiment.

[0046] First, the setting change unit 110 of the power saving control device 1 refers to the power saving setting information ( FIG. 2 ) and selects one of the combinations of power saving settings that have not yet been tried (evaluated) (step S1). Then, the setting change unit 110 transmits information about the combination of power saving settings to the server 5, thereby setting the combination of power saving settings to the server 5.

[0047] Next, the metrics collection unit 120 of the power saving control device 1 collects information (metrics) indicating the operating status of the server 5, such as power consumption and CPU usage rate, from the server 5 targeted for power saving (step S2).

[0048] Next, the power saving / performance evaluation unit 130 of the power saving control device 1 acquires information (metrics) indicating the power consumption and operating status for each combination of power saving settings collected by the metrics collection unit 120. Then, the power saving / performance evaluation unit 130 updates the evaluation information 300 ( FIG. 4 ) for each combination of power saving settings (step S3).

[0049] Specifically, the power-saving / performance evaluation unit 130 determines whether all of the collected metrics satisfy the performance requirements, calculates a "power-saving evaluation" value by normalizing the power consumption value, and calculates a "performance risk" based on the performance requirement information (FIG. 3) and the collected metrics. The power-saving / performance evaluation unit 130 also calculates an overall evaluation (overall evaluation value) using the calculated "power-saving evaluation" and "performance risk." The power-saving / performance evaluation unit 130 then stores the information obtained by the above process in evaluation information 300 (FIG. 4).

[0050] Next, the setting change unit 110 determines whether there are any other power setting combinations for which the power saving setting trial (evaluation) has not been completed (step S4: Are there any unevaluated settings?). If there are any power setting combinations for which the power saving setting trial has not been completed (step S4 → Yes), the process returns to step S1 and continues. On the other hand, if all power saving setting trials have been completed (step S4 → No), the process proceeds to the next step S5.

[0051] In step S5, the power saving setting determination unit 140 of the power saving control device 1 refers to the evaluation information 300 ( FIG. 4 ), selects a combination of power saving settings that satisfies the required performance and has the highest overall evaluation, i.e., the smallest overall evaluation value, and determines this combination as the power saving settings to be set for the server 5. Then, the power saving setting determination unit 140 transmits information about the determined power saving settings to the server 5, causing the server 5 to set the settings.

[0052] By doing this, the power saving control device 1 according to this embodiment can calculate evaluation values ​​for all combinations of power saving settings, select the combination of power saving settings with the highest overall evaluation, and set it on the server 5.

[0053] [Variation 1] Next, Variation 1 of the power-saving control device 1 according to the present embodiment will be described. The power-saving control device 1 ( FIG. 1 ) according to the present embodiment has been described as trying all possible combinations of power-saving settings. However, a mechanism for thinning (pruning) the time required to derive the optimal combination of power-saving settings can be used. This is because, depending on the combination of power-saving settings, the order of power-saving performance and the performance indicated by each metric can be estimated in advance. In other words, if it becomes clear that a setting with a higher performance does not satisfy the required performance, performance lower than that higher performance will necessarily also not satisfy the required performance. Therefore, it is possible to exclude lower-level settings from the trial.

[0054] For example, among P-state governors that control CPU frequency, some are clearly designed to prioritize performance and others to prioritize power saving. If it is determined that the required performance cannot be met when using a performance-first governor, a lower-performance setting, a power-saving governor, will not meet the required performance without even testing. Some P-state governors also reduce the frequency if the CPU utilization falls below a threshold after waiting a specified observation time. The longer this observation time is set, the more robust it is to load fluctuations from a performance perspective. Therefore, if it is determined that the required performance cannot be met with a longer observation time setting, it is clear that the required performance cannot be met with a shorter time setting. In this way, if it is determined that a higher-level setting violates the required performance, the lower-level setting is excluded from the trial.

[0055] In order to distinguish between higher-level settings and lower-level settings, priority information is added to the power saving setting information 100 ( FIG. 2 ). FIG. 7 is a diagram showing an example in which priority information is added to the power saving setting information 100 according to this embodiment. The setting change unit 110 inputs combinations of unimplemented power saving settings to the server 5 in descending order of the priority (priority) assigned to the power saving setting information 100. Note that for multiple power saving settings that can be set simultaneously, the priority of each item is considered comprehensively to determine the combination, and for example, the total value of the priority of each setting to be combined is used.

[0056] Specifically, as shown in Figure 7, if the priority of enabling the CPU's C-state function is "10," the priority of enabling the P-state function is "20," and the priority of enabling ASPM is "40," the following settings will be tried in this order: enabling only the C-state function (10), enabling only the P-state function (20), enabling both the C-state function and the P-state function (10 + 20 = 30), enabling ASPM (40), enabling the C-state function and ASPM (10 + 40 = 50), enabling the P-state function and ASPM (20 + 40 = 60), and enabling the C-state function, P-state function, and ASPM (10 + 20 + 40 = 70).

[0057] Furthermore, if it is determined that a certain priority level trial does not satisfy the required performance, the system cancels the lower priority trial that was scheduled to be performed later, and selects the optimal combination of power-saving settings from the settings that have been tried up to that point. For example, as shown in Figure 7, if it is determined that the setting of priority level 21 does not satisfy the required performance, the system does not try settings of priority levels 22 and above.

[0058] By doing so, it is possible to reduce unnecessary trials of combinations of power-saving settings that cannot be selected because they do not satisfy the performance requirements, and shorten the time required to derive optimal power-saving settings.

[0059] In addition to the priority-based approach, a machine learning approach may also be used as a mechanism for thinning out (pruning) the combinations of power-saving settings to be tested. In the machine learning approach, a power-saving evaluation and a performance risk evaluation are collected in advance for each combination of power-saving settings, and an inference model is generated using the collected evaluation data to describe the relationship between each combination of power-saving settings and the power-saving evaluation and performance risk. When implementing power saving for a new service, the inference model is used to obtain a power-saving evaluation and a predicted performance risk value for each combination of power-saving settings before actually configuring the service on the server 5 and conducting actual measurements. If the predicted performance risk value exceeds a predetermined performance risk threshold, the power-saving setting is not actually configured on the server 5 for evaluation. This allows the power-saving control device 1 to preempt evaluations of combinations of power-saving settings that are unlikely to produce effective evaluation results in light of the service requirements.

[0060] Next, a description will be given of a second modification of the power saving control device 1 according to the present embodiment. The second modification of the power saving control device 1 is characterized in that it has a function of visualizing evaluation information 300, which is an evaluation result of the power saving settings, by transmitting the evaluation information 300 to the user terminal 6.

[0061] 8 is a diagram showing the overall configuration of a power-saving control system 1000A including a power-saving control device 1 (1A) according to Modification 2 of this embodiment. The difference from the power-saving control device 1 shown in Fig. 1 is that the power-saving control device 1A does not include a power-saving setting determination unit 140, but includes a visualization function unit 150.

[0062] The visualization function unit 150 visualizes and presents evaluation information 300, which is the evaluation result of the power saving settings, by transmitting it to the user terminal 6. Furthermore, the visualization function unit 150 allows the user to select a combination of power saving settings to be set on the server 5 by having the user check the evaluation information 300 presented on the user terminal 6. Then, the visualization function unit 150 determines the power saving settings to be set on the server 5 based on the combination of power saving settings selected by the user, and inputs the determined power saving settings to the server 5.

[0063] By providing the visualization function unit 150, the user can check the evaluation results of the power saving settings, select the power saving settings at their own discretion, and disable the functions related to the automatic power saving settings. For example, when targeting a service that requires strict performance guarantees, it is possible to prevent the settings from being automatically executed based on a comprehensive evaluation value that combines the power saving evaluation (power saving effect) and the performance risk, and to execute the settings only after the user has confirmed successively whether the performance risk is acceptable.

[0064] The visualization function unit 150 may also have a function to display recommended combinations of power-saving settings. For example, the combinations of power-saving settings may be displayed in descending order of power-saving evaluation (power-saving effect), performance risk, or overall evaluation value, making it easier for the user to understand the characteristics and advantages / disadvantages of each combination of power-saving settings.

[0065] [Modification 3] Next, Modification 3 of the power saving control device 1 according to the present embodiment will be described. In the power saving control device 1 according to the present embodiment ( FIG. 1 ), online optimization is performed while the server 5 is executing a service using the application 50. In contrast, in the power saving control device 1 (1B) according to Modification 3, offline optimization is performed in which an optimization setting process for the power saving settings is performed during a verification period before the server 5 starts operating the service. Offline optimization allows power saving settings that pose a performance risk to be attempted without affecting the service.

[0066] 9 is a diagram showing the overall configuration of a power-saving control system 1000B including a power-saving control device 1 (1B) according to Modification 3 of this embodiment. The difference from the power-saving control device 1 shown in FIG. 1 is that the power-saving control device 1B includes a dummy load unit 160.

[0067] The pseudo-load unit 160 applies a pseudo-load to the application 50 of the server 5. In the case of online optimization performed during service operation, a processing load is constantly imposed on the application 50. On the other hand, in the case of offline optimization performed in the verification stage before service operation, there is no load on the application 50, so application of a pseudo-load to the application 50 begins before evaluation of each power-saving setting begins.

[0068] The pseudo load applied by the pseudo load unit 160 is prepared according to the target application 50. For example, in the case of a web server, a traffic generator that generates HTTP requests corresponds to this. Other than the function of the pseudo load unit 160, the power saving control device 1 according to this embodiment is the same as that of the power saving control device 1, and after evaluating all combinations of power saving settings, the optimal power saving setting is selected and set to the server 5.

[0069] Furthermore, when applying a dummy load, the dummy load unit 160 may change the load amount during the process of evaluating each combination of power-saving settings to improve evaluation accuracy. The dummy load unit 160 specifies multiple load amounts, and as a result, the power-saving / performance evaluation unit 130 evaluates each combination of power-saving settings for each load amount. The power-saving / performance evaluation unit 130 then calculates the average of the power-saving evaluation (power-saving effect) and performance risk for each load amount, and, for example, sums these values ​​to calculate an overall evaluation value for each combination of power-saving settings. This makes it possible to perform a comprehensive evaluation that takes multiple load conditions into consideration, even when the performance risk and power-saving evaluation (power-saving effect) relative to the load amount do not have a simple linear relationship.

[0070] <Processing of power saving control device according to modified example 3> Next, processing executed by the power saving control device 1 according to modified example 3 will be described. In the power saving control device 1 (1B) according to modified example 3, offline optimization is performed, in which optimization setting processing of power saving settings is performed during a verification period before service operation by the server 5. Figure 10 is a flowchart showing the flow of processing executed by the power saving control device 1 (1B) according to modified example 3 of this embodiment. Processing similar to the processing shown in Figure 6 is assigned the same step numbers, and description thereof will be omitted.

[0071] 10, the dummy load unit 160 of the power-saving control device 1B applies a dummy load to the application 50 of the server 5 during a verification period before the server 5 starts service operation (step S11). The subsequent processing of steps S1 to S4 is the same as that of the power-saving control device 1 according to this embodiment, and the evaluation information 300 is updated. Then, if there is a combination of power-saving settings for which the power-saving setting trial has not yet been completed (step S4→Yes), the setting change unit 110 returns to step S1 and continues processing. On the other hand, if the trial of all power-saving settings has been completed (step S4→No), the process proceeds to step S12, where the application of the dummy load is terminated.

[0072] Next, in step S5, the power saving setting determination unit 140 refers to the evaluation information 300 (Figure 4), and determines the combination of power saving settings that satisfies the required performance and has the highest overall evaluation, i.e., the smallest overall evaluation value, as the power saving setting to be set on the server 5, and sets it on the server 5.

[0073] By doing this, the power saving control device 1B according to variant example 3 of this embodiment can calculate evaluation values ​​for all combinations of power saving settings when offline before service operation without affecting the service, select the combination of power saving settings with the highest overall evaluation, and set it on the server 5.

[0074] <Hardware Configuration> The power saving control devices 1, 1A, and 1B according to this embodiment are realized by a computer 900 having a configuration such as that shown in Fig. 11. Fig. 11 is a hardware configuration diagram showing an example of the computer 900 that realizes the functions of the power saving control devices 1, 1A, and 1B according to this embodiment. The computer 900 has a CPU 901, a ROM (Read Only Memory) 902, a RAM 903, an HDD (Hard Disk Drive) 904, an input / output I / F (Interface) 905, a communication I / F 906, and a media I / F 907.

[0075] The CPU 901 operates based on a program (power saving control program) stored in the ROM 902 or the HDD 904, and performs control by the control unit 10 (FIG. 1). The ROM 902 stores a boot program executed by the CPU 901 when the computer 900 is started up, programs related to the hardware of the computer 900, and the like.

[0076] The CPU 901 controls an input device 910 such as a mouse or keyboard, and an output device 911 such as a display or printer, via an input / output I / F 905. The CPU 901 acquires data from the input device 910 via the input / output I / F 905, and outputs generated data to the output device 911. Note that a GPU (Graphics Processing Unit) or the like may be used as a processor together with the CPU 901.

[0077] The HDD 904 stores programs executed by the CPU 901 and data used by the programs. The communication I / F 906 receives data from other devices via a communication network (e.g., NW (Network) 920) and outputs the data to the CPU 901, and also transmits data generated by the CPU 901 to other devices via the communication network.

[0078] The media I / F 907 reads a program (power saving control program) or data stored in the recording medium 912 and outputs it to the CPU 901 via the RAM 903. The CPU 901 loads a program related to a target process from the recording medium 912 onto the RAM 903 via the media I / F 907, and executes the loaded program. The recording medium 912 is an optical recording medium such as a DVD (Digital Versatile Disc) or a PD (Phase Change Rewritable Disc), a magneto-optical recording medium such as an MO (Magneto Optical Disc), a magnetic recording medium, a semiconductor memory, or the like.

[0079] For example, when a computer 900 functions as the power saving control device 1, 1A, or 1B of the present invention, a CPU 901 of the computer 900 executes a program loaded onto a RAM 903 to realize the functions of the power saving control program. In addition, data stored in the RAM 903 is stored in an HDD 904. The CPU 901 reads and executes a program related to a target process from a recording medium 912. Alternatively, the CPU 901 may read a program related to a target process from another device via a communication network (NW 920).

[0080] <Effects> The effects of the power saving control device etc. according to the present invention will be described below. The power saving control device according to the present invention is a power saving control device 1 that selects an optimal power saving setting for a server 5, and is characterized by comprising: a storage unit 12 that stores power saving setting information 100 that indicates combinations of power saving settings that can be set for the server 5 and performance requirement information 200 that indicates the required performance of the server 5 and the applications 50 running on the server 5; a setting change unit 110 that sets each combination of power saving settings for the server 5 by referencing the power saving setting information 100; a metrics collection unit 120 that collects, for each combination of power saving settings, metrics that indicate the power consumption of the server 5 and the operating status of the server 5; and a power saving / performance evaluation unit 130 that selects, from among the combinations of power saving settings, a combination of power saving settings to set for the server 5 by performing a comprehensive evaluation for each combination of power saving settings using the collected power consumption and a performance risk calculated from the performance indicated by the metrics and the required performance indicated in the performance requirement information 200.

[0081] By doing this, the power saving control device 1 can select the optimal combination of power saving settings for the server 5 on which the application 50 is running, without requiring high levels of computer skill or manual trial and error.

[0082] Furthermore, the performance risk of the power saving control device 1 is calculated using the difference between the required performance indicated in the performance requirement information 200 and the performance indicated by the metrics as the reserve capacity, and the larger the reserve capacity, the lower the performance risk.

[0083] By doing this, the power saving control device 1 is able to evaluate the performance of the server 5 by calculating the performance risk as lower the greater the available capacity and higher the smaller the available capacity.

[0084] Furthermore, the performance risk of the power saving control device 1 is characterized in that the smaller the load on the server 5 when collecting metrics indicating the operating status of the server 5, the higher the calculated performance risk.

[0085] This enables the power saving control device 1 to calculate a more appropriate performance evaluation by reflecting the fact that the performance risk measured under low load conditions is more uncertain, and the value measured under high load conditions is more certain.

[0086] In addition, the power saving control device 1 further includes a power saving setting determination unit 140 that sets the combination of power saving settings selected by the power saving / performance evaluation unit 130 to the server 5, and the power saving setting determination unit 140 is characterized in that, when the performance indicated by the metrics collected by the metrics collection unit 120 while the application 50 is running on the server 5 does not satisfy the required performance indicated in the performance requirement information 200, the power saving setting determination unit 140 changes the current combination of power saving settings to another combination of power saving settings that satisfies the required performance.

[0087] By doing this, even if the required performance is no longer met while the service is being provided by the server 5, the power saving control device 1 can change the current combination of power saving settings to a combination of power saving settings with a lower risk, thereby reducing the impact on the quality of the service during operation.

[0088] Furthermore, in the power saving control device 1, the power saving setting information 100 is assigned a priority according to performance for each power saving setting, and the setting change unit 110 sets combinations of power saving settings to the server 5 in order according to the priority, and if the performance indicated by the metrics collected for the set combination of power saving settings does not satisfy the required performance indicated in the performance requirement information 200, the power saving control device 1 does not set a combination of power saving settings assigned a lower priority than the priority for when the required performance is not satisfied.

[0089] By doing this, the power saving control device 1 can reduce unnecessary attempts at combinations of power saving settings that cannot be selected because they do not meet the required performance, and shorten the time required to derive the optimal power saving settings.

[0090] In addition, the power saving control device 1 (1B) further includes a pseudo load unit 160 that applies a pseudo load to the application 50 of the server 5, and is characterized in that before the service operation by the application 50, the pseudo load unit 160 applies a pseudo load to the application 50, and the metrics collection unit 120 collects power consumption and metrics for each combination of power saving settings.

[0091] In this way, the power saving control device 1 (1B) can calculate an evaluation value for each combination of power saving settings when offline before the service is operated, and select the optimal combination of power saving settings to set on the server 5 without affecting the service.

[0092] The present invention is not limited to the above-described embodiments, and many modifications can be made by a person having ordinary skill in the art within the technical concept of the present invention.

[0093] DESCRIPTION OF SYMBOLS 1, 1A, 1B Power saving control device 5 Server 6 User terminal 10 Control unit 11 Input / output unit 12 Storage unit 50 Application (App) 51 Metrics acquisition unit 52 Power saving setting unit 100 Power saving setting information 110 Setting change unit 120 Metrics collection unit 130 Power saving / performance evaluation unit 140 Power saving setting determination unit 150 Visualization function unit 160 Dummy load unit 200 Performance requirement information 300 Evaluation information 1000, 1000A, 1000B Power saving control system

Claims

1. A power saving control device that selects optimal power saving settings for a server, comprising: a storage unit that stores power saving setting information indicating combinations of power saving settings that can be set for the server, and performance requirement information that indicates the required performance of the server and applications running on the server; a setting change unit that references the power saving setting information and sets each combination of power saving settings for the server; a metrics collection unit that collects, for each combination of power saving settings, metrics that indicate the power consumption of the server and the operating status of the server; and a power saving / performance evaluation unit that selects a combination of power saving settings to set for the server from among the combinations of power saving settings by performing a comprehensive evaluation for each combination of power saving settings using the collected power consumption, the performance indicated by the metrics, and a performance risk calculated from the required performance indicated by the performance requirement information.

2. The power saving control device according to claim 1, characterized in that the performance risk is calculated using the difference between the required performance indicated in the performance requirement information and the performance indicated in the metrics as a margin, and the larger the margin, the lower the performance risk.

3. The power saving control device according to claim 2, wherein the performance risk is calculated to be higher the smaller the load on the server when metrics indicating the operating status of the server are collected.

4. A power saving control device as described in claim 1, further comprising a power saving setting determination unit that sets the combination of power saving settings selected by the power saving / performance evaluation unit to the server, wherein the power saving setting determination unit changes the current combination of power saving settings to another combination of power saving settings that satisfies the required performance when the performance indicated by the metrics collected by the metrics collection unit does not satisfy the required performance indicated by the performance requirement information while the application is running on the server.

5. The power saving control device according to claim 1, wherein the power saving setting information is assigned a priority according to performance for each power saving setting, and the setting change unit sets combinations of power saving settings on the server in order according to the priority, and if the performance indicated by the metrics collected for the set combination of power saving settings does not satisfy the required performance indicated in the performance requirement information, the power saving control device does not set a combination of power saving settings assigned a lower priority than the priority for when the required performance is not satisfied.

6. The power saving control device according to claim 1, further comprising a pseudo load unit that applies a pseudo load to an application of the server, wherein the pseudo load unit applies a pseudo load to the application before the application starts service, and the metrics collection unit collects the power consumption and the metrics for each combination of power saving settings.

7. A power saving control method for a power saving control device that selects optimal power saving settings for a server, wherein the power saving control device has a storage unit that stores power saving setting information that indicates combinations of power saving settings that can be set for the server, and performance requirement information that indicates the required performance of the server and applications running on the server, and the power saving control method executes the following steps: setting each combination of power saving settings for the server by referring to the power saving setting information; collecting metrics that indicate the power consumption of the server and the operating status of the server for each combination of power saving settings; and selecting a combination of power saving settings to set for the server from among the combinations of power saving settings by performing a comprehensive evaluation for each combination of power saving settings using the collected power consumption, the performance indicated by the metrics, and the required performance indicated by the performance requirement information.

8. A power saving control program for causing a computer to function as the power saving control device according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Method for assigning service and information processing apparatus for implementing the same

    JP2010146207A

  • Device and method for managing operation

    JP2011204128A

  • Information processing system and power saving control method thereof, and device

    JP2013092951A

  • Power supply control apparatus, server virtualization system, and power supply control method

    JP2016110240A