Virtual Machine Placement for Memory Page Sharing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtualization systems face inefficiencies in storage allocation due to the large size of virtual machine images, leading to high storage costs and inefficiencies, especially when multiple VMs share storage resources, as each VM typically requires a substantial amount of storage space, exceeding 10 TB in large enterprises.
Innovation Solution
A mechanism for optimizing the initial placement of virtual machines (VMs) by identifying candidate host machines with the most VMs having similar or identical characteristics, allowing for unified memory page sharing through a VM placement agent and memory sharing agent, which reduces memory consumption by storing shared pages only once on the host machine.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If virtual machine images are stored separately for each VM to ensure quick access and independence, then reliability and speed of access are improved, but storage space consumption increases significantly
Solution Approach 1:
The patent merges identical memory pages from multiple VMs into a single shared copy in host memory. When multiple VMs have identical pages (e.g., from the same OS image), these pages are consolidated into one shared memory region that can be accessed by all corresponding VMs, thereby reducing total memory consumption while maintaining fast access speeds.
Solution Approach 2:
The patent creates universal shared memory pages that serve multiple VMs simultaneously. A single memory page can be shared across numerous VMs that require the same page content, making the memory resource multi-functional and significantly reducing the total amount of physical memory needed to support the VM fleet.
2Quantity of substance
If identical VM images are stored for multiple VMs to reduce storage requirements, then storage efficiency is improved, but memory access speed may be affected due to shared storage
Solution Approach 1:
The patent performs preliminary actions by pre-loading identical memory pages into shared host memory before the VMs need to access them. The system identifies identical pages across VMs, allocates shared memory regions in advance, and populates these regions with the required page content, ensuring that when VMs need to access these pages, the data is already in fast memory rather than needing to be retrieved from slow shared storage each time.
3Quantity of substance
If sparse storage allocation is used to conserve disk space, then storage efficiency is improved, but storage allocation complexity increases
Solution Approach 1:
The patent implements self-service mechanisms where the system automatically identifies identical memory pages across VMs, determines which pages can be shared, allocates shared memory regions, and manages the mapping between VMs and shared pages without requiring manual intervention. The system monitors memory usage patterns and dynamically adjusts shared memory allocation, reducing the complexity of storage management while maintaining high storage efficiency.
Data Source
AI summary
A mechanism for optimizing initial placement of virtual machines (VMs) to reduce memory consumption based on similar characteristics is disclosed. A method of embodiments of the invention includes identifying characteristics of a new virtual machine (VM) to be placed by a host controller on one of a plurality of candidate host machines and, for each candidate host machine of the plurality of candidate host machines, communicating with one or more VM agents each associated with a VM of one or more VMs hosted by the candidate host machine to identify characteristics of the one or more VMs. The method further includes identifying the candidate host with the most VMs having similar characteristics to the new VM.


