Optimizing and bounding software-controlled dynamic voltage/frequency scaling: analysis for uniprocessors and multiprocessors
暂无分享,去创建一个
Power consumption has become the driving factor in modern computer design. Among the various dynamic power-management techniques, dynamic voltage/frequency scaling (DVFS) has been shown to be an efficient technique to reduce energy. DVFS tunes the power-performance to the needs of the application. The goal is to minimize energy consumption while meeting performance needs. Since CPU power consumption is strongly dependent on the supply voltage, DVFS exploits the ability to control the power consumption by varying a processor's supply voltage and clock frequency. However, because of the energy and time overhead associated with switching DVFS modes, DVFS control requires intelligent optimization processes.
In this thesis we exploit energy reduction opportunities using software controlled DVFS. An analytical model is derived to predict the maximum energy savings that can be obtained given a few known program and processor parameters. This model gives insights into scenarios where energy consumption benefits from DVFS and those where there is no benefit.
We then examine how much of these predicted benefits can actually be achieved through compile-time optimal settings of DVFS modes. We extend an existing Mixed-integer Linear Programming (MILP) formulation for this scheduling problem by accurately accounting for DVFS energy switching overhead, by providing finer-grained control on settings and by considering multiple data categories in the optimization. Extensive experiments demonstrate the applicability of this MILP-based technique, as well as the impact of switching overheads and deadlines on the achieved energy savings using DVFS.
Next we provide a comprehensive and experimental study on runtime DVFS. First an optimization process is used to provide the maximum energy savings that can be achieved using runtime DVFS. An exact algorithm with polynomial complexity is provided to find the minimum energy savings. A heuristic algorithm with linear runtime is also proposed to provide an approximation on maximum energy savings using runtime DVFS. Then a practical behavior-driven runtime DVFS technique is proposed that can achieve energy consumption close to the minimum energy consumption. Finally, we extend the runtime DVFS optimization to chip multiprocessors.
Overall, this research provides a comprehensive view of DVFS management, providing both practical techniques for its immediate deployment as well theoretical study for use into the future.