WO2025248596A1 - 省電力制御装置、省電力制御方法、および、省電力制御プログラム - Google Patents

省電力制御装置、省電力制御方法、および、省電力制御プログラム

Info

Publication number
WO2025248596A1
WO2025248596A1 PCT/JP2024/019420 JP2024019420W WO2025248596A1 WO 2025248596 A1 WO2025248596 A1 WO 2025248596A1 JP 2024019420 W JP2024019420 W JP 2024019420W WO 2025248596 A1 WO2025248596 A1 WO 2025248596A1
Authority
WO
WIPO (PCT)
Prior art keywords
power
power saving
server
performance
settings
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/JP2024/019420
Other languages
English (en)
French (fr)
Inventor
博史 野口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to PCT/JP2024/019420 priority Critical patent/WO2025248596A1/ja
Publication of WO2025248596A1 publication Critical patent/WO2025248596A1/ja
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to a power-saving control device, a power-saving control method, and a power-saving control program that configures servers to save power, with the aim of operating server infrastructure such as the cloud with low power consumption.
  • CPU Central Processing Unit
  • CPU sleep one of the CPU's power-saving functions, can take multiple stages called C-states, and the deeper the sleep, the less power it consumes but the longer it takes to wake up.
  • the CPU's operating frequency can take multiple stages called P-states, and the CPU hardware or OS (Operating System) has a control function that automatically selects the appropriate frequency depending on the load.
  • the CPUFreq subsystem built into 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). Additionally, there are functions that affect power consumption even though they are not originally 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.
  • Turbo Boost which temporarily operates a specific CPU core under heavy load at a frequency higher than the rated operating frequency
  • 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.
  • ASPM Active State Power Management
  • LPM Link Power Management
  • 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.
  • server firmware such as the Basic Input Output System (BIOS) and Unified Extensible Firmware Interface (UEFI), provide abstracted power-saving modes similar to those of Windows 11.
  • BIOS Basic Input Output System
  • UEFI Unified Extensible Firmware Interface
  • server operators aiming to save power are required to appropriately configure the numerous power-saving features, which exist in a vast number of combinations, taking into account the performance impact that can result as a side effect.
  • the effectiveness and degree of side effects of each setting depend on the server hardware and the software being run, there is no universally optimal solution, and arriving at the appropriate settings requires a high level of computer expertise and manual trial and error.
  • the present invention was developed in light of these issues, and its objective is to automatically select the optimal power-saving settings for a server without requiring highly skilled computer users or manual trial and error.
  • the power saving control device of the present invention is a power saving control device that selects optimal power saving settings for a server, and is characterized by 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 metrics that indicate the power consumption of the server and the operating status of the server for each combination of power saving settings; 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 and a performance risk calculated from the performance indicated by the metrics and the required performance indicated by the performance requirement information.
  • This invention makes it possible to automatically select the optimal power saving settings for a server without requiring highly skilled computer users or manual trial and error.
  • FIG. 1 is a diagram showing the overall configuration of a power-saving control system including a power-saving control device according to an embodiment of the present invention
  • 5 is a diagram illustrating an example of a data configuration of power saving setting information according to the embodiment.
  • FIG. FIG. 4 is a diagram illustrating an example of a data configuration of performance requirement information according to the embodiment.
  • FIG. 4 is a diagram illustrating an example of a data configuration of evaluation information according to the embodiment.
  • FIG. 4 is a diagram illustrating an example of a data configuration of evaluation information according to the embodiment. 4 is a flowchart showing the flow of processing executed by the power saving control device according to the present embodiment.
  • 10 is a diagram showing an example in which priority information is added to power saving setting information according to the embodiment;
  • FIG. 10 is a diagram showing the overall configuration of a power-saving control system including a power-saving control device according to a second modified example of the present embodiment.
  • FIG. 10 is a diagram showing the overall configuration of a power-saving control system including a power-saving control device according to a third modified example of the present embodiment.
  • 10 is a flowchart showing the flow of processing executed by a power saving control device according to a third modified example of the present embodiment.
  • FIG. 2 is a hardware configuration diagram illustrating an example of a computer that realizes the functions of the power saving control device according to the present embodiment.
  • the power-saving control device 1 sets a combination of power-saving settings for a server 5 ( Figure 1) that is the target for power saving and on which a certain application is implemented, 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 measurements 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 provided below).
  • FIG. 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.
  • the power saving control system 1000 includes a power saving control device 1 and a server 5 that is communicatively connected to the power saving control device 1 and is a target for power saving.
  • the server 5 to be subjected to power saving has an application (App) 50 installed on its hardware (HW).
  • the application 50 may be installed 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.
  • 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 .
  • the 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 or server, the CPU usage rate, the number of interrupt processes that occur, and the cache miss rate.
  • the application operation information includes, for example, the number of HTTP requests and response time in the web server, and the time required for a specific process.
  • the metrics acquisition unit 51 acquires power consumption information from, for example, a power meter provided in the server 5 or an IPMI (Intelligent Platform Management Interface) (a standard interface for monitoring and managing the state of hardware) that includes a power consumption measurement means.
  • the metrics acquisition unit 51 transmits information (metrics) indicating power consumption and the operating status of the server acquired during execution of the application 50 to the power-saving control device 1 .
  • 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 the server 5 itself.
  • the power-saving setting unit 52 also acquires information about the combination of power-saving settings that has been determined by the power-saving control device 1 as having the highest rating (overall rating) (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 in its own server 5.
  • 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 the highest power saving effect while satisfying the required performance, and sets the settings to the server 5.
  • the power-saving control device 1 includes a control unit 10, an input/output unit 11, and a memory unit 12.
  • 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 sends and receives information via a communication line, and an input/output interface that inputs and outputs information to and from input devices such as a keyboard and output devices such as a monitor (not shown).
  • the memory unit 12 is composed of a hard disk, flash memory, RAM (Random Access Memory), etc.
  • This storage unit 12 stores power saving setting information 100 (see Figure 2), performance requirement information 200 (see Figure 3), and evaluation information 300 (see Figure 4). In addition, this storage unit 12 temporarily stores information necessary for processing by the control unit 10.
  • FIG. 2 is a diagram showing an example of the data configuration of the 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. Items that can be set for the server 5 are arbitrarily specified in this power saving setting information 100. For example, information on whether each of the C-state, P-state, and ASPM functions is "enable” or "disable” is stored as a first layer. Furthermore, as a setting in a second layer, which is a layer below the first layer, for example, if P-state is enabled, a governor to be set in that P-state is specified. Furthermore, as an even lower third layer, parameters (parameters 1 and 2) to be used for the selected governor can be specified.
  • the power saving setting information 100 describes information on combinations that can be set as power saving settings in the server 5 .
  • the power saving setting information 100 is not limited to the table format shown in FIG. 2, and may be managed in a data structure such as json or yaml.
  • FIG. 3 is a diagram showing an example of the data configuration of the performance requirement information 200 according to this embodiment.
  • the performance requirement information 200 is information describing performance requirements determined by application developers and system operators.
  • 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 the application 99th percentile latency.
  • 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 more.
  • the evaluation information 300 (see FIG. 4) will be described in detail later.
  • control unit 10 is responsible for all processing executed by the power saving control device 1, and is composed of 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.
  • the setting change unit 110 refers to the power saving setting information (FIG. 2), selects one of the combinations of power saving settings that have not yet been tried (evaluated), and transmits the information on that power saving setting to the server 5 .
  • the setting change unit 110 tries the combinations of power-saving settings in ascending order of the descriptions in the power-saving setting information in the table format shown in Fig. 2, or randomly. Note that, as will be described later, priorities may be defined and the combinations may be tried in order of priority.
  • the metrics collector 120 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.
  • Information (metrics) indicating the operating status includes OS operation information and application operation information, and CPU utilization rate, average application latency, etc. are set as metrics to be collected in advance.
  • 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 (Figure 4).
  • FIG. 4 is a diagram showing an example of the data configuration of the evaluation information 300 according to this embodiment.
  • the evaluation information 300 stores information on "required performance satisfaction,”"power saving evaluation,””performancerisk,” and “overall evaluation” in association with “settings” indicating the combination of power saving settings, "power” indicating the power consumption obtained from the server 5, and “performance” indicated by the metrics obtained from the server 5.
  • “Required performance satisfaction” registers whether or not the metrics acquired from the server satisfy the performance requirements shown in the performance requirement information 200 in Fig. 3. Here, if all of the collected metrics satisfy the performance requirements, " ⁇ " (satisfied) is registered, and if there is even one metric that does not satisfy the performance requirements, " ⁇ " (not satisfied) is registered.
  • the "power saving performance evaluation” is a value for evaluating the power saving effect, and is calculated by normalizing the power consumption value. For example, the value obtained by dividing the power consumption by the maximum power consumption of the server 5 is used. In the example of Figure 4, if the power saving setting combination is "C-state: enable, P-state: disable” and the power consumption is "110 W”, when the maximum power is "1000 W”, the power saving evaluation will be "0.11".
  • the "performance risk” is calculated based on the performance requirement information (FIG. 3) and the collected metrics, and is calculated from the degree of discrepancy (Y) between the required performance and the actually 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. Also, if the required 99%ile 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 normalization of these available capacities represents safety, while the opposite concept is performance risk. A high risk value means less available capacity, and there is a high possibility that the required performance will not be met when the processing load fluctuates.
  • Performance risk 1 - Y1 x Y2 ... formula (1)
  • the normalized degree of separation is calculated for each required performance index, and the performance risk is calculated by multiplying these values and subtracting the result from 1.
  • the larger the margin the smaller the value of the performance risk, indicating a high performance advantage.
  • the performance risk may be corrected based on the load on the server 5 at the time of the power saving setting trial.
  • the information on the load on the server 5 may be acquired by the metrics collector 120 from the server 5, or may be acquired from an external device.
  • application load such as the number of HTTP requests on a web server
  • the reliability of the performance risk can be said to be lower when the load is low. This is because even if the required performance is met when data measurement is performed with power-saving settings enabled, this does not necessarily mean that the required performance will be met if the load increases due to changes in the usage of the application 50.
  • a load correction value is set by dividing the load at the time of measurement by an arbitrarily determined maximum load and normalizing it.
  • the performance risk in this case is expressed by the following equation (2).
  • Performance risk 1 - Y1 x Y2 x load correction value ... formula (2)
  • the performance risk can be corrected so that the smaller the load during measurement, the higher the performance risk.
  • 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.
  • the power-saving/performance evaluation unit 130 performs a comprehensive evaluation using the calculated power-saving evaluation and performance risk, that is, calculates a comprehensive evaluation value.
  • 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 comprehensive evaluation value. The higher the power saving effect and the lower the performance risk, the smaller the overall evaluation value becomes.
  • the power saving/performance evaluation unit 130 updates the evaluation information 300 ( Figure 4) for one combination of power saving settings
  • the setting change unit 110 selects other combinations of power saving settings for which trial (evaluation) of the power saving settings has not yet been completed, and sets these on the server 5, thereby performing evaluation processing for similar combinations of power saving settings.
  • the power saving/performance evaluation unit 130 then updates the evaluation information 300 for all combinations indicated in the power saving setting information 100 ( Figure 2).
  • the power saving setting determination unit 140 When the power saving setting determination unit 140 has finished updating the evaluation information 300 ( Figure 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 settings that provide the most effective power saving while still satisfying the required performance.
  • the power saving setting determination unit 140 has a function of referring to the evaluation information 300 and changing to another combination of power saving settings that meets 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 meets the required performance and has the highest overall evaluation. In this way, by immediately changing to a power saving setting that meets the required performance, the power saving control device 1 can minimize the impact on the quality of services currently in operation.
  • the power-saving setting combination on the second line which satisfies the required performance and has the highest overall evaluation (lowest overall evaluation value), will be changed.
  • the service will wait for an arbitrary period of time to stabilize, and then attempts to change the settings to save power will resume.
  • the power saving control device 1 can achieve online optimization by executing the combination of power saving settings that provides the most power saving effect while satisfying the required performance while the service is being provided by the server 5.
  • FIG. 6 is a flowchart showing the flow of processing executed by the power saving control device 1 according to this embodiment.
  • the setting change unit 110 of the power saving control device 1 references the power saving setting information ( Figure 2) and selects one of the untried (unevaluated) power saving setting combinations (step S1). Then, the setting change unit 110 sets the power saving setting combination on the server 5 by sending information about the combination to the server 5.
  • 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).
  • the power saving/performance evaluation unit 130 of the power saving control device 1 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 updates the evaluation information 300 ( Figure 4) for each combination of power saving settings (step S3).
  • 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.” Then, the power saving/performance evaluation unit 130 stores the information obtained by the above processing in the evaluation information 300 (FIG. 4).
  • Step S4 determines whether there are any other power-saving setting combinations for which the power-saving setting trial (evaluation) has not yet been completed (Step S4: Are there any unevaluated settings?). If there are any power-saving setting combinations for which the power-saving setting trial has not yet 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.
  • step S5 the power saving setting determination unit 140 of the power saving control device 1 references the evaluation information 300 ( Figure 4), selects the 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 on the server 5.
  • the power saving setting determination unit 140 then transmits information about the determined power saving settings to the server 5, causing them to be set.
  • the power saving control device 1 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.
  • P-state governors that control CPU frequency, some of which prioritize performance and others prioritize power saving. If it turns out that the required performance cannot be met when using a performance-first governor, then even lower performance settings will not meet the required performance without even testing a power-saving-first governor. Some P-state governors also reduce the frequency if the CPU utilization falls below a threshold after waiting for a specified observation time. The longer the observation time, the more robust the performance is to load fluctuations. Therefore, if it turns out that the required performance cannot be met with a long observation time, it is clear that the required performance cannot be met with a shorter time setting. In this way, if it becomes clear that the higher-level settings violate the required performance, the lower-level settings are excluded from the trial.
  • 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 the combination of unimplemented power saving settings into the server 5 in descending order of 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.
  • a trial of a lower priority that was scheduled to be carried out later is stopped, and the optimum combination of power-saving settings is selected from the settings that have been tried up to that point. For example, as shown in FIG. 7, if it is confirmed that the setting of priority 21 does not satisfy the required performance, the setting of priority 22 or higher is not attempted.
  • a method using machine learning may be used.
  • 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 evaluation to describe the relationship between each combination of power saving settings and the power saving evaluation and performance risk.
  • the inference model is used to obtain a power saving evaluation and a predicted value of performance risk corresponding to each combination of power saving settings before actually setting the combination on the server 5 and performing actual measurements.
  • the evaluation process for actually setting the power saving setting on the server 5 is not performed. This allows the power-saving control device 1 to thin out in advance the evaluation of a combination of power-saving settings that is not expected to produce an effective evaluation result in light of the service requirements.
  • the second modification of the power saving control device 1 is characterized by having a function of visualizing the evaluation information 300 by transmitting the evaluation result of the power saving setting, that is, evaluation information 300, to the user terminal 6.
  • FIG. 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 a second modification 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 the power-saving setting determination unit 140 but includes a visualization function unit 150 .
  • 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.
  • the visualization function unit 150 also allows the user to select a combination of power saving settings to be set on the server 5 by having the user confirm the evaluation information 300 presented on the user terminal 6.
  • 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 these settings to the server 5.
  • the user can check the evaluation results of the power-saving settings, select the power-saving settings at their own discretion, and disable the automatic power-saving settings function. For example, when targeting a service that requires strict performance guarantees, the settings will not be automatically executed based on an overall evaluation value that combines the power-saving evaluation (power-saving effect) and performance risk, but rather the user can confirm whether the performance risk is acceptable at each stage before executing the settings.
  • the visualization function unit 150 may also have a function to display recommended combinations of power-saving settings.
  • 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 merits of each combination of power-saving settings.
  • FIG. 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 a third modification 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 .
  • the dummy load unit 160 applies a dummy load to the application 50 of the server 5 .
  • a processing load is constantly imposed on the application 50.
  • there is no load on the application 50 so application of a pseudo load to the application 50 is started before evaluation of each power saving setting is started.
  • the pseudo load applied by the pseudo load unit 160 is prepared according to the target application 50, and for example, in the case of a Web server, a traffic generator that generates HTTP requests corresponds to the pseudo load.
  • the power saving control device 1 is the same as that of this embodiment, and after evaluating all combinations of power saving settings, the optimal power saving setting is selected and set to the server 5.
  • the pseudo load unit 160 may change the load amount in the process of evaluating each power-saving setting combination to improve evaluation accuracy.
  • the pseudo load unit 160 specifies multiple load amounts, and as a result, the power-saving/performance evaluation unit 130 evaluates each power-saving setting combination for each load amount.
  • the power-saving/performance evaluation unit 130 then calculates the average power-saving evaluation (power-saving effect) and performance risk for each load amount, and, for example, adds these up to calculate an overall evaluation value for each power-saving setting combination. 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.
  • FIG. 10 is a flowchart showing the flow of processing executed by the power saving control device 1 (1B) according to the third modification of this embodiment. The same steps as those shown in FIG. 6 are denoted by the same step numbers, and the description thereof will be omitted.
  • 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. If there are any combinations 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 all power-saving setting trials have been completed (step S4 ⁇ No), the setting change unit 110 proceeds to step S12 and ends the application of the dummy load.
  • step S5 the power-saving setting determination unit 140 references 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 settings to be set on the server 5, and sets these settings on the server 5.
  • the power saving control device 1B can calculate evaluation values for all combinations of power saving settings while offline before service operation, select the combination of power saving settings with the highest overall evaluation, and set it on the server 5 without affecting the service.
  • the power saving control devices 1, 1A, and 1B according to the present embodiment are realized by a computer 900 having a configuration as shown in FIG. 11, for example.
  • 11 is a hardware configuration diagram showing an example of a computer 900 that realizes the functions of the power saving control devices 1, 1A, and 1B according to this embodiment.
  • the computer 900 includes 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.
  • the CPU 901 operates based on a program (power saving control program) stored in the ROM 902 or HDD 904, and performs control via the control unit 10 ( Figure 1).
  • the ROM 902 stores a boot program executed by the CPU 901 when the computer 900 starts up, as well as programs related to the computer 900's hardware.
  • the CPU 901 controls input devices 910 such as a mouse and keyboard, and output devices 911 such as a display and printer, via the 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.
  • a GPU Graphics Processing Unit
  • a processor may also be used as a processor in addition to the CPU 901.
  • the HDD 904 stores programs executed by the CPU 901 and data used by those 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.
  • NW Network
  • Media I/F 907 reads the program (power saving control program) or data stored on recording medium 912 and outputs it to CPU 901 via RAM 903.
  • CPU 901 loads the program related to the target processing from recording medium 912 onto RAM 903 via media I/F 907, and executes the loaded program.
  • Recording medium 912 is an optical recording medium such as a DVD (Digital Versatile Disc) or a PD (Phase Change Rewritable Disk), a magneto-optical recording medium such as an MO (Magneto Optical Disk), a magnetic recording medium, a semiconductor memory, etc.
  • CPU 901 of computer 900 executes a program loaded onto RAM 903 to realize the functions of the power saving control program.
  • data stored in RAM 903 is stored in HDD 904.
  • CPU 901 reads and executes a program related to the target processing from recording medium 912.
  • CPU 901 may read a program related to the target processing from another device via a communications network (NW 920).
  • the power saving control device of the present invention is a power saving control device 1 that selects the optimal power saving setting for a server 5, and is characterized by comprising: a memory 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 application 50 running on the server 5; a setting change unit 110 that sets each combination of power saving settings for the server 5 by referring to 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 be 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
  • 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 highly skilled computer users or manual trial and error.
  • 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 margin, and the greater the margin, the lower the performance risk.
  • the power saving control device 1 can evaluate the performance of the server 5 by calculating a lower performance risk the greater the available capacity, and a higher performance risk the smaller the available capacity.
  • the performance risk of the power saving control device 1 is calculated to be higher the smaller the load on the server 5 when collecting metrics indicating the operating status of the server 5.
  • the power-saving control device 1 is able to calculate a more accurate performance evaluation by reflecting the fact that performance risks measured under lighter load conditions tend to be more uncertain, while values measured under heavier load conditions tend to be more certain.
  • the power saving control device 1 also 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 on the server 5. If, while the application 50 is running on the server 5, the performance indicated by the metrics collected by the metrics collection unit 120 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.
  • 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 minimizing the impact on the quality of the service during operation.
  • 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.
  • the power-saving control device 1 can reduce unnecessary trials of combinations of power-saving settings that cannot be selected because they do not satisfy the required performance, and shorten the time required to derive the optimal power-saving settings.
  • 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 before the application 50 starts service operation, the pseudo load unit 160 applies a pseudo load to the application 50, causing the metrics collection unit 120 to collect power consumption and metrics for each combination of power saving settings.
  • the power saving control device 1 (1B) can calculate an evaluation value for each combination of power saving settings while offline before service operation, and select the optimal combination of power saving settings to set on the server 5 without affecting the service.
  • Power saving control device 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) REFERENCE SIGNS LIST 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 and 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

省電力制御装置(1)は、省電力設定の組合せを示す省電力設定情報(100)、並びに、サーバおよびアプリケーションの要求性能を示す性能要求情報(200)が記憶される記憶部(12)と、サーバ(5)に省電力設定の各組合せを設定する設定変更部と、サーバ(5)の消費電力およびメトリクスを収集するメトリクス収集部(120)と、省電力設定の組合せごとに、消費電力と性能リスクとを用いて総合評価することにより、サーバ(5)に設定する省電力設定の組合せを選択する省電力・性能評価部(130)とを備える。

Description

省電力制御装置、省電力制御方法、および、省電力制御プログラム
 本発明は、クラウド等のサーバインフラの低消費電力運用を目的として、サーバへの省電力設定を行う、省電力制御装置、省電力制御方法、および、省電力制御プログラムに関する。
 昨今の法人の環境意識の高まり、および、エネルギーコスト増大によるビジネス影響を受け、クラウドコンピューティングサービスを筆頭とするサーバ運用者にとって、サーバの消費電力削減は重要な課題の一つとなっている。このような潮流を受け、現在販売されている一般的な構成のサーバには多数の省電力機能が備わっている。
 例えば、サーバの主要な構成要素であるCPU(Central Processing Unit)製品の多くは、使用状況に応じた省電力化を行う機能を備えており、使用者の判断でその機能を有効化若しくは無効化することが可能である。いくつかの例を挙げると、CPUの省電力機能の一つである、CPUスリープは、C-stateと呼ばれる複数の段階を採ることが可能であり、より深いスリープほど消費電力は少ない代わりに起床までの時間が長くなる。また、CPUの動作周波数は、P-stateと呼ばれる複数の段階を採ることが可能であり、負荷に応じて適切な周波数を自動的に選択する制御機能がCPUのハードウェア、若しくは、OS(Operating System)に備わっている。
 制御機能の例として、Linuxカーネル(「Linux」は、登録商標)に搭載されているCPUFreqサブシステムにはガバナと呼ばれるP-stateの制御機能が複数実装されており、それぞれにチューニング可能なパラメータが存在する(非特許文献1参照)。また、本来は消費電力の削減を目的とする機能ではないものの消費電力に影響を及ぼすものがある。例えば、ターボブーストなどの名称で呼ばれる、負荷が集中している特定のCPUコアを一時的に定格動作周波数より高い周波数で動作させる機能は、CPUの処理効率を上昇させる手段であると同時に、消費電力を増大させるという副作用をもたらす。
 サーバに備わる省電力機能には他にも、ASPM(Active State Power Management)と呼ばれるPCIexpress接続デバイスの省電力機能や、LPM(Link Power Management)と呼ばれるストレージの省電力機能があり、これらも使用者が有効化、無効化を設定することが可能である。
 また、複数の省電力設定のセットを抽象化して使用者に提供する、OSとサーバ製品がある。例えば、Windows 11(「Windows」は、登録商標)は、電源モードという名称で数種類(例えば、3種類)の省電力設定のセットを定義し、使用者が省電力設定を直感的に選択することを可能にしている。さらに、サーバのBIOS(Basic Input Output System)やUEFI(Unified Extensible Firmware Interface)といったファームウェアには、Windows 11の省電力モードと類似の抽象化された省電力モードを提供するものがある。
R.J.Wysocki, "CPU Performance Scaling," The Linux Kernel documentation 6.2.0-rc8, Intel Corporation, 2017, [online],[令和6年5月15日検索],インターネット<URL:https://www.kernel.org/doc/html/latest/admin-guide/pm/cpufreq.html>
 上記した先行技術は、あくまで使用者の操作を容易にすること考慮したものであり、省電力性と性能影響の観点で最適化されたものではない。例えば、省電力モード、バランスモード、性能優先モードという3つのモードが規定されていた場合、ノートパソコンなどの省電力性が何よりも重要な状況においては省電力モードを選択する、高性能が求められるゲーム利用時には性能優先モードを選択する、それ以外の場合にはバランスモードを選択する、といった非常に大まかな使い分けが想定される。サーバ運用者には、サービスのSLO(Service Level Objective)、SLA(Service Level Agreement)を遵守することが求められており、省電力と性能を両立するには、このような大まかな設定メニューではなく、サービスアプリケーションに応じた、より細かな省電力設定を行うことが求められる。
 また、省電力化を志向するサーバ運用者には、このような多数かつ、それらの組合せが膨大に存在する省電力機能に関して、副作用である性能影響を考慮して適切に設定することが求められる。一方で、各設定における効能と副作用の程度は、サーバのハードウェアや実行されるソフトウェアに依存するため汎用的な最適解はなく、適切な設定を導くにはコンピュータに対する高い熟練と人手をかけた試行錯誤が求められる。
 このような点に鑑みて本発明がなされたのであり、本発明は、コンピュータに対する高い熟練と人手をかけた試行錯誤を伴わず、サーバに応じた最適な省電力設定を自動選択することを課題とする。
 本発明に係る省電力制御装置は、サーバの最適な省電力設定を選択する省電力制御装置であって、前記サーバに設定可能な省電力設定の組合せを示す省電力設定情報、並びに、前記サーバおよび前記サーバ上で稼働するアプリケーションの要求性能を示す性能要求情報が記憶される記憶部と、前記省電力設定情報を参照して、前記サーバに省電力設定の各組合せを設定する設定変更部と、前記省電力設定の組合せごとの、前記サーバの消費電力と前記サーバの稼働状況を示すメトリクスとを収集するメトリクス収集部と、前記省電力設定の組合せごとに、収集した消費電力と、メトリクスで示される性能および前記性能要求情報で示される要求性能により算出される性能リスクとを用いて総合評価することにより、前記省電力設定の各組合せのうちから、前記サーバに設定する省電力設定の組合せを選択する省電力・性能評価部と、を備えることを特徴とする。
 本発明によれば、コンピュータに対する高い熟練と人手をかけた試行錯誤を伴わず、サーバに応じた最適な省電力設定を自動選択することができる。
本実施形態に係る省電力制御装置を含む省電力制御システムの全体構成を示す図である。 本実施形態に係る省電力設定情報のデータ構成例を示す図である。 本実施形態に係る性能要求情報のデータ構成例を示す図である。 本実施形態に係る評価情報のデータ構成例を示す図である。 本実施形態に係る評価情報のデータ構成例を示す図である。 本実施形態に係る省電力制御装置が実行する処理の流れを示すフローチャートである。 本実施形態に係る省電力設定情報に優先度の情報を付加した例を示す図である。 本実施形態の変形例2に係る省電力制御装置を含む省電力制御システムの全体構成を示す図である。 本実施形態の変形例3に係る省電力制御装置を含む省電力制御システムの全体構成を示す図である。 本実施形態の変形例3に係る省電力制御装置が実行する処理の流れを示すフローチャートである。 本実施形態に係る省電力制御装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
 次に、本発明を実施するための形態(以下、「本実施形態」と称する。)について説明する。
 本実施形態に係る省電力制御装置1(後記する図1参照)は、あるアプリケーションが実装されている省電力化対象のサーバ5(図1)に対して、省電力設定の組合せを設定し、消費電力と性能の情報を実測する。そして、省電力制御装置1は、実測値とそのサービスに関する要求性能から、省電力効果と性能リスクを計算し、その省電力設定の組合せの評価値(総合評価値)を算出する。省電力制御装置1は、すべての省電力設定の組合せに対して評価値を算出し、総合評価が最も高い省電力設定の組合せを選択する(詳細は後記)。
 図1は、本実施形態に係る省電力制御装置1を含む省電力制御システム1000の全体構成を示す図である。
 図1で示すように、省電力制御システム1000は、省電力制御装置1と、その省電力制御装置1に通信接続され、省電力化の対象となるサーバ5とを備える。
≪サーバ≫
 省電力化対象となるサーバ5は、HW(hardware)上にアプリケーション(App)50が実装される。なお、このアプリケーション50は、VM(Virtual Machine)やコンテナに実装されてもよい。また、サーバ5は、メトリクス取得部51と、省電力設定部52とを備える。
 メトリクス取得部51は、サーバ5上でアプリケーション50を実行中に、消費電力やサーバの稼働状況を示す情報(メトリクス)を取得する。
 サーバの稼働状況を示す情報には、OS動作情報とアプリケーション動作情報とがある。
 OS動作情報は、例えば、CPUやサーバの消費電力、CPU使用率や割り込み処理の発生件数、キャッシュミスヒット率といった負荷状態に依存して変化する情報である。
 アプリケーション動作情報は、例えば、WebサーバにおけるHTTPリクエスト数や応答時間、特定の処理に要し得る時間である。
 メトリクス取得部51は、消費電力の情報を、例えばサーバ5が備えるパワーメータや、消費電力計測手段を備えるIPMI(Intelligent Platform Management Interface)(ハードウェアの状態を監視・管理する標準インタフェース)から取得する。
 メトリクス取得部51は、アプリケーション50を実行中に取得した、消費電力やサーバの稼働状況を示す情報(メトリクス)を省電力制御装置1に送信する。
 省電力設定部52は、省電力制御装置1の後記する設定変更部110が選択した省電力設定の組合せを、自サーバ5に設定する。
 また、省電力設定部52は、省電力制御装置1が省電力設定の組合せのうち、最も評価(総合評価)が高い(要求性能を充足し、省消費電力効果の高い)組合せとして決定した設定の情報を取得する。そして、省電力設定部52は、当該省電力設定の組合せを、自サーバ5に設定する。
≪省電力制御装置≫
 省電力制御装置1は、詳細は後記するように、サーバ5に省電力設定の各組合せを試行させ、省電力効果(省電力性評価)と性能リスクからなる評価結果を算出して、要求性能を充足した上で省電力効果の高い最適な省電力設定の組合せを選択し、当該設定をサーバ5に設定させる装置である。
 本実施形態に係る省電力制御装置1は、図1で示すように、制御部10と、入出力部11と、記憶部12とを備える。
 入出力部11は、サーバ5等との間の情報について入出力を行う。この入出力部11は、通信回線を介して情報の送受信を行う通信インタフェースと、図示を省略したキーボード等の入力装置やモニタ等の出力装置との間で情報の入出力を行う入出力インタフェースとから構成される。
 記憶部12は、ハードディスクやフラッシュメモリ、RAM(Random Access Memory)等により構成される。
 この記憶部12には、省電力設定情報100(図2参照)、性能要求情報200(図3参照)、評価情報300(図4参照)が格納される。また、この記憶部12には、制御部10の処理に必要な情報が一時的に格納される。
 図2は、本実施形態に係る省電力設定情報100のデータ構成例を示す図である。
 省電力設定情報100は、サーバ5の省電力設定の組合せを一覧化した情報である。この省電力設定情報100には、サーバ5に設定可能な項目が任意に指定される。例えば、第1階層として、C-state、P-state、ASPMの各機能が、「enable」(有効)であるか、「disable」(無効)であるかの情報が格納される。さらに、第1階層の下位階層となる第2階層の設定として、例えば、P-stateが有効であれば、そのP-stateにおいて設定するガバナが指定される。また、さらに下位の第3階層として、選択したガバナで用いるパラメータ(パラメータ1,2)が指定可能である。
 このように、省電力設定情報100には、そのサーバ5において、省電力設定として設定可能な組合せの情報が記載される。
 なお、省電力設定情報100については、図2で示すような表形式に限定されず、jsonやyamlといったデータ構造で管理してもよい。
 図3は、本実施形態に係る性能要求情報200のデータ構成例を示す図である。
 性能要求情報200は、アプリケーション開発者やシステム運用者が定める性能要件を記載した情報である。例えば、性能指標として、CPU使用率の要求上限値、WebサーバにおいてはHTTP応答時間の平均(アプリケーション平均レイテンシ)やアプリケーション99%ileレイテンシの要求値などが示される。図3では、CPU使用率が80%未満、アプリケーション平均レイテンシが200ms未満、アプリケーション99%ileレイテンシが300ms未満、スループットが200rps(request per second)以上であることが性能要件として示される。
 なお、評価情報300(図4参照)の詳細は後記する。
 図1に戻り、制御部10は、省電力制御装置1が実行する処理の全般を司り、設定変更部110と、メトリクス収集部120と、省電力・性能評価部130と、省電力設定決定部140とを含んで構成される。
 設定変更部110は、省電力設定情報(図2)を参照し、未試行(未評価)の省電力設定の組合せのうちの一つを選択して、その省電力設定の情報をサーバ5に送信する。
 設定変更部110は、省電力設定の組合せの試行の順番として、図2で示すような表形式の省電力設定情報の記述の昇順や、ランダムに試行する。なお、後記するように、優先度を定め、優先度順に試行するようにしてもよい。
 メトリクス収集部120は、消費電力や、CPU使用率等のサーバ5の稼働状況を示す情報(メトリクス)を、省電力化対象のサーバ5から収集する。
 稼働状況を示す情報(メトリクス)は、OS動作情報とアプリケーション動作情報とがあり、CPU使用率やアプリケーション平均レイテンシ等が予め収集するメトリクスとして設定される。
 省電力・性能評価部130は、メトリクス収集部120が収集した、省電力設定の組合せのそれぞれにおける、消費電力および稼働状況を示す情報(メトリクス)を取得する。そして、省電力・性能評価部130は、省電力設定の組合せごとの省電力効果(省電力性評価)と性能リスクを算出し、評価情報(図4)を更新する。
 図4は、本実施形態に係る評価情報300のデータ構成例を示す図である。
 評価情報300は、図4で示すように、省電力設定の組合せを示す「設定」、サーバ5から取得した消費電力を示す「電力」、サーバ5から取得したメトリクスで示される「性能」に対応付けて、「要求性能充足」、「省電力性評価」、「性能リスク」および「総合評価」の情報が格納される。
 「要求性能充足」は、サーバから取得したメトリクスが、図3の性能要求情報200で示される性能要件を満たすか否かが登録される。ここでは、収集したメトリクスのすべてが性能要件を満たす場合に「○」(充足)、一つでも性能要件を満たさないメトリクスがある場合に「×」(未充足)が登録される。
 図4の1行目の省電力設定の組合せが「C-state:enable、P-state:disable」の場合、収集したメトリクスの情報が、「平均レイテンシ:100」「99%ileレイテンシ:200」であるが、図3の性能要求情報200で示される性能要件「アプリケーション平均レイテンシが200ms未満」および「アプリケーション99%ileレイテンシが300ms未満」を満たすため、「要求性能充足」は「○」(充足)となる。
 「省電力性評価」は、省電力効果を評価する値であり、消費電力の値を正規化して求める。一例としては、消費電力をサーバ5の最大電力で除した値を用いる。
 図4の例では、省電力設定の組合せが「C-state:enable、P-state:disable」の場合に、消費電力が「110W」であれば、最大電力を「1000W」とするとき、省電力性評価が「0.11」となる。
 「性能リスク」は、性能要求情報(図3)および収集したメトリクスに基づき、要求性能と実際に収集された性能値との解離度(Y)により求める。
 例えば、CPU使用率の要求上限が50%であるのに対し、実際のCPU使用率が40%であれば、差分10%が余力である。また、Webサーバにおける99%ileレイテンシの要求値が100ms未満であり、実際には60msであれば40msが余力である。これらの余力を正規化したものが安全性であり、その反対の概念が性能リスクである。リスク値が高いということは余力が少ないということであり、処理負荷が変動した際に要求性能を満たさなくなる可能性が高い。性能リスクの計算例としては、上記余力を任意のサーバ最大値で除して0~1の値域をとるように正規化したものをY1,Y2としたときに、以下の式(1)により求める。
   性能リスク = 1-Y1×Y2  ・・・式(1)
 つまり、要求性能の指標ごとに正規化した解離度(余力)を算出し、それらを掛け合わせた値を1から引いた数値を性能リスクとする。
 本実施形態にかかる性能リスクでは、余力が大きいほど性能リスクは小さい値となり、性能上の優位性が高いことを示す。
 図4の1行目の例では、平均レイテンシの乖離程度をY1、99%ileレイテンシの解離程度をY2、としたとき、以下のようになる。なお、レイテンシの最大値を1000msとする。
 Y1=余力(要求200ms-実測100ms)/1000ms=0.1
 Y2=余力(要求300ms-実測200ms)/1000ms=0.1
 これにより、性能リスク= 1-0.1×0.1= 0.99 となる。
 さらに、性能リスクは、より確度を高めるために、省電力設定試行時のサーバ5の負荷により補正を行ってもよい。なお、サーバ5の負荷の情報は、メトリクス収集部120がサーバ5から取得してもよいし、外部装置からサーバ5の負荷の情報を取得してもよい。
 WebサーバにおけるHTTPリクエスト数などのアプリケーション負荷が定量的に観測可能な場合において、負荷が小さい状況で測定した値ほど性能リスクの信頼性が低いといえる。これは、省電力設定を投入しデータ測定を行った時点では、要求性能を満たす結果が得られたとしても、アプリケーション50の使用状況の変化によって負荷が増大した場合に必ずしも要求性能を満たすとは限らないためである。つまり、低い負荷状況で観測された性能評価結果は、その後の負荷増大に対する不確実性を有しており、反対に高い負荷状況で観測された性能評価結果は、それより低い負荷状況に対しては確実性を有している。したがって、測定時の負荷を任意に定める最大負荷で除して正規化した値を負荷補正値として設ける。このときの性能リスクは、以下の式(2)となる。
  性能リスク=1-Y1×Y2×負荷補正値  ・・・式(2)
 ここで、例えば、99%ileレイテンシの解離度をY1、CPU使用率の乖離程度をY2としたときに、以下のようになる。
 Y1=余力(要求300ms-実測200ms)/1000ms=0.05
 Y2=余力(要求50%-実測40%)/100%=0.1
 負荷補正値=測定時負荷100rps/最大負荷1000rps=0.1
 これにより、性能リスク=1-0.05×0.1×0.1=0.9995
 このように性能リスクの確度向上のために補正値を導入することで、測定時の負荷が小さいほど性能リスクが高くなるように補正することができる。
 なお、性能余力Y1とY2が同一の場合に、省電力設定試行時の負荷が大きいほど、低リスクと判定される。
 省電力・性能評価部130は、算出した省電力性評価および性能リスクを用いて、総合評価を行う、つまり、総合評価値を算出する。例えば、省電力・性能評価部130は、省電力性評価と性能リスクが0~1の値域に正規化されているとして、それらの和を総合評価値とする。
 この総合評価値は、省電力効果が高く、性能リスクが低いほど、総合評価値は小さくなる。
 省電力・性能評価部130が、1つの省電力設定の組合せについて、評価情報300(図4)を更新すると、設定変更部110が、省電力設定の試行(評価)が終わっていない他の省電力設定の組合せを選択して、サーバ5に設定することで、同様の省電力設定の組合せの評価処理を行う。そして、省電力・性能評価部130は、省電力設定情報100(図2)で示されるすべての組合せについて、評価情報300の更新を行う。
 省電力設定決定部140は、省電力設定のすべての組合せについての評価情報300(図4)の更新を終えた場合に、要求性能を充足した上で、総合評価の最も高い、つまり、総合評価値が最も小さい省電力設定の組合せを、当該サーバ5に設定する省電力設定として決定する。
 そして、省電力設定決定部140は、決定した省電力設定の情報を、サーバ5へ送信する。
 これにより、サーバ5は、要求性能を充足した上で、最も省電力効果の高い省電力設定で、アプリケーション50を実行することができる。
 なお、省電力設定決定部140は、最適な省電力設定後に、ネットワーク環境の変化等により、要求性能を充足しないこととなった場合には、評価情報300を参照し、要求性能を満たす他の省電力設定の組合せに変更する機能を備える。このとき、省電力設定決定部140は、現時点の省電力設定の組合せを、要求性能を満たし、かつ総合評価の最も高い省電力設定の組合せに変更するようにしてもよい。このように、要求性能を充足する省電力設定に即座に変更することにより、省電力制御装置1は、運用中のサービスの品質影響を最小化することができる。
 例えば、図5で示す評価情報300の3行目で示される省電力設定の組合せでサービスを運用していた場合に、メトリクス収集部120が収集した平均レイテンシが210msとなり、性能要件(図3)である200ms未満を満たさなくなったときには、要求性能を充足した上で、最も総合評価の高い(総合評価値が最も低い)、2行目の省電力設定の組合せに変更する。その後、サービスを安定させるために任意の時間待機した上で、省電力化のための設定変更の試行を再開する。
 このようにすることで、省電力制御装置1は、サーバ5によりサービスが提供されている最中において、要求性能を満たした上で、最も省電力効果の高い省電力設定の組合せを実行するオンライン最適化を実現することができる。
≪省電力制御装置の処理≫
 次に、省電力制御装置1が実行する処理を説明する。
 図6は、本実施形態に係る省電力制御装置1が実行する処理の流れを示すフローチャートである。
 まず、省電力制御装置1の設定変更部110は、省電力設定情報(図2)を参照し、未試行(未評価)の省電力設定の組合せのうちの一つを選択する(ステップS1)。そして、設定変更部110は、その省電力設定の組合せの情報をサーバ5に送信することにより、サーバ5に設定する。
 次に、省電力制御装置1のメトリクス収集部120は、消費電力や、CPU使用率等のサーバ5の稼働状況を示す情報(メトリクス)を、省電力化対象のサーバ5から収集する(ステップS2)。
 続いて、省電力制御装置1の省電力・性能評価部130は、メトリクス収集部120が収集した、省電力設定の組合せのそれぞれにおける、消費電力および稼働状況を示す情報(メトリクス)を取得する。そして、省電力・性能評価部130は、省電力設定の組合せごとに、評価情報300(図4)を更新する(ステップS3)。
 具体的には、省電力・性能評価部130は、収集したメトリクスのすべてが性能要件を満たすか否かを判定するとともに、消費電力の値を正規化した「省電力性評価」の値を算出し、性能要求情報(図3)および収集したメトリクスに基づき、「性能リスク」を算出する。また、省電力・性能評価部130は、算出した「省電力性評価」と「性能リスク」を用いて、総合評価(総合評価値)を算出する。
 そして、省電力・性能評価部130は、上記の処理により得られた情報を評価情報300(図4)に格納する。
 続いて、設定変更部110は、省電力設定の試行(評価)が終わっていない他の省電力設定の組合せがあるか否かを判定する(ステップS4:未評価設定あり?)。そして、まだ、省電力設定の試行が終わっていない電力設定の組合せがあれば(ステップS4→Yes)、ステップS1に戻り、処理を続ける。一方、すべての省電力設定の試行が終わっていれば、(ステップS4→No)、次のステップS5へ進む。
 ステップS5において、省電力制御装置1の省電力設定決定部140は、評価情報300(図4)を参照し、要求性能を充足した上で、総合評価の最も高い、つまり、総合評価値が最も小さい省電力設定の組合せを選択し、当該サーバ5に設定する省電力設定として決定する。そして、省電力設定決定部140は、決定した省電力設定の情報を、サーバ5へ送信することにより設定させる。
 このようにすることにより、本実施形態に係る省電力制御装置1は、全省電力設定の組合せに対して評価値を算出し、最も総合評価が高い省電力設定の組合せを選択し、サーバ5に設定することができる。
[変形例1]
 次に、本実施形態に係る省電力制御装置1の変形例1について説明する。
 本実施形態に係る省電力制御装置1(図1)においては、取り得るすべての省電力設定の組合せを試行するものとして説明した。しかしながら、最適な省電力設定の組合せを導出するまでに要する時間を間引く(枝刈りする)仕組みを用いることができる。これは、省電力設定の組合せによっては、省電力性能と各メトリクスで示される性能に事前に序列が見積もれるものがある。つまり、性能が上位の設定が要求性能を満たさないことが明らかになった場合に、その上位の性能より下位の性能は必ず要求性能を満たさないものとなる。そのため、下位の設定を試行から除外することができる。
 例えば、CPU周波数を制御するP-stateガバナには設計思想として明確に、性能優先の制御を行うものと、省電力優先の制御を行うものがある。性能優先のガバナ使用時に要求性能を充足できないことが判明した場合には、それよりさらに性能の低い設定について、省電力優先のガバナは試験をするまでもなく、要求性能を満たさない。
 また、P-stateガバナの中には、任意に指定する観測時間を待機した後にCPU使用率が閾値を下回る場合に周波数を減少させるものがある。この観測時間は長く設定されるほど、性能観点で負荷変動に頑強である。よって、観測時間が長い設定で要求性能を充足できないことが判明した場合には、それよりも短い時間設定では要求性能を満たせないことは明らかである。
 このように、上位の設定が要求性能を違反することが明らかになった場合に、下位の設定を試行から除外する。
 上位設定、下位設定を識別するために、省電力設定情報100(図2)に優先度の情報を付加する。
 図7は、本実施形態に係る省電力設定情報100に優先度の情報を付加した例を示す図である。
 設定変更部110は、省電力設定情報100に付された優先順位(優先度)が高い順に未実施の省電力設定の組合せの設定をサーバ5に投入する。なお、同時に設定可能な複数の省電力設定については、各項目の優先順位を総合して判断するものとし、例えば、組み合わせる各設定の優先順の合計値を用いる。
 具体的には、図7で示すように、CPUのC-state機能の有効化(enable)の優先度が「10」、P-state機能の有効化(enable)の優先度が「20」、ASPMの有効化(enable)の優先度が「40」とした場合には、C-state機能のみの有効化設定(10)、P-state機能のみの有効化設定(20)、C-state機能とP-state機能の有効化設定(10+20=30)、ASPMの有効化設定(40)、C-state機能とASPMの有効化設定(10+40=50)、P-state機能とASPMの有効化設定(20+40=60)、C-state機能とP-state機能とASPMの有効化設定(10+20+40=70)、の順に試行する。
 また、ある優先度の試行において要求性能を満たさないことが確認された場合に、それよりも後段に実施予定であった低優先の試行を中止し、それまでに試行済みの設定の中から最適な省電力設定の組合せを選択する。
 例えば、図7で示すように、優先度21の設定が要求性能を満たさないことが確認された場合に、優先度22以降の設定を試行しないようにする。
 このようにすることで、性能要件を満たさないことにより、選択する可能性のない省電力設定の組合せについての無駄な試行を削減し、最適な省電力設定の導出に要する時間を短縮することができる。
 試行する省電力設定の組合せを間引く(枝刈りする)仕組みとしては、優先度を用いる手法の他に、例えば機械学習を用いる手法を用いてもよい。
 機械学習を用いる手法の場合、事前に、省電力設定の組合せごとに、省電力性評価と性能リスクの評価を収集し、それを用いて、各省電力設定の組合せと、省電力性評価および性能リスクとの関係の推論モデルを生成しておく。新規サービスを省電力化する際には、実際にサーバ5に設定して実測する前に、推論モデルを用いて、各省電力設定の組合せに対応する省電力性評価と、性能リスクの予測値を取得する。そして、性能リスクの予測値が、予め設定した性能リスクの所定の閾値を超えていた場合に、その省電力設定について、実際にサーバ5に設定する評価処理を行わないものとする。
 これにより、省電力制御装置1は、サービス要件に照らして有効な評価結果が期待できない省電力設定の組合せの評価を事前に間引くことが可能となる。
[変形例2]
 次に、本実施形態に係る省電力制御装置1の変形例2について説明する。
 省電力制御装置1の変形例2は、省電力設定の評価結果である評価情報300を、ユーザ端末6へ送信することにより、評価情報300を可視化する機能を有することを特徴とする。
 図8は、本実施形態の変形例2に係る省電力制御装置1(1A)を含む省電力制御システム1000Aの全体構成を示す図である。
 図1で示した省電力制御装置1との違いは、省電力制御装置1Aが、省電力設定決定部140を備えず、可視化機能部150を備えることである。
 可視化機能部150は、省電力設定の評価結果である評価情報300をユーザ端末6へ送信することにより、可視化して提示する。また、可視化機能部150は、ユーザ端末6で提示された評価情報300をユーザが確認することにより、ユーザにサーバ5に設定すする省電力設定の組合せを選択させる。そして、可視化機能部150は、ユーザが選択した省電力設定の組合せに基づき、サーバ5に設定する省電力設定を決定してサーバ5に投入する。
 可視化機能部150を備えることにより、ユーザは省電力設定の評価結果を確認して、省電力設定を自己の判断で選択し、省電力の自動設定に関する機能を停止することができる。例えば、厳格な性能保証が求められるサービスを対象とする場合に、省電力性評価(省電力効果)と性能リスクを総合した総合評価値によって設定を自動的に実行させず、性能リスクが許容されるものかをユーザが逐次確認した上で実行することが可能となる。
 また、可視化機能部150は、お薦めの省電力設定の組合せを表示する機能を備えてもよい。例えば、省電力設定の組合せを省電力性評価(省電力効果)、あるいは性能リスク、総合評価値の降順に表示し、ユーザが省電力設定の組合せごとの特性や優劣を把握すること容易にする。
[変形例3]
 次に、本実施形態に係る省電力制御装置1の変形例3について説明する。
 本実施形態に係る省電力制御装置1(図1)においては、サーバ5がアプリケーション50により、サービスを実行している最中に行うオンライン最適化について説明した。これに対し、変形例3に係る省電力制御装置1(1B)においては、サーバ5によるサービス運用以前の検証期間に、省電力設定の最適化設定処理を行う、オフライン最適化を行う。オフライン最適化は、性能リスクがある省電力設定に対してサービスに影響を与えることなく試行することができる。
 図9は、本実施形態の変形例3に係る省電力制御装置1(1B)を含む省電力制御システム1000Bの全体構成を示す図である。
 図1で示した省電力制御装置1との違いは、省電力制御装置1Bが、疑似負荷部160を備えることである。
 疑似負荷部160は、サーバ5のアプリケーション50に対し疑似負荷を印加する。
 サービス運用中に行うオンライン最適化の場合には、アプリケーション50には常時処理負荷が発生している。一方、サービス運用以前の検証段階で行うオフライン最適化の場合には、アプリケーション50への負荷がないため、各省電力設定の評価を開始する前にアプリケーション50に対する疑似負荷印加を開始する。
 疑似負荷部160による疑似負荷印加は、対象とするアプリケーション50に応じて用意されるものとし、例えば、Webサーバを対象とする場合には、HTTPリクエストを生成するトラフィックジェネレータが該当する。
 疑似負荷部160の機能以外は、本実施形態に係る省電力制御装置1と同様であり、省電力設定のすべての組合せに対して、評価を行った後に、最適な省電力設定を選択してサーバ5に設定する。
 また、疑似負荷の印加について、疑似負荷部160は、各省電力設定の組合せを評価する過程の中で、負荷量を変更して評価精度を向上させるようにしてもよい。疑似負荷部160が複数の負荷量を指定し、その結果として、省電力・性能評価部130が、それぞれの負荷量における、各省電力設定の組合せの評価を行う。その後、省電力・性能評価部130が、負荷量ごとの省電力性評価(省電力効果)と性能リスクの平均を算出し、例えば、それを合計することにより、各省電力設定の組合せの総合評価値を算出する。これにより、負荷量に対する性能リスクと省電力性評価(省電力効果)が単純な線形関係にならない場合においても、複数の負荷条件を考慮した総合的な評価を行うことが可能となる。
≪変形例3に係る省電力制御装置の処理≫
 次に、変形例3に係る省電力制御装置1が実行する処理を説明する。変形例3に係る省電力制御装置1(1B)においては、サーバ5によるサービス運用以前の検証期間に、省電力設定の最適化設定処理を行う、オフライン最適化を行う。
 図10は、本実施形態の変形例3に係る省電力制御装置1(1B)が実行する処理の流れを示すフローチャートである。
 図6で示した処理と同様の処理には、同一のステップ番号を付し、説明を省略する。
 図10で示すように、省電力制御装置1Bの疑似負荷部160は、サーバ5によるサービス運用以前の検証期間において、サーバ5のアプリケーション50に対し疑似負荷を印加する(ステップS11)。
 その後の、ステップS1~S4の処理については、本実施形態に係る省電力制御装置1と同様であり、評価情報300が更新される。
 そして、設定変更部110は、まだ、省電力設定の試行が終わっていない省電力設定の組合せがあれば(ステップS4→Yes)、ステップS1に戻り、処理を続ける。一方、すべての省電力設定の試行が終わっていれば(ステップS4→No)、ステップS12へ進み、疑似負荷の印加を終了する。
 続いて、ステップS5において、省電力設定決定部140が、評価情報300(図4)を参照し、要求性能を充足した上で、総合評価の最も高い、つまり、総合評価値が最も小さい省電力設定の組合せを、当該サーバ5に設定する省電力設定として決定し、サーバ5に設定する。
 このようにすることにより、本実施形態の変形例3に係る省電力制御装置1Bは、サービス運用以前のオフライン時において、サービスに影響を与えることなく、全省電力設定の組合せに対して評価値を算出し、最も総合評価が高い省電力設定の組合せを選択し、サーバ5に設定することができる。
<ハードウェア構成>
 本実施形態に係る省電力制御装置1,1A,1Bは、例えば図11で示すような構成のコンピュータ900によって実現される。
 図11は、本実施形態に係る省電力制御装置1,1A,1Bの機能を実現するコンピュータ900の一例を示すハードウェア構成図である。コンピュータ900は、CPU901、ROM(Read Only Memory)902、RAM903、HDD(Hard Disk Drive)904、入出力I/F(Interface)905、通信I/F906およびメディアI/F907を有する。
 CPU901は、ROM902またはHDD904に記憶されたプログラム(省電力制御プログラム)に基づき作動し、制御部10(図1)による制御を行う。ROM902は、コンピュータ900の起動時にCPU901により実行されるブートプログラムや、コンピュータ900のハードウェアに係るプログラム等を記憶する。
 CPU901は、入出力I/F905を介して、マウスやキーボード等の入力装置910、および、ディスプレイやプリンタ等の出力装置911を制御する。CPU901は、入出力I/F905を介して、入力装置910からデータを取得するともに、生成したデータを出力装置911へ出力する。なお、プロセッサとしてCPU901とともに、GPU(Graphics Processing Unit)等を用いても良い。
 HDD904は、CPU901により実行されるプログラムおよび当該プログラムによって使用されるデータ等を記憶する。通信I/F906は、通信網(例えば、NW(Network)920)を介して他の装置からデータを受信してCPU901へ出力し、また、CPU901が生成したデータを、通信網を介して他の装置へ送信する。
 メディアI/F907は、記録媒体912に格納されたプログラム(省電力制御プログラム)またはデータを読み取り、RAM903を介してCPU901へ出力する。CPU901は、目的の処理に係るプログラムを、メディアI/F907を介して記録媒体912からRAM903上にロードし、ロードしたプログラムを実行する。記録媒体912は、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto Optical disk)等の光磁気記録媒体、磁気記録媒体、半導体メモリ等である。
 例えば、コンピュータ900が本発明の省電力制御装置1,1A,1Bとして機能する場合、コンピュータ900のCPU901は、RAM903上にロードされたプログラムを実行することにより、省電力制御プログラムの機能を実現する。また、HDD904には、RAM903内のデータが記憶される。CPU901は、目的の処理に係るプログラムを記録媒体912から読み取って実行する。この他、CPU901は、他の装置から通信網(NW920)を介して目的の処理に係るプログラムを読み込んでもよい。
<効果>
 以下、本発明に係る省電力制御装置等の効果について説明する。
 本発明に係る省電力制御装置は、サーバ5の最適な省電力設定を選択する省電力制御装置1であって、サーバ5に設定可能な省電力設定の組合せを示す省電力設定情報100、並びに、サーバ5およびサーバ5上で稼働するアプリケーション50の要求性能を示す性能要求情報200が記憶される記憶部12と、省電力設定情報100を参照して、サーバ5に省電力設定の各組合せを設定する設定変更部110と、省電力設定の組合せごとの、サーバ5の消費電力とサーバ5の稼働状況を示すメトリクスとを収集するメトリクス収集部120と、省電力設定の組合せごとに、収集した消費電力と、メトリクスで示される性能および性能要求情報200で示される要求性能により算出される性能リスクとを用いて総合評価することにより、省電力設定の各組合せのうちから、サーバ5に設定する省電力設定の組合せを選択する省電力・性能評価部130と、を備えることを特徴とする。
 このようにすることにより、省電力制御装置1は、コンピュータに対する高い熟練と人手をかけた試行錯誤を伴わず、アプリケーション50が稼働するサーバ5に応じた最適な省電力設定の組合せを選択することができる。
 また、省電力制御装置1の性能リスクが、性能要求情報200で示される要求性能と、メトリクスで示される性能との差分を余力とし、余力が大きいほど性能リスクが低くなるように算出されることを特徴とする。
 このようにすることにより、省電力制御装置1は、性能リスクを、余力が大きいほど性能リスクを低く算出し、余力が小さいほど性能リスクを高く算出するようにして、サーバ5の性能を評価することが可能となる。
 また、省電力制御装置1の性能リスクは、サーバ5の稼働状況を示すメトリクスの収集時に、サーバ5にかかる負荷が小さいほど、高く算出されることを特徴とする。
 これにより、省電力制御装置1は、負荷が低い状況で測定した性能リスクほど不確実性を有しており、負荷が高い状況で測定した値ほど確実性を有していることを反映して、より適正な性能評価を算出することが可能となる。
 また、省電力制御装置1は、省電力・性能評価部130が選択した省電力設定の組合せを、サーバ5に設定する省電力設定決定部140をさらに備え、省電力設定決定部140は、サーバ5上でアプリケーション50を稼働している際に、メトリクス収集部120が収集したメトリクスで示される性能が、性能要求情報200で示される要求性能を満たさないものとなった場合に、現時点の省電力設定の組合せを、要求性能を満たす他の省電力設定の組合せに変更することを特徴とする。
 このようにすることで、省電力制御装置1は、サーバ5によりサービスが提供されている最中において要求性能を満たさなくなった場合であっても、現時点の省電力設定の組合せを、より低リスクの省電力設定の組合せに変更し、運用中サービスの品質影響を抑えることができる。
 また、省電力制御装置1において、省電力設定情報100には、省電力設定ごとに性能に応じた優先度が付されており、設定変更部110は、優先度に従って省電力設定の組合せを順にサーバ5に設定し、当該設定した省電力設定の組合せにおいて収集したメトリクスで示される性能が、性能要求情報200で示される要求性能を満たさない場合に、要求性能を満たさない場合の優先度よりも下位の優先度が付された省電力設定の組合せの設定は行わないことを特徴とする。
 このようにすることで、省電力制御装置1は、要求性能を満たさないことにより、選択する可能性のない省電力設定の組合せについての無駄な試行を削減し、最適な省電力設定の導出に要する時間を短縮することができる。
 また、省電力制御装置1(1B)において、サーバ5のアプリケーション50に対し疑似負荷を印加する疑似負荷部160をさらに備え、アプリケーション50によるサービス運用前に、疑似負荷部160によりアプリケーション50に対し疑似負荷を印加することにより、メトリクス収集部120が、省電力設定の各組合せについての消費電力とメトリクスとを収集することを特徴とする。
 このようにすることで、省電力制御装置1(1B)は、サービス運用以前のオフライン時において、サービスに影響を与えることなく、省電力設定の各組合せに対して評価値を算出し、最適な省電力設定の組合せを選択してサーバ5に設定することができる。
 なお、本発明は、以上説明した実施形態に限定されるものではなく、多くの変形が本発明の技術的思想内で当分野において通常の知識を有する者により可能である。
 1,1A,1B 省電力制御装置
 5   サーバ
 6   ユーザ端末
 10  制御部
 11  入出力部
 12  記憶部
 50  アプリケーション(App)
 51  メトリクス取得部
 52  省電力設定部
 100 省電力設定情報
 110 設定変更部
 120 メトリクス収集部
 130 省電力・性能評価部
 140 省電力設定決定部
 150 可視化機能部
 160 疑似負荷部
 200 性能要求情報
 300 評価情報
 1000,1000A,1000B 省電力制御システム

Claims (8)

  1.  サーバの最適な省電力設定を選択する省電力制御装置であって、
     前記サーバに設定可能な省電力設定の組合せを示す省電力設定情報、並びに、前記サーバおよび前記サーバ上で稼働するアプリケーションの要求性能を示す性能要求情報が記憶される記憶部と、
     前記省電力設定情報を参照して、前記サーバに省電力設定の各組合せを設定する設定変更部と、
     前記省電力設定の組合せごとの、前記サーバの消費電力と前記サーバの稼働状況を示すメトリクスとを収集するメトリクス収集部と、
     前記省電力設定の組合せごとに、収集した消費電力と、メトリクスで示される性能および前記性能要求情報で示される要求性能により算出される性能リスクとを用いて総合評価することにより、前記省電力設定の各組合せのうちから、前記サーバに設定する省電力設定の組合せを選択する省電力・性能評価部と、
     を備えることを特徴とする省電力制御装置。
  2.  前記性能リスクは、前記性能要求情報で示される要求性能と、前記メトリクスで示される性能との差分を余力とし、余力が大きいほど性能リスクが低くなるように算出されること
     を特徴とする請求項1に記載の省電力制御装置。
  3.  前記性能リスクは、前記サーバの稼働状況を示すメトリクスの収集時に、前記サーバにかかる負荷が小さいほど、高く算出されること
     を特徴とする請求項2に記載の省電力制御装置。
  4.  前記省電力・性能評価部が選択した省電力設定の組合せを、前記サーバに設定する省電力設定決定部をさらに備え、
     前記省電力設定決定部は、
     前記サーバ上で前記アプリケーションを稼働している際に、前記メトリクス収集部が収集したメトリクスで示される性能が、前記性能要求情報で示される要求性能を満たさないものとなった場合に、現時点の省電力設定の組合せを、前記要求性能を満たす他の省電力設定の組合せに変更すること
     を特徴とする請求項1に記載の省電力制御装置。
  5.  前記省電力設定情報には、省電力設定ごとに性能に応じた優先度が付されており、
     前記設定変更部は、前記優先度に従って省電力設定の組合せを順に前記サーバに設定し、当該設定した省電力設定の組合せにおいて収集したメトリクスで示される性能が、前記性能要求情報で示される要求性能を満たさない場合に、前記要求性能を満たさない場合の優先度よりも下位の優先度が付された省電力設定の組合せの設定は行わないこと
     を特徴とする請求項1に記載の省電力制御装置。
  6.  前記サーバのアプリケーションに対し疑似負荷を印加する疑似負荷部をさらに備え、
     前記アプリケーションによるサービス運用前に、前記疑似負荷部により前記アプリケーションに対し疑似負荷を印加することにより、前記メトリクス収集部が、省電力設定の各組合せについての前記消費電力と前記メトリクスとを収集すること
     を特徴とする請求項1に記載の省電力制御装置。
  7.  サーバの最適な省電力設定を選択する省電力制御装置の省電力制御方法であって、
     前記省電力制御装置は、
     前記サーバに設定可能な省電力設定の組合せを示す省電力設定情報、並びに、前記サーバおよび前記サーバ上で稼働するアプリケーションの要求性能を示す性能要求情報が記憶される記憶部を備えており、
     前記省電力設定情報を参照して、前記サーバに省電力設定の各組合せを設定するステップと、
     前記省電力設定の組合せごとの、前記サーバの消費電力と前記サーバの稼働状況を示すメトリクスとを収集するステップと、
     前記省電力設定の組合せごとに、収集した消費電力と、メトリクスで示される性能および前記性能要求情報で示される要求性能により算出される性能リスクとを用いて総合評価することにより、前記省電力設定の各組合せのうちから、前記サーバに設定する省電力設定の組合せを選択するステップと、
     を実行することを特徴とする省電力制御方法。
  8.  コンピュータを、請求項1ないし請求項6のいずれか一項に記載の省電力制御装置として機能させるための省電力制御プログラム。
PCT/JP2024/019420 2024-05-27 2024-05-27 省電力制御装置、省電力制御方法、および、省電力制御プログラム Pending WO2025248596A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2024/019420 WO2025248596A1 (ja) 2024-05-27 2024-05-27 省電力制御装置、省電力制御方法、および、省電力制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2024/019420 WO2025248596A1 (ja) 2024-05-27 2024-05-27 省電力制御装置、省電力制御方法、および、省電力制御プログラム

Publications (1)

Publication Number Publication Date
WO2025248596A1 true WO2025248596A1 (ja) 2025-12-04

Family

ID=97869772

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2024/019420 Pending WO2025248596A1 (ja) 2024-05-27 2024-05-27 省電力制御装置、省電力制御方法、および、省電力制御プログラム

Country Status (1)

Country Link
WO (1) WO2025248596A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146207A (ja) * 2008-12-17 2010-07-01 Canon Inc サービス割り当て方法及びそれを実現する情報処理装置
JP2011204128A (ja) * 2010-03-26 2011-10-13 Nomura Research Institute Ltd 運用管理装置および運用管理方法
JP2013092951A (ja) * 2011-10-27 2013-05-16 Hitachi Ltd 情報処理システム、その省電力制御方法、及び装置
JP2016110240A (ja) * 2014-12-03 2016-06-20 日本電信電話株式会社 電源制御装置、サーバ仮想化システム、および、電源制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146207A (ja) * 2008-12-17 2010-07-01 Canon Inc サービス割り当て方法及びそれを実現する情報処理装置
JP2011204128A (ja) * 2010-03-26 2011-10-13 Nomura Research Institute Ltd 運用管理装置および運用管理方法
JP2013092951A (ja) * 2011-10-27 2013-05-16 Hitachi Ltd 情報処理システム、その省電力制御方法、及び装置
JP2016110240A (ja) * 2014-12-03 2016-06-20 日本電信電話株式会社 電源制御装置、サーバ仮想化システム、および、電源制御方法

Similar Documents

Publication Publication Date Title
US8010815B2 (en) Computational device power-savings
US8315171B2 (en) Adaptive management of computing resources
US9251027B2 (en) Information handling system performance optimization system
US9047083B2 (en) Reducing power consumption in a server cluster
CN107533479B (zh) 功率知晓调度和功率管理器
JP5246673B2 (ja) コンピュータの電力消費を管理する方法、コンピュータ・システム及びコンピュータ・プログラム
US9306814B1 (en) Providing instance availability information
US8677160B2 (en) Managing power consumption of a computer
WO2013066539A1 (en) Controlling a turbo mode frequency of a processor
US11397613B2 (en) Process prioritization for information handling systems
Li et al. CSL-driven and energy-efficient resource scheduling in cloud data center: H. Li et al.
US20220113785A1 (en) Service-level feedback-driven power management framework
Rasouli et al. EPBLA: energy-efficient consolidation of virtual machines using learning automata in cloud data centers
US9195514B2 (en) System and method for managing P-states and C-states of a system
Wu et al. Towards resource efficiency: Practical insights into large-scale spark workloads at bytedance
CN109783304A (zh) 一种数据中心的节能调度方法及对应装置
US20240163228A1 (en) Resource allocation update device, resource allocation update method, program, and virtual machine/container control system
JP2016110240A (ja) 電源制御装置、サーバ仮想化システム、および、電源制御方法
CN116301285A (zh) 散热控制方法及服务器
JP2019109600A (ja) 情報処理装置、計算機制御方法、および計算機制御プログラム
Wang et al. Policy-based SLA-aware cloud service provision framework
CN117667361B (zh) 一种分布式协同仿真架构实现方法及装置
EP4738120A1 (en) Energy monitoring and optimization system
Noguchi et al. Application-Independent DVFS Method Based on OS Metrics Monitoring for Cloud Servers
JP7859510B2 (ja) 動作モード設定装置、動作モード設定方法、動作モード設定プログラムおよびシステム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24941841

Country of ref document: EP

Kind code of ref document: A1