The TURBO Diaries: Application-Controlled Frequency Scaling Explained
Most multi-core architectures nowadays support Dynamic Voltage and Frequency Scaling (DVFS) to adapt their speed to the system's load and save energy. Some recent architecture additionally allows cores to operate at boosted speeds exceeding the nominal base frequency but within their thermal design power. In this paper, the authors propose a general-purpose library that allows selective control of DVFS from user space to accelerate multi-threaded applications and expose the potential of heterogeneous frequencies. They analyze the performance and energy trade-offs using different DVFS configuration strategies on several benchmarks and real-world workloads.