Energy-centric DVFS Controling Method for Multi-core Platforms Shin-gyu Kim, Chanho Choi, Hyeonsang Eom, Heon Y. Yeom School of Computer Science and Engineering Seoul National University, Korea Email: {sgkim, chchoi, hseom, yeom}@dcslab.snu.ac.kr Huichung Byun Samsung Electronics, Korea kw.byun@samsung.com Abstract—Saving data center energy consumption is a hot issue for the environment and the economy. CPU is the biggest energy consuming component in a server, and it has various energy saving technologies, such as C-state and P-state. Advances in multi-core processors and virtualization technologies have en- abled many workloads to be consolidated in a physical server, and energy efficiency can be degraded due to the contention in shared resources. We observed that energy efficiency can be improved further by adjusting CPU frequency according to the degree of contention in shared resources, and the most energy-efficient CPU frequency is quite different for each situation. In this paper, we propose an energy-centric DVFS controlling method (eDVFS), which aims to minimize total energy consumption. Our experimental results show that eDVFS method is more energy- efficient and faster than current “on-demand” CPU governor. I. I NTRODUCTION Today, reducing data center energy consumption is a critical issue for the environment and its operational cost. Environ- mental activist group Greenpeace reported that data centers in the US consumed close to 3% of the national power supply, and the global demand for electricity from data centers was close to the equivalent of the entire electricity demand of the UK in 2007. Moreover, this demand is projected to triple or quadruple by 2020. [1] There has been a lot of research efforts to reduce energy consumption in many aspect of data centers. It includes reducing idle server power [2], server power budgeting [3], [4] and the use of renewable energy [5]. Actually, these work achieved significant improvements in general cases. Now, we focus on virtualized environments where multiple independent virtual machines (VMs) are consolidated in one physical server. The VM consolidation implies that multiple VMs contend for shared resources on each server. Although current virtualization technologies provide resource isolation, they do not ensure performance isolation. It is already well known that shared resource contention can result in performance degradation of VMs [6], [7], [8]. Most data center energy is consumed by computing servers, and CPU is the biggest energy consuming component in the server. Modern CPUs have various energy saving technologies, such as C-state, P-state and T-state. Especially, P-state changes operating frequency and voltage while instructions can be processed. It is also called a DVFS (Dynamic Voltage and Frequency Scaling) control. It is clear that CPU consumes 0.6 0.8 1 1.2 1.4 Normalized total energy consumption CPU frequency lbm libquantum omnetpp soplex mcf gcc sjeng povray Fig. 1. Normalized total energy consumption of eight SPECcpu 2006 benchmark programs with varying CPU frequency. The CPU frequency for the lowest energy consumption is different from each other. less power 1 at low frequency than high frequency. However, total consumed energy of a workload can be reduced with high operating frequency, and the following graph shows this situation. Figure 1 shows normalized total energy consumption of eight SPECcpu 2006 benchmarks at various CPU frequencies. This experiment is performed on a server with two Intel Sandybridge-based 8-core Xeon E5-2670 (2.6 GHz) proces- sors and 128 GB memory. This CPU has 14 DVFS levels. The server runs Ubuntu 11.10 of Linux kernel 3.0.0 and KVM virtualization framework. There are 16 active VMs, and each VM runs one benchmark program in its entirety. Each VM is configured to have one virtual CPU with 2 GB memory, and is pinned to a dedicated CPU core. We measure system-wide total energy consumption while 16 VMs run the same bench- mark concurrently. The energy consumption is calculated by multiplying average execution time and average consumed power (Watts). As shown in Figure 1, each benchmark shows a different energy consumption changing pattern with varying CPU frequency, and has a different CPU frequency for the lowest energy consumption. For example, lbm consumes more energy at higher CPU frequency and povray vice versa. The reason is contention in shared resources, such as last- level cache (LLC) and memory bus, among VMs. In the case of lbm, because total memory traffic is already close 1 Power refers to the amount of energy (Joules) per 1 second. 2012 SC Companion: High Performance Computing, Networking Storage and Analysis 978-0-7695-4956-9/13 $26.00 © 2013 IEEE DOI 10.1109/SC.Companion.2012.94 685