What is dynamic voltage and frequency scaling (DVFS)?

Dynamic voltage and frequency scaling (DVFS) is the adjustment of power and speed settings on a computing device’s various processors, controller chips and peripheral devices to optimize resource allotment for tasks and maximize power saving when those resources are not needed.

DVFS refers to the dynamic or “as-needed” adjustment of a computer processor’s operating voltage and frequency during its runtime based on its workload, environmental conditions and required performance. Such adjustment ensures that the processor consumes the minimum amount of energy while maintaining the power supply’s voltage at a level required to maintain required performance and quality of service for the current task or workload.

If the current task is computationally intensive, meaning it requires the processor to consume more energy and run at a higher frequency, DVFS will ensure that the voltage and frequency increase to match the requirements. However, if the processor needs to run a low-priority or less computationally intensive task where high speed and throughput are not required, it will adjust accordingly.

DVFS is effective in both dynamic and static power environments. However, it is most effective when the dominant power consumption mode is dynamic and when there is a need to adjust the frequency and supply voltage to specific components in the computing device.

Several chip manufacturers support DVFS. The technique is often referred to as “turbo mode” for short runs of speeds beyond what the device could maintain indefinitely with default cooling.

What is the function of DVFS?

DVFS allows devices to perform needed tasks with the minimum amount of required power. The technology is used in almost all modern computer hardware to maximize power savings, battery life and longevity of devices while still maintaining ready compute performance availability. DVFS can also scale upward to increase performance.

A chart showing a breakdown of IoT battery consumption by subsystem events.
Current IoT battery consumption breakdown by subsystem events.

An unused smartphone, for example, should revert to a low-power mode, barring interference from applications and spyware. Multimedia requires more power, so the device reaches a higher power state and creates more heat during heavier processing such as video and gaming. Were it not for DVFS, many devices that are passively cooled would require active cooling. However, the noise, bulk and power consumption required by active cooling makes it impractical for smaller devices.

Where is DVFS used?

DVFS helps maintain operable parameters with increased mobility but is not reserved for mobile technology alone.

Desktops, servers and virtual environments also benefit from the power savings of DVFS. In VMware vSphere, DVFS can help reduce a host’s energy consumption. It allows host CPUs to dynamically change power states when resource demands are low. CPU frequency and voltages are lowered and raised based on demand from virtual machines (VMs). While more important in environments with large numbers of computers, like offices, server farms and data centers, individual users are paying more attention to power consumption, which is where DVFS comes into play.

Benefits of DVFS

DVFS will dynamically and quickly lower both voltage and frequency, helping to reduce power consumption, conserve energy and lower heat dissipation. Dynamic voltage and frequency adjustments also increase battery life and slow down device degradation by lowering voltage and frequency at high temperatures.

Additionally, DVFS can help to mitigate problems related to variability. It also improves the processor’s and system’s responsiveness, throughput, reliability and performance. Another benefit of DVFS is that it reduces a device’s carbon footprint.

Drawbacks of DVFS

The performance benefits of DVFS come at the cost of other gains. To ensure that high performance does not affect the system in other ways, it’s important to monitor all workloads and determine the right settings for voltage and clock speed. Based on these settings, the hardware must be appropriately configured for DVFS. It’s also advisable to track the dynamic behaviors of applications over time so their performance can be predicted and voltage/frequency changes made accordingly.

DVFS also increases the complexity of the system’s architecture because additional hardware, software and control algorithms are required to implement it. Also, the processor must switch between different frequency/voltage levels, which can add to its operational overhead and affect its stability and reliability. An unstable or unreliable processor can result in timing errors, frequency jitter and voltage noise, which degrade the system’s performance and affect user experiences.

What is adaptive voltage and frequency scaling (AVFS)?

Like DVFS, adaptive voltage and frequency scaling (AVFS) is another approach to reduce energy consumption, improve power dissipation and optimize processor performance. However, there are differences between DVFS and AVFS.

In DVFS, fixed and discrete voltage (or frequency) steps are used to scale the targeted power (or frequency) domains. The voltage is increased or decreased depending on in-chip conditions, which can be static or dynamic. Also, large margins are built into the open-loop type system. Consequently, power reduction and energy savings are not optimal.

In contrast, AVFS uses dedicated circuitry to constantly monitor system performance, provide feedback and ensure tighter control over voltage and frequency. Power consumption is reduced by changing the operating conditions in the application-specific integrated circuit (ASIC). It is a closed-loop system and provides better control over the voltage and frequency used and therefore better power reduction.

Explore tactics IoT engineers can use to extend the battery life of devices.