Template Virtual Machines for Memory Sharing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud computing, servers are often underutilized in terms of CPU utilization, leading to bottlenecks in physical memory as consolidation ratios increase, with existing memory overprovisioning techniques consuming system resources and reducing available resources for virtual machines.
Innovation Solution
The creation and use of template virtual machines without initial machine-specific identifiers, which are later updated, allows for the sharing of uniform code pages among virtual machines, optimizing memory usage and improving consolidation ratios without additional CPU resource consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If memory overprovisioning is used to increase consolidation ratios, then physical memory requirements are reduced, but system resources are consumed to dynamically monitor page sharing operations
Solution Approach 1:
The patent applies preliminary action by pre-configuring template virtual machines with uniform code pages before deployment. The template VMs are prepared in advance with standardized operating systems and applications, allowing their code pages to be identified and shared across multiple instances without requiring dynamic monitoring during runtime. This advance preparation eliminates the need for continuous system resource consumption in monitoring page sharing operations.
Solution Approach 2:
The patent uses copying by creating multiple virtual machine instances from a single template VM. The template VM's code pages are copied and shared across multiple derived VMs, eliminating the need for each VM to maintain separate copies of identical code. This copying approach reduces physical memory requirements while minimizing overhead, as the sharing relationship is established through the template structure rather than dynamic monitoring.
2Productivity
If consolidation ratios are increased by deploying more virtual machines, then resource utilization improves, but physical memory becomes a bottleneck
Solution Approach 1:
The patent applies universality by creating a template VM that serves multiple functions across different virtual machine instances. The template VM contains standardized code pages that are shared universally across multiple derived VMs, allowing the same physical memory pages to serve multiple computational tasks. This multi-functionality approach enables higher consolidation ratios without proportionally increasing physical memory requirements.
Solution Approach 2:
The patent merges identical code pages from multiple virtual machine instances into shared memory spaces. By combining the code sections of multiple VMs that execute the same operating system and applications, the system reduces total memory consumption while maintaining the ability to run multiple VMs simultaneously, thus resolving the memory bottleneck that limits consolidation ratios.
3Quantity of substance
If template virtual machines are created without machine-specific identifiers, then uniform code pages can be shared among multiple instances, but machine-specific customization is delayed
Solution Approach 1:
The patent segments the virtual machine creation process into distinct phases: first creating the template VM without machine-specific identifiers to enable immediate memory sharing, then subsequently adding customizations to derived instances. This segmentation allows memory sharing to begin immediately while deferring customization to a later stage, resolving the contradiction between sharing efficiency and customization timing.
Solution Approach 2:
The patent applies preliminary action by preparing the base VM structure with shared code pages before adding machine-specific identifiers. The template VM is configured in advance with universal code that can be immediately shared, and customization is performed as a subsequent step when derived instances are created. This approach ensures memory sharing efficiency is achieved first, with customization following without blocking the sharing benefit.
Data Source
AI summary
There is provided a method of providing a template virtual machine. An exemplary method comprises creating a template virtual machine comprising an image of an operating system and software running on the operating system. The template virtual machine does not include machine-specific identifiers. The template virtual machine is booted into a virtual machine environment. Subsequently, machine-specific identifiers for the template virtual machine are updated. The template virtual machine may then be booted with machine-specific identifiers into a service instance to perform a function determined by the software running on the operating system such that uniform code pages representing the operating system and software running on the operating system are shared among virtual machines in the virtual machine environment.


