Virtual Machine Memory Allocation via RDMA Network Connections
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualized computing environments, existing resource management systems face limitations in efficiently managing VM resources, particularly in scenarios where memory shortages occur, leading to unnecessary VM migrations and resource inefficiencies, especially when compatible host systems are not available to meet both CPU and memory demands.
Innovation Solution
The implementation of an RDMA-enabled network connection allows VMs to access additional memory from other host computing systems, with a memory mirror file stored in a shared datastore for redundancy, and migrates VMs to hosts with available CPU resources, optimizing resource allocation and reducing unnecessary migrations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If VMs are consolidated to fewest possible hosts to utilize resources effectively, then resource utilization is improved, but when memory shortage occurs, VM migration becomes necessary which increases system complexity and operational overhead
Solution Approach 1:
The patent segments memory resources from different host computing systems into independently allocatable units. Instead of treating memory as a monolithic resource tied to specific hosts, the system divides memory into manageable segments that can be dynamically allocated to VMs across the cluster, reducing the need for complex migration operations.
Solution Approach 2:
The patent creates a universal memory pool that serves multiple hosts and VMs simultaneously. The memory management system provides multi-functionality by allowing the same memory resources to be shared across different host-VM assignments, eliminating the need for complex migration when memory shortages occur on any single host.
2Productivity
If VMs are migrated to hosts with available CPU resources, then CPU resource allocation is improved, but migration operations consume additional time and resources
Solution Approach 1:
The patent performs preliminary actions by pre-establishing memory access pathways and maintaining memory state information across the cluster before migration is needed. This allows VMs to access memory from alternative hosts without requiring full migration operations, significantly reducing migration time and resource consumption.
Solution Approach 2:
The patent introduces a memory management intermediary that mediates between VMs and physical memory resources. This intermediary layer allows VMs to access memory from different hosts without direct migration, acting as a buffer that eliminates the need for time-consuming migration operations while maintaining efficient CPU resource allocation.
3Quantity of substance
If memory is allocated from remote host computing systems, then memory availability for VMs is improved, but access speed may be reduced compared to local memory
Solution Approach 1:
The patent applies local quality by providing VMs with priority access to local memory resources on their host computing system. When local memory is sufficient, VMs access it at full speed. Only when local memory is exhausted does the system allocate remote memory, creating a hierarchical access structure that maintains high performance for common cases while expanding capacity for edge cases.
Solution Approach 2:
The patent implements a nested memory structure where local memory on each host is the inner layer providing fast access, and remote memory from other hosts forms the outer layer providing extended capacity. This nested arrangement allows the system to maintain fast local access while providing access to larger total memory resources when needed.
Data Source
AI summary
Techniques for managing computing resources in a cluster are disclosed. In one embodiment, a method includes identifying a virtual machine requiring additional memory. The virtual machine runs on a first host computing system. Further, the method includes determining that the virtual machine does not need additional central processing unit (CPU) resources. Furthermore, the method includes identifying at least one other host computing system having the required additional memory and allocating the required additional memory available in the at least one other host computing system to the virtual machine using a connection to each host computing system having the required additional memory.


