Minimum frequency control device and minimum frequency control method

The minimum frequency control device addresses the contradiction in conventional CPU power-saving strategies by dynamically adjusting CPU frequency based on real-time load analysis, optimizing power consumption and performance.

WO2026088352A1PCT designated stage Publication Date: 2026-04-30NT T INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/037812
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-10-23
Publication Date
2026-04-30

AI Technical Summary

Technical Problem

Conventional CPU power-saving strategies face a contradiction between maintaining deep hibernation and low operating frequencies, leading to either prolonged processing times or delays in resuming operations, as they are unable to effectively balance power consumption and performance.

Method used

A minimum frequency control device that analyzes real-time load patterns and adjusts CPU frequency based on predetermined reference conditions, using measurement information to calculate and apply change values for optimal power consumption and performance through a CPU minimum frequency setting unit.

Benefits of technology

The device achieves reduced CPU power consumption while maintaining performance by dynamically adjusting CPU frequency in response to load changes, optimizing power usage and processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024037812_30042026_PF_FP_ABST
    Figure JP2024037812_30042026_PF_FP_ABST
Patent Text Reader

Abstract

This minimum frequency control device (100) comprises: a measurement information analysis unit (130) that, on the basis of a reference condition, analyzes real-time measurement information to monitor a load pattern, triggers a pull-up event when the load pattern transitions from not conforming to said reference condition to conforming thereto, and triggers a reset event when the load pattern transitions from conforming to said reference condition to not conforming thereto; and a CPU minimum frequency setting unit (140) that, on the basis of the real-time measurement information and CPU characteristic information (300) calculated from measurement information measured in a test in which a CPU load is applied to a control target server (200), inputs a change value of a CPU minimum frequency to the control target server at the timing of each event.
Need to check novelty before this filing date? Find Prior Art

Description

Minimum frequency control device and minimum frequency control method

[0001] The present invention relates to a minimum frequency control device and a minimum frequency control method, and more particularly to a minimum frequency control device and a minimum frequency control method that control the minimum frequency of a CPU to be controlled in order to save power.

[0002] Power saving strategies for the CPU (Central Processing Unit) are primarily achieved through two technical approaches called "pause control" and "DVFS (Dynamic Voltage and Frequency Scaling)" (Non-Patent Literature 1). Of these, pause control is a technology that controls the sleep state of the CPU. One representative implementation of this is the CPUIdle subsystem included in the Linux® kernel (Non-Patent Literature 2).

[0003] Furthermore, DVFS is a technology for controlling the operating frequency of the CPU. One representative implementation is the CPUFreq subsystem included in the Linux (registered trademark) kernel (Non-Patent Literature 3). The CPUFreq subsystem defines two abstraction layers: a scaling governor and a scaling driver. These calculate and apply the CPU operating frequency based on several user-adjustable parameters.

[0004] Mikio Sumitani, “Challenges and Solutions for Low-Power Design Technology of SOCs - Towards Compatibility with Improved Design Productivity -”, JEITA Semiconductor Technology Roadmap Expert Committee Design Working Group, March 5, 2009, [online], [Retrieved August 1, 2024], Internet <URL: https: / / semicon.jeita.or.jp / STRJ / STRJ / 2008 / 5B_Design.pdf> RJ Wysocki, “CPU Idle Time Management,” The Linux Kernel documentation 6.10.0, Intel Corporation, 2018, [online], [Retrieved August 1, 2024], Internet <URL: https: / / www.kernel.org / doc / html / latest / admin-guide / pm / cpuidle.html> RJ Wysocki, “CPU Performance Scaling,” The Linux Kernel documentation 6.10.0, Intel Corporation, 2017, [online], [Retrieved August 1, 2024], Internet <URL: https: / / www.kernel.org / doc / html / latest / admin-guide / pm / cpufreq.html>

[0005] In CPUs, maintaining both deep hibernation and low operating frequencies for extended periods is desirable from a power-saving strategy, but these conventional techniques are contradictory. For example, if a CPU operates at a performance level that enables it to complete processing within a predetermined time, a long period of low CPU operating frequency will result in longer processing times. Therefore, in this case, the hibernation state may become shallow and short. Conversely, a long period of deep hibernation will result in delays in resuming processing. Furthermore, even after resuming, it is difficult to complete processing within the predetermined time while maintaining a low operating frequency.

[0006] Therefore, in view of the above circumstances, the objective of the present invention is to enable both the suppression of CPU power consumption and the maintenance of performance.

[0007] The minimum frequency control device according to the present invention is characterized by comprising: a measurement information analysis unit that analyzes measurement information relating to the real-time load amount of a controlled object based on a predetermined reference condition of a load pattern according to the controlled object, monitors the real load pattern by analyzing measurement information relating to the real load amount of the controlled object, fires an up event when the real load pattern transitions from non-conforming to conforming with respect to the reference condition of the load pattern, and fires a reset event when the real load pattern transitions from conforming to non-conforming with respect to the reference condition of the load pattern; and a CPU minimum frequency setting unit that calculates a change value for the CPU minimum frequency of the controlled object at the timing of the up event and the reset event, based on CPU characteristic information calculated from measurement information measured in advance in a test in which a predetermined CPU load is applied to the controlled object and the real-time measurement information, and inputs the change value to the controlled object.

[0008] According to the present invention, it is possible to achieve both reduced CPU power consumption and maintenance of performance.

[0009] This is a schematic diagram of a server system including a minimum frequency control device according to an embodiment of the present invention. This is a flowchart showing the processing flow in the preparation stage of the minimum frequency control device. This is a flowchart showing the processing flow in the operation stage of the minimum frequency control device. This is a state transition diagram schematically showing the method for updating the coefficients used in the preparation stage of the minimum frequency control device. This is a graph schematically showing the composite function used in the minimum frequency control device. This is a diagram schematically showing the dependencies between each function and parameter used in the minimum frequency control device. This is a graph schematically showing the first stage of modeling the function of power consumption increase. This is a graph schematically showing the second stage of modeling the function of power consumption increase. This is a graph schematically showing the third stage of modeling the function of power consumption increase. This is a graph schematically showing the first stage of modeling the function of speed improvement rate. This is a graph schematically showing the second stage of modeling the function of speed improvement rate. This is a graph schematically showing the third stage of modeling the function of speed improvement rate. This is a graph schematically showing the modeling of the function of power consumption reduction. This is a schematic diagram of a server system according to a modified example of the present invention. This is a hardware configuration diagram showing an example of a computer that implements the functions of the minimum frequency control device according to the embodiment.

[0010] The minimum frequency control device according to this embodiment will be described with reference to the drawings, and a detailed explanation will be provided in the following 21 chapters, with each chapter referring to the others: Chapters 1-3: System configuration, Chapters 4-5: Processing flow, Chapters 6-16: Processing details, Chapters 17-19: Modified examples, Chapter 20: Hardware configuration, Chapter 21: Effects.

[0011] [1. Outline of Server System 1] The server system 1 shown in Figure 1 comprises a minimum frequency control device 100 and a controlled server 200. The minimum frequency control device 100 obtains two functions related to power consumption by performing regression analysis on the results of two tests (Test A and Test B) shown in Chapter 12. The two functions related to power consumption are a function that determines the amount of power consumption reduction due to increased rest time (C-State) and a function that determines the amount of power consumption increase due to increased operating frequency (P-State). Hereinafter, the coefficients and parameters of each function will be referred to as CPU characteristic information 300. This CPU characteristic information 300 is calculated from measurement information measured in advance in a test in which a predetermined CPU load is applied to the controlled server 200. Details are described in Chapters 14 to 16.

[0012] As shown in Figure 1, the minimum frequency control device 100 includes a CPU characteristic calculation unit 110, a CPU characteristic information storage unit 120, a measurement information analysis unit 130, and a CPU minimum frequency setting unit 140. The CPU characteristic calculation unit 110 acquires and calculates CPU characteristic information 300 and CPU specifications, and stores the results in the CPU characteristic information storage unit 120.

[0013] The CPU characteristics information storage unit 120 stores CPU characteristics information and CPU specifications. The CPU characteristics information storage unit 120 also stores the reference conditions for load patterns. Here, the reference conditions are load patterns that are expected to have a power-saving effect, and are also called specific CPU load patterns. The reference conditions are predetermined according to the controlled server 200.

[0014] The measurement information analysis unit 130 refers to the reference conditions for load patterns stored in the CPU characteristic information storage unit 120. The measurement information analysis unit 130 analyzes the measurement information 400 and monitors the real load pattern. The measurement information 400 is information measured regarding the real-time load amount of the controlled server 200. The measurement information analysis unit 130 discovers a specific CPU load pattern and determines whether it meets the conditions. The measurement information analysis unit 130 fires an up event when the real load pattern transitions from non-conforming to conforming to the reference conditions for the load pattern. The measurement information analysis unit 130 fires a reset event when the real load pattern transitions from conforming to non-conforming to the reference conditions for the load pattern.

[0015] The CPU minimum frequency setting unit 140 calculates the change value of the CPU minimum frequency of the controlled server 200 at the timing of the pull-up event and reset event, based on the CPU characteristic information 300 and the real-time measurement information 400. The CPU minimum frequency setting unit 140 then inputs the change value of the CPU minimum frequency to the controlled server 200.

[0016] [2. Controlled Server] The controlled server 200 comprises a CPU 210, an OS (operating system) 220, an application 230, and an operation unit 240. Here, the application is labeled "App" in the diagram. The operation unit 240 is a resident application that receives instructions from the minimum frequency control device 100 and has the authority to directly issue commands to the OS 220 and hardware (CPU 210) of the controlled server 200.

[0017] The operation unit 240 notifies the minimum frequency control device 100 of the load amount, such as the processing load of the CPU 210, as real-time measurement information 400. The operation unit 240 is configured to be able to cooperate firmly with at least the CPU minimum frequency setting unit 140 of the minimum frequency control device 100. The CPU minimum frequency setting unit 140 inputs the CPU minimum frequency setting to the controlled server 200 via the operation unit 240. The CPU minimum frequency setting unit 140 can also operate the CPU minimum frequency only when a power saving effect can be expected, and disable the operation otherwise.

[0018] The operation unit 240 is preferably configured to be able to cooperate firmly with the CPU characteristics calculation unit 110 of the minimum frequency control device 100, as shown in Chapter 13. The operation unit 240 is installed on the controlled server 200 before the minimum frequency control device 100 starts operating.

[0019] [3. Outline of each part of the minimum frequency control device] The CPU characteristic calculation unit 110 performs the following functions in the preparation stage for processing by the minimum frequency control device 100. The CPU characteristic calculation unit 110 calculates CPU characteristic information 300 by formulating the real-time power consumption characteristics of the controlled server 200 from the measurement information measured in the test. Before the controlled server 200 is put into operation, the CPU characteristic calculation unit 110 works in cooperation with the controlled server 200 to acquire the load pattern expected during the operation of the controlled server 200 and determines the reference conditions for the load pattern.

[0020] The CPU characteristic information storage unit 120 performs its function during the preparation and operation phases of processing by the minimum frequency control device 100.

[0021] The measurement information analysis unit 130 performs the following functions during the operational phase of processing by the minimum frequency control device 100. The measurement information analysis unit 130 identifies CPU-bound processing as a real load pattern from the characteristics that appear during the real-time calculation processing of the controlled server 200. CPU-bound processing refers to processing that is heavy enough to be limited by the performance of the CPU. Examples include image processing, encryption processing, and compression processing. When the conditions are met, the measurement information analysis unit 130 instructs the CPU minimum frequency setting unit 140 to perform a frequency increase event. When the conditions are no longer met, the measurement information analysis unit 130 instructs the CPU minimum frequency setting unit 140 to perform a frequency reset event.

[0022] The CPU minimum frequency setting unit 140 performs the following functions during the operational phase of processing by the minimum frequency control device 100. When the CPU minimum frequency setting unit 140 receives notification of an upscaling event, it solves an optimization problem using the pre-formulated real-time power consumption characteristics of the controlled server 200 and the real-time CPU metrics of the controlled server 200 to determine the minimum CPU frequency that can minimize power consumption. The CPU metrics include, for example, CPU utilization. The CPU minimum frequency setting unit 140 refers to the formulated power consumption characteristics stored in the CPU characteristic information storage unit 120.

[0023] The CPU minimum frequency setting unit 140 receives an event notification from the measurement information analysis unit 130 and sends the CPU minimum frequency setting to the controlled server 200. The CPU minimum frequency setting unit 140 receives a frequency increase event and determines the minimum frequency based on information from the CPU characteristic information storage unit 120. The CPU minimum frequency setting unit 140 receives a frequency reset event and obtains the minimum frequency of the CPU specifications from the CPU characteristic information storage unit 120.

[0024] [4. Preparation Stage Processing of the Minimum Frequency Control Device] After performing preparation stage processing, the minimum frequency control device 100 executes operation stage processing. In summary, in the preparation stage, the minimum frequency control device 100 calculates CPU characteristic information 300 and stores the results in the CPU characteristic information storage unit 120. Then, in the operation stage, the minimum frequency control device 100 discovers a load pattern based on the CPU characteristic information 300 and controls the CPU minimum frequency.

[0025] Next, the operation of the minimum frequency control device 100 during the preparation stage will be explained with reference to Figure 2 (and Figure 1 as appropriate). First, the minimum frequency control device 100 determines a load pattern that is expected to have a power-saving effect (step S101). Details are described in Chapter 6. Then, the minimum frequency control device 100 models the power consumption (step S102). Details are described in Chapters 14 to 16. Then, the minimum frequency control device 100 stores the load pattern determined in step S101, the CPU characteristic information 300, and the CPU specifications in the CPU characteristic information storage unit 120 (step S103).

[0026] [5. Operational Phase Processing] Next, the operation of the minimum frequency control device 100 during the operational phase will be explained with reference to Figure 3 (and Figure 1 as appropriate). The measurement information analysis unit 130 of the minimum frequency control device 100 acquires a load pattern that is expected to have a power saving effect from the CPU characteristic information storage unit 120 (step S201). Then, the measurement information analysis unit 130 monitors the controlled server 200 based on the load pattern information acquired in step S201. The measurement information analysis unit 130 executes a monitoring loop until the OS of the controlled server 200 shuts down (steps S202 to S207). The execution interval of the monitoring loop can be set to any time.

[0027] Within the monitoring loop, first, the measurement information analysis unit 130 determines whether or not the conditions are met (step S203). The measurement information analysis unit 130 then finds a matching pattern, and if continuity is recognized, for example, during a transition from a condition non-meeting state to a condition meeting state (step S203: Yes), it fires a frequency increase event (step S204). On the other hand, the measurement information analysis unit 130 fires a frequency reset event when the matching pattern ends or there is no continuity, i.e., during a transition from a condition meeting state to a condition non-meeting state (step S203: No) (step S205). The CPU minimum frequency setting unit 140 then receives each event and determines (changes) the minimum frequency from the CPU characteristic information 300 and the measurement information 400 (step S206). The minimum frequency control device 100 then sends the determined CPU minimum frequency (changed value) to the controlled server 200 (step S207).

[0028] [6. Determination of Load Pattern (Preparation Stage: S101)] Details of the process will be explained from Chapter 6 onwards. Here, the details of the load pattern determination process (preparation stage: S101) will be explained. In the process of step S101, the minimum frequency control device 100 determines a load pattern that can be expected to have a power saving effect according to the application configuration on the server. In the control that increases the minimum CPU frequency executed by the minimum frequency control device 100, a power saving effect can be expected by the following (first condition) and (second condition). (First condition) A load pattern that is CPU-bound and has a continuous load. (Second condition) A load amount that is low to medium load. Note that low to medium load means, for example, a CPU usage rate of 30% or less.

[0029] The minimum frequency control device 100 has an arbitrary method set in the load pattern determination step (step S101) for quantitatively evaluating the above-mentioned (first condition) and (second condition). For example, CPU usage rate and IPC can be used to determine a CPU-bound load pattern. IPC (Instructions Per Cycle) indicates the number of instructions executed per cycle.

[0030] Specifically, a load pattern in which the IPC is maintained at, for example, 1.5 or higher when the CPU usage is at or below a moderate load corresponds to a load pattern in which power saving effects can be expected. The CPU usage and IPC should be arbitrarily set based on the actual load being operated on the controlled server 200. The load pattern determined here will serve as the basis for the processing in step S203 (determination of whether or not the conditions are met) when the measurement information analysis unit 130 monitors the controlled server 200 during the operation phase.

[0031] [7. Load Pattern Discovery (Operational Stage: S203)] Next, the details of load pattern discovery (operational stage: S203) will be explained. The measurement information analysis unit 130 of the minimum frequency control device 100 monitors, at arbitrary time intervals, whether the load being executed on the controlled server 200 matches the standard conditions of the load pattern, based on the measurement information 400.

[0032] If, for example, in the load pattern determination process (preparation stage: S101), CPU usage rate and IPC are used to determine a CPU-bound load pattern, the measurement information analysis unit 130 should monitor CPU usage rate and IPC in the real measurement information 400.

[0033] Furthermore, since these values ​​are affected by changes in the minimum CPU frequency, it is desirable to take this effect into consideration. As one example of a method for considering this effect, one may adopt a method in which each value is multiplied by the coefficient α shown in equation (1) below as the monitoring reference value (CPU usage, IPC).

[0034]

[0035] The coefficient α is a coefficient corresponding to the increase in the minimum CPU frequency. The numerator on the right-hand side of equation (1) represents the operating frequency (averaged over an arbitrary number of seconds) immediately before the state transition. The denominator on the right-hand side of equation (1) represents the operating frequency (averaged over an arbitrary number of seconds) immediately after the minimum frequency update. The coefficient α is a time-related parameter. In this case, the monitoring reference value is expressed by the following equations (1a) and (1b).

[0036] (Example of the first baseline value) CPU usage = α × (CPU usage based on the determined load pattern) ... (1a) (Example of the second baseline value) IPC = α × (IPC based on the determined load pattern) ... (1b)

[0037] The measurement information analysis unit 130 fires each event when it finds a matching pattern and recognizes its continuity. In other words, the CPU minimum frequency setting unit 140 changes the minimum frequency when it recognizes the continuity of the load pattern. If the monitoring reference values ​​are, for example, CPU usage and IPC, the criteria for determining whether or not there is continuity in the load pattern can also be, for example, the moving average of CPU usage and the moving average of IPC. The moving average is a time-related parameter. In this specification, each time-related parameter is also related to the parameters described in Chapter 19.

[0038] The monitoring time interval for the load pattern, that is, the execution interval of the monitoring loop (steps S202 to S207) by the measurement information analysis unit 130, can be set to any time (e.g., 30 seconds). Preferably, the monitoring time interval is determined according to the frequency and amount of load fluctuations of the controlled server 200.

[0039] The following parameters p1 and p2 are determined in relation to the monitoring time interval: (Parameter p1): A representative value of each operating frequency used when deriving the coefficient α shown in equation (1) (a coefficient corresponding to the increase in the minimum CPU frequency). (Parameter p2): The moving average interval used to determine the continuity of the load pattern. Note that the moving average interval is a parameter related to time.

[0040] [8. Coefficient α Used for Monitoring Load Patterns] Next, the coefficient α used for monitoring load patterns will be explained with reference to Figure 4. Figure 4 is a state transition diagram of the coefficient α multiplied by the monitoring reference value, that is, the coefficient α shown in equation (1). In Figure 4, "&&" indicates a logical operator that performs an action if both of the conditions written before and after it are met. "||" indicates a logical operator that performs an action if either of the conditions written before and after it is met. "entry" is a label that indicates the action to be performed when transitioning to that state. "do" is a label that indicates the action to be performed while in that state.

[0041] First, when the condition non-conforming state 510 begins, the measurement information analysis unit 130 updates the coefficient "α" to 1. When the conditions of "pattern detected" and "continuity present" are met while in the condition non-conforming state 510, the system transitions to the condition conforming state (initial) 520. When the condition conforming state (initial) 520 begins, the measurement information analysis unit 130 updates the operating frequency freq immediately before the state transition. before Preserve the numerator (on the right side of equation (1)).

[0042] While in the condition-compliant state (first time) 520, the measurement information analysis unit 130 updates the coefficient α using the operating frequency immediately after the minimum frequency update (the denominator on the right side of equation (1)). When the conditions of "pattern detected" and "continuity present" are met while in the condition-compliant state (first time) 520, the system transitions to the condition-compliant state (second time onwards) 530.

[0043] While in the condition-compliant state (second time onwards) 530, the measurement information analysis unit 130 updates the coefficient α using the operating frequency immediately after the minimum frequency update (the denominator on the right side of equation (1)). When the conditions of "pattern discovery" and "continuity" are met while in the condition-compliant state (second time onwards) 530, the system transitions to (continues) the condition-compliant state (second time onwards) 530.

[0044] When the condition is met (first time) 520, if the "pattern end" or "no continuity" condition is met, the system transitions to the condition non-metamorphosis state 510. Also, when the condition is met (second time onwards) 530, if the "pattern end" or "no continuity" condition is met, the system transitions to the condition non-metamorphosis state 510.

[0045] [9. Regarding Minimum Frequency] Next, we will explain the CPU minimum frequency. CPUs released in recent years have power-saving functions built into the hardware itself. This function is known to provide excellent power performance (autonomous frequency scaling) in many use cases. The "CPU minimum frequency" is one of the adjustable parameters for the above power-saving function and is used as a hint for control. The hardware lower limit is often used as the default value.

[0046] The inventors found that the vendor-provided nominal minimum CPU frequency is inefficient under specific load patterns (CPU-bound and continuous load) and load levels (low to medium load), as shown in Figure 5. In the graph in Figure 5, the horizontal axis represents the load, and the vertical axis represents power consumption. In Figure 5, two functions 610 and 620 related to power consumption are schematically shown by solid lines, and the composite function 630, which is a combination of the two functions 610 and 620, is schematically shown by a dashed line.

[0047] Function 610, relating to power consumption, shows the increase in power consumption due to an increase in CPU operating frequency (P-State) when processing is accelerated by increasing the operating frequency. Function 620, relating to power consumption, shows the amount of power reduction due to an increase in CPU pause time (C-State) when the pause time is increased. As shown by the hatching in Figure 5, the composite function 630 has negative power consumption in the low-to-medium load range. In other words, under the specific load patterns described above, even if you pay the cost of accelerating processing by increasing the CPU operating frequency (P-State), the effect of increasing CPU pause time (C-State) outweighs the cost, resulting in a reduction in power consumption.

[0048] [10. Determination of Minimum Frequency (Operational Stage: S206)] Next, the determination of the minimum frequency (operational stage: S206) will be explained in detail using several mathematical formulas. The CPU minimum frequency setting unit 140 calculates the minimum frequency at which the sum of two functions relating to power consumption is "minimum". In the following, the minimum frequency at this time will be expressed as freq minis denoted as. Also, the load amount is denoted as load load . Here, the function h(load load , freq min ) shown in the following formula (2) has the power consumption as the target variable, and the load amount load load and the minimum frequency freq min are defined as explanatory variables respectively. This function h(load load , freq min ) is a composite function of the function f p (load load , freq min ) shown in the following formula (3) and the function f c (load load , freq min ).

[0049]

[0050] f p (load load , freq min ) indicates a function for obtaining the increase amount of power consumption due to the increase in the minimum frequency. f c (load load , freq min ) indicates a function for obtaining the reduction amount of power consumption due to the increase in the idle time.

[0051] The CPU minimum frequency setting unit 140 solves an optimization problem regarding the minimum frequency freq min using partial differentiation. Specifically, the composite function h(load load , freq min ) shown in the following formula (5) is partially differentiated with respect to the minimum frequency freq min (formula (6)), and a point where this partial differentiation becomes 0 is found. That is, the CPU minimum frequency setting unit 140 obtains the minimum frequency freq min by solving formula (7).

[0052]

[0053] Two functions f p (load load , freq min ), f c (loadload , freq min ) can be defined by any function related to time, but can be defined, for example, in the way shown below.

[0054] [11. Determining the Minimum Frequency: Two Functions Related to Power Consumption (Preparation)] Next, we will explain in detail the two functions related to power consumption using several mathematical formulas. Two functions related to power consumption f p (load load , freq min ), f c (load load , freq min This can be obtained by performing the regression analysis (preparation stage) shown in Chapters 14-16. Below, the unit time is T. unit This is how it is expressed. Furthermore, the CPU operating time per unit time is represented by the variable tc0 shown in equation (8a), and the CPU idle time per unit time is represented by the variable tc6 shown in equation (8b). In addition, the function shown in equation (9) is defined as a function to calculate the amount of power consumption reduction due to an increase in idle time.

[0055]

[0056] Here, the function fc(tc6) that calculates the power consumption reduction due to increased rest time is obtained by using the function shown in equation (10) below, load load and minimum frequency freq min Transform it so that it can be treated as a function that can be explained by [the given formula].

[0057]

[0058] The function shown in equation (10) is a function that calculates the speed increase rate due to the increase in minimum frequency. The function fc(tc6) is the load amount load load and minimum frequency freq min The reasons that can be explained are as follows. Here, we define and explain the following parameters: CPU usage time (unit time T) immediately before the state transition. unit The winning result is the variable tc0 shown in equation (10a). before This is expressed as follows: CPU operating time (unit time T) immediately after minimum frequency update. unitThe winning result is the variable tc0 shown in equation (10b). after This is expressed as follows: CPU downtime immediately after minimum frequency update (unit time T). unit The correct answer is the variable tc6 shown in equation (10c). after It is expressed as follows. Note that, as shown in equation (11), the variable tc0 shown in equation (10b) after And the variable tc6 shown in equation (10c) after The sum of these is given by the unit time T. unit Furthermore, the variable tc0 shown in equation (10b) after The variable tc0 shown in equation (10a) is before This can be expressed as the product of the function shown in equation (10).

[0059]

[0060] The function shown in equation (9) above is a function for calculating the amount of power consumption reduction, but from another perspective, it is a function that takes the CPU pause time tc6 per unit time as a variable. This CPU pause time tc6 depends on the function that calculates the speedup rate shown in equation (10) by equations (11) and (12). On the other hand, the function that calculates the speedup rate shown in equation (10) is the load amount load load and minimum frequency freq min This is a function with variable . Therefore, the function shown in equation (4) can be expressed by the following equation (13).

[0061]

[0062] Next, the dependencies between each of the functions and parameters described above will be explained with reference to Figure 6. Note that in Figure 6, “< <use>">" indicates that the base end block of the nearby arrow utilizes the tip end block of the arrow."< <is-a>">" indicates that the blocks located on the tip and base ends of the nearby arrow are equivalent." <has-a>">" indicates that the tip-side block of the arrow in its vicinity holds the two blocks on the base-side of the arrow.

[0063] The functions and parameters are described below in the order of their derivation (No. 1 to No. 5). However, there are no dependencies in the derivation order No. 1. Note that Tests A and B are performed on the controlled server 200 before the preparation stage, and the details of these tests are described in Chapter 12.

[0064] <Derivation Order No. 1> The function 611 of the power consumption increase corresponds to the power consumption function 610 schematically shown in Figure 5. Here, the function 611 of the power consumption increase is the function f shown in equation (3). p (load load , freq min ) This function f p (load load , freq min ) depends on the test A results 720 shown in Chapters 12 and 14-15.

[0065] <Derivation Order No. 1> The power consumption reduction function 621 corresponds to the power consumption function 620 schematically shown in Figure 5. Here, the power consumption reduction function 621 is the function fc(tc6) shown in equation (9). This function fc(tc6) depends on the test B results 740 shown in Chapters 12 and 15. Note that the derivation order of the power consumption increase function 611 and the power consumption reduction function 621 is arbitrary.

[0066] <Derivation Order No. 2> The function 760 of the speedup rate is the function f shown in equation (10). speed (load load , freq min ) This function f speed (load load , freq min ) depends on the results of Test A 720 described below.

[0067] <Derivation Order No. 3> The pause time of 780 after acceleration is given by the variable tc6 shown in equation (10c). after This variable tc6 after This depends on the power consumption reduction function 621 (the function fc(tc6) shown in equation (9)).

[0068] <Derivation Order No. 4> The power consumption reduction function 622 is equivalent to the power consumption reduction function 621. Here, the power consumption reduction function 622 is the function f shown in equation (4). c (load load , freq min )

[0069] <Derivation Order No. 5> The composite function 631 of power consumption corresponds to the composite function 630 schematically shown in Figure 5. Here, the composite function 631 of power consumption is the function h(load) shown in equation (2). load , freq min This is the function h(load load , freq min ) is the function f shown in equation (3). p (load load , freq min ) and the function f shown in equation (4) c (load load , freq min It is a composite function of ) and .

[0070] [12. Determination of Minimum Frequency: Preliminary Testing] Next, we will explain the preliminary testing. The two functions related to power consumption are defined by performing regression analysis as shown in Chapters 14 to 16 on the measurement results from the preliminary testing. In the test, a predetermined load is applied to the server 200 to be controlled (see Figure 1), and its behavior is measured. Specifically, first, N different load amounts are prepared by dividing the load range corresponding to low load to medium load into N parts. Then, the behavior of the server 200 to be controlled is measured sequentially when the load amount applied to the server 200 is changed. At this time, it is preferable to select a value for the number of divisions N of the load amount that is sufficient for performing regression analysis after the test.

[0071] There are two types of tests to be conducted in advance, which are called Test A and Test B. Test A is a test to confirm the effect of changing the minimum frequency, excluding the effect of the pause time control. For example, in Test A, measurement results are collected so that they can be compared with variations in the minimum frequency. In Test A, the test is conducted with the pause time control disabled.

[0072] Test B is designed to verify the effects of rest time control. For example, in Test B, measurements are taken with rest time control enabled and with rest time control disabled, and the results are compared. In Test B, the minimum frequency is set to the default value.

[0073] [13. Determination of Minimum Frequency: Load Application in Testing] Next, we will explain how to apply load in testing. The method of applying load to the controlled server 200 preferably includes the following three steps. As the first step, the CPU characteristic calculation unit 110 of the minimum frequency control device 100 and the operation unit 240 of the controlled server 200 work together to automatically search for a CPU-bound load application pattern. This determines a load application pattern that is expected to have a power saving effect as a target.

[0074] As the second step, a load is applied to the controlled server 200 using a device that generates a load conforming to the load pattern determined in the first step. For example, stress-ng (see Reference 1 below) can be used as a device that generates a load conforming to such a load pattern. Reference 1: "stress-ng", [online], [Retrieved August 1, 2024], Internet <URL: https: / / github.com / ColinIanKing / stress-ng>

[0075] As the third step, a case where the load pattern is determined by the method exemplified in Chapter 6 (based on CPU usage rate and IPC) will be described. In this case, while changing the combination of "calculation method (pi calculation, matrix operation, etc.), continuous calculation time (several tens of ms or more), etc." in stress-ng, search is performed so that the IPC becomes 1.75 ± 0.05 when the CPU usage rate is 15%. Note that the above numerical values are just examples, and the CPU usage rate and IPC are arbitrarily set based on the actual calculations executed on the control target server 200.

[0076] [14. Determination of minimum frequency: Regarding power consumption modeling (preparation stage: S102)] Next, the power consumption modeling (preparation stage: S102) will be described using mathematical formulas. Here, the function f for obtaining the increase amount of power consumption due to the increase in the minimum frequency shown in Equation (3) p (load load , freq min ) will be described.

[0077] The function f shown in Equation (3) p (load load , freq min ) uses the test A result 720 (see Figure 6) for its modeling. The test A result 720 shows the measurement information obtained in test A. In test A, as the frequency indicating the increase from the default of the minimum frequency, M (M = 1, 2, …) frequencies X M are determined. The value of the frequency X M [[ID=2,2]] is arbitrary.

[0078] As the measurement method, the power consumption when the minimum frequency of the test target server (control target server 200) is the default is calculated for each load amount load load . Also, the power consumption when the minimum frequency of the test target server is "default + X M " is calculated for each load amount load load . Then, the difference in power consumption when the minimum frequency is changed from the default to "default + X M " is calculated for each load amount load load .

[0079] Figure 7A is a graph schematically showing the processing at this stage. The horizontal axis of the graph represents the load amount, and the vertical axis represents the function f p (power consumption difference: unit watt). The squares, triangles, and circles in the graph indicate the values of the power consumption difference due to the increase in the minimum frequency. In this example, M = 3. The squares indicate the measured values in the case of the minimum frequency "default + X1" respectively. The triangles indicate the measured values in the case of the minimum frequency "default + X2" respectively. The circles indicate the measured values in the case of the minimum frequency "default + X3" respectively.

[0080] The CPU characteristic calculation unit 110 of the minimum frequency control device 100 assumes the power consumption increase amount (function f p (load load , freq min )) from each power consumption difference by the model shown in the following equation (14).

[0081]

[0082] The CPU characteristic calculation unit 110 sets the explanatory variable as the load amount load M for each minimum frequency "default + X load ", and performs linear regression with the objective variable being the power consumption increase amount (function f p (load load , freq min )). In the example shown in Figure 7A, three straight lines are obtained so as to connect the respective measured values. The function a p (freq min ) shown in equation (14) is obtained as the slope of each straight line.

[0083] Then, the CPU characteristic calculation unit 110 uses the M functions a p (freq min ) obtained above, sets the explanatory variable as the minimum frequency freq min , and models a function with the objective variable being the function a p (freq min ). Any regression can be used for this modeling.

[0084] Figure 7B is a graph schematically showing the processing at this stage. The horizontal axis of the graph represents the minimum frequency freq min The vertical axis represents the function a p (freq min This shows the difference from the default minimum frequency for the function a for X1, X2, and X3. The squares, triangles, and circles in the graph represent the difference from the default minimum frequency for X1, X2, and X3. p (freq min ) are shown respectively. In the example shown in Figure 7B, there are M different functions a p (freq min An increasing function is obtained by connecting the points ).

[0085] Then, the CPU characteristics calculation unit 110 calculates the residual r(freq) shown in the following equation (15). min ) is calculated, and the function b shown in equation (14) is calculated. p (freq min We model ). Any regression can be used for this model. Here, the residual r(freq min ) represents the load amount that is representative of each minimum frequency. load This is the result after removing the contribution from [the other party].

[0086]

[0087] Figure 7C is a schematic graph illustrating the processing at this stage. The horizontal axis of the graph represents the minimum frequency (freq). min This shows that the vertical axis is the function b p (freq min This shows the difference from the default minimum frequency for the function b for X1, X2, and X3. The squares, triangles, and circles in the graph represent the difference from the default minimum frequency for X1, X2, and X3. p (freq min ) are shown respectively. In the example shown in Figure 7C, there are M different functions b p (freq min An increasing function is obtained that connects the points ). Note that the various functions and parameters described in this Chapter 14 are just examples of CPU characteristic information 300.

[0088] [15. Determination of Minimum Frequency: Modeling of Power Consumption (Preparation Stage: S102)] Next, we will explain the modeling of power consumption (preparation stage: S102) using mathematical formulas. Here, we will use the function f shown in equation (10) to determine the rate of speed increase due to the increase in minimum frequency. speed (load load , freq min This section explains the modeling of ).

[0089] The function f shown in equation (10) speed (load load , freq min To model the result, we will use the result of Test A 720 (see Figure 6). The measurement method will be to change the minimum frequency of the test target server (controlled server 200) from the default to "default + X". M The ratio R of calculations per unit time when changed to "load load load Calculate each time. Note that frequency X M The values ​​of (M=1, 2,…) are arbitrary. The ratio R of the number of calculations per unit time is defined by the following equation (16).

[0090]

[0091] In equation (16), OPS (Operations Per Second) represents the number of calculations per second. The numerator on the right side of equation (16) represents the number of calculations per second when the minimum frequency of the server under test (controlled server 200) is at the default value. The denominator on the right side of equation (16) represents the minimum frequency of the server under test being "default + X M This indicates the number of calculations performed per second when the condition is met.

[0092] Figure 8A is a schematic graph illustrating the processing at this stage. The horizontal axis of the graph represents the load, and the vertical axis represents the function f speed This shows that (the maximum value is 1). The squares, triangles, and circles in the graph represent the ratio R of the number of calculations shown in equation (16). In this example, M = 3. The squares show the measured values ​​when the minimum frequency is "default + X1". The triangles show the measured values ​​when the minimum frequency is "default + X2". The circles show the measured values ​​when the minimum frequency is "default + X3".

[0093] The CPU characteristic calculation unit 110 of the minimum frequency control device 100 calculates the speedup rate (function f) from the ratio R of each calculation count. speed (load load , freq min We assume that )) is represented by the model shown in equation (17) below.

[0094]

[0095] The CPU characteristics calculation unit 110 calculates the minimum frequency "default + X". M "For each, load the explanatory variable load load And the target variable is the function f speed (load load , freq min A linear regression is performed using the formula shown in Figure 8A. In the example shown in Figure 8A, three straight lines are obtained connecting each measured value. The function a shown in equation (17) speed (freq min ) can be found as the slope of each line.

[0096] Then, the CPU characteristics calculation unit 110 calculates the M types of functions a obtained above. speed (freq min ) Use the minimum frequency freq of the explanatory variable min And the target variable is function a speed (freq min We model a function that is defined as follows. Any regression can be used for this modeling.

[0097] Figure 8B is a graph schematically illustrating the processing at this stage. The horizontal axis of the graph represents the minimum frequency (freq). min The vertical axis represents the function a speed (freq min This shows the difference from the default minimum frequency for the function a for X1, X2, and X3. The squares, triangles, and circles in the graph represent the difference from the default minimum frequency for X1, X2, and X3. speed (freq min ) are shown respectively. In the example shown in Figure 8B, there are M different functions a speed (freq min A straight line is obtained connecting the two points.

[0098] The CPU characteristics calculation unit 110 then calculates the residual r(freq) shown in the following equation (18). min ) is calculated, and the function b shown in equation (17) is calculated. speed (freq min We model ). Any regression can be used for this model. Here, the residual r(freq min ) represents the load amount that is representative of each minimum frequency. load This is the result after removing the contribution from [the other party].

[0099]

[0100] Figure 8C is a schematic graph illustrating the processing at this stage. The horizontal axis of the graph represents the minimum frequency (freq). min This shows that the vertical axis is the function b speed (freq min This shows the difference from the default minimum frequency for the function b for X1, X2, and X3. The squares, triangles, and circles in the graph represent the difference from the default minimum frequency for X1, X2, and X3. speed (freq min ) are shown respectively. In the example shown in Figure 8C, there are M different functions b speed (freq min An increasing function is obtained that connects the points ). Note that the various functions and parameters described in this Chapter 15 are just examples of CPU characteristic information 300.

[0101] [16. Determination of Minimum Frequency: Modeling of Power Consumption (Preparation Stage: S102)] Here, we use the function f shown in equation (4) to find the amount of power consumption reduction due to the increase in rest time. c (load load , freq min This section explains the modeling of ).

[0102] The function f shown in equation (4) c (load load , freq min To model the above, we will use the results of Test B 740 (see Figure 6). The results of Test B 740 show the measurement information obtained in Test B. The measurement method for Test B is to measure the power consumption of the test target server (controlled target server 200) when the downtime control is disabled, over a unit time T unit The calculation is performed for each unit of CPU downtime (variable tc6 shown in equation (8b)). In addition, the power consumption is calculated for each unit of CPU downtime (tc6) when the downtime control of the test server is enabled. Then, the difference between the power consumption when downtime control is disabled and the power consumption when it is enabled is calculated for each unit of CPU downtime (tc6).

[0103] Figure 9 is a graph that schematically illustrates this process. The horizontal axis of the graph represents the CPU pause time (tc6), and the vertical axis represents the function f c (Power consumption difference: in watts) is shown. The circles in the graph indicate the measured difference in power consumption with and without pause time control.

[0104] The CPU characteristic calculation unit 110 of the minimum frequency control device 100 calculates the power consumption reduction amount (function f) from the difference in each power consumption. c We assume (tc6) to be represented by the model shown in equation (19) below.

[0105]

[0106] The CPU characteristics calculation unit 110 uses the CPU pause time per unit time (tc6) as the explanatory variable and the power consumption reduction amount (function f) as the objective variable. c We model the function (tc6). Any regression can be used for this modeling. Here, as an example, polynomial regression is used. In the example shown in Figure 9, a quadratic function is obtained that connects each measured value. Note that the various functions and parameters described in this Chapter 16 are examples of CPU characteristic information 300.

[0107] Here, the explanatory variable is the load, as follows: load and minimum frequency freq min Replaced by this. When this minimum frequency control device 100 increases the minimum frequency, after the speed increase due to the minimum frequency increase, the CPU pause time per unit time becomes tc6 after It changes to (Equation (10c)). Therefore, the variable tc6 in the model shown in Equation (19) is changed to tc6 after Substituting (10c) into this equation, we obtain equation (20).

[0108]

[0109] Furthermore, as explained in Chapter 10, from the relationship between equations (11) and (12), the function f shown in equation (4) is obtained. c (load load , freq min ) is expressed by equation (13). Relation (11) is given by a unit time T unit Among them, tc0 after (Equation (10b)) and tc6 after This means that (equation (10c)) and are in a complement relationship. Furthermore, relation (12) means the following: that is, the function f that calculates the speedup rate shown in equation (10) speed (load load , freq min ) and the current (before changing the minimum frequency) CPU operating time per unit time (tc0 before From equation (10a), the (expected) CPU operating time per unit time (tc6) at minimum frequency increase is obtained. after The equation (10c)) is calculated.

[0110] [17. Modification: Import of CPU characteristic information] The present invention is not limited to the embodiments described above, and many modifications are possible within the technical concept of the present invention by those with ordinary skill in the art. In the preparation stage, the minimum frequency control device 100 of this embodiment creates CPU characteristic information for the server 200 to be controlled, for each hardware (CPU 210) and load pattern. However, the method of creating the CPU characteristic information is not limited to this. For example, if the hardware configuration of the server 200 to be controlled is the same as the hardware configuration of other controlled objects, the CPU characteristic information already created can be imported separately into the minimum frequency control device 100. Hereinafter, this function will be referred to as the import option. The import option has the effect of shortening the time required in the preparation stage.

[0111] Furthermore, to simplify the use of the import option, a "CPU characteristic information linkage unit" related to the CPU characteristic information storage unit 120 can be added to the minimum frequency control device 100. This CPU characteristic information linkage unit performs the function of supporting the import and export of CPU characteristic information.

[0112] Furthermore, by storing arbitrary information for verifying the identity of the hardware configuration in the CPU characteristic information storage unit 120, it is possible to automate the import of CPU characteristic information. For example, the CPU specification information stored in the CPU characteristic information storage unit 120 can include "CPU model number," "host name on which it is installed," and "BIOS and kernel parameters related to the CPU."

[0113] [18. Modified Version: Arrangement of Each Part] Next, with reference to Figure 10, a server system 1B including a modified minimum frequency control device 100B will be described. Note that components similar to those in Figure 1 are denoted by the same reference numerals and their descriptions are omitted. The server system 1B shown in Figure 10 controls multiple target servers 200 with a single minimum frequency control device 100B. The minimum frequency control device 100B differs from the minimum frequency control device 100 in that the CPU minimum frequency setting unit 140 has a loosely coupled configuration that uses communication or the like to cooperate with the operation unit 240 of each target server 200. In the minimum frequency control device 100B, the CPU characteristic information and CPU specifications are in a data format that can uniquely identify multiple target servers 200. Each functional unit of the minimum frequency control device 100B has a software structure that can scale out according to the number of target servers 200.

[0114] [19. Modification: Power Consumption Reduction Measures in Operation] The power consumption of the minimum frequency control device 100 itself can be reduced by the following method. <Reduction of Processing Load Related to CPU Minimum Frequency Setting Unit 140> In determining the minimum frequency (operational stage: S206), the CPU minimum frequency setting unit 140 uses partial derivatives to determine the minimum frequency freq min While the goal is to determine the minimum frequency, methods other than calculating partial differential equations can also be employed. For example, a correspondence table may be created in advance for each load at arbitrary intervals, showing a predetermined load (key) and the calculated minimum frequency. In this case, the CPU minimum frequency setting unit 140 can use the calculation result closest to the load (key) obtained from measurement information during the operational phase, based on this correspondence table, as the minimum frequency to be determined.

[0115] The processing load of referring to the correspondence table is lower than the computational load of solving the partial differential equations each time. Therefore, by adopting this method, the power consumption used to determine the minimum frequency can be reduced. Furthermore, the data capacity for the correspondence table can be reduced by creating the key loads for the correspondence table at intervals that match the granularity of the minimum frequency specifications of known CPU products (e.g., in units of 100 MHz). In addition, the timing of creating the correspondence table can be during the preparation stage. The CPU characteristic information storage unit 120 can also store the correspondence table.

[0116] <Reducing the processing load on the measurement information analysis unit 130> The execution interval of the monitoring loop by the measurement information analysis unit 130 can be set to any time as the default value, and can also be changed at any time during the monitoring loop. In this case, power consumption can be reduced by setting the number of monitoring cycles to an appropriate number and suppressing excessive monitoring.

[0117] As a method for dynamically changing the time interval, the following methods from the first to the third perspective can be cited. The first method involves setting a shorter monitoring time interval when the frequency of load fluctuations on the controlled server 200 is high, and setting a longer monitoring time interval when the frequency of changes is low. In this method, the monitoring time interval is determined based on the autocorrelation of CPU usage and IPC time-series data within a predetermined time. For example, half the time for the lag (deviation) with the highest autocorrelation is selected as the monitoring time interval.

[0118] The second approach involves setting a shorter time interval when the load on the controlled server 200 fluctuates significantly, and a longer time interval when the fluctuations are large. In this method, the monitoring time interval is determined based on the standard deviation of the CPU usage rate within a predetermined time. For example, a linear function is defined such that the time interval becomes shorter as the standard deviation increases, and this linear function is used to determine the monitoring time interval.

[0119] The third approach involves changing the time intervals to predetermined intervals according to the schedule. The CPU characteristic information storage unit 120 can also save this schedule. For this method, applications that run according to the schedule can be used. Such applications include, for example, applications launched by Cron in Linux (registered trademark).

[0120] [20. Hardware Configuration] The minimum frequency control device 100 according to the above embodiment is implemented by a computer 900 having a configuration such as that shown in Figure 11. Figure 11 is a hardware configuration diagram showing an example of a computer 900 that implements the functions of the minimum frequency control device 100 according to this embodiment. The computer 900 has a CPU 901, a ROM (Read Only Memory) 902, a RAM (Random Access Memory) 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.

[0121] The CPU 901 operates based on programs stored in the ROM 902 or HDD 904. The ROM 902 stores boot programs executed by the CPU 901 when the computer 900 starts up, as well as programs related to the computer 900's hardware.

[0122] The CPU 901 controls input devices 910, such as a mouse or keyboard, and output devices 911, such as a display or printer, via the input / output interface 905. The CPU 901 acquires data from the input devices 910 and outputs the generated data to the output devices 911 via the input / output interface 905. In addition to the CPU 901, a GPU (Graphics Processing Unit) or the like may also be used as a processor.

[0123] 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 the communication network (NW) 920 and outputs it to the CPU 901, and also transmits data generated by the CPU 901 to other devices via the communication network (NW) 920.

[0124] The media interface 907 reads a program or data stored in the recording medium 912 and outputs it to the CPU 901 via the RAM 903. The CPU 901 loads the program related to the desired processing from the recording medium 912 onto the RAM 903 via the media interface 907 and executes the loaded program. The recording medium 912 is an optical recording medium such as a DVD (Digital Versatile Disc) or PD (Phase Change Rewritable Disk), a magneto-optical recording medium such as an MO (Magneto Optical Disk), a magnetic recording medium, or a semiconductor memory.

[0125] For example, when computer 900 functions as a minimum frequency control device 100, CPU 901 implements the function of the minimum frequency control device 100 by executing a program (minimum frequency control program) loaded onto RAM 903. Data from RAM 903 is stored in HDD 904. CPU 901 reads and executes a program related to the desired processing from recording medium 912. In addition, CPU 901 can also read programs related to the desired processing from other devices via a communication network (NW) 920.

[0126] [21. Effects] As described above, the minimum frequency control device 100 is characterized by comprising: a measurement information analysis unit 130 that analyzes measurement information regarding the real-time load amount of the controlled server 200 based on predetermined reference conditions for the load pattern according to the controlled server 200, monitors the real load pattern, fires an up event when the real load pattern transitions from non-conforming to conforming with the reference conditions for the load pattern, and fires a reset event when the real load pattern transitions from conforming to non-conforming with the reference conditions for the load pattern; and a CPU minimum frequency setting unit 140 that calculates a change value for the CPU minimum frequency of the controlled server 200 at the timing of the up event and the reset event, based on CPU characteristic information 300 calculated from measurement information measured in advance in a test in which a predetermined CPU load is applied to the controlled server 200 and real-time measurement information, and inputs the change value to the controlled server 200.

[0127] In this way, the minimum frequency control device 100 obtains CPU characteristic information 300 calculated from measurement information measured during the test during the preparation phase. Furthermore, during the operation phase, the minimum frequency control device 100 determines the allocation between downtime control and DVFS based on the CPU characteristic information 300 and measurement information regarding the real-time load of the controlled server 200 being monitored. The minimum frequency control device 100 can then perform allocation control by setting and inputting the minimum CPU frequency. Therefore, with the minimum frequency control device 100, for example, by using reference conditions for load patterns that take load fluctuations into consideration, it is possible to achieve both suppression of steady-state power consumption and maintenance of performance in services with a large number of allocated CPUs. Moreover, the minimum frequency control device 100 does not require special hardware and can be implemented using only software. Furthermore, the functions of the minimum frequency control device 100 can be used in conjunction with the CPU's own power saving functions.

[0128] In the minimum frequency control device 100, the measurement information analysis unit 130 identifies CPU-bound processing as a real load pattern from characteristics that appear during the real-time calculation processing of the controlled server 200, and the CPU minimum frequency setting unit 140, upon receiving notification of an upscaling event, solves an optimization problem using the pre-formulated real-time power consumption characteristics of the controlled server 200 and the real-time CPU metrics of the controlled server 200 to determine the minimum CPU frequency that can minimize power consumption.

[0129] By doing so, the minimum frequency control device 100 can integrate the conflicting elements of rest time control and low operating frequency (DVFS) in the CPU's power saving strategy in an optimal distribution, enabling both power consumption reduction and performance maintenance.

[0130] The minimum frequency control device 100 calculates CPU characteristic information 300 by formulating the real-time power consumption characteristics of the controlled server 200 from measurement information measured in the test, and also includes a CPU characteristic calculation unit 110 that works with the controlled server 200 before operation to acquire the load pattern expected during operation of the controlled server 200 and determine the reference conditions for the load pattern, and a CPU characteristic information storage unit 120 that stores the CPU characteristic information 300 and the reference conditions for the load pattern, and the measurement information analysis unit 130 and the CPU minimum frequency setting unit 140 refer to the CPU characteristic information storage unit 120.

[0131] In this way, the minimum frequency control device 100 can utilize CPU characteristic information 300 and real-time measurement information 400 to synthesize a function that calculates the amount of power consumption reduction due to increased rest time and a function that calculates the amount of power consumption increase due to increased operating frequency, thereby determining the optimal minimum frequency. Furthermore, the minimum frequency control device 100 can consider the amount of power reduction that can be effectively achieved through load patterns and rest time control. In addition, the minimum frequency control device 100 can automatically search for CPU-bound load application patterns based on, for example, memory data obtained from regression analysis or test results.

[0132] 1,1B Server System 100,100B Minimum Frequency Control Device 110 CPU Characteristics Calculation Unit 120 CPU Characteristics Information Storage Unit 130 Measurement Information Analysis Unit 140 CPU Minimum Frequency Setting Unit 200 Controlled Server (Controlled Target) 210 CPU 220 OS 230 Application 240 Operation Unit 300 CPU Characteristics Information 400 Measurement Information < / use>

Claims

1. A minimum frequency control device comprising: a measurement information analysis unit that analyzes measurement information relating to the real-time load amount of a controlled object based on predetermined reference conditions for a load pattern according to the controlled object, monitors the real load pattern by analyzing the real load pattern by analyzing measurement information relating to the real load amount of the controlled object, fires an up-up event when the real load pattern transitions from non-conforming to conforming with respect to the reference conditions for the load pattern, and fires a reset event when the real load pattern transitions from conforming to non-conforming with respect to the reference conditions for the load pattern; and a CPU minimum frequency setting unit that calculates a change value for the CPU minimum frequency of the controlled object at the timing of the up-up event and the reset event, based on CPU characteristic information calculated from measurement information measured in advance in a test in which a predetermined CPU load is applied to the controlled object and the real-time measurement information, and inputs the change value to the controlled object.

2. The minimum frequency control device according to claim 1, wherein the measurement information analysis unit identifies CPU-bound processing as the real load pattern from features that appear during the real-time calculation processing of the controlled object, and the CPU minimum frequency setting unit, upon receiving notification of the pull-up event, determines the minimum CPU frequency that can minimize power consumption by solving an optimization problem using the pre-formulated real-time power consumption characteristics of the controlled object and the real-time CPU metrics of the controlled object.

3. A minimum frequency control device according to claim 2, comprising: a CPU characteristic calculation unit that calculates the CPU characteristic information by formulating the real-time power consumption characteristics of the controlled object from the measurement information measured in the above test, and also, in cooperation with the controlled object before operation of the controlled object, acquires the load pattern expected during operation of the controlled object and determines the reference conditions of the load pattern; and a CPU characteristic information storage unit that stores the CPU characteristic information and the reference conditions of the load pattern, wherein the measurement information analysis unit and the CPU minimum frequency setting unit refer to the CPU characteristic information storage unit.

4. A minimum frequency control method for a minimum frequency control device, the minimum frequency control device comprising: a step of monitoring a real load pattern by analyzing measurement information relating to the real load amount of a controlled object based on a predetermined reference condition of a load pattern according to a controlled object; a step of firing an increase event when the real load pattern transitions from non-conforming to conforming with respect to the reference condition of the load pattern; a step of firing a reset event when the real load pattern transitions from conforming to non-conforming with respect to the reference condition of the load pattern; a step of calculating a change value to raise the minimum CPU frequency of the controlled object based on CPU characteristic information calculated from measurement information measured in advance in a test in which a predetermined CPU load is applied to the controlled object and the real-time measurement information at the timing of the increase event; a step of calculating a change value to reset the minimum CPU frequency of the controlled object at the timing of the reset event; and a step of applying the change value to the controlled object.

Citation Information

Patent Citations

  • Frequency control device, information processor, and program

    JP2004355599A

  • Detection of known workload patterns

    US20210311538A1