Bijoy A. Jose†* and Abhishek Agrawal*
† Virginia Polytechnic Institute and State University, Blacksburg, VA, USA.
*Software and Services Group, Intel Corporation, Folsom, CA, USA.
Download Energy Efficiency of Virtual Machines [PDF 238KB]
With the widespread proliferation of Virtual Machines (VM) into consumer and enterprise computing, designing low power virtualization solutions has become very important for extending the battery life of mobile systems and for minimizing the energy bill for data centers. This paper reports the power profile of leading desktop virtualization solutions under idle and workload conditions in terms of total power consumed, residency in processor deep sleep states (C-states)  and identifies some of the issues leading to increased power consumption in virtualized environments. We show how extension of processor core idle time favorably impacts the power profile of different Virtual Machine Monitors (VMMs) at active state and demonstrate a timer-tick based approach to reduce power consumption of VMMs at idle state.
As shown in Figure 1, the experimental setup consisted of a target mobile system, a power measurement device (NetDAQ)  and a host PC. We targeted the latest mobile platform consisting of an Intel® Core™ i7 processor running Microsoft* Windows* 7 32-bit OS at both guest and host levels. These choices were made to ensure the latest hardware virtualization features such as VT-x  and Windows* 7 power management features  were being used. Each of the VMs was assigned 1GB of main memory and 15 GB of hard disk space. Solid State drives were used to eliminate any power delta caused by I/O activities. Figure 2 shows the power profile of multiple industry leading virtualization solutions under study at idle and active scenarios. In our active scenario, the workload used was playback of an MPEG-2 DVD video part of the MobileMark benchmark 2007  in the VM using Windows* Media Player.
First, we look at reasons for high power consumption under workload conditions. VMM1 and VMM3 were chosen for a more detailed analysis and Windows Perfmon was used to determine the processor C- state information. Within the idle time, a processor core can remain in different power states, known as C-states. The longer the residency in deep C- states, the better the power efficiency. Figure 3 shows the C-state distribution for different VMMs during DVD playback. From the figure, we can observe that less active time is being utilized by VMM1 for DVD playback. VMM3 spends 20% of testing time in active state and 63% in C3 state, against a better distribution for VMM1 (11% active and 84% C3 state time). Also shown in Figure 3 is the power profile of VMM1, when Intel® Virtualization Technology hardware support VT-x is turned off (VMM3 requires VT-x to operate). The C3 state time is decreased to 71%, while active time increases to 15%. The power consumption when VT-x was turned off was observed to be 1watt higher than when VT-x was turned on1.
Now we present an OS timer-tick-based strategy to reduce idle power consumption of VMMs. The timer-tick resolution of guest and host OS for different VMMs is summarized in Table 1. A larger timer-tick resolution is desirable at idle state, since this will lead to reduced numbers of system calls being generated by the HAL.dll component of the OS. Since we cannot modify the VMMs, we adopt a non-invasive strategy where another application is run in parallel to reduce the timer-tick period. Timer-tick period of the OS will be set to the lowest requested value among applications run on the OS. In guest OS, changing the timer-tick resolution to 5ms for VMM1, leads to an increase in power consumption by 0.6W. In the Host OS, we change timer-tick resolution for VMM2 to 1ms, which leads to increase in idle power consumption by 2w. It can be inferred that a longer timer-tick period for the Guest OS and more importantly for the Host OS would result in a significant power reduction for each VMM.
Fig 1. Power Measurement of a Mobile PC using NetDAQ
Abhishek Agrawal is a Technical Lead in Intel’s Software and Services Group and drives Intel’s initiatives on power efficiency for client platforms. He has significant research experience in energy efficiency and has authored and co-authored several industry whitepapers and technical papers in refereed international conferences and journals. He has participated in numerous industry panels on Green Computing and is member of multiple industry power working groups such as EBLWG, UPAMD, etc. Abhishek is a member of IEEE and ACM.
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Notice revision #20110804