Dynamic Frequency Scaling and Dynamic Voltage Scaling
Last Updated :
01 Nov, 2019
Improve
'Frequency' in this context refers to the clock frequency or the frequency of operation of a CPU. So the term Dynamic Frequency Scaling refers to the change of the clock frequency of the CPU during runtime.
Now the above definition would instantly give rise to the question, Why do we need to do that?
The answer to this question lies at the trade off between Performance and Power Consumption. We know that the performance of a processor depends on 2 metrics, these are:
- CPU Response Time
- Throughput of the CPU
PerformanceNow, Dynamic Frequency Scaling is a technique to balance the performance and Power Consumption. It refers to a continual variation of the clock frequency to optimize performance and Power Consumption of a CPU. Now the manner in which the CPU frequency is scaled is determined by the frequency scaling algorithm used and the present CPU load. These frequency scaling algorithms are part of the Kernel Code. Some of the most common Frequency Scaling Algorithms used in the Linux Kernel are:{\propto} Clock Frequency Power Consumption{\propto} Clock Frequency
- Performance: This Frequency Scaling Algorithm statically fixes the frequency of the CPU to its highest possible value. This increases the Power Consumption by the CPU
- Powersave: This Frequency Scaling Algorithm Statically fixes the frequency of the CPU to its lowest possible value. This takes it toll on the performance of the system.
- Conservative: This Frequency Scaling Algorithm adjusts the frequency of the CPU to a certain minimum possible value so as to keep the CPU load below a certain percentage. This algorithm tries to optimize the power consumption while keeping the power consumption.