Energy-centric DVFS Controlling Method for Multi-core Platforms Shin-gyu Kim, Chanho Choi, Hyeonsang Eom, Heon Y. Yeom Seoul National University, Korea MuCoCoS 2012 Salt Lake City, Utah
Abstract Goal To minimize total energy consumption in considering of workload characteristics. We focus on a virtualized environment on multicore platforms such as Clouds. Contribution We propose a DVFS controlling method (edvfs) to achieve the goal by exploiting an energy efficiency factor.
Energy Saving Technologies Processor C-state, P-state, T-state, etc Data center Power capping, Cooling system design, etc Source of energy Solar power, wind power, etc
Dynamic Voltage and Frequency Scaling P-state Changing operating frequency while instructions can be processed. C-state = idle state It is also called a DVFS control. Intel Sandybridge Per-socket DVFS control Frequency range 40% ~ 100% of base freq. 100MHz, 133 MHz interval AMD Bulldozer Per-core DVFS control 5 levels
Test Environments Server specification CPU: 2-way Intel 8-core Xeon processor 15 DVFS levels RAM: 128GB (16GB * 8) Virtualization environment KVM Each VM has 1 virtual CPU and 2GB of memory. Each VM is pinned to a physical core. 1:1 mapping between VMs and physical cores.
CPU Power Consumption vs. DVFS
Memory Power Consumption vs. DVFS
Energy Saving via DVFS Low frequency low power Power (Watts) = Energy (Joules) per 1 second How about total energy consumption? Total energy consumption = Power Time Slow processing at low frequency vs. Fast processing at high frequency
Motivation - Energy Consumption vs. DVFS lbm omnetpp povray DVFS level should be varied according to workloads.
Energy Saving by DVFS Energy saving by DVFS is not a simple two options question between low and high frequencies. We should be able to select the most energy-saving DVFS level among more than 10 DVFS levels. Moreover, it can be varied by characteristics of workloads.
Energy Consumption of Two Benchmarks lbm (Memory-intensive) povray (CPU-intensive)
Memory Traffic of lbm and povray Attainable peak memory bandwidth
Energy Efficiency Total energy consumption: E Average power: P Runtime: T Instructions per second (IPS) Total amount of instructions: W Energy efficiency (eff)
Energy Efficiency (cont d) Energy-centric DVFS control (edvfs) Periodic controlling method Minimizing energy consumption per control period (t) Minimizing total energy consumption e.g. In case of n control periods,
Energy-centric DVFS Control Control policies Policy 1 If memory traffic exceeds a given threshold, decrease CPU frequency. Policy 2 If memory traffic is under a given threshold, move CPU frequency towards the direction in which eff is increased.
Implementation Overview CPU 3. Adjust CPU DVFS level according to the policies of edvfs 1. Read power consumption and the number of instructions edvfs Controller Performance Counter Monitor 2. Get required information from PCM every 5 seconds
Applying Control Policies Applying policy 1 is straightforward. But, applying policy 2 is not. Estimating eff for the changed CPU frequency is a very complex problem. To deal with this problem, edvfs changes CPU frequency to a different value at every control period.
Evaluation Experimental environments HW 2-way Intel Xeon 8-core processors, 128GB memory SW KVM virtualization framework Each VM has 1 virtual CPU and 2 GB memory. Workload Benchmarks Case 1 Case 2 High memory traffic (2 * lbm, 2 * libquantum, soplex, omnetpp, mcf, bzip2) Low memory traffic (lbm, libquantum, gobmk, hmmer, perlbench, sjeng, 2 * povray)
Experimental Results - Memory Traffic vs. DVFS Level Case 1 Case 2 When memory traffic is high, CPU frequency is kept at low level.
Experimental Results - Memory Traffic vs. Power Consumption Case 1 Case 2 When memory traffic is high, power consumption is largely affected by memory traffic. If not, it is largely affected by active CPU cores.
Experimental Results - Total Energy Consumption and Execution Time Case 1 Case 2 Static CPU frequency 2.6 GHz 1.9 GHz 1.4 GHz 193,156 J 2,138 sec 113,571 J 1,570 sec 160,385 J 2,389 sec 103,799 J 1,945 sec 156,889 J 2,856 sec 106,182 J 2,497 sec [Case 1: high memory traffic, Case 2: low memory traffic] Dynamic DVFS 148,584 J 2,593 sec 102,184 J 1,830 sec Our edvfs consumes less energy than the lowest CPU frequency case. edvfs is not the slowest.
Conclusion Low CPU frequency does not always mean low energy consumption. We proposed an energy-centric DVFS controlling method to adjust DVFS level in considering of workload characteristics. We showed that total energy consumption with our method is lower than that with the lowest CPU frequency.