VM Placement Agent Reduces Memory Consumption via Image 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 enterprises with many users.
Innovation Solution
A mechanism for optimizing the initial placement of virtual machines (VMs) by identifying candidate host machines with the most VMs having identical or similar characteristics, allowing for shared RAM memory usage through a VM placement agent that selects hosts with the most VMs matching the new VM's image or characteristics, utilizing memory sharing agents like Kernel SamePage Merging (KSM) to unify memory pages and reduce overall memory consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If VMs are allocated dedicated storage space in a shared pool, then each VM can access its required storage resources, but total storage consumption increases significantly
Solution Approach 1:
The patent merges storage resources by implementing a shared pool architecture where multiple VMs can access common storage space. The storage manager coordinates access to shared files and directories, allowing VMs to share common data, libraries, and application files rather than each VM having dedicated copies, thereby reducing total storage consumption while maintaining accessibility.
Solution Approach 2:
The shared pool storage system provides universal access to storage resources for multiple VMs simultaneously. The storage manager enables a single storage location to serve multiple VMs with different requirements, allowing the same storage space to fulfill multiple functions and support various VM workloads without requiring dedicated allocations.
2Loss of time
If VM image templates are stored to reduce installation needs, then OS installation time is reduced, but disk space requirements increase substantially
Solution Approach 1:
The patent uses VM image templates as master copies that can be replicated to create multiple VM instances. Instead of storing full copies of OS installations for each VM, the system creates lightweight copies or references to the template, significantly reducing the disk space required while enabling rapid VM deployment and OS installation.
Solution Approach 2:
The patent merges the OS installation process by storing a single master template that serves multiple VMs. The template contains the complete OS and application suite, which is then shared across multiple VM instances through the virtualization platform, eliminating the need to store separate full installations for each VM while maintaining the ability to quickly provision new instances.
3Productivity
If multiple VMs are hosted on a single host machine, then resource utilization improves, but memory consumption increases
Solution Approach 1:
The patent merges memory resources by implementing shared memory pools and memory paging mechanisms that allow multiple VMs to access common memory space. When VMs execute identical or similar code from shared images, their memory pages can be merged and shared, reducing the total memory consumption on the host machine while maintaining high resource utilization.
Solution Approach 2:
The patent changes the memory allocation parameter from dedicated fixed allocation to dynamic shared allocation. The virtualization platform monitors memory usage patterns and dynamically adjusts memory sharing between VMs based on actual demand, allowing memory to be reused across VMs that execute similar workloads while ensuring each VM receives adequate memory when needed.
Data Source
AI summary
A mechanism for optimal placement of VMs based on shared images is disclosed. A method of embodiments of the invention includes identifying a virtual machine (VM) image of a new VM to be placed by a host controller on one of a plurality of candidate host machines, for each candidate host machine of the plurality of candidate host machines, identifying a VM image for each VM hosted by the candidate host machine, and determining the candidate host with the most VMs having identical VM images to the new VM.


