Singleton: System-Wide Page Deduplication in Virtual Environments
The authors investigate memory-management in hypervisors and propose Singleton, a KVM-based system-wide page de-duplication solution to increase memory usage efficiency. They address the problem of double-caching that occurs in KVM - the same disk blocks are cached at both the host (hypervisor) and the guest (VM) page caches. Singleton's main components are identical-page sharing across guest virtual machines and an implementation of an exclusive-cache for the host and guest page cache hierarchy. They use and improve KSM - Kernel SamePage Merging to identify and share pages across guest virtual machines. They utilize guest memory-snapshots to scrub the host page cache and maintain a single copy of a page across the host and the guests.