Hypervisor support for efficient memory de-duplication

YS Pan, JH Chiang, HL Li, PJ Tsao… - 2011 IEEE 17th …, 2011 - ieeexplore.ieee.org
YS Pan, JH Chiang, HL Li, PJ Tsao, MF Lin, T Chiueh
2011 IEEE 17th International Conference on Parallel and …, 2011ieeexplore.ieee.org
Memory de-duplication removes the memory state redundancy among virtual machines that
run on the same physical machine by identifying common memory pages shared by these
virtual machines and storing only one copy for each of common memory pages. A standard
approach to identifying common memory pages is to hash the content of each memory page,
and compare the resulting hash values. In a virtualized server, only the hyper visor is in a
position to compute the hash value of every physical memory page on the server, but the …
Memory de-duplication removes the memory state redundancy among virtual machines that run on the same physical machine by identifying common memory pages shared by these virtual machines and storing only one copy for each of common memory pages. A standard approach to identifying common memory pages is to hash the content of each memory page, and compare the resulting hash values. In a virtualized server, only the hyper visor is in a position to compute the hash value of every physical memory page on the server, but the memory de-duplication engine is best implemented outside the hyper visor for flexibility and simplicity reasons. A key design issue in the memory de-duplication engine is to minimize the performance impact of these hashing computations on the running VMs. To reduce this impact, memory page hashing should be performed with low overhead and when the CPU is idle. This paper describes why existing hyper visors do not provide adequate support for our memory de-duplication engine, how a new primitive called deferrable aggregate hyper call (DAH) fills the need, and what the resulting performance improvement is.
ieeexplore.ieee.org