@TechReport{ it:2011-007, author = {Vasileios Spiliopoulos and Stefanos Kaxiras and Georgios Keramidas}, title = {A Framework for Continuously Adaptive {DVFS}}, institution = {Department of Information Technology, Uppsala University}, department = {Division of Computer Systems}, year = {2011}, number = {2011-007}, month = mar, abstract = {We present Continuously Adaptive Dynamic Voltage-Frequency Scaling in Linux systems running on Intel i7 and AMD Phenom II processors. By exploiting slack, inherent in memory-bound programs, our approach aims to improve power efficiency even when the processor does not sit idle. Our underlying methodology is based on a simple first-order processor performance model in which frequency scaling is expressed as a change (in cycles) of the main memory latency. Utilizing available performance monitoring hardware, we show that our model is powerful enough to i) predict with reasonable accuracy the effect of frequency scaling (in terms of performance loss), and ii) predict the energy consumed by the core under different V/f combinations. To validate our approach we perform high-accuracy, fine-grain, power measurements directly on the off-chip voltage regulators. We use our model to implement various DVFS policies as Linux ~green~ governors to continuously optimize for various power- efficiency metrics such as EDP (Energy-Delay Product) or ED2P (Energy-Delay-Square Product), or achieve energy savings with a user-specified limit on performance loss. Our evaluation shows that, for SPEC2006 workloads, our governors achieve dynamically the same optimal EDP or ED2P (within 2\% on average) as an exhaustive search of all possible frequencies and supply voltages. Energy savings can reach up to 56\% in memory-bound workloads with corresponding improvements of about 55\% for EDP or ED2P. } }