CPU frequency control device, CPU frequency control method, CPU frequency control program, and CPU frequency control system

JPWO2024261900A1Pending Publication Date: 2024-12-26
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025527293
Authority / Receiving Office
JP · JP
Patent Type
Applications
Filing Date
2023-06-21
Publication Date
2024-12-26

AI Technical Summary

Technical Problem

Existing CPU frequency control methods, such as the on-demand governor, may exceed allowable processing delays for software with strict performance requirements, as they rely on general-purpose CPU usage rate inputs and do not guarantee performance within acceptable ranges, especially in communication and web service systems.

Method used

A CPU frequency control device that includes a load confirmation unit, a performance confirmation unit, and a frequency control unit, which calculates the performance margin and sets the CPU frequency to the lowest frequency that guarantees target performance by referencing performance-guaranteed minimum frequency information, gradually increasing or decreasing frequency based on load fluctuations and performance thresholds.

Benefits of technology

Enables operation of the CPU with low power consumption while ensuring software performance requirements are met, by preventing frequency settings that do not satisfy performance needs and allowing immediate adjustments to frequencies proven to meet requirements, thereby reducing power consumption while maintaining performance.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

A CPU frequency control device (1) comprises: a load checking unit (110) that acquires the load on a server (5) at present; a performance checking unit (120) that acquires the processing performance of the server (5) and calculates a performance margin indicating the difference with respect to a target performance value that should be guaranteed as the performance of said server (5); and a frequency control unit (130) that defines a reference frequency to be the minimum frequency at which performance is guaranteed when a load equal to or greater than the load at present is applied as the reference frequency, and sets the frequency in the server (5) by decreasing the frequency in steps from the reference frequency until the performance margin falls to or below a predetermined threshold value.
Need to check novelty before this filing date? Find Prior Art

Description

CPU frequency control device, CPU frequency control method, CPU frequency control program, and CPU frequency control system

[0001] The present invention relates to a CPU frequency control device, a CPU frequency control method, a CPU frequency control program, and a CPU frequency control system that control the operating frequency of a CPU (Central Processing Unit).

[0002] For server operators, particularly those providing cloud computing services, reducing server power consumption is an important issue. There are a variety of methods to achieve this, but one is to control the CPU, a key component of a server. Dynamic Voltage and Frequency Scaling (DVFS), a CPU power-saving technology, dynamically varies the voltage and operating frequency of the CPU core according to the processing load.

[0003] Since the power consumption of a CPU is correlated with its operating frequency, when the processing load is low relative to the CPU's performance, DVFS can be used to reduce the operating frequency, allowing the CPU to operate with the minimum power consumption while still meeting the required performance. The operating frequency band specified by the DVFS function is also called the p-state, and many CPU products currently on the market are equipped with a p-state change function (see Non-Patent Document 1).

[0004] The CPUFreq subsystem included in the Linux kernel ("Linux" is a registered trademark) is one representative implementation of DVFS. This system has multiple CPU operating frequency control policies called governors, one of which, the on-demand governor, controls the CPU operating frequency based on the CPU utilization rate (see Non-Patent Document 2). For example, the on-demand governor increases the CPU operating frequency when a heavy processing load is placed on the CPU and the CPU utilization rate becomes high, and conversely, decreases the CPU operating frequency when the processing load on the CPU decreases and the CPU utilization rate becomes low. Because there is a correlation between CPU utilization rate, CPU operating frequency, and the processing time of software executed by the CPU, controlling the operating frequency based on CPU utilization rate in this way reduces the performance impact on software running on the CPU.

[0005] C. Gough et al., “Energy Efficient Servers,” Apress Berkeley, CA, 2015, pp. 49-50, [online], [Retrieved April 5, 2023], Internet〈URL: https: / / link.springer.com / book / 10.1007 / 978-1-4302-6638-9〉 R. J. Wysocki, “CPU Performance Scaling,” The Linux Kernel documentation 6.2.0-rc8, Intel Corporation, 2017, [online], [Retrieved April 5, 2023], Internet〈URL: https: / / www.kernel.org / doc / html / latest / admin-guide / pm / cpufreq.html〉

[0006] However, the technology described in Non-Patent Document 2 cannot be simply applied to software with strict performance requirements. Software with strict performance requirements is, for example, software whose allowable processing delay time is specified in units of milliseconds or less. Communication systems and web service systems often contain software with such requirements. Applying CPU operating frequency control using the CPUFreq governor, a technology described in Non-Patent Document 2, to such software can result in the processing delay exceeding the allowable range. This is because, while control based on CPU utilization is an effective method for maintaining constant processing delay under load fluctuations, it merely determines the operating frequency formulaically using general-purpose information such as CPU utilization as input, and does not guarantee that the resulting processing delay will fall within an allowable range. The relationship between CPU operating frequency and processing delay is largely dependent on the software structure and generally does not have a simple linear relationship. Therefore, to reduce power consumption by reducing the CPU operating frequency for software with strict performance requirements, a CPU operating frequency control method that can guarantee satisfaction of performance requirements is required.

[0007] The present invention has been made in view of the above points, and an object of the present invention is to operate a CPU with low power consumption while satisfying the performance requirements of software.

[0008] The CPU frequency control device of the present invention is a CPU frequency control device that controls the CPU frequency of a server, and is characterized by comprising: a load confirmation unit that acquires the current load amount of the server; a performance confirmation unit that acquires the processing performance of the server and calculates a performance margin that indicates the difference between this and a target performance value that should be performance guaranteed in the server; and a frequency control unit that sets a reference frequency as the minimum frequency at which performance is guaranteed when a load equal to or greater than the current load amount is applied, and gradually reduces the frequency from the reference frequency until the performance margin becomes equal to or less than a predetermined threshold, and sets this frequency on the server.

[0009] According to the present invention, it is possible to operate a CPU with low power consumption while satisfying the performance requirements of software.

[0010] FIG. 1 is a diagram showing the overall configuration of a CPU frequency control system including a CPU frequency control device according to an embodiment; FIG. 2 is a diagram showing an example of the data configuration of performance-guaranteed minimum frequency information according to an embodiment; FIG. 3 is a flowchart showing the flow of processing executed by a CPU frequency control device according to an embodiment; FIG. 4 is a flowchart showing another example of the flow of processing executed by a CPU frequency control device according to an embodiment; FIG. 5 is a diagram showing an example of profile information according to an embodiment; FIG. 6 is a diagram showing a modified example of a CPU frequency control system according to an embodiment; and FIG. 7 is a hardware configuration diagram showing an example of a computer that realizes the functions of a CPU frequency control device according to an embodiment.

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

[0012] The CPU frequency control device 1 ( FIG. 1 ) according to this embodiment calculates the load fluctuation of a managed server at a predetermined time interval. When the load fluctuation exceeds a predetermined threshold, the CPU frequency control device 1 acquires the server's current processing performance and calculates the difference from the target performance (the "performance margin" described below). The CPU frequency control device 1 then searches for the minimum frequency at which the target performance is guaranteed while changing the frequency. This search method involves first setting a reference frequency by referring to the frequency setting record for each load (the "performance-guaranteed minimum frequency information" described below), and then decreasing the frequency by a predetermined amount until the difference between the acquired current processing performance and the target performance falls below a predetermined threshold. The CPU frequency control device 1 then associates the determined minimum frequency with the current load and records it in the setting record (performance-guaranteed minimum frequency information).

[0013] In this way, the CPU frequency control device 1 can prevent setting a frequency that does not satisfy the required performance by gradually reducing the frequency while observing the performance impact. Furthermore, the CPU frequency control device 1 repeatedly determines the minimum frequency and records the setting results as performance-guaranteed minimum frequency information. This allows the CPU frequency control device 1 to guarantee performance by immediately changing to a frequency that has been proven to satisfy the required performance when the load fluctuates (details will be described later). The CPU frequency control device 1 will be described in detail below.

[0014] 1 is a diagram showing the overall configuration of a CPU frequency control system 1000 including a CPU frequency control device 1 according to this embodiment. The CPU frequency control system 1000 is composed of a server 5 to be controlled and a CPU frequency control device 1 that is communicatively connected to the server 5. As will be described in detail below, the CPU frequency control device 1 is a device that acquires index information relating to the load on the server 5 and index information relating to the processing performance of software running on the server 5, determines the minimum frequency that satisfies the target performance, and controls the CPU frequency of the server 5.

[0015] As shown in FIG. 1, the CPU frequency control device 1 according to this embodiment includes a control unit (CPU frequency control unit) 10, an input / output unit 11, and a storage unit 12.

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

[0017] The storage unit 12 is configured with a hard disk, flash memory, RAM (Random Access Memory), etc. This storage unit 12 stores performance-guaranteed minimum frequency information 100, which indicates the minimum frequency for each load that satisfies the performance requirements (target performance) (see FIG. 2 for details). The storage unit 12 also stores target performance values ​​(details to be described later) determined by the system operator or software developer, and temporarily stores information necessary for processing by the control unit (CPU frequency control unit) 10.

[0018] The control unit 10 is responsible for all the processes executed by the CPU frequency control device 1, and includes a load checking unit 110, a performance checking unit 120, and a frequency control unit 130.

[0019] The load checking unit 110 acquires the load amount of the server 5 at a predetermined time interval, and when the fluctuation amount of the load exceeds a predetermined threshold, outputs a frequency change instruction to the frequency control unit 130. The load indicator (load indicator) acquired by the load checking unit 110 from the server 5 is, for example, the CPU usage rate or the number of processing requests (the number of requests per unit time in a web server, etc.). This load indicator is not limited to the above and is selected appropriately for each software.

[0020] When a fluctuation occurs in the load amount obtained as this load index that exceeds a predetermined threshold (predetermined load fluctuation threshold) set by the system operator, the load checking unit 110 outputs a frequency change instruction to the frequency control unit 130. The load checking unit 110 also stores the load measurement results obtained during the period for calculating the load fluctuation amount in the storage unit 12. The load checking unit 110 may calculate the load fluctuation amount using the difference between the previous measurement result and the latest measurement result, or may use a statistically processed result of measurement results over a predetermined period, such as a moving average.

[0021] The performance checking unit 120 checks the processing performance (performance value) of the software executed on the server 5. The indicators (performance indicators) related to the processing performance acquired by the performance checking unit 120 from the server 5 include, for example, the execution time of a specific function of the software (for example, TAT (Turn Around Time)), the request queue length of the web server, throughput, etc. The performance indicators are not limited to those mentioned above and are selected appropriately for each piece of software.

[0022] Furthermore, the performance checking unit 120 uses a target performance value set by a system operator or software developer to calculate the difference between the target performance value and the (current) performance value observed in real time (the "performance margin" described below). This target performance value may be, for example, a performance guarantee value for service quality specified by an SLA (Service Level Agreement) set as a target value for processing performance, or may be set in advance by a system administrator or the like.

[0023] The frequency control unit 130 searches for the minimum frequency that satisfies the target performance value while changing the frequency of the CPU of the server 5 (hereinafter referred to as the "minimum frequency search process"). Specifically, the frequency control unit 130 first sets a reference frequency by referencing performance-guaranteed minimum frequency information 100 ( FIG. 2 ), which is the actual frequency settings for each load. Here, the performance-guaranteed minimum frequency information 100 is a record of the minimum frequency for each load that has been confirmed to actually satisfy the required performance in a system made up of the hardware and software of the server 5.

[0024] 2 is a diagram showing an example of the data configuration of performance-guaranteed minimum frequency information 100 according to this embodiment. The performance-guaranteed minimum frequency information 100 shown in FIG. 2 shows an example in which the number of processing requests, such as HTTP requests, made to the server 5 is taken as the load, and a frequency (minimum frequency) with a proven track record of performance guarantee is recorded corresponding to the load (amount). For example, when the load is "1000 (requests per second)," "2400 (MHz)" is stored as the minimum frequency that satisfies the target performance value. It is assumed that this performance-guaranteed minimum frequency information 100 records at least the minimum frequency at the maximum load in the system design at the time the system starts operating.

[0025] The frequency control unit 130 refers to this performance-guaranteed minimum frequency information 100, reads the minimum frequency corresponding to the nearest load amount equal to or greater than the current load, and sets this as the reference frequency for the CPU of the controlled server 5. For example, when the current load is "800 (requests per second)," the frequency control unit 130 refers to the performance-guaranteed minimum frequency information 100 in Fig. 2 and sets "2400 (MHz)," which is the minimum frequency corresponding to "1000 (requests per second)," the nearest load amount equal to or greater than "800," as the reference frequency for the CPU of the controlled server 5.

[0026] Next, the frequency control unit 130 reduces the CPU frequency by a predetermined amount, starting from the set reference frequency. The amount of frequency reduction (predetermined amount) in one adjustment is arbitrarily set by a system administrator or the like. Each time the frequency is set by reducing it by this predetermined amount, the performance confirmation unit 120 calculates the difference (performance margin) between the target performance and the current processing performance. The frequency control unit 130 then repeats this frequency reduction attempt until the difference (performance margin) between the target performance and the current processing performance falls below a predetermined threshold (predetermined performance margin threshold). Furthermore, if the performance margin falls below the predetermined threshold (predetermined performance margin threshold), the frequency control unit 130 determines the frequency at that time to be the minimum frequency and records it in the performance-guaranteed minimum frequency information 100 ( FIG. 2 ) in association with the load.

[0027] The frequency reduction amount (predetermined amount) that the frequency control unit 130 adjusts in one go is not limited to a fixed value, and may be set based on the magnitude of the performance margin. For example, it may be set to increase in proportion to the performance margin using the following formula (1): Frequency reduction amount in one adjustment (f) = Coefficient (α) × Performance margin (s) Formula (1) By setting the reduction amount in this way, taking the performance margin into consideration, it is possible to reduce the number of attempts, and therefore the time, required to reach the minimum frequency.

[0028] Note that the predetermined threshold value of the performance margin (predetermined performance margin threshold value) used to determine whether to stop the minimum frequency search process can be set with a sufficient margin taken into account to prevent the frequency from being unintentionally reduced to a level that does not satisfy the required performance. However, if the predetermined threshold value of the performance margin (predetermined performance margin threshold value) is set inappropriately and the frequency is reduced to a level that does not satisfy the required performance, the performance confirmation unit 120 detects this by calculating the performance margin, and the frequency control unit 130 performs a process to return to the frequency of the previous trial. In other words, if the performance margin becomes negative, the frequency control unit 130 performs frequency control to return to a state where the performance margin is positive (a state where the performance requirements are satisfied) by returning to the frequency of the previous trial.

[0029] The control unit (CPU frequency control unit) 10 of the CPU frequency control device 1 constantly repeats the above minimum frequency search process while the system is in operation, thereby accumulating records of performance-guaranteed minimum frequency information 100 and increasing the starting minimum frequency, thereby reducing the number of adjustments required to reach the minimum frequency.

[0030] In the above embodiment, the load check unit 110 checks the amount of load fluctuation, triggering the minimum frequency search process and determining the minimum frequency corresponding to the load. However, the performance margin calculated by the performance check unit 120 may also be used as a trigger. In this case, two thresholds, an upper limit and a lower limit, are set for the performance margin. If the upper limit threshold is exceeded, excessive performance is assumed to be being exerted, and an attempt is made to reduce the frequency. On the other hand, if the lower limit threshold is exceeded, there is a concern that insufficient performance may occur in the near future, so an attempt is made to increase the frequency. In either case, the processing by the frequency control unit 130 is the same (details of FIG. 4 will be described later).

[0031] <Processing of CPU Frequency Control Device> Next, the processing executed by the CPU frequency control device 1 will be described. Fig. 3 is a flowchart showing the flow of processing executed by the CPU frequency control device 1 according to this embodiment. Fig. 3 shows an example in which a minimum frequency search process is executed in response to a load fluctuation. Here, it is assumed that target performance values ​​determined by a system operator, software developer, etc. based on an SLA or the like are stored in the storage unit 12 of the CPU frequency control device 1. It is also assumed that load indicators (e.g., CPU utilization rate, number of processing requests, etc.) and performance indicators (e.g., processing execution time, throughput, etc.) are selected according to the software installed on the server 5.

[0032] First, the load checker 110 of the CPU frequency control device 1 acquires the load (load amount) selected as the load indicator from the server 5 at a predetermined time interval (step S1). The load checker 110 then determines whether the acquired load fluctuation amount exceeds a predetermined threshold (predetermined load fluctuation threshold) (step S2). This load fluctuation amount may be, for example, the difference from the load amount acquired in the previous cycle, or may be a processed result of calculating a moving average or the like. If the load fluctuation amount does not exceed the predetermined threshold (predetermined load fluctuation threshold) (step S2 → No), the process returns to step S1. On the other hand, if the load fluctuation amount exceeds the predetermined threshold (predetermined load fluctuation threshold) (step S2 → Yes), the load checker 110 outputs a frequency change instruction to the frequency control unit 130 and proceeds to the next step S3.

[0033] In step S3, the frequency control unit 130 of the CPU frequency control device 1 refers to the performance-guaranteed minimum frequency information 100 ( FIG. 2 ) based on the current load, obtains a reference frequency, and sets it in the server 5. Specifically, the frequency control unit 130 refers to the performance-guaranteed minimum frequency information 100, reads the minimum frequency that corresponds to the closest load that is equal to or greater than the current load, and sets it as the reference frequency for the CPU of the server 5 to be controlled.

[0034] Next, the performance checking unit 120 of the CPU frequency control device 1 acquires the current processing performance (performance value) for the selected performance index from the server 5, and calculates the difference between the current performance value and the target performance value as the performance margin (step S4).The performance checking unit 120 then outputs the calculated performance margin to the frequency control unit 130.

[0035] Next, the frequency control unit 130 determines whether the performance margin is below a predetermined threshold (predetermined performance margin threshold) (step S5). If the performance margin is not below the predetermined threshold (predetermined performance margin threshold) (step S5 → No), the frequency control unit 130 sets a frequency that is reduced by a predetermined amount from the current frequency for the CPU of the server 5 (step S6), and returns to step S4. On the other hand, if the performance margin is below the predetermined threshold (predetermined performance margin threshold) (step S5 → Yes), the frequency control unit 130 determines the current frequency as the minimum frequency, records the current load and that frequency in the performance-guaranteed minimum frequency information 100 (step S7), and ends the process.

[0036] In this way, the CPU frequency control device 1 can gradually reduce the frequency while observing the performance impact, triggered by the amount of load fluctuation. This makes it possible to prevent the frequency from being set to a value that does not satisfy the required performance. Furthermore, when the load fluctuates, the CPU frequency control device 1 can guarantee performance by immediately changing the frequency to a value that has been proven to satisfy the required performance.

[0037] 4 is a flowchart showing another example of the flow of processing executed by the CPU frequency control device 1 according to this embodiment. Fig. 4 shows an example of executing a minimum frequency search process in response to a change in the performance margin. The same steps as in Fig. 3 are assigned the same step numbers, and descriptions thereof will be omitted.

[0038] First, the performance confirmation unit 120 of the CPU frequency control device 1 acquires the current processing performance (performance value) for the selected performance index from the server 5 (step S10), and calculates the difference from the target performance value as the performance margin.

[0039] Next, the performance checking unit 120 determines whether the performance margin is within the range between the upper and lower thresholds (step S11). That is, the performance checking unit 120 checks whether the performance margin exceeds either the upper or lower threshold. If the performance margin is within the range between the upper and lower thresholds (step S11 → Yes), the process returns to step S10 after a predetermined time interval. On the other hand, if the performance margin is not within the range between the upper and lower thresholds (step S11 → No), that is, if the performance margin exceeds either the upper or lower threshold, the process proceeds to the next step S12.

[0040] In step S12, the load check unit 110 acquires the load (load amount) selected as the load index from the server 5. Thereafter, the minimum frequency search process from step S3 onwards in FIG. 3 is similarly executed.

[0041] Even in this way, the CPU frequency control device 1 can use fluctuations in the performance margin as a trigger to gradually reduce the frequency while observing the performance impact. This makes it possible to prevent setting a frequency that does not satisfy the required performance. Furthermore, when the performance margin fluctuates, the CPU frequency control device 1 can guarantee performance by immediately changing to a frequency that has been proven to satisfy the required performance.

[0042] <Modification of the Present Embodiment> Next, a modification of the CPU frequency control system 1000 including the CPU frequency control device 1 according to the present embodiment will be described. The CPU frequency control system 1000 shown in FIG. 1 has been described as being configured with one server 5 and one CPU frequency control device 1 that controls that server 5. In this case, the performance-guaranteed minimum frequency information 100 of the CPU frequency control device 1 stores the minimum frequency for each load that can satisfy the required performance for the combination of the server 5's hardware and the software installed on that server 5. Meanwhile, when controlling the CPU frequencies of multiple servers 5, if the combination of hardware and software on each server 5 is the same, the performance-guaranteed minimum frequency information 100 can be shared. In particular, large-scale commercial systems often use multiple servers 5 with the same configuration. In such cases, combining the performance-guaranteed minimum frequency information 100 of each server 5 makes it possible to quickly expand the performance-guaranteed minimum frequency information 100. Furthermore, already created performance-guaranteed minimum frequency information 100 can be applied to other systems with the same configuration.

[0043] In this way, when the combination of hardware and software is the same in multiple servers 5, the combination of hardware and software is treated as profile information and managed in association with the performance-guaranteed minimum frequency information 100.

[0044] Fig. 5 is a diagram showing an example of profile information 200 according to this embodiment. The profile information 200 stores information on the combination of hardware and software set in each server 5. As shown by profile information 200A, 200B, and 200C in Fig. 5, this profile information 200 stores information on the combination of hardware and software set in each server 5 as information on the CPU, memory, storage, and software. Furthermore, one or more servers 5 share, view, and update performance-guaranteed minimum frequency information 100 associated with each piece of profile information 200 (200A, 200B, and 200C).

[0045] 6 is a diagram showing a modification of the CPU frequency control system according to the present embodiment. As shown in Fig. 6, the CPU frequency control system 1000A according to the modification includes multiple servers 5 and one file server 50 for performance-guaranteed minimum frequency information (hereinafter referred to as "file server 50").

[0046] The file server 50 stores performance-guaranteed minimum frequency information 100 (100A, 100B, 100C) corresponding to each profile information 200. The performance-guaranteed minimum frequency information 100A for profile A stores performance-guaranteed minimum frequency information 100 that is referenced and updated by servers #1 and #2 in which a system having a combination of hardware and software shown in profile information 200A of Fig. 5 is set up. The performance-guaranteed minimum frequency information 100B for profile B stores performance-guaranteed minimum frequency information 100 that is referenced and updated by server #3 in which a system having a combination of hardware and software shown in profile information 200B of Fig. 5 is set up.

[0047] The servers 5 (#1, #2, #3) are equipped with the functions (load confirmation unit 110, performance confirmation unit 120, frequency control unit 130) of the control unit (CPU frequency control unit) 10 shown in FIG. 1 and execute a minimum frequency search process similar to that of the CPU frequency control device 1 according to this embodiment. Each server 5 then references the performance-guaranteed minimum frequency information 100 (100A, 100B, 100C) associated with its own profile information 200 (200A, 200B, 200C) stored in the file server 50, and updates the minimum frequency for each load. In this way, the performance-guaranteed minimum frequency information 100 for each profile information 200 stored in the file server 50 is updated by multiple servers 5, thereby enabling the information in each performance-guaranteed minimum frequency information 100 (100A, 100B, 100C) to be expanded in a shorter time.

[0048] The hardware managed as the profile information 200 may simply be hardware installed on the server 5, as shown in FIG. 5 , or may be limited hardware if the number of CPU cores or memory capacity that executes the software is limited by virtualization or other means. Furthermore, the software managed as the profile information 200 may be a unit that aggregates multiple processes related to a single function, or may be a unit of even smaller processes. For example, a web server process and a logger process in a web service may be managed separately. An advantage of managing software at such a fine granularity is that, when used in conjunction with specifying the CPU core on which each process runs, frequency control that captures characteristics such as CPU load specialization and storage load specialization is possible.

[0049] In the CPU frequency control system 1000A according to a modification of this embodiment, an independent file server 50 is provided outside the server 5 to be controlled, but a specific server 5 may have performance-guaranteed minimum frequency information 100 (100A, 100B, 100C) and make the file available to the other servers 5. Alternatively, all servers 5 may have performance-guaranteed minimum frequency information 100 and synchronize with the other servers 5.

[0050] As a result, in the CPU frequency control system 1000 including the CPU frequency control device 1 of this embodiment, and the CPU frequency control system 1000A of a modified example of this embodiment, it is possible to reduce the operating frequency of the CPU while satisfying the performance requirements of the software, and operate the CPU with low power consumption.

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

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

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

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

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

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

[0057] <Effects> The effects of the CPU frequency control device etc. according to the present invention will be described below. The CPU frequency control device 1 according to the present invention is a CPU frequency control device 1 that controls the CPU frequency of a server 5, and is characterized by comprising: a load confirmation unit 110 that acquires the current load amount of the server 5; a performance confirmation unit 120 that acquires the processing performance of the server 5 and calculates a performance margin that indicates the difference between this and a target performance value for which performance should be guaranteed in the server 5; and a frequency control unit 130 that sets a reference frequency as the lowest frequency at which performance is guaranteed when a load equal to or greater than the current load amount is applied, and gradually reduces the frequency from the reference frequency until the performance margin becomes equal to or less than a predetermined threshold, and sets this frequency on the server 5.

[0058] In this way, the CPU frequency control device 1 can reduce the CPU operating frequency while satisfying the software performance requirements, allowing the CPU to operate with low power consumption. This CPU frequency control device 1 can gradually reduce the frequency while observing the performance impact. This makes it possible to prevent setting a frequency that does not satisfy the required performance. Furthermore, when the load or performance fluctuates, the CPU frequency control device 1 can guarantee performance by immediately changing to a frequency that has been proven to satisfy the required performance. Furthermore, this CPU frequency control device 1 does not require special hardware and can be implemented using only software functions.

[0059] Furthermore, in the CPU frequency control device 1, the memory unit 12 is provided with performance-guaranteed minimum frequency information 100 in which the minimum frequency at which performance is guaranteed for the server 5 is recorded in correspondence with the load amount of the server 5, and the frequency control unit 130 refers to the performance-guaranteed minimum frequency information 100, sets the minimum frequency corresponding to the nearest load amount equal to or greater than the acquired load amount as the reference frequency, and records the minimum frequency corresponding to the current load amount obtained by gradually decreasing the frequency from the reference frequency in the performance-guaranteed minimum frequency information 100.

[0060] In this way, the CPU frequency control device 1 is provided with the performance-guaranteed minimum frequency information 100, and by repeating the process of searching for the minimum frequency corresponding to the current load (minimum frequency search process), records of the performance-guaranteed minimum frequency information 100 are accumulated and the minimum frequency as the starting point increases. As a result, the CPU frequency control device 1 can reduce the number of times and the search time for the minimum frequency.

[0061] Furthermore, in the CPU frequency control device 1, the frequency control unit 130 is characterized in that it determines the amount of reduction in frequency, which is to be reduced in stages from the reference frequency, based on the magnitude of the performance margin.

[0062] In this way, by setting the reduction amount taking into account performance margin, the CPU frequency control device 1 can further reduce the number of times and the time it takes to reach the minimum frequency compared to simply reducing the frequency in stages by a predetermined reduction amount.

[0063] The CPU frequency control system according to the present invention is a CPU frequency control system 1000A comprising a plurality of servers 5 and a file server 50 communicatively connected to each of the plurality of servers 5, wherein the file server 50 stores performance-guaranteed minimum frequency information 100 in which the minimum frequency at which performance is guaranteed for each server 5 is recorded in association with the load on the server 5 for each profile information 200 indicating a combination of hardware and software that the server 5 has, and each of the plurality of servers 5 has a load confirmation unit 110 that acquires the current load on the server 5, and a processing performance confirmation unit 120 that acquires the processing performance of the server 5 and determines the minimum frequency at which performance is guaranteed for the server 5. The system is characterized by comprising a performance confirmation unit (120) that calculates a performance margin indicating the difference between the target performance value for which performance should be guaranteed in the server, and a frequency control unit (130) that refers to performance-guaranteed minimum frequency information (100) corresponding to profile information (200) of the server (5), sets the minimum frequency corresponding to the nearest load amount equal to or greater than the acquired load amount as a reference frequency, and gradually reduces the frequency from the reference frequency until the performance margin becomes equal to or less than a predetermined threshold, thereby setting the minimum frequency corresponding to the current load amount for the server (5), and records the minimum frequency in the performance-guaranteed minimum frequency information (100) corresponding to profile information (200) of the server (5).

[0064] In this way, the CPU frequency control system 1000A can combine the results of the minimum frequency search process for each of the multiple servers into performance-guaranteed minimum frequency information 100 (100A, 100B, 100C) for each profile, which is a combination of hardware and software. This allows the CPU frequency control system 1000A to quickly expand the performance-guaranteed minimum frequency information 100 (100A, 100B, 100C).

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

[0066] REFERENCE SIGNS LIST 1 CPU frequency control device 5 Server 10 Control unit (CPU frequency control unit) 11 Input / output unit 12 Storage unit 50 File server 100, 100A, 100B, 100C Performance guaranteed minimum frequency information 110 Load confirmation unit 120 Performance confirmation unit 130 Frequency control unit 200, 200A, 200B, 200C Profile information 1000, 1000A CPU frequency control system

Claims

1. A CPU frequency control device that controls the CPU frequency of a server, comprising: a load confirmation unit that acquires the current load of the server; a performance confirmation unit that acquires the processing performance of the server and calculates a performance margin that indicates the difference between the target performance value for which performance should be guaranteed in the server; and a frequency control unit that sets a reference frequency to the minimum frequency at which performance is guaranteed when a load equal to or greater than the current load is applied, and gradually reduces the frequency from the reference frequency until the performance margin becomes equal to or less than a predetermined threshold, and sets the frequency to the server.

2. A CPU frequency control device as described in claim 1, characterized in that the memory unit has performance-guaranteed minimum frequency information in which the minimum frequency at which the server's performance is guaranteed is recorded in correspondence with the load on the server, and the frequency control unit refers to the performance-guaranteed minimum frequency information, sets the minimum frequency corresponding to the closest load amount equal to or greater than the acquired load amount as the reference frequency, and records in the performance-guaranteed minimum frequency information the minimum frequency corresponding to the current load amount obtained by gradually decreasing the frequency from the reference frequency.

3. A CPU frequency control device according to claim 2, wherein said frequency control unit determines the amount of stepwise reduction in frequency from said reference frequency based on the magnitude of said performance margin.

4. A CPU frequency control method of a CPU frequency control device that controls the CPU frequency of a server, wherein the CPU frequency control device executes the following steps: acquiring the current load of the server; acquiring the processing performance of the server, and calculating a performance margin indicating the difference between the target performance value for which performance should be guaranteed in the server; and setting a minimum frequency at which performance is guaranteed when a load equal to or greater than the current load is applied as a reference frequency, and gradually reducing the frequency from the reference frequency until the performance margin becomes equal to or less than a predetermined threshold value, and setting the frequency for the server.

5. A CPU frequency control program for causing a computer to function as the CPU frequency control device according to any one of claims 1 to 3.

6. A CPU frequency control system comprising a plurality of servers and a file server communicatively connected to each of the plurality of servers, wherein the file server stores performance-guaranteed minimum frequency information in which a minimum frequency at which the server's performance is guaranteed is recorded in correspondence with the server's load for each profile information indicating a combination of hardware and software possessed by the server, and each of the plurality of servers comprises: a load confirmation unit that acquires the server's current load amount; a performance confirmation unit that acquires the server's processing performance and calculates a performance margin indicating the difference between the server's target performance value and a performance-guaranteed target performance value; and a frequency control unit that refers to performance-guaranteed minimum frequency information corresponding to the profile information of the server, sets the minimum frequency corresponding to the nearest load amount equal to or greater than the acquired load amount as a reference frequency, and gradually reduces the frequency from the reference frequency until the performance margin becomes equal to or less than a predetermined threshold value, thereby setting the minimum frequency corresponding to the current load amount for the server, in the performance-guaranteed minimum frequency information corresponding to the profile information of the server.