Sharing-Aware Algorithms for Virtual Machine Colocation
Virtualization technology enables multiple Virtual Machines (VMs) to run on a single physical server. VMs that run on the same physical server can share memory pages that have identical content, thereby reducing the overall memory requirements on the server. The authors develop sharing-aware algorithms that can co-locate VMs with similar page content on the same physical server to optimize the benefits of inter-VM sharing. They show that inter-VM sharing occurs in a largely hierarchical fashion, where the sharing can be attributed to VM's running the same OS platform, OS version, software libraries, or applications.