Segmented Virtual Machine Architecture for Resource Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data centers face high costs and complexity in supporting multiple software applications due to finite resources in general-purpose devices, leading to the need for numerous devices to accommodate peak resource needs, which is costly and difficult to administer.
Innovation Solution
A segmented virtual machine architecture is introduced, separating functionality into a lightweight shell VM for external interactions and a core VM for internal execution, allowing resource management and communication to optimize resource usage and scalability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a large number of general purpose devices are deployed to support multiple applications, then application support capacity is improved, but deployment and administration costs increase
Solution Approach 1:
The virtual machine is divided into two separate components: a shell VM that handles external interactions and a core VM that performs internal execution functions. This segmentation allows the system to support multiple applications more efficiently by separating the overhead of VM management from application execution, thereby increasing application support capacity while reducing the complexity of deployment and administration.
Solution Approach 2:
The core VM is designed to be a shared resource that can serve multiple shell VMs simultaneously. This multi-functionality allows a single core VM instance to support multiple applications through different shell VMs, improving application support capacity without requiring proportional increases in infrastructure complexity.
2Ease of operation
If each VM's execution resources are provided by the general purpose device, then resource allocation is simplified, but the number of supported applications is limited
Solution Approach 1:
Multiple shell VMs are merged into a single core VM execution environment. This combining allows the system to maintain simple resource allocation from the perspective of each individual application (each shell VM still has its own resource view) while actually supporting many more applications through shared core VM resources.
Solution Approach 2:
The system adds a new dimensional layer to resource allocation by introducing the shell VM/core VM separation. Instead of allocating resources directly to applications in a single dimension, the system creates two layers: shell VMs that present simple resource interfaces to applications, and core VMs that manage the actual physical resources, thereby enabling support for more applications without complicating the allocation process.
3Reliability
If general purpose devices are used for each application, then resource availability is improved, but scalability is reduced
Solution Approach 1:
The shell VM acts as a lightweight copy or representation of the full VM functionality that can be created rapidly without proportionally increasing resource consumption. Multiple shell VM copies can be instantiated to support additional applications, improving scalability while the shared core VM ensures resource availability is maintained through efficient resource sharing and management.
Data Source
AI summary
A technique for executing a segmented virtual machine (VM) is disclosed. A plurality of core VM's are implemented in a common core space. Each core VM is associated with a shell VM. Resources of the core space are allocated among the core VM's. A core VM is associated with a shell VM configured to perform shell VM functions and communicate with the core VM. VM internal execution functionality is performed on the core VM. The shell VM may be bypassed to communicate with an external application.


