Energy-efficient memory management in virtual machine environments

Main memory is one of the primary shared resources in a virtualized environment. Current trends in supporting a large number of virtual machines increase the demand for physical memory, making energy efficient memory management more significant. Several optimizations for memory energy consumption have been recently proposed for standalone operating system environments. However, these approaches cannot be directly used in a virtual machine environment because a layer of virtualization separates hardware from the operating system and the applications executing inside a virtual machine. We first adapt existing mechanisms to run at the VMM layer, offering transparent energy optimizations to the operating systems running inside the virtual machines. Static approaches have several weaknesses and we propose a dynamic approach that is able to optimize energy consumption for currently executing virtual machines and adapt to changing virtual machine behaviors. Through detailed trace driven simulation, we show that proposed dynamic mechanisms can reduce memory energy consumption by 63.4% with only 0.6% increase in execution time as compared to a standard virtual machine environment.

[1]  Kang G. Shin,et al.  Design and Implementation of Power-Aware Virtual Memory , 2003, USENIX ATC, General Track.

[2]  Mahmut T. Kandemir,et al.  Automatic data migration for reducing energy consumption in multi-bank memory systems , 2002, DAC '02.

[3]  Li Liu,et al.  HMTT: a platform independent full-system memory trace monitoring system , 2008, SIGMETRICS '08.

[4]  Joonwon Lee,et al.  PABC: Power-Aware Buffer Cache Management for Low Power Consumption , 2007, IEEE Transactions on Computers.

[5]  Alvin R. Lebeck,et al.  Power aware page allocation , 2000, SIGP.

[6]  Sanjeev Kumar,et al.  Dynamic tracking of page miss ratio curve for memory management , 2004, ASPLOS XI.

[7]  DiwanAmer,et al.  The DaCapo benchmarks , 2006 .

[8]  K. U. Leuven-ESAT,et al.  SDRAM-Energy-Aware Memory Allocation for Dynamic Multi-Media Applications on Multi-Processor Platforms , 2003 .

[9]  Zhenlin Wang,et al.  Dynamic memory balancing for virtual machines , 2009, OPSR.

[10]  Mahmut T. Kandemir,et al.  Scheduler-based DRAM energy management , 2002, DAC '02.

[11]  Pratap Ramamurthy,et al.  Performance-directed energy management using BOS , 2007, OPSR.

[12]  Kirk W. Cameron,et al.  Memory-miser: a performance-constrained runtime system for power-scalable clusters , 2007, CF '07.

[13]  L. Benini,et al.  SDRAM-Energy-Aware Memory Allocation for Dynamic Multi-Media Applications on Multi-Processor Platforms , 2003, Embedded Software for SoC.

[14]  David Chisnall,et al.  The Definitive Guide to the Xen Hypervisor , 2007 .

[15]  Song Liu,et al.  Flikker: saving DRAM refresh-power through critical data partitioning , 2011, ASPLOS XVI.